Ejemplo n.º 1
0
 /**
  * @param $token
  * @param $mailing
  * @param bool $escapeSmarty
  *
  * @return string
  */
 public static function getMailingTokenReplacement($token, &$mailing, $escapeSmarty = FALSE)
 {
     $value = '';
     switch ($token) {
         // CRM-7663
         case 'id':
             $value = $mailing ? $mailing->id : 'undefined';
             break;
         case 'name':
             $value = $mailing ? $mailing->name : 'Mailing Name';
             break;
         case 'group':
             $groups = $mailing ? $mailing->getGroupNames() : array('Mailing Groups');
             $value = implode(', ', $groups);
             break;
         case 'subject':
             $value = $mailing->subject;
             break;
         case 'viewUrl':
             $mailingKey = $mailing->id;
             if ($hash = CRM_Mailing_BAO_Mailing::getMailingHash($mailingKey)) {
                 $mailingKey = $hash;
             }
             $value = CRM_Utils_System::url('civicrm/mailing/view', "reset=1&id={$mailingKey}", TRUE, NULL, FALSE, TRUE);
             break;
         case 'editUrl':
         case 'scheduleUrl':
             // Note: editUrl and scheduleUrl used to be different, but now there's
             // one screen which can adapt based on permissions (in workflow mode).
             $value = CRM_Utils_System::url('civicrm/mailing/send', "reset=1&mid={$mailing->id}&continue=true", TRUE, NULL, FALSE, TRUE);
             break;
         case 'html':
             $page = new CRM_Mailing_Page_View();
             $value = $page->run($mailing->id, NULL, FALSE, TRUE);
             break;
         case 'approvalStatus':
             $value = CRM_Core_PseudoConstant::getLabel('CRM_Mailing_DAO_Mailing', 'approval_status_id', $mailing->approval_status_id);
             break;
         case 'approvalNote':
             $value = $mailing->approval_note;
             break;
         case 'approveUrl':
             $value = CRM_Utils_System::url('civicrm/mailing/approve', "reset=1&mid={$mailing->id}", TRUE, NULL, FALSE, TRUE);
             break;
         case 'creator':
             $value = CRM_Contact_BAO_Contact::displayName($mailing->created_id);
             break;
         case 'creatorEmail':
             $value = CRM_Contact_BAO_Contact::getPrimaryEmail($mailing->created_id);
             break;
         default:
             $value = "{mailing.{$token}}";
             break;
     }
     if ($escapeSmarty) {
         $value = self::tokenEscapeSmarty($value);
     }
     return $value;
 }
Ejemplo n.º 2
0
 public static function getMailingTokenReplacement($token, &$mailing, $escapeSmarty = false)
 {
     $value = '';
     switch ($token) {
         case 'name':
             $value = $mailing ? $mailing->name : 'Mailing Name';
             break;
         case 'group':
             $groups = $mailing ? $mailing->getGroupNames() : array('Mailing Groups');
             $value = implode(', ', $groups);
             break;
         case 'subject':
             $value = $mailing->subject;
             break;
         case 'viewUrl':
             $value = CRM_Utils_System::url('civicrm/mailing/view', "reset=1&id={$mailing->id}", true, null, false, true);
             break;
         case 'editUrl':
             $value = CRM_Utils_System::url('civicrm/mailing/send', "reset=1&mid={$mailing->id}&continue=true", true, null, false, true);
             break;
         case 'scheduleUrl':
             $value = CRM_Utils_System::url('civicrm/mailing/schedule', "reset=1&mid={$mailing->id}", true, null, false, true);
             break;
         case 'html':
             require_once 'CRM/Mailing/Page/View.php';
             $page = new CRM_Mailing_Page_View();
             $value = $page->run($mailing->id, false);
             break;
         case 'approvalStatus':
             require_once 'CRM/Mailing/PseudoConstant.php';
             $mailApprovalStatus = CRM_Mailing_PseudoConstant::approvalStatus();
             $value = $mailApprovalStatus[$mailing->approval_status_id];
             break;
         case 'approvalNote':
             $value = $mailing->approval_note;
             break;
         case 'approveUrl':
             $value = CRM_Utils_System::url('civicrm/mailing/approve', "reset=1&mid={$mailing->id}", true, null, false, true);
             break;
         case 'creator':
             $value = CRM_Contact_BAO_Contact::displayName($mailing->created_id);
             break;
         case 'creatorEmail':
             $value = CRM_Contact_BAO_Contact::getPrimaryEmail($mailing->created_id);
             break;
         default:
             $value = "{mailing.{$token}}";
             break;
     }
     if ($escapeSmarty) {
         $value = self::tokenEscapeSmarty($value);
     }
     return $value;
 }