$create_track_image = false; if (checkid($nl_id)) { $NEWSLETTER = new tm_NL(); //nl holen $NL = $NEWSLETTER->getNL($nl_id); //wenn newsletter gefunden, ok if (count($NL) > 0) { $create_track_image = true; } //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
$a_error = false; $h_error = false; $skipped = false; if (isset($H[$bcc]['id'])) { //set adr_id for logging $log_adr_id = $H[$bcc]['adr_id']; send_log($bcc . ".) "); // ok, wir muessen nun um zu vermeiden, // das bei gleichzeitigen aufrufen doppelte mails verschickt werden, // den status erneut abfragen auf 5=running, und wenn nichts gefunden wurde // einen status setzen fuer die history 5=running !!! //aktuellen eintrag abrufen und auf status 5 pruefen! ebenfalls ob nicht schon status fertig etc. //$HRun=$QUEUE->getH($H[$bcc]['id'],0,0,0,0,0,0,5); //wir drehen es um, wir pruefen nur ob dieser eintrag in der sendeliste auch noch auf status 1, warten auf versand=neu, steht.... //function getH($id=0,$offset=0,$limit=0,$q_id=0,$nl_id=0,$grp_id=0,$adr_id=0,$status=0) { $HWait = $QUEUE->getH($H[$bcc]['id'], 0, 0, 0, 0, 0, 0, 1); //und wenn nun hc_run==1 ist, dann senden //eigentlich muesste die variable nun HWait und hc_wait heissen! //$hc_run=count($HRun);//wieviel running sendeeintraege $hc_wait = count($HWait); //wieviel running sendeeintraege //wenn der aktuelle eintrag kein status 5 hat, versenden! evtl auch pruefen auf bereits versendet! // ^^^korrektur: wenn status == 1 ist, dann versenden, ansonsten ist der eintrag schon irgendwie bearbeitet worden!!!! //weil wenn konkurrierende jobs, dann kann der eine 5 setzen und dann ist ok, wenn wir aber gerade dann dort ankommen ... und der eintrag ist noch in im H Array... dann wird email evtl 2x versendet! //eigentlich nur kritisch bei konkurrierenden eintraegen //umgedreht: //if ($hc_run==0) { //ok //jetzt abfragen ob was gefunden fuer status wait==1 send_log("HID: " . $H[$bcc]['id']); send_log("adr_id: " . $H[$bcc]['adr_id']); send_log("h_status: " . $H[$bcc]['status'] . "==1");