public function doTask($entity) { if (SMSNotifier::checkServer()) { global $adb, $current_user, $log; $util = new VTWorkflowUtils(); $admin = $util->adminUser(); $ws_id = $entity->getId(); $entityCache = new VTEntityCache($admin); $et = new VTSimpleTemplate($this->sms_recepient); $recepient = $et->render($entityCache, $ws_id); $recepients = explode(',', $recepient); $ct = new VTSimpleTemplate($this->content); $content = $ct->render($entityCache, $ws_id); $relatedCRMid = substr($ws_id, stripos($ws_id, 'x') + 1); $relatedModule = $entity->getModuleName(); /** Pickup only non-empty numbers */ $tonumbers = array(); foreach ($recepients as $tonumber) { if (!empty($tonumber)) { $tonumbers[] = $tonumber; } } SMSNotifier::sendsms($content, $tonumbers, $current_user->id, $relatedCRMid, $relatedModule); } }
/** * @param $context VTEntity */ public function handleTask(&$context) { $text = $this->get("sms_text", $context); $receiver = $this->get("number", $context); $this->addStat("Send SMS to " . $receiver); $this->addStat("SMS Text " . $text); SMSNotifier::sendsms($text, $receiver, $context->getUser()->id, $context->getId(), $context->getModuleName()); return "yes"; }
public static function SendSMS($message, $toNumbers, $currentUserId, $recordIds, $moduleName) { SMSNotifier::sendsms($message, $toNumbers, $currentUserId, $recordIds, $moduleName); }
require_once 'Smarty_setup.php'; include_once dirname(__FILE__) . '/SMSNotifier.php'; global $currentModule, $mod_strings, $app_strings, $current_user, $adb; $idstring = vtlib_purify($_REQUEST['idstring']); $idstring = trim($idstring, ';'); $idlist = explode(';', $idstring); $sourcemodule = vtlib_purify($_REQUEST['sourcemodule']); $message = vtlib_purify($_REQUEST['message']); $phonefields = vtlib_purify($_REQUEST['phonefields']); $phonefields = trim($phonefields, ';'); $phonefieldlist = explode(';', $phonefields); $tonumbers = array(); $recordids = array(); foreach ($idlist as $recordid) { $focusInstance = CRMEntity::getInstance($sourcemodule); $focusInstance->retrieve_entity_info($recordid, $sourcemodule); $numberSelected = false; foreach ($phonefieldlist as $fieldname) { if (!empty($focusInstance->column_fields[$fieldname])) { $tonumbers[] = $focusInstance->column_fields[$fieldname]; $numberSelected = true; } } if ($numberSelected) { $recordids[] = $recordid; } } if (!empty($tonumbers)) { SMSNotifier::sendsms($message, $tonumbers, $current_user->id, $recordids, $sourcemodule); } echo "DONE";