示例#1
0
 public function send(Msg $msg)
 {
     // Get template file path.
     $templatePath = SPrintF('Notifies/SMS/%s.tpl', $msg->getTemplate());
     $smarty = JSmarty::get();
     if (!$smarty->templateExists($templatePath)) {
         throw new jException('Template file not found: ' . $templatePath);
     }
     $smarty->assign('Config', Config());
     foreach (array_keys($msg->getParams()) as $paramName) {
         $smarty->assign($paramName, $msg->getParam($paramName));
     }
     try {
         $message = $smarty->fetch($templatePath);
     } catch (Exception $e) {
         throw new jException(SPrintF("Can't fetch template: %s", $templatePath), $e->getCode(), $e);
     }
     $recipient = $msg->getParam('User');
     if (!$recipient['Params']['NotificationMethods']['SMS']['Address']) {
         throw new jException('Mobile phone number not found for user: '******'ID']);
     }
     $taskParams = array('UserID' => $recipient['ID'], 'TypeID' => 'SMS', 'Params' => array($recipient['Params']['NotificationMethods']['SMS']['Address'], $message, $recipient['ID'], $msg->getParam('ChargeFree') ? TRUE : FALSE));
     #Debug(SPrintF('[system/classes/SMS.class.php]: msg = %s,',print_r($msg,true)));
     $result = Comp_Load('www/Administrator/API/TaskEdit', $taskParams);
     switch (ValueOf($result)) {
         case 'error':
             throw new jException("Couldn't add task to queue: " . $result);
         case 'exception':
             throw new jException("Couldn't add task to queue: " . $result->String);
         case 'array':
             return TRUE;
         default:
             throw new jException("Unexpected error.");
     }
 }
示例#2
0
 public static function get()
 {
     if (!isset(self::$instance)) {
         self::$instance = new JSmarty();
     }
     return self::$instance;
 }
示例#3
0
 public function send(Msg $msg)
 {
     #-------------------------------------------------------------------------------
     // Get template file path.
     $templatePath = SPrintF('Notifies/ICQ/%s.tpl', $msg->getTemplate());
     #-------------------------------------------------------------------------------
     $smarty = JSmarty::get();
     #-------------------------------------------------------------------------------
     if (!$smarty->templateExists($templatePath)) {
         throw new jException('Template file not found: ' . $templatePath);
     }
     #-------------------------------------------------------------------------------
     $smarty->assign('Config', Config());
     #-------------------------------------------------------------------------------
     foreach (array_keys($msg->getParams()) as $paramName) {
         $smarty->assign($paramName, $msg->getParam($paramName));
     }
     #-------------------------------------------------------------------------------
     try {
         #-------------------------------------------------------------------------------
         $message = $smarty->fetch($templatePath);
         #-------------------------------------------------------------------------------
     } catch (Exception $e) {
         #-------------------------------------------------------------------------------
         throw new jException(SPrintF("Can't fetch template: %s", $templatePath), $e->getCode(), $e);
         #-------------------------------------------------------------------------------
     }
     #-------------------------------------------------------------------------------
     $recipient = $msg->getParam('User');
     #-------------------------------------------------------------------------------
     if (!$recipient['Params']['NotificationMethods']['ICQ']['Address']) {
         throw new jException("ICQ UIN not found for user: "******"Couldn't add task to queue: " . $result);
         case 'exception':
             throw new jException("Couldn't add task to queue: " . $result->String);
         case 'array':
             return TRUE;
         default:
             throw new jException("Unexpected error.");
     }
     #-------------------------------------------------------------------------------
 }
示例#4
0
文件: Load.php 项目: carriercomm/jbs
            $Loaded[] = $File;
            #-------------------------------------------------------------------------------
        }
        #-------------------------------------------------------------------------------
    }
    #-------------------------------------------------------------------------------
    CloseDir($Folder);
    #-------------------------------------------------------------------------------
}
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
/**
 *  Configure Smarty template engine.
 */
#-------------------------------------------------------------------------------
$smarty = JSmarty::get();
#-------------------------------------------------------------------------------
// Sets template paths.
$templatePaths = array();
#-------------------------------------------------------------------------------
foreach ($HostsIDs as $HostID) {
    $templatePaths[] = SPrintF('%s/hosts/%s/templates', SYSTEM_PATH, $HostID);
}
#-------------------------------------------------------------------------------
$smarty->setTemplateDir($templatePaths);
#-------------------------------------------------------------------------------
$smarty->setCompileDir(SPrintF('%s/hosts/%s/tmp/template_c', SYSTEM_PATH, HOST_ID));
#-------------------------------------------------------------------------------
$smarty->setCacheDir(SPrintF('%s/hosts/%s/tmp/cache', SYSTEM_PATH, HOST_ID));
#-------------------------------------------------------------------------------
$smarty->setConfigDir(SPrintF('%s/others/root/smarty/configs', SYSTEM_PATH));
示例#5
0
 public function send(Msg $msg)
 {
     // Get template file path.
     $templatePath = SPrintF('Notifies/Email/%s.tpl', $msg->getTemplate());
     $smarty = JSmarty::get();
     $smarty->clearAllAssign();
     if (!$smarty->templateExists($templatePath)) {
         throw new jException('Template file not found: ' . $templatePath);
     }
     $smarty->assign('Config', Config());
     foreach (array_keys($msg->getParams()) as $paramName) {
         $smarty->assign($paramName, $msg->getParam($paramName));
     }
     $message = $smarty->fetch($templatePath);
     try {
         // Debug("msg->getParam('Theme'): "+ $msg->getParam('Theme'));
         if ($msg->getParam('Theme')) {
             // Debug("SET THEME FROM PARAMS");
             $theme = $msg->getParam('Theme');
         } else {
             // Debug("SET THEME FROM TEMPLATE");
             $theme = $smarty->getTemplateVars('Theme');
         }
         // Debug("THEME: "+$theme);
         if (!$theme) {
             $theme = '$Theme';
         }
     } catch (Exception $e) {
         throw new jException(SPrintF("Can't fetch template: %s", $templatePath), $e->getCode(), $e);
     }
     $recipient = $msg->getParam('User');
     if (!$recipient['Email']) {
         throw new jException('E-mail address not found for user: '******'ID']);
     }
     $sender = $msg->getParam('From');
     $emailHeads = array(SPrintF('From: %s', $sender['Email']), 'MIME-Version: 1.0', 'Content-Transfer-Encoding: 8bit', SPrintF('Content-Type: multipart/mixed; boundary="----==--%s"', HOST_ID));
     // added by lissyara 2013-02-13 in 15:45 MSK, for JBS-609
     if ($msg->getParam('Message-ID')) {
         $emailHeads[] = SPrintF('Message-ID: %s', $msg->getParam('Message-ID'));
     }
     $Params = array();
     if ($msg->getParam('Recipient')) {
         $Params[] = $msg->getParam('Recipient');
     } else {
         $Params[] = $recipient['Email'];
     }
     $Params[] = $theme;
     $Params[] = $message;
     $Params[] = Implode("\r\n", $emailHeads);
     $Params[] = $recipient['ID'];
     if ($msg->getParam('EmailAttachments')) {
         $Params[] = $msg->getParam('EmailAttachments');
     } else {
         $Params[] = 'не определено';
     }
     $taskParams = array('UserID' => $recipient['ID'], 'TypeID' => 'Email', 'Params' => $Params);
     $result = Comp_Load('www/Administrator/API/TaskEdit', $taskParams);
     switch (ValueOf($result)) {
         case 'error':
             throw new jException("Couldn't add task to queue: " . $result);
         case 'exception':
             throw new jException("Couldn't add task to queue: " . $result->String);
         case 'array':
             return TRUE;
         default:
             throw new jException("Unexpected error.");
     }
 }