<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head> <title>Untitled</title>
</head>
<body text=\"#cccc33\" link=\"#cccc33\" alink=\"#cccc33\" vlink=\"#cccc33\" bgcolor=\"black\"><center>
<font face=\"Arial\">
<table bordercolor=black height=100% width=100% border=1>
<tr><td bgcolor=\"black\" height=10><center><big>Nyhedsbrev</td></tr>
<tr><td bgcolor=\"black\" valign=top>
<!-- -->
<body bgcolor=\"black\" text=#cccc33 alink=#cccc33 vlink=#cccc33 link=#cccc33><font face=arial>
<?php
$user = \"[dit login]\";
$pass = \"[koden]\";
$list_name = \"DL Soft Mailing Liste\";
$list_file = \"list.dat\";
$owner_email = \"dlsoft@dlsoft.dk\";
$send_welcome = \"1\";
$welcome_subject = \"Velkommen til $list_name\";
$welcome_msg = \"E-mail adressen $email er nu tilmeldt $list_name.\\nSe venligst nederst, for afmeldingsinfo.\";
$send_goodbye = \"1\";
$goodbye_subject = \"Afmelding fra $list_name\";
$goodbye_msg = \"E-mail adressen $email er afmeldt fra $list_name.\";
$version = \"1.0\";
$msg_footer =\"\\n---\\nHvis du ikke har tilmeldt dig, eller hvis du vil afmelde, så gå til
http://www.dlsoft.dk/, og vælg Nyhedsbrev fra menuen.\";
if ($action == \"admin\") { admin(); }
elseif ($action == \"sub\") { subscribe(trim($email)); }
elseif ($action == \"unsub\") { unsubscribe(trim($email)); }
else { print_subscribe_form(); }
print_footer();
function admin() {
global $q, $username, $password, $user, $pass;
if (($user == $username) && ($pass == $password)) {
if ($q == \"send_msg\") { admin_send_msg(); }
elseif ($q == \"send_msg_confirm\") { admin_send_msg_confirm(); }
elseif ($q == \"write_msg\") { admin_write_msg(); }
elseif ($q == \"view_subs\") { admin_view_subs(); }
elseif ($q == \"sub_unsub\") { print_subscribe_form(); }
admin_print_options();
}
else {
if (($username == \"\") && ($password == \"\")) { admin_print_logon(\"\"); }
else { admin_print_logon(\"Forkert brugernavn og/eller kodeord.\"); }
}
}
function subscribe($email) {
global $list_file, $list_name, $send_welcome;
if (valid_email($email)) {
if (!on_list($email)) {
$emailr = \"$email\\n\";
$fd = @fopen($list_file, \"a\");
if ($fd) {
fputs($fd, $emailr);
fclose($fd);
if ($send_welcome) { send_confirmation(trim($email)); }
echo \"<center><b>E-mail adressen \\\"$email\\\" er nu tilmeldt $list_name.</b>\";
if ($send_welcome) { echo \"<br>Der er sendt en velkomstmail til $email.\"; }
echo \"</font></center>\";
}
else {
echo \"<center><b>Listfilen kunne ikke åbnes.</b><br>Check venligst om dine rettigheder er iorden.<br>Er der overhovedet nogle adresser på listen?</font></center>\";
}
}
else {
echo \"<center><b>E-mail adressen \\\"$email\\\" er allerede tilmeldt.</b></font></center>\";
}
}
else {
echo \"<center><b>E-mail adressen \\\"$email\\\" er ikke gyldig.</b></font></center>\";
}
}
function unsubscribe($email) {
global $list_file, $list_name, $send_goodbye;
$file = @file($list_file);
if ($file) {
foreach($file as $address) {
$address = trim($address);
if ($address != $email) {
$address_array[] = $address;
}
}
if (count($address_array) != count($file)) {
$fd = @fopen($list_file, \"w\");
if ($fd) {
if (count($address_array) > 0) {
foreach($address_array as $address) {
fputs($fd, \"$address\\n\");
}
}
}
fclose($fd);
echo \"<center><b>E-mail adressen \\\"$email\\\" er afmeldt fra $list_name.</b></font></center>\";
if ($send_goodbye) { send_goodbye($email); }
}
else {
echo \"<center><b>Kunne ikke afmelde \\\"$email\\\"</b><br>E-mail adressen er ikke tilmeldt $list_name.</font></center>\";
}
}
else {
echo \"<center><b>Kunne ikke afmelde \\\"$email\\\"</b><br>Data filen blev ikke fundet, eller er tom.</font></center>\";
}
}
function valid_email($email) {
if (eregi(\"^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\\\.[a-z]{2,3}$\", $email, $check)) {
if ( getmxrr(substr(strstr($check[0], \'@\'), 1), $validate_email_temp) ) {
return TRUE;
}
if(checkdnsrr(substr(strstr($check[0], \'@\'), 1),\"ANY\")){
return TRUE;
}
}
return FALSE;
}
function on_list($email) {
global $list_file;
$found = false;
$file = @file($list_file);
if ($file) {
foreach ($file as $address) {
if (trim($address) == trim($email)) {
$found = true;
}
}
}
return $found;
}
function send_confirmation($email) {
global $welcome_msg, $welcome_subject, $list_name, $owner_email, $msg_footer;
$headers = \"From: \\\"$list_name\\\" <$owner_email>\\nReply-To: $owner_email\\nX-Mailer: PHP\";
$welcome_msg .= $msg_footer;
mail($email, $welcome_subject, $welcome_msg, $headers);
}
function send_goodbye($email) {
global $goodbye_msg, $goodbye_subject, $list_name, $owner_email;
$headers = \"From: \\\"$list_name\\\" <$owner_email>\\nReply-To: $owner_email\\nX-Mailer: PHP\";
mail($email, $goodbye_subject, $goodbye_msg, $headers);
}
function admin_write_msg() {
global $username, $password, $owner_email, $list_name;
echo \"
<form method=\\\"post\\\">
<input type=\\\"hidden\\\" name=\\\"username\\\" value=\\\"$username\\\">
<input type=\\\"hidden\\\" name=\\\"password\\\" value=\\\"$password\\\">
<input type=\\\"hidden\\\" name=\\\"action\\\" value=\\\"admin\\\">
<input type=\\\"hidden\\\" name=\\\"q\\\" value=\\\"send_msg_confirm\\\">
<table align=\\\"center\\\" border=\\\"0\\\">
<tr><td align=\\\"left\\\" valign=\\\"top\\\"><b>Fra: </b></font></td><td align=\\\"left\\\" valign=\\\"top\\\">\\\"$list_name\\\" <$owner_email></font></td></tr>
<tr><td align=\\\"left\\\" valign=\\\"top\\\"><b>Emne: </b></font></td><td align=\\\"left\\\" valign=\\\"top\\\"><input type=\\\"text\\\" name=\\\"subject\\\" size=\\\"35\\\"></td></tr>
<tr><td align=\\\"left\\\" valign=\\\"top\\\"><b>Indhold: </b></font></td><td align=\\\"left\\\" valign=\\\"top\\\"><textarea rows=\\\"4\\\" cols=\\\"30\\\" name=\\\"message\\\"></textarea></td></tr>
<tr><td></td><td align=\\\"left\\\" valign=\\\"top\\\"><input type=\\\"submit\\\" value=\\\"Send\\\"> <input type=\\\"reset\\\" value=\\\"Clear\\\"></td></tr></table>
</form>
\";
}
function admin_send_msg_confirm() {
global $username, $password, $subject, $message, $owner_email, $list_name, $list_file;
$file = @file($list_file);
$count = count($file);
echo \"
<form method=\\\"post\\\">
<input type=\\\"hidden\\\" name=\\\"username\\\" value=\\\"$username\\\">
<input type=\\\"hidden\\\" name=\\\"password\\\" value=\\\"$password\\\">
<input type=\\\"hidden\\\" name=\\\"message\\\" value=\\\"$message\\\">
<input type=\\\"hidden\\\" name=\\\"subject\\\" value=\\\"$subject\\\">
<input type=\\\"hidden\\\" name=\\\"action\\\" value=\\\"admin\\\">
<input type=\\\"hidden\\\" name=\\\"q\\\" value=\\\"send_msg\\\">
<table align=\\\"center\\\" border=\\\"0\\\">
<tr><td colspan=\\\"2\\\" align=\\\"center\\\" valign=\\\"top\\\"><font size=\\\"+1\\\"><b>Bekræft at du virkelig vil sende dette:</b></font><br>Beskeden sendes til $count e-mails.</font><br> </td></tr>
<tr><td align=\\\"left\\\" valign=\\\"top\\\"><b>Fra: </b></font></td><td align=\\\"left\\\" valign=\\\"top\\\">\\\"$list_name\\\" <$owner_email></font></td></tr>
<tr><td align=\\\"left\\\" valign=\\\"top\\\"><b>Emne: </b></font></td><td align=\\\"left\\\" valign=\\\"top\\\">$subject</font></td></tr>
<tr><td align=\\\"left\\\" valign=\\\"top\\\"><b>Indhold: </b></font></td><td align=\\\"left\\\" valign=\\\"top\\\"><pre>$message</font></pre></td></tr>
<tr><td></td><td align=\\\"left\\\" valign=\\\"top\\\"><input type=\\\"submit\\\" value=\\\"Send\\\"> <input type=\\\"reset\\\" value=\\\"Edit\\\" OnClick=\\\"history.go(-1); return true;\\\"></td></tr></table>
</form>\";
}
function admin_send_msg() {
global $list_name, $list_file, $owner_email, $msg_footer, $message, $subject;
$headers = \"From: \\\"$list_name\\\" <$owner_email>\\nReply-To: $owner_email\\nX-Mailer: PHP\";
$file = @file($list_file);
if ($file) {
foreach ($file as $address) {
$address = trim($address);
$headers .= \"\\nBcc: $address\";
}
$message .= $msg_footer;
if (mail($owner_email, $subject, $message, $headers)) {
echo \"<center><b>Beskeden er sendt.</b></font></center>\";
}
}
else {
echo \"<center><b>Datafilen kunne ikke åbnes.</b><br>Check rettigheder. Filen skal CHMOD\'es til 0777</font></center>\";
}
}
function admin_view_subs() {
global $list_file;
$file = @file($list_file);
if ($file) {
sort($file);
$count = count($file);
echo \"<center></font><i>Der er $count e-mail adresser i mailing listen.<br> </font></center>\";
echo \"<table border=\\\"1\\\" align=\\\"center\\\" bordercolor=\\\"black\\\" cellspacing=\\\"0\\\" cellpadding=\\\"2\\\">\\n<tr><td align=\\\"center\\\" bgcolor=\\\"#999999\\\"><b>#</b></font></td><td align=\\\"center\\\" bgcolor=\\\"#999999\\\"><b>Adresse</b></font></td></tr>\";
foreach ($file as $key => $address) {
$address = trim($address);
$key++;
echo \"<tr><td align=\\\"center\\\">$key</font></td><td align=\\\"center\\\">$address</font></td></tr>\";
}
echo \"</table>\";
}
else {
echo \"<center><b>Datafilen kunne ikke læses.</b><br>Der er enten ingen tilmeldte, eller filen findes ikke.</font></center>\";
}
}
function admin_print_options() {
global $username, $password;
echo \"
<form method=\\\"post\\\">
<input type=\\\"hidden\\\" name=\\\"username\\\" value=\\\"$username\\\">
<input type=\\\"hidden\\\" name=\\\"password\\\" value=\\\"$password\\\">
<input type=\\\"hidden\\\" name=\\\"action\\\" value=\\\"admin\\\">
<table border=\\\"0\\\" align=\\\"center\\\" cellspacing=\\\"0\\\" cellpadding=\\\"1\\\">
<tr><td colspan=\\\"2\\\"> <br><b>Mailing List Options</b></font></td></tr>
<tr><td><input type=\\\"radio\\\" name=\\\"q\\\" value=\\\"write_msg\\\"></td><td>Send til listen.</font></td></tr>
<tr><td><input type=\\\"radio\\\" name=\\\"q\\\" value=\\\"view_subs\\\"></td><td>Vis tilmeldte.</font></td></tr>
<tr><td><input type=\\\"radio\\\" name=\\\"q\\\" value=\\\"sub_unsub\\\"></td><td>Tilføj/Slet e-mail adresser.</font></td></tr>
<tr><td></td><td><input type=\\\"submit\\\" value=\\\"Submit\\\"></form></td></tr></table>\";
}
function print_subscribe_form() {
global $list_name;
echo(\"<body><form method=\\\"post\\\"><table border=\\\"0\\\" align=\\\"center\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\">
<tr><td rowspan=\\\"2\\\"><input type=\\\"text\\\" name=\\\"email\\\" value=\\\"Din e-mail\\\" size=\\\"20\\\"></td>
<td><input type=\\\"radio\\\" name=\\\"action\\\" value=\\\"sub\\\" checked> Tilmeld</font></td></tr>
<tr><td><input type=\\\"radio\\\" name=\\\"action\\\" value=\\\"unsub\\\"> Afmeld</font></td></tr>
<tr><td colspan=\\\"2\\\" align=\\\"center\\\" valign=\\\"center\\\"><input type=\\\"submit\\\" value=\\\"Send\\\"></td></tr>
</table></form><br><br><center><a href=\'maillist.php?action=admin\'>Administration</a></center>\");
}
function print_footer() {
global $version;
echo(\"<!-- Footer -->\");
}
function admin_print_logon($msg) {
echo \"<form method=\\\"post\\\"><center><b>$msg</b><br><br></font></center>
<table border=\\\"0\\\" align=\\\"center\\\"><tr><td colspan=\\\"2\\\" align=\\\"center\\\"><b>Login:</b></font></td></tr><tr><td>Username:</font></td><td><input type=\\\"text\\\" name=\\\"username\\\"></td></tr>
<tr><td> Password:</font></td><td><input type=\\\"password\\\" name=\\\"password\\\"></td></tr>
<tr><td></td><td><input type=\\\"submit\\\" value=\\\"Logon\\\"></td></tr></table></form>\";
}
?></body></html>
<!-- -->
</td></tr></table>
</font>
</body>
</html>
Og ret lige \"DL Soft Mailingliste\" til noget andet :-)