<?php
/* Ulyxex version 1.6.7.8 ***************/
/* code http://ulyxex.logz.org **********/
/* Andre Lozano http://andre-lozano.org */
//~ destinataires préciser votre liste de diffusion (ovh)
//~ nom_de_votre_ML-subscribe@votredomaine.com
//~ nom_de_votre_ML-unsubscribe@votredomaine.com
class ViewListDiffusion extends Ulyxex {
public object $h;
public object $t;
public int $id;
public function __construct($paramId=0){
$this->h = New Htmlz();
$this->t = New Translate();
$this->id = $paramId;
list($this->nameAdmin,$this->mailAdmin) = $this->mail_adress(1);
//~ problème ionos avec make_seed ?
//~ srand($this->make_seed());
//~ send mail => densamil
//~ expeditor => xeepidrot
//~ subject => busejct
//~ mesage => semaseg
//~ mailer => iamlre
}
function mail_adress($userId){
$dat = $this->user_params($userId);
return array($dat['USERNAME'],$dat['MAIL']);
}
function generateRandomString($length = 10) {
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = mb_strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
public function send_mail($mailingList=null){
$h = $this->h;$t = $this->t;
if (empty($mailingList)) {
return $h->h2("no mailing list !");
}
if (isset($_POST[$_SESSION['inputname']]) && $h->num($_POST[$_SESSION['inputname']]) != $_SESSION['captcha']){
return $h->h2("error captcha");
}
if (filter_var($_POST["xeepidrot"], FILTER_VALIDATE_EMAIL)){
$expeditor = $_POST["xeepidrot"];
} else {
return $h->h2("mail incorrect");
}
$arr = explode("@",$mailingList);
$subscribeMail = $arr[0]."-subscribe@".$arr[1];
$unsubscribeMail = $arr[0]."-unsubscribe@".$arr[1];
if ($_POST["subunsub"] == "subscribe") {
$state = "subscribe";
$listMail = $subscribeMail;
} else {
$state = "unsubscribe";
$listMail = $unsubscribeMail;
}
$subject = "mailing list";
$endSpace = " ";
$mailHeader = "From: ".$this->mailAdmin.$endSpace; // from has to be adminstrator mail
$mailHeader .= "Reply-To : ".$expeditor.$endSpace;
$mailBody = "Mailing list : ".$mailingList.$endSpace."\n";
$mailBody .= "Origin Script : ".getenv("SERVER_NAME").getenv('REQUEST_URI').$endSpace."\n";
$mailBody .= "Origin IP : ".getenv("REMOTE_ADDR").$endSpace."\n\n";
$mailBody .= "From : ".$expeditor.$endSpace."\n";
$mailBody .= "Subject : ".$subject.$endSpace."\n\n";
$mailBody .= "Message : ".$state." ".$listMail.$endSpace;
if (empty($this->mailAdmin) or $this->mailAdmin == "none" or $this->mailAdmin == "none@none.org"){
//~ if you are here with no website mail that's wrong !
exit("error email website empty or none!");
} else {
mail($this->mailAdmin, $subject, $mailBody, $mailHeader);
return $h->h1("mail ok");
}
}
public function mail_form(){
$h = $this->h;$t = $this->t;
$a = rand(1,90);
$b = rand(1,10);
$_SESSION['captcha'] = $a + $b;
$_SESSION['inputname'] = $this->generateRandomString();
$_[] = $h->p($h->lbl($t->wr("subscribe to the mailing list"),"subscrib").$h->inputradio("subscrib","subunsub","subscribe","checked"));
$_[] = $h->p($h->lbl($t->wr("unsubscribe mailing list"),"unsubscrib").$h->inputradio("unsubscrib","subunsub","unsubscribe"));
$_[] = $h->input("hidden","densamil",1);
$_[] = $h->p($h->lbl($t->w("your mail"),"xeepidrot")).$h->p($h->input("email","xeepidrot","",$h->v("size",FIELDWIDTH)));
$_[] = $h->p(
$h->lbl($t->wr("solve").$h->b($a)." + ".$h->b($b)." = ",$_SESSION['inputname']).
$h->input("text",$_SESSION['inputname'],"?",$h->v("onclick","javascript:this.value='';").$h->v("size","2").$h->v("style","font-weight:bold;text-align:center;")).SP_." ".$h->input("submit",null,$t->w("Submit"))
);
$inputs = implode("",$_);
return $h->form($inputs,"iamlre","post","index.php?k=liste&v=".$this->id);
}
function make_seed(){
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
}
?>
page url