$czas=date("Ymd");
function prenumerata($mail, $o, $h) {
$nadawca = $_SERVER['HTTP_HOST'];
$sql_serwer = '1135.m.tld.pl';
$sql_login = 'admin1135_artden';
$sql_haslo = 'aj16z8K3';
$sql_baza = 'baza1135_artden';
$sql_tabela = 'prenumerata';
$skrypt = "http://".$_SERVER['HTTP_HOST']."/index.php?site=newsletter";
$haslomd = 'f54tr97ujh'; // dowolne hasło do kodowania MD5
$o = strtolower(odbierz($o));
$mail = strtolower(odbierz($mail));
$h = strtolower(odbierz($h));
$kod = md5("$haslomd$mail");
$ip = $_SERVER["REMOTE_ADDR"];
if ($o=='' and $mail=='' and $h=='') return false;
if ($h=='' and
!preg_match("/^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,6}$/", $mail))
return '
Błędnie wpisany adres e-mail!
';
if ($h<>'' and !preg_match("/^[a-z0-9]{32}$/", $h)) return 'Błędne hasło!';
if (!(mysql_connect($sql_serwer, $sql_login, $sql_haslo)
and mysql_select_db($sql_baza)))
return '
Brak połączenia z bazą! Spróbuj ponownie za chwilę!
';
// *** zapisanie na prenumeratę
if ($h=='' and $o=='dodaj') {
// usunięcie oczekujących 2 dni na potwierwdzenie dodania
mysql_query("DELETE FROM $sql_tabela
WHERE data<=DATE_SUB(NOW(),INTERVAL 2 DAY) AND status='o'");
// przywrócenie oczekujących 2 dni na potwierdzenie wypisania
mysql_query("UPDATE $sql_tabela SET status='dodaj'
WHERE data<=DATE_SUB(NOW(),INTERVAL 2 DAY) AND status='skasuj'");
$wynik = mysql_query("SELECT * FROM $sql_tabela WHERE adres='$mail'");
if (mysql_num_rows($wynik)==0) { // nie ma adresu w bazie
$wynik = mysql_query("INSERT INTO $sql_tabela SET
adres='$mail', status='o', uprawnienia='2', data=NOW(), ip='$ip'");
if (mysql_affected_rows()==1) {
$list = "
Aby otrzymywac newsletter potwierdz prenumerate, klikajac
w ciagu najblizszych dwoch dni na odnosnik:
$skrypt&o=dodaj&h=$kod
Aby nie otrzymywac newslettera zignoruj list.
IP osoby zapisujacej na prenumerate: $ip
";
$list = mb_convert_encoding($list, "ISO-8859-2","UTF-8");
$header .= "From: $mail\n";
$header .= "Content-Type: TEXT/plain; CHARSET=iso-8859-2\n";
@mail($mail, "Newsletter $_SERVER[HTTP_HOST]", $list, $header);
//echo "
$list
"; // testowo
$txt = "
UWAGA: Aby dokończyć proces zapisania na prenumeratę
odbierz list z konta $mail i postępuj zgodnie
z przesłaną w nim instrukcją.
";
} else $txt = '
Awaria! Nie udało się dodać adresu do bazy!
Spróbuj ponownie za chwilę!
';
} else { // istnieje w bazie
$dane = mysql_fetch_array($wynik);
if ($dane['status']=='zapisz')
$txt = '
Adres znajduje się już w bazie prenumeratorów...
';
if ($dane['status']=='skasuj')
$txt = '
Adres oczekuje na wypisanie. Nie potwierdzaj maila,
adres nie zostanie wtedy wypisany z listy...
';
if ($dane['status']=='o')
$txt = "
Adres oczekuje na dodanie. Odbierz list z konta
$mail i potwierdź chęć otrzymywania newslettera...
";
if ($dane['status']=='b')
$txt = '
Adres jest zablokowany. Nie można go dodać ani usunąć...
';
}
} // koniec zapisywania
// *** wypisanie z prenumeraty
if ($h=='' and $o=='skasuj') {
$wynik = mysql_query("SELECT * FROM $sql_tabela WHERE adres='$mail'");
if (mysql_num_rows($wynik)==0) {
$txt = '
Adresu nie ma na liście prenumeratorów. Wpisz ten sam adres,
który został podany podczas zapisywania na prenumeratę!
';
} else {
$dane = mysql_fetch_array($wynik);
if ($dane['status']=='o')
$txt = '
Adres oczekuje na dodanie. Nie potwierdzaj maila,
nie zostanie wtedy dopisany do listy...
';
if ($dane['status']=='b')
$txt = '
Adres jest zablokowany. Nie można dodać ani usunąć...
';
if ($dane['status']=='skasuj')
$txt = "
Adres oczekuje na wypisanie. Odbierz list z konta
$mail i potwierdź chęć wypisania z prenumeraty...
";
if ($dane['status']=='zapisz') {
$wynik = mysql_query("UPDATE $sql_tabela SET status='skasuj'
WHERE adres='$mail' and status='dodaj'");
$list="
Aby zrezygnowac z prenumeraty newslettera potwierdz wypisanie,
klikajac w ciagu najblizszych dwoch dni na odnosnik:
$skrypt&o=skasuj&h=$kod
Aby otrzymywac nadal newsletter zignoruj list.
IP osoby zapisujacej na prenumerate: $ip
";
$list = mb_convert_encoding($list, "ISO-8859-2","UTF-8");
$header .= "From: $mail\n";
$header .= "Content-Type: TEXT/plain; CHARSET=iso-8859-2\n";
@mail($mail, "Newsletter $_SERVER[HTTP_HOST]", $list, $header);
//echo "
$list
"; // testowo
$txt = "
Aby dokończyć proces wypisywania odbierz list z konta
$mail i postępuj zgodnie z przesłaną instrukcją.
";
}
}
} // koniec wypisywania
// potwierdzanie dodania użytkownika
if ($h<>'' and $o=='dodaj') {
mysql_query("UPDATE $sql_tabela SET status='zapisz' WHERE
md5(CONCAT('$haslomd',adres))='$h' and (status='o' or status='skasuj')");
if (mysql_affected_rows()==1)
$txt = '
Dziękujemy, Twój adres został dodany do bazy prenumeratorów!
';
else $txt = '
Adres nie został dopisany - sprawdź czy link jest poprawny!
';
}
// potwierdzanie skasowania użytkownika
if ($h<>'' and $o=='skasuj') {
mysql_query("DELETE FROM $sql_tabela WHERE
md5(CONCAT('$haslomd',adres))='$h'");
if (mysql_affected_rows()==1)
$txt = '
Twój sdres został wypisany z z listy prenumeratorów.
';
else $txt = '
Adres nie został wypisany - sprawdź czy link jest poprawny!
';
}
return $txt;
}
$wynik = prenumerata($_REQUEST['mail'], $_REQUEST['o'], $_REQUEST['h']);
if ($wynik) {
echo "
$wynik
";
} else {
?>
}
?>