$currentTime = date('Y-m-d H:i:s'); $subject = $ITS4YouReports_reportname . ' - ' . $currentTime . ' (' . DateTimeField::getDBTimeZone() . ')'; $contents = getTranslatedString('LBL_AUTO_GENERATED_REPORT_EMAIL', $currentModule) . '<br/><br/>'; $contents .= '<b>' . getTranslatedString('LBL_REPORT_NAME', $currentModule) . ' :</b> ' . $ITS4YouReports_reportname . '<br/>'; $contents .= '<b>' . getTranslatedString('LBL_DESCRIPTION', $currentModule) . ' :</b><br/>' . $ITS4YouReports_reportdesc . '<br/><br/>'; $vtigerMailer->Subject = "=?ISO-8859-15?Q?" . imap_8bit(html_entity_decode($subject, ENT_QUOTES, "UTF-8")) . "?="; $vtigerMailer->Body = $contents; $vtigerMailer->ContentType = "text/html"; $generate = new GenerateObj($ITS4YouReports); //$reportFormat = $this->scheduledFormat; $reportFormat = "pdf;xls"; $reportFormat = explode(";", $reportFormat); $tmpDir = "test/ITS4YouReports/"; $attachments = array(); if (in_array('pdf', $reportFormat)) { $report_html = $generate->generateReport(90, "HTML", false); ITS4YouReports::sshow($report_html); exit; $generate_pdf_filename = $tmpDir . generate_cool_url($generate->pdf_filename); $fileName = $rootDirectory . $tempFileName . $generate->pdf_filename . '.xls'; if ($generate_pdf_filename != "" && file_exists($generate_pdf_filename)) { $fileName_arr = explode(".", $generate->pdf_filename); $fileName_arr[0] .= '_' . preg_replace('/[^a-zA-Z0-9_-\\s]/', '', $currentTime); $fileName = implode(".", $fileName_arr); $attachments[$fileName] = $generate_pdf_filename; } } if (in_array('xls', $reportFormat)) { $report_data = $generate->generateReport(90, "XLS", false); $ITS4YouReports_xls = "Reports4You_1_90.xls"; $fileName_arr = explode(".", $ITS4YouReports_xls);
public function sendEmail($ownerUser = "") { require_once 'vtlib/Vtiger/Mailer.php'; //error_reporting(63);ini_set('display_errors', 1); $vtigerMailer = new Vtiger_Mailer(); $currentModule = 'ITS4YouReports'; $recipientEmails = $this->getRecipientEmails(); //$recipientEmails = array("*****@*****.**"); foreach ($recipientEmails as $name => $email) { $vtigerMailer->AddAddress($email, $name); } $ITS4YouReports = new ITS4YouReports(true, $this->id); $default_charset = vglobal('default_charset'); if (!isset($default_charset)) { $default_charset = "UTF-8"; } $ITS4YouReports_reportname = $this->generate_cool_url($ITS4YouReports->reportname); $ITS4YouReports_reportdesc = $this->generate_cool_url($ITS4YouReports->reportdesc); $currentTime = date('Y-m-d H:i:s'); $user_id = $ownerUser->id; $report_filename = "Reports4You_{$user_id}" . "_" . $this->id; $subject = $ITS4YouReports_reportname . ' - ' . $currentTime . ' (' . DateTimeField::getDBTimeZone() . ')'; $contents = getTranslatedString('LBL_AUTO_GENERATED_REPORT_EMAIL', $currentModule) . '<br/><br/>'; $contents .= '<b>' . getTranslatedString('LBL_REPORT_NAME', $currentModule) . ' :</b> ' . $ITS4YouReports_reportname . '<br/>'; $contents .= '<b>' . getTranslatedString('LBL_DESCRIPTION', $currentModule) . ' :</b><br/>' . $ITS4YouReports_reportdesc . '<br/><br/>'; //$vtigerMailer->Subject = "=?ISO-8859-15?Q?".imap_8bit($subject)."?="; $vtigerMailer->Subject = html_entity_decode($ITS4YouReports->reportname, ENT_QUOTES, "UTF-8"); $vtigerMailer->Body = $contents; $vtigerMailer->ContentType = "text/html"; $generate = new GenerateObj($ITS4YouReports); $currentModule = 'ITS4YouReports'; $generate->setCurrentModule4You($currentModule); $current_language = $ReportOwnerUser->language; $generate->setCurrentLanguage4You($current_language); $reportFormat = $this->scheduledFormat; //$reportFormat = "pdf;xls"; $reportFormat = explode(";", $reportFormat); $tmpDir = "test/ITS4YouReports/"; $attachments = array(); if (in_array('pdf', $reportFormat)) { $generate->create_pdf_schedule = true; $report_html = $generate->generateReport($this->id, "HTML", false); $generate_pdf_filename = $tmpDir . $generate->pdf_filename; $fileName = $rootDirectory . $tempFileName . $generate->pdf_filename . '.xls'; if ($generate_pdf_filename != "" && file_exists($generate_pdf_filename)) { $fileName_arr = explode(".", $generate->pdf_filename); $fileName_arr[0] .= '_' . preg_replace('/[^a-zA-Z0-9_-\\s]/', '', $currentTime); $fileName = implode(".", $fileName_arr); $attachments[$fileName] = $generate_pdf_filename; } } if (in_array('xls', $reportFormat)) { $report_data = $generate->generateReport($this->id, "XLS", false); $ITS4YouReports_xls = "Reports4You_1_" . $this->id . ".xls"; $fileName_arr = explode(".", $ITS4YouReports_xls); $fileName_arr[0] .= '_' . preg_replace('/[^a-zA-Z0-9_-\\s]/', '', $currentTime); $fileName = implode(".", $fileName_arr); $fileName_path = $tmpDir . $ITS4YouReports_xls; $generate->writeReportToExcelFile($fileName_path, $report_data); $attachments[$fileName] = $fileName_path; } foreach ($attachments as $attachmentName => $path) { $vtigerMailer->AddAttachment($path, "=?ISO-8859-15?Q?" . imap_8bit(html_entity_decode($attachmentName, ENT_QUOTES, "UTF-8")) . "?="); } //exit; $send_result = $vtigerMailer->Send(true); echo "SEND RESULT -> " . $send_result . "<br />"; foreach ($attachments as $attachmentName => $path) { unlink($path); } ITS4YouReports::cleanITS4YouReportsCacheFiles(); //echo "<pre>EXIST ? = ";print_r(method_exists(ITS4YouReports, "cleanITS4YouReportsCacheFiles"));echo "</pre>"; }