0) : for ($i = 0; $i < $f_allCustomersLen; $i++) : $whereClauseCs .= " cmp.cmp_type = '" . $f_allCustomers[$i] . "' "; if ($i < ($f_allCustomersLen - 1)) : $whereClauseCs .= " OR "; endif; endfor; $whereClauseCs = "(" . $whereClauseCs . ") AND "; // Filter branch $whereClauseBr = ""; $f_branch_len = 0; if (is_array($f_branch)) : $f_branch_len = count($f_branch); endif; if ($f_branch_len > 0) : // $whereClauseBr = " cmp.br_id = '" . $f_branch . "' AND "; $whereClauseBr = " cmp.br_id IN ('" . implode("','", $f_branch) . "') AND "; endif; if ($f_hq_id != "" && count($f_hq_id) >= 1) : $whereClauseCs .= " cs.hq_id IN " . getSQLMandatorArray($f_hq_id) . " AND "; else : $whereClauseCs .= " cs.hq_id = '" . $hq_id . "' AND "; endif; $sqlquery1 = "SELECT usr.usr_email AS email, cs.cs_id" . " FROM customer AS cs, company AS cmp, employee AS emp, user AS usr" . " WHERE " . $whereClauseCs . $whereClauseBr . " cs.cmp_id = cmp.cmp_id AND cs.cs_jbstatusmail2csc = '0' AND cmp.cmp_newsletter = '1' " . $dsgvoClause . " AND" . " cs.cs_admin = emp.emp_id AND emp.usr_id = usr.usr_id AND usr.usr_email != ''"; $sqlquery2 = "SELECT cscad.cscad_email AS email, cs.cs_id" . " FROM customer AS cs, company AS cmp, costcenter AS csc, costcenteraddress AS cscad" . " WHERE " . $whereClauseCs . $whereClauseBr . " cs.cmp_id = cmp.cmp_id AND cs.cs_jbstatusmail2csc = '1' AND cmp.cmp_newsletter = '1' " . $dsgvoClause . " AND" . " csc.cs_id = cs.cs_id AND csc.csc_id = cscad.csc_id AND cscad.adt_id = '2' AND cscad.cscad_email != ''"; $result = $db->query("(" . $sqlquery1 . ") UNION (" . $sqlquery2 . ")"); if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage()); $count = 0; while ($row = $result->fetch_assoc()): $f_emailAddresses[$count] = $row["email"]; $f_Ids[$count] = $row["cs_id"]; $f_Type[$count] = "cs"; $count++; endwhile; $result->free(); else : // Check for selected groups if ($f_groupLen > 0) : $tmpEmailaddresses = getGroupMemberEmailaddresses($f_group, "cs", $f_hq_id, "cmp.cmp_newsletter = '1'" . $dsgvoClause); $tmpEmailaddresses1 = $tmpEmailaddresses[0]; $tmpIds1 = $tmpEmailaddresses[1]; $tmpType1 = $tmpEmailaddresses[2]; $tmpEmailaddresses = getGroupMemberEmailaddresses($f_group, "cr", $f_hq_id, "cmp.cmp_newsletter = '1'" . $dsgvoClause); $tmpEmailaddresses2 = $tmpEmailaddresses[0]; $tmpIds2 = $tmpEmailaddresses[1]; $tmpType2 = $tmpEmailaddresses[2]; $tmpEmailaddresses = getGroupMemberEmailaddresses($f_group, "emp", $f_hq_id, "cmp.cmp_newsletter = '1'" . $dsgvoClause); $tmpEmailaddresses3 = $tmpEmailaddresses[0]; $tmpIds3 = $tmpEmailaddresses[1]; $tmpType3 = $tmpEmailaddresses[2]; // Merge all arrays $tmpEmailaddresses1Len = count($tmpEmailaddresses1); $tmpEmailaddresses2Len = count($tmpEmailaddresses2); for ($m = 0; $m < $tmpEmailaddresses2Len; $m++) : $tmpEmailaddresses1[($tmpEmailaddresses1Len + $m)] = $tmpEmailaddresses2[$m]; $tmpIds1[($tmpEmailaddresses1Len + $m)] = $tmpIds2[$m]; $tmpType1[($tmpEmailaddresses1Len + $m)] = $tmpType2[$m]; endfor; $tmpEmailaddresses1Len = count($tmpEmailaddresses1); $tmpEmailaddresses3Len = count($tmpEmailaddresses3); for ($m = 0; $m < $tmpEmailaddresses3Len; $m++) : $tmpEmailaddresses1[($tmpEmailaddresses1Len + $m)] = $tmpEmailaddresses3[$m]; $tmpIds1[($tmpEmailaddresses1Len + $m)] = $tmpIds3[$m]; $tmpType1[($tmpEmailaddresses1Len + $m)] = $tmpType3[$m]; endfor; $f_emailAddresses = $tmpEmailaddresses1; $tmpEmailaddresses1 = ""; $tmpEmailaddresses2 = ""; $tmpEmailaddresses3 = ""; $f_Ids = $tmpIds1; $tmpIds1 = ""; $tmpIds2 = ""; $tmpIds3 = ""; $f_Type = $tmpType1; $tmpType1 = ""; $tmpType2 = ""; $tmpType3 = ""; // $f_emailAddresses = array_merge($f_emailAddresses, getGroupMemberEmailaddresses($f_group, "cs", $f_hq_id, "cmp.cmp_newsletter = '1'" . $dsgvoClause)); // $f_emailAddresses = array_merge($f_emailAddresses, getGroupMemberEmailaddresses($f_group, "cr", $f_hq_id, "cmp.cmp_newsletter = '1'" . $dsgvoClause)); // $f_emailAddresses = array_merge($f_emailAddresses, getGroupMemberEmailaddresses($f_group, "emp", $f_hq_id, "cmp.cmp_newsletter = '1'" . $dsgvoClause)); endif; endif; endif; $f_emailAddressesLen = count($f_emailAddresses); // ******************************************************** // * Prepare to send the mail and check all preconditions * // ******************************************************** $mailSenderAddress = getParameterValue("0", "MAIL_NEWSLETTER_SENDER_ADDRESS", $hq_id); if ($mailSenderAddress == "") : $mailSenderAddress = getParameterValue("0", "MAIL_SENDER_ADDRESS", $hq_id); endif; $statusMessage = getLngt("Es wurde keine Nachricht versendet!"); if ($f_attachment == "" && $f_content == "") : $statusMessage = getLngt("Entweder fehlt der Mailtext oder ein Anhang!"); elseif ($f_emailAddressesLen == 0) : $statusMessage = getLngt("Selektieren Sie bitte die Mailadressen oder tragen Sie bitte mindestens eine Mailadresse ein! Manuelle Adresseinträge werden durch Kommata getrennt!"); elseif ($f_subject == "") : $statusMessage = getLngt("Bitte tragen Sie in der Betreffzeile etwas ein!"); elseif ($f_mimetype == "") : $statusMessage = getLngt("Der Mimetype fehlt!"); elseif ($f_fileName == "" && $f_attachment != "") : $statusMessage = getLngt("Der Dateiname für den Anhang fehlt!"); elseif ($f_extension == "" && $f_attachment != "") : $statusMessage = getLngt("Der Dateityp für den Anhang fehlt (Extension)!"); elseif ($f_contentFileName == "" && $f_content == "_file_") : $statusMessage = getLngt("Der Dateiname zum Laden des Mailtextes fehlt!"); elseif ($f_contentFileExtension == "" && $f_content == "_file_") : $statusMessage = getLngt("Der Dateityp zum Laden des Mailtextes fehlt (Extension)!"); elseif ($mailSenderAddress == "") : $statusMessage = getLngt("Die Absenderadresse ist nicht definiert!"); else : if ($f_act == "mailsend") : $mailtext = ""; if ($f_content != "") : if ($f_content == "_file_") : $tmpFile = "../temp/download/" . $f_contentFileName . "." . $f_contentFileExtension; if (file_exists($tmpFile)) : $mailtext = file_get_contents($tmpFile); endif; else : $mailtext = $f_content; endif; else : $mailtext .= ""; $mailtext .= ""; $mailtext .= "

"; if ($f_salutationText == "") : $f_salutationText = "
" . getLngt("Sehr geehrte Damen und Herren,") . "

"; $f_salutationText .= "
" . getLngt("hiermit übersenden wir Ihnen die folgenden Informationen.") . "

"; $f_salutationText .= "
" . getLngt("Mit freundlichem Gruß,") . "
"; endif; $mailtext .= $f_salutationText; /* $mailSalutationText = getParameterValue("0", "MAIL_SALUTATION_TEXT", $currentHqId); $mailtext .= "
" . getLngt($mailSalutationText) . "

"; */ // LOGO /* $logoName = getParameterValue("0", "IMG_LOGO_NAME", $currentHqId); $logoHeight = getParameterValue("0", "IMG_LOGO_HEIGHT", $currentHqId); $logoWidth = getParameterValue("0", "IMG_LOGO_WIDTH", $currentHqId); if ($logoName != "" && $logoHeight != "" && $logoWidth != "") : $mailtext .= "


"; endif; */ /* $mailFooterEnabled = getParameterValue("0", "MAIL_FOOTER_ENABLED", $currentHqId); if ($mailFooterEnabled == "1") : $mailFooterAddress = getParameterValue("0", "MAIL_FOOTER_ADDRESS", $currentHqId); if ($mailFooterAddress != "") : $mailtext .= $mailFooterAddress; endif; $mailFooterContact = getParameterValue("0", "MAIL_FOOTER_CONTACT", $currentHqId); if ($mailFooterContact != "") : $mailtext .= $mailFooterContact; endif; $mailFooterImpressum = getParameterValue("0", "MAIL_FOOTER_IMPRESSUM", $currentHqId); if ($mailFooterImpressum != "") : $mailtext .= $mailFooterImpressum; endif; $mailFooterThinkGreen = getParameterValue("0", "MAIL_FOOTER_THINK_GREEN", $currentHqId); if ($mailFooterThinkGreen != "") : $mailtext .= $mailFooterThinkGreen; endif; endif; */ $mailtext .= ""; endif; // Remove old attachement if ($f_extension != "" && substr($f_extension,0,1) != ".") : foreach (glob("../temp/download/*." . $f_extension) as $fileNameToBeRemoved) { if ((time() - filemtime($fileNameToBeRemoved)) > 60) : if (file_exists($fileNameToBeRemoved)) : unlink($fileNameToBeRemoved); endif; endif; } endif; $f_secretFileName = ""; if ($f_fileName != "" && $f_extension != "") : $f_secretFileName = $f_fileName . "." . $f_extension; writeToFile("../temp/download/" . $f_secretFileName, $f_attachment); // write attachement data into file endif; // Check for post parsing necessity $remMailtext = ""; $postParsing = false; if (!(strpos($mailtext, "") === FALSE)) : $postParsing = true; $remMailtext = $mailtext; $f_emailChunks = $f_emailAddresses; else : $f_emailAddresses = array_unique($f_emailAddresses); // Unique addresses $f_emailChunks = array_chunk($f_emailAddresses, $chunkSize); // Chunk addresses endif; // Loop if too much addresses $logMailAddressArray = array(); $f_emailChunksLen = count($f_emailChunks); for ($i = 0; $i < $f_emailChunksLen; $i++) : if ($postParsing) : $mailtext = postParseMailtext($mailtext, $f_Type[$i], $f_Ids[$i], $constGlobalDbInstNo); endif; if ($mailtext != "ERR") : $mailObj = new htmlMimeMail(); $mailObj->setHtml($mailtext, null, "./"); // $mailObj->setHtml($mailtext); // Set From address $mailObj->setFrom($mailSenderAddress); // Set Cc address /* $mailCcAddress = getParameterValue("0", "MAIL_CC_ADDRESS", $currentHqId); if ($mailCcAddress == "" || !checkEmailFormat($mailCcAddress)) : $mailCcAddress = MAIL_CC_ADDRESS; endif; if ($mailCcAddress != "" && checkEmailFormat($mailCcAddress)) : $mailObj->setCc($mailCcAddress); endif; */ // Add Cc addresses if ($f_email_cc != "" && $f_email_sendToCcAndBcc == "1") : $mailObj->setCc($f_email_cc); endif; // Subject of the mail $mailObj->setSubject(getLngt($f_subject)); if ($f_secretFileName != "") : if (file_exists("../temp/download/" . $f_secretFileName)) : $attachment = $mailObj->getFile("../temp/download/" . $f_secretFileName); $mailObj->addAttachment($attachment, $f_secretFileName, $f_mimetype . $f_charset); endif; endif; // Log (only for output) if (count($logMailAddressArray) > 0) : $logMailAddressArray = array_merge($logMailAddressArray, array("-------")); endif; // Set all addresses if ($postParsing) : // Log: $f_emailChunks[$i] IS NOT an array $logMailAddressArray = array_merge($logMailAddressArray, array("[" . $i . ".] " . $f_emailChunks[$i])); // Add Bcc addresses if ($f_email_bcc != "" && $f_email_sendToCcAndBcc == "1") : $mailObj->setBcc($f_email_bcc); endif; $f_emailString = $f_emailChunks[$i]; $mailReceiverAddress = $f_emailString; else : // Log: $f_emailChunks[$i] IS an array $logMailAddressArray = array_merge($logMailAddressArray, array("[" . $i . ".]"), $f_emailChunks[$i]); // Log $f_emailString = implode(",", $f_emailChunks[$i]); // Add Bcc addresses if ($f_email_bcc != "" && $f_email_sendToCcAndBcc == "1") : $f_emailString .= "," . $f_email_bcc; endif; $f_emailString = str_replace(",,", ',', $f_emailString); if (substr($f_emailString, 0, 1) == ",") : $f_emailString = substr($f_emailString, 1); endif; if (substr($f_emailString, -1) == ",") : $f_emailString = substr($f_emailString, 0, strlen($f_emailString) - 1); endif; // Only send to Bcc if chunks are ok. The receiver address is the same as the sender address! $mailObj->setBcc($f_emailString); $mailReceiverAddress = $mailSenderAddress; endif; // Check existence in log $mailResult = false; $sentToReceiverSameDay = ""; if ($f_emailChunksLen > 3) : $sentToReceiverSameDay = getOneStmt("SELECT log_createtime FROM phoenix_log.log WHERE logo_id = '93' AND LEFT(log_createtime,10) = '" . $currentDate . "' AND logo_description = 'SENT=Y|EMAIL=" . $f_emailString . "' LIMIT 0,1", "log_createtime"); endif; if ($sentToReceiverSameDay == "") : $mailResult = $mailObj->send(array($mailReceiverAddress), 'smtp'); endif; if ($mailResult) : $statusMessage = getLngt("Die Nachricht(en) wurde versandt!"); // Write logdata into log database writeToLogDB("93",$hq_id,"",$usr_id,"","",($f_Type[$i] == "cs" ? $f_Ids[$i] : ""),"SENT=Y|EMAIL=" . $f_emailString); // Generate report entry $tmpReportText = getLngt("Newsletterversand erfolgreich"); insertStmt("phoenix_group.report_process", array("usr_id", $usr_id, "hq_id", $hq_id, "rp_reporttype", "15", "rp_text", $tmpReportText, "rp_createtime", $currentTime, "rp_objId", $f_Ids[$i], "rp_objtype", "cs")); else : $statusMessage = getLngt("Die Nachricht(en) konnte nicht gesendet werden!"); // Write logdata into log database writeToLogDB("93",$hq_id,"",$usr_id,"","",($f_Type[$i] == "cs" ? $f_Ids[$i] : ""),"SENT=N|EMAIL=" . $f_emailString . ($sentToReceiverSameDay != "" ? "|TS=" . $sentToReceiverSameDay : "")); endif; // $mailObj->free(); $mailObj = NULL; else : // Write logdata into log database writeToLogDB("93",$hq_id,"",$usr_id,"",($f_Type[$i] == "cs" ? $f_Ids[$i] : ""),$f_Ids[$i],"SENT=N|EMAIL=POSTPARSER_ERR"); endif; if ($postParsing) : $mailtext = $remMailtext; endif; endfor; // Remove old file(s) if ($f_secretFileName != "") : foreach (glob("../temp/download/" . $f_secretFileName) as $fileNameToBeRemoved) { if (file_exists($fileNameToBeRemoved)) : unlink($fileNameToBeRemoved); endif; } endif; else : $statusMessage = getLngt("Die eingegebene Emailadresse ist syntaktisch nicht korrekt!"); endif; endif; // ONLY for output if ($f_groupLen > 0) : $onLoadCall .= "groupList('on');"; else : $onLoadCall .= "groupList('off');"; endif; ?> <?php echo $pageTitel ?>
>:
>:
 
>:
>:
>:
Alle Kunden
Alle Interessenten
Alle Potentialkunden
Alle Wunschkunden
>
>Gruppen:
"); ?>
0) : echo "" . getLngt("Der Versand erfolgt an folgende Email-Adressen:") . "

"; echo implode("
", $logMailAddressArray); endif; ?>