コード例 #1
0
 //unbedingt ^^^ pruefen auf gueltige email!
 //sonst findet getAdr alle adressen!!! da search - email null ist / leer ist
 //adr anhand email suchen!
 $search['email'] = $email;
 $search['email_exact_match'] = true;
 $ADR = $ADDRESS->getAdr(0, 0, 1, 0, $search);
 //print_r($ADR);
 if (count($ADR) > 0) {
     //noch nicht abgemeldet?
     if ($ADR[0]['status'] != 11) {
         /*
         if ($ADR[0]['code']==$code) {
         */
         if (checkid($h_id)) {
             $QUEUE = new tm_Q();
             $QUEUE->setHStatus($h_id, 7);
             //unsubscribe!
         }
         $created = date("Y-m-d H:i:s");
         //im memo speichern wir den namen des newsletter etc.
         $memo = "unsubscribed";
         $NEWSLETTER = new tm_NL();
         $NL = $NEWSLETTER->getNL($nl_id);
         if (count($NL) > 0) {
             $memo .= " (" . $NL[0]['subject'] . ")";
         }
         //set status adresse, set editor...
         $author = "unsubscribe";
         //always unsubscribe ...
         if ($ADDRESS->unsubscribe($ADR[0]['id'], $author)) {
             $ADDRESS->setAktiv($ADR[0]['id'], 0);
コード例 #2
0
 //nl view counter ++
 $NEWSLETTER->addView($nl_id);
 //history id? dann in der historie auf view setzen!
 if (checkid($h_id)) {
     $QUEUE = new tm_Q();
     //nur der erste aufruf wird mit der ip versehen! ansonsten wuerde diese jedesmal ueberschrieben wenn der leser oder ein anderer das nl anschaut.
     $H = $QUEUE->getH($h_id);
     if (isset($H[0])) {
         //https://sourceforge.net/tracker/?func=detail&aid=3114571&group_id=190396&atid=933192
         if (empty($H[0]['ip']) || $H[0]['ip'] == '0.0.0.0') {
             $QUEUE->setHIP($H[0]['id'], getIP());
             //save ip
         }
         if ($H[0]['status'] != 7) {
             //7:unsubscribed
             $QUEUE->setHStatus($h_id, 3);
             //view
         }
     }
     //isset H[0]
 }
 //checkid h_id
 //adressid? wenn ja status aendern und view zaehlen
 if (checkid($a_id)) {
     $ADDRESS = new tm_ADR();
     $ADR = $ADDRESS->getAdr($a_id);
     if (isset($ADR[0])) {
         //https://sourceforge.net/tracker/?func=detail&aid=3114571&group_id=190396&atid=933192
         //only set view status if not waiting status or unsubscribed // !5 && !11
         if ($ADR[0]['status'] != 5 && $ADR[0]['status'] != 11) {
             $ADDRESS->setStatus($a_id, 4);
コード例 #3
0
ファイル: send_it.php プロジェクト: aydancoskun/octobercms
 send_log("HID: " . $H[$bcc]['id']);
 send_log("adr_id: " . $H[$bcc]['adr_id']);
 send_log("h_status: " . $H[$bcc]['status'] . "==1");
 if ($hc_wait > 0) {
     //ok
     $send_it = true;
     //wird gebraucht um versenden abzufangen wenn aktuell bearbeiteter eintrag
     send_log("OK: HID: " . $H[$bcc]['id']);
     //vor der pruefung auf valide email status schon auf 5 setzen,
     //ist ggf doppelt gemobbelt, kann aber ggf. unter bestimmten Umstaenden dazu fuehren
     // das eine validierung auf gueltigen mx etwas laenger dauert,
     //der job mit einem anderen konkurriert und waehrend die
     //pruefung und mx abfrage laeuft der konkurrierende job sich die adresse krallt, man weiss nix genaues nich ;)
     //h eintrag wird zum bearbeiten gesperrt, status 5!
     send_log("setHStatus 5");
     $QUEUE->setHStatus($H[$bcc]['id'], 5);
     send_log("adr_id: " . $H[$bcc]['adr_id']);
     //adresse holen
     send_log("getAdr()");
     $ADR = $ADDRESS->getAdr($H[$bcc]['adr_id']);
     //nur senden wenn korrekte emailadr! und fehlerrate < max errors
     //erstmal ok, kein fehler
     //fehler beim senden? adresse ok?
     $a_error = false;
     $h_error = false;
     $a_status = $ADR[0]['status'];
     ////todo optimierung: check errors vor blacklist und vor mx, spart ggf zeit und abfragen von adressen die eh zu viele fehler haben oder geblacklisted wurden!
     //BLACKLIST prüfen
     if ($Q[$qcc]['check_blacklist']) {
         send_log("checking blacklist");
         if ($BLACKLIST->isBlacklisted($ADR[0]['email'])) {