示例#1
0
 public function getRecipientEmails()
 {
     $recipientsInfo = $this->get('recipients');
     if (!empty($recipientsInfo)) {
         $recipients = array();
         $recipientsInfo = Zend_Json::decode($recipientsInfo);
         foreach ($recipientsInfo as $key => $recipient) {
             if (strpos($recipient, 'USER') !== false) {
                 $id = explode('::', $recipient);
                 $recipients['Users'][] = $id[1];
             } else {
                 if (strpos($recipient, 'GROUP') !== false) {
                     $id = explode('::', $recipient);
                     $recipients['Groups'][] = $id[1];
                 } else {
                     if (strpos($recipient, 'ROLE') !== false) {
                         $id = explode('::', $recipient);
                         $recipients['Roles'][] = $id[1];
                     }
                 }
             }
         }
     }
     $recipientsList = array();
     if (!empty($recipients)) {
         if (!empty($recipients['Users'])) {
             $recipientsList = array_merge($recipientsList, $recipients['Users']);
         }
         if (!empty($recipients['Roles'])) {
             foreach ($recipients['Roles'] as $roleId) {
                 $roleUsers = getRoleUsers($roleId);
                 foreach ($roleUsers as $userId => $userName) {
                     array_push($recipientsList, $userId);
                 }
             }
         }
         if (!empty($recipients['Groups'])) {
             require_once 'include/utils/GetGroupUsers.php';
             foreach ($recipients['Groups'] as $groupId) {
                 $userGroups = new GetGroupUsers();
                 $userGroups->getAllUsersInGroup($groupId);
                 $recipientsList = array_merge($recipientsList, $userGroups->group_users);
             }
         }
     }
     $recipientsList = array_unique($recipientsList);
     $recipientsEmails = array();
     if (!empty($recipientsList) && count($recipientsList) > 0) {
         foreach ($recipientsList as $userId) {
             if (!Vtiger_Util_Helper::isUserDeleted($userId)) {
                 $userName = getUserFullName($userId);
                 $userEmail = getUserEmail($userId);
                 if (!in_array($userEmail, $recipientsEmails)) {
                     $recipientsEmails[$userName] = $userEmail;
                 }
             }
         }
     }
     //Added for specific email address.
     $specificemails = explode(',', Zend_Json::decode($this->get('specificemails')));
     if (!empty($specificemails)) {
         $recipientsEmails = array_merge($recipientsEmails, $specificemails);
     }
     return $recipientsEmails;
 }