Пример #1
0
 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>";
 }
Пример #2
0
<?php

/*+********************************************************************************
 * The content of this file is subject to the Reports 4 You license.
 * ("License"); You may not use this file except in compliance with the License
 * The Initial Developer of the Original Code is IT-Solutions4You s.r.o.
 * Portions created by IT-Solutions4You s.r.o. are Copyright(C) IT-Solutions4You s.r.o.
 * All Rights Reserved.
 ********************************************************************************/
require_once 'include/utils/utils.php';
require_once 'modules/ITS4YouReports/ITS4YouReports.php';
$return = ITS4YouReports::cleanITS4YouReportsCacheFiles();
echo $return;
exit;