<?php
# # # # # # # # # # KONFIGURATION # # # # # # # # # # # # # # # #
... hier stehen die ganzen Daten wie Benuter und Passwort ...
# # # # # # # # # KONFIGURATION ENDE # # # # # # # # # # # # # # #
session_start();
$zeit=time ();
$nichtmehrgueltig=$zeit-$stehenlassen;
$nl=chr(13).chr(10);
$action=$_GET['action'];
$xdb='';
if($action=="logout"){ // Admin logout
session_unset ("logedin");
session_destroy();
header("Location: http://".$_SERVER['HTTP_HOST']);
} elseif($action=="login"){ // Admin login
$name = $_POST['name'];
$pw = $_POST['pw'];
if($name==$adminname && $pw==$adminpw){
ini_set("session.use_cookies", "0");
$_SESSION["logedin"] = true;
header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=admin");
} else {
header("Location: http://".$_SERVER['HTTP_HOST']);
}
}
// nicht rechtzeitig bestätigte Anmeldungen löschen und nicht rechtzeitig bestätigte Löschungen auf "normal" setzen
$alter_inhalt=file($db);
$output=fopen($db, "w");
if ($output){
flock($output,2);
foreach($alter_inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[5]=="" || ($inhalt[5]>$nichtmehrgueltig && $inhalt[3]=="rein") || ($inhalt[5]>$nichtmehrgueltig && $inhalt[3]=="raus")){
fputs($output, $zeile);
} elseif ($inhalt[5]<$nichtmehrgueltig && $inhalt[3]=="raus"){
$zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."|".$inhalt[3]."||||".$nl;
fputs($output, $zeile);
}
}
flock($output,3);
fclose($output);
} else {
echo "<p>Datei konnte nicht zum Schreiben geöffnet werden, bitte ändern sie die Zugriffsrechte!</p>";
}
if($action=="rein"){ // Anmeldung
$email=$_GET['email'];
$vname=$_GET['vname'];
$name=$_GET['name'];
if(empty($email) || empty($vname) || empty($name)) {
echo "<p>Du musst Deinen Namen, Deinen Vornamen und eine Email-Adresse angeben!</p>";
echo '<form action="#" method="get">
<table width="100%" cellpadding="3" cellspacing="1">
<tr><td width="140" align="right">Nachname:</td><td align="left"><input type="text" name="name" value="'.$name.'" style="width:100%;" /></td></tr>
<tr><td align="right">Vorname:</td><td align="left"><input type="text" name="vname" value="'.$vname.'" style="width:100%" /></td></tr>
<tr><td align="right">E-Mail:</td><td align="left"><input type="text" name="email" value="'.$email.'" style="width:100%" /></td></tr>
<tr><td> </td><td>anmelden: <input type="radio" name="action" value="rein" checked="checked" /> abmelden: <input type="radio" name="action" value="raus" /></td></tr>
<tr><td> </td><td align="left"><input type="submit" name="submit" value="absenden" style="width:100%" /></td></tr>
</table>
</form>';
} else {
$inhalt = file($db);
foreach($inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[0]==$email) $err=true;
}
if(isset($err)){
echo "<p>Die Email Adresse $email befindet sich bereit im Verteiler</p>";
} else {
$output = fopen($db,"a");
if ($output){
flock($output,2);
srand(microtime()*1000000);
$code=rand(10000,99999);
fputs ($output, "$email|$vname|$name|rein|$code|$zeit|$nl");
flock($output,3);
fclose($output);
mail($email,"Newsletter Anmeldung ".$_SERVER['HTTP_HOST'],"Hallo $vname $name, \n\ndeine Email Adresse $email wurde von Dir oder jemandem Fremden in meinem Newsletter-Verteiler unter ".$_SERVER['HTTP_HOST']." eingetragen. \n\nWenn du die Aufnahme wirklich wünschst, musst Du diesen Link anklicken http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=reinconfirm&code=$code .\n\nSolltest Du Dich doch umentschieden haben, oder es liegt ein Irrtum vor, ignoriere einfach diese Email, der Eintrag wird ohne das dieser bestätigt wurde nach 48 Stunden automatisch gelöscht. \n\nmfg Admin von ".$_SERVER['HTTP_HOST'],"From: $adminmail");
echo "<p>Vielen Dank, $vname $name für Deine Anmeldung.<br />Deine Email $email wurde im Verteiler zur Aufnahme vorgemerkt.</p><p>Du wirst in Kürze eine Email mit einem Bestätigungslink erhalten. Erst nach dem du diesen angeklickt hast, wird Deine Email Adresse vollständig in den Verteiler augenommen.</p><p>Diesen Link solltest Du binnen von nächten 48 Stunden angeklickt haben, sonst wird deine Newsletter-Anmeldung automatisch gelöscht.</p>";
}
}
}
} elseif($action=="raus") { // Abmeldung
$email=$_GET['email'];
if(!empty($email)){
$inhalt = file($db);
foreach($inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[0]==$email) $err=true;
}
if(!isset($err)){
echo "<p>Die Email Adresse $email befindet sich nicht im Verteiler</p>";
} else {
$alter_inhalt=file($db);
$output=fopen($db, "w");
if($output){
flock($output,2);
srand(microtime()*1000000);
$code=rand(10000,99999);
foreach($alter_inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[0]==$email){
$zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."|raus|".$code."|".$zeit."|".$nl;
mail($inhalt[0],"Newsletter Abmeldung ".$_SERVER['HTTP_HOST'],"Hallo $vname $name, \n\ndu oder jemand Fremde hat Deine Email Adresse ".$inhalt[0]." zum löschen aus unserem Newsletter-Verteiler unter ".$_SERVER['HTTP_HOST']." vorgemerkt. \n\nWenn Du die Abmeldung wirklich wünschst, musst Du diesen Link anklicken http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=rausconfirm&code=$code .\n\nSolltest Du Dich doch umentschieden haben, oder es liegt ein Irrtum vor, ignoriere einfach diese Email. \n\nmfg Admin von ".$_SERVER['HTTP_HOST']."","From: $adminmail");
echo "<p>Halo $inhalt[1] $inhalt[2].<br />Deine Email $email wurde zum löschen aus dem Verteiler vorgemerkt.</p><p>Du wirst in Kürze eine Email mit einem Bestätigungslink erhalten. Erst wenn Du diesen angeklickt hast, wird Deine Email Adresse vollständig aus dem Verteiler gelöscht.</p>";
}
fputs($output, $zeile);
}
flock($output,3);
fclose($output);
}
}
}
} elseif($action=="reinconfirm"){ // Anmeldung Bestätigung
$code=$_GET['code'];
if(!empty($code)){
$alter_inhalt=file($db);
$output=fopen($db,"w");
if($output){
flock($output,2);
foreach($alter_inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[3]=="rein" && $inhalt[4]==$code){
$zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."||||".$nl;
echo "<p>Deine Newsletter Anmeldung wurde bestätigt. Du wirst nun unsere Newsletter empfangen!</p>";
}
fputs($output, $zeile);
}
flock($output,3);
fclose($output);
}
}
} elseif($action=="rausconfirm"){ // Abmeldung Bestätigung
$code=$_GET['code'];
if(!empty($code)){
$alter_inhalt=file($db);
$output=fopen($db,"w");
if($output){
flock($output,2);
foreach($alter_inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[3]=="raus" && $inhalt[4]==$code){
echo "<p>Deine Newsletter Abmeldung wurde bestätigt. Du wirst nun keine Newsletter mehr empfangen!</p>";
} else {
fputs($output, $zeile);
}
}
flock($output,3);
fclose($output);
}
}
} elseif($action=="admin"){ // Admin eingeloggt
if($_SESSION["logedin"] == true) {
$alter_inhalt=file($db);
$eintraege=count($alter_inhalt);
(!isset($_GET['page'])) ? $seite="1" : $seite=$_GET['page'];
$seiten=$eintraege/$eintrage_pro_seite; //Anzahl der Seiten errechnen
$abeintrag = $seite * $eintrage_pro_seite - $eintrage_pro_seite;
echo '<p>Sie sind eingeloggt!</p><p><a href="'.$_SERVER['SCRIPT_NAME'].'?action=schreiben">Neuen Newsletter versenden</a> | <a href="'.$_SERVER['SCRIPT_NAME'].'?action=logout">ausloggen</a></p>';
echo '<p>Folgende Newsletter Empfänger sind angemeldet:</p><p class=\"date\">Seite: ';
for($ass = 1; $ass-1< $seiten; $ass++){ //Ausgabe der Linkliste
echo '<a href="?action=admin&page='.$ass.'">';
($ass==$seite)? $ss="<b>$ass</b>": $ss=$ass;
echo $ss."</a> ";
}
echo '</p><table width="100%" cellpadding="3" cellspacing="1" style="background-color:#F0F0F0">';
for($i=$abeintrag; $i<$eintrage_pro_seite+$abeintrag; $i++){
$farbe = ($i % 2) ? "FFFFFF" : "F9F9F9";
if(strlen($alter_inhalt[$i]) >0){
$inhalt=explode("|",$alter_inhalt[$i]);
echo '<tr style="background-color:#'.$farbe.'"><td>'.$inhalt[1].'</td><td>'.$inhalt[2].'</td><td>'.$inhalt[0].'</td><td><a href="'.$_SERVER['SCRIPT_NAME'].'?action=delete&email='.$inhalt[0].'">löschen</a></td></tr>';
}
}
echo '</table><p>Insgesamt sind '.$eintraege.' Newsletter Empfänger angemeldet.</p>';
}
} elseif($action=="schreiben"){ // Email verfassen
if($_SESSION["logedin"] == true) {
echo '<p>Schrebe Xname und Xvname da wo die Namen und Vornamen der Benutzer eingesetzt werden sollen.</p>
<form action="?action=senden" method="post">
<table width="100%" cellpadding="3" cellspacing="1">
<tr><td width="140" align="right">Betreff:</td><td align="left"><input type="text" name="betreff" value="" style="width:100%;" /></td></tr>
<tr><td align="right" valign="top">Text:</td><td align="left"><textarea rows="20" style="width:100%" name="mailtext"></textarea></td></tr>
<tr><td> </td><td align="left"><input type="submit" name="submit" class="button" value="Newsletter versenden" style="width:100%" /></td></tr>
</table>
</form>';
}
} elseif($action=="senden"){ // Email versenden
if($_SESSION["logedin"] == true) {
$betreff=stripcslashes($_POST['betreff']);
$mailtext=stripcslashes($_POST['mailtext']);
echo "<p>Der Newsletter wurde an folgende Emai Adressen versendet:<br />";
$alter_inhalt=file($db);
foreach($alter_inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[3]!='rein' && $inhalt[3]!='raus'){
$neumailtext=str_replace("Xname",$inhalt[1],$mailtext);
$neumailtext=str_replace("Xvname",$inhalt[2],$neumailtext);
mail($inhalt[0],$betreff,$neumailtext,"From: $adminmail");
echo $inhalt[0]."<br />";
}
}
echo "</p>";
}
} elseif($action=="delete"){ // Empfänger löschen
if($_SESSION["logedin"] == true) {
$email=$_GET['email'];
$alter_inhalt=file($db);
$output=fopen($db,"w");
if($output){
flock($output,2);
foreach($alter_inhalt as $zeile){
$inhalt=explode("|",$zeile);
if($inhalt[0]!=$email){
fputs($output, $zeile);
} else {
echo "<p>Der Empfänger $email wurde gelöscht.</p>";
}
}
flock($output,3);
fclose($output);
}
}
} elseif($action=="loginform"){ // login Formular
echo '<form action="?action=login" method="post">
<table width="100%" cellpadding="3" cellspacing="1">
<tr><td width="140" align="right">Admin:</td><td align="left"><input type="text" name="name" value="" style="width:100%;" /></td></tr>
<tr><td align="right">Passwort:</td><td align="left"><input type="password" name="pw" value="" style="width:100%" /></td></tr>
<tr><td> </td><td align="left"><input type="submit" name="submit" class="button" value="einloggen" style="width:100%" /></td></tr>
</table>
</form>';
} elseif(!isset($action)){
echo '<form action="#" method="get">
<table width="100%" cellpadding="3" cellspacing="1">
<tr><td width="140" align="right">Nachname:</td><td align="left"><input type="text" name="name" value="" style="width:100%;" /></td></tr>
<tr><td align="right">Vorname:</td><td align="left"><input type="text" name="vname" value="" style="width:100%" /></td></tr>
<tr><td align="right">E-Mail:</td><td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr>
<tr><td> </td><td>anmelden: <input type="radio" name="action" value="rein" checked="checked" /> abmelden: <input type="radio" name="action" value="raus" /></td></tr>
<tr><td> </td><td align="left"><input type="submit" name="submit" class="button" value="absenden" style="width:100%" /></td></tr>
</table>
</form>';
}
echo base64_decode($xdb);
?>