function evalwfEmailTask($entityid, $task) { global $adb, $current_user, $entityCache; $result = $adb->query("select user_name, email1, email2 from vtiger_users where id=1"); $from_email = $adb->query_result($result, 0, 'email1'); $from_name = $adb->query_result($result, 0, 'user_name'); if (!empty($task->fromname)) { $fnt = new VTEmailRecipientsTemplate($task->fromname); $from_name = $fnt->render($entityCache, $entityid); } if (!empty($task->fromemail)) { $fet = new VTEmailRecipientsTemplate($task->fromemail); $from_email = $fet->render($entityCache, $entityid); } $et = new VTEmailRecipientsTemplate($task->recepient); $to_email = $et->render($entityCache, $entityid); $ecct = new VTEmailRecipientsTemplate($task->emailcc); $cc = $ecct->render($entityCache, $entityid); $ebcct = new VTEmailRecipientsTemplate($task->emailbcc); $bcc = $ebcct->render($entityCache, $entityid); $to_email = preg_replace('/,,+/', ',', $to_email); $cc = preg_replace('/,,+/', ',', $cc); $bcc = preg_replace('/,,+/', ',', $bcc); $st = new VTSimpleTemplate($task->subject); $subject = $st->render($entityCache, $entityid); $ct = new VTSimpleTemplate($task->content); $content = $ct->render($entityCache, $entityid); return array('to_email' => $to_email, 'cc' => $cc, 'bcc' => $bcc, 'subject' => $subject, 'content' => $content); }
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); } }
function evalwfEmailTask($entityid, $task) { global $entityCache, $HELPDESK_SUPPORT_EMAIL_ID; $util = new VTWorkflowUtils(); $admin = $util->adminUser(); $from_name = $from_email = ''; if (!empty($task->fromname)) { $fnt = new VTEmailRecipientsTemplate($task->fromname); $from_name = $fnt->render($entityCache, $entityid); } $fromname = $from_name; if (!empty($task->fromemail)) { $fet = new VTEmailRecipientsTemplate($task->fromemail); $from_email = $fet->render($entityCache, $entityid); } $fromemail = $from_email; if (empty($from_name) and !empty($from_email)) { $fromname = 'first and last name of user with email: ' . $from_email; } if (!empty($from_name) and empty($from_email)) { $fromname = 'first and last name of user with user_name: ' . $from_name; $fromemail = 'email of user with user_name: ' . $from_name; } if (empty($from_name) and empty($from_email)) { $fromemail = $HELPDESK_SUPPORT_EMAIL_ID; $fromname = 'first and last name of user with user_name: ' . $HELPDESK_SUPPORT_EMAIL_ID; } $et = new VTEmailRecipientsTemplate($task->recepient); $to_email = $et->render($entityCache, $entityid); $ecct = new VTEmailRecipientsTemplate($task->emailcc); $cc = $ecct->render($entityCache, $entityid); $ebcct = new VTEmailRecipientsTemplate($task->emailbcc); $bcc = $ebcct->render($entityCache, $entityid); $to_email = preg_replace('/,,+/', ',', $to_email); $cc = preg_replace('/,,+/', ',', $cc); $bcc = preg_replace('/,,+/', ',', $bcc); $st = new VTSimpleTemplate($task->subject); $subject = $st->render($entityCache, $entityid); $ct = new VTSimpleTemplate($task->content); $content = $ct->render($entityCache, $entityid); $util->revertUser(); return array('from_name' => $fromname, 'from_email' => $fromemail, 'to_email' => $to_email, 'cc' => $cc, 'bcc' => $bcc, 'subject' => $subject, 'content' => $content); }
/** * Function to get contents of this task * @param <Object> $entity * @return <Array> contents */ public function getContents($entity, $entityCache = false) { if (!$this->contents) { global $adb, $current_user; $taskContents = array(); $entityId = $entity->getId(); $utils = new VTWorkflowUtils(); $adminUser = $utils->adminUser(); if (!$entityCache) { $entityCache = new VTEntityCache($adminUser); } $fromUserId = Users::getActiveAdminId(); $entityOwnerId = $entity->get('assigned_user_id'); if ($entityOwnerId) { list($moduleId, $fromUserId) = explode('x', $entityOwnerId); } $ownerEntity = $entityCache->forId($entityOwnerId); if ($ownerEntity->getModuleName() === 'Groups') { list($moduleId, $recordId) = vtws_getIdComponents($entityId); $fromUserId = Vtiger_Util_Helper::getCreator($recordId); } if ($this->fromEmail && !($ownerEntity->getModuleName() === 'Groups' && strpos($this->fromEmail, 'assigned_user_id : (Users) ') !== false)) { $et = new VTEmailRecipientsTemplate($this->fromEmail); $fromEmailDetails = $et->render($entityCache, $entityId); $con1 = strpos($fromEmailDetails, '<'); $con2 = strpos($fromEmailDetails, '>'); if ($con1 && $con2) { list($fromName, $fromEmail) = explode('<', $fromEmailDetails); list($fromEmail, $rest) = explode('>', $fromEmail); } else { $fromName = ""; $fromEmail = $fromEmailDetails; } } else { $userObj = CRMEntity::getInstance('Users'); $userObj->retrieveCurrentUserInfoFromFile($fromUserId); if ($userObj) { $fromEmail = $userObj->email1; $fromName = $userObj->user_name; } else { $result = $adb->pquery('SELECT user_name, email1 FROM vtiger_users WHERE id = ?', array($fromUserId)); $fromEmail = $adb->query_result($result, 0, 'email1'); $fromName = $adb->query_result($result, 0, 'user_name'); } } if (!$fromEmail) { $utils->revertUser(); return false; } $taskContents['fromEmail'] = $fromEmail; $taskContents['fromName'] = $fromName; if ($entity->getModuleName() === 'Events') { $contactId = $entity->get('contact_id'); if ($contactId) { $contactIds = ''; list($wsId, $recordId) = explode('x', $entityId); $webserviceObject = VtigerWebserviceObject::fromName($adb, 'Contacts'); $result = $adb->pquery('SELECT contactid FROM vtiger_cntactivityrel WHERE activityid = ?', array($recordId)); $numOfRows = $adb->num_rows($result); for ($i = 0; $i < $numOfRows; $i++) { $contactIds .= vtws_getId($webserviceObject->getEntityId(), $adb->query_result($result, $i, 'contactid')) . ','; } } $entity->set('contact_id', trim($contactIds, ',')); $entityCache->cache[$entityId] = $entity; } $et = new VTEmailRecipientsTemplate($this->recepient); $toEmail = $et->render($entityCache, $entityId); $ecct = new VTEmailRecipientsTemplate($this->emailcc); $ccEmail = $ecct->render($entityCache, $entityId); $ebcct = new VTEmailRecipientsTemplate($this->emailbcc); $bccEmail = $ebcct->render($entityCache, $entityId); if (strlen(trim($toEmail, " \t\n,")) == 0 && strlen(trim($ccEmail, " \t\n,")) == 0 && strlen(trim($bccEmail, " \t\n,")) == 0) { $utils->revertUser(); return false; } $taskContents['toEmail'] = $toEmail; $taskContents['ccEmail'] = $ccEmail; $taskContents['bccEmail'] = $bccEmail; $st = new VTSimpleTemplate($this->subject); $taskContents['subject'] = $st->render($entityCache, $entityId); $ct = new VTSimpleTemplate($this->content); $taskContents['content'] = $ct->render($entityCache, $entityId); $this->contents = $taskContents; $utils->revertUser(); } if (is_array($this->contents)) { $this->contents = Zend_Json::encode($this->contents); } return $this->contents; }