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."); } }
public static function get() { if (!isset(self::$instance)) { self::$instance = new JSmarty(); } return self::$instance; }
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."); } #------------------------------------------------------------------------------- }
$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));
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."); } }