/**
  * Get all mail approval status.
  *
  * The static array approvalStatus is returned
  *
  * @access public
  * @static
  *
  * @return array - array reference of all mail approval statuses
  *
  */
 public static function &approvalStatus()
 {
     if (!self::$approvalStatus) {
         self::$approvalStatus = CRM_Core_OptionGroup::values('mail_approval_status');
     }
     return self::$approvalStatus;
 }
Exemplo 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;
 }
 /**
  * Build the form for the approval/rejection mailing
  *
  * @param
  *
  * @return void
  * @access public
  */
 public function buildQuickform()
 {
     $title = ts('Approve/Reject Mailing') . " - {$this->_mailing->name}";
     CRM_Utils_System::setTitle($title);
     $this->addElement('textarea', 'approval_note', ts('Approve/Reject Note'));
     $mailApprovalStatus = CRM_Mailing_PseudoConstant::approvalStatus();
     // eliminate the none option
     $noneOptionID = CRM_Core_OptionGroup::getValue('mail_approval_status', 'None', 'name');
     if ($noneOptionID) {
         unset($mailApprovalStatus[$noneOptionID]);
     }
     $this->addRadio('approval_status_id', ts('Approval Status'), $mailApprovalStatus, TRUE, NULL, TRUE);
     $buttons = array(array('type' => 'next', 'name' => ts('Save'), 'spacing' => '                 ', 'isDefault' => TRUE), array('type' => 'cancel', 'name' => ts('Cancel')));
     $this->addButtons($buttons);
     // add the preview elements
     $preview = array();
     $preview['subject'] = CRM_Core_DAO::getFieldValue('CRM_Mailing_DAO_Mailing', $this->_mailingID, 'subject');
     $preview['viewURL'] = CRM_Utils_System::url('civicrm/mailing/view', "reset=1&id={$this->_mailingID}");
     $preview['type'] = $this->_mailing->body_html ? 'html' : 'text';
     $preview['attachment'] = CRM_Core_BAO_File::attachmentInfo('civicrm_mailing', $this->_mailingID);
     $this->assign_by_ref('preview', $preview);
 }
Exemplo n.º 4
0
 /**
  * Get all mail approval status.
  *
  * The static array approvalStatus is returned
  *
  * @access public
  * @static
  *
  * @return array - array reference of all mail approval statuses
  *
  */
 public static function &approvalStatus()
 {
     if (!self::$approvalStatus) {
         require_once 'CRM/Core/OptionGroup.php';
         self::$approvalStatus = CRM_Core_OptionGroup::values('mail_approval_status');
     }
     return self::$approvalStatus;
 }