本文整理汇总了PHP中CRM_Mailing_BAO_Mailing::getMailingHash方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Mailing_BAO_Mailing::getMailingHash方法的具体用法?PHP CRM_Mailing_BAO_Mailing::getMailingHash怎么用?PHP CRM_Mailing_BAO_Mailing::getMailingHash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Mailing_BAO_Mailing
的用法示例。
在下文中一共展示了CRM_Mailing_BAO_Mailing::getMailingHash方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getMailingTokenReplacement
/**
* @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;
}
示例2: buildQuickform
/**
* Build the form object for the approval/rejection mailing.
*/
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_Core_OptionGroup::values('mail_approval_status');
// 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, array(), 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');
$mailingKey = $this->_mailingID;
if ($hash = CRM_Mailing_BAO_Mailing::getMailingHash($mailingKey)) {
$mailingKey = $hash;
}
$preview['viewURL'] = CRM_Utils_System::url('civicrm/mailing/view', "reset=1&id={$mailingKey}");
$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);
}
示例3: getContactMailingSelector
/**
* wrapper for ajax activity selector.
*
* @param array $params
* Associated array for params record id.
*
* @return array
* associated array of contact activities
*/
public static function getContactMailingSelector(&$params)
{
// format the params
$params['offset'] = ($params['page'] - 1) * $params['rp'];
$params['rowCount'] = $params['rp'];
$params['sort'] = CRM_Utils_Array::value('sortBy', $params);
$params['caseId'] = NULL;
// get contact mailings
$mailings = CRM_Mailing_BAO_Mailing::getContactMailings($params);
// add total
$params['total'] = CRM_Mailing_BAO_Mailing::getContactMailingsCount($params);
//CRM-12814
if (!empty($mailings)) {
$openCounts = CRM_Mailing_Event_BAO_Opened::getMailingContactCount(array_keys($mailings), $params['contact_id']);
$clickCounts = CRM_Mailing_Event_BAO_TrackableURLOpen::getMailingContactCount(array_keys($mailings), $params['contact_id']);
}
// format params and add links
$contactMailings = array();
foreach ($mailings as $mailingId => $values) {
$mailing = array();
$mailing['subject'] = $values['subject'];
$mailing['creator_name'] = CRM_Utils_System::href($values['creator_name'], 'civicrm/contact/view', "reset=1&cid={$values['creator_id']}");
$mailing['recipients'] = CRM_Utils_System::href(ts('(recipients)'), 'civicrm/mailing/report/event', "mid={$values['mailing_id']}&reset=1&cid={$params['contact_id']}&event=queue&context=mailing");
$mailing['start_date'] = CRM_Utils_Date::customFormat($values['start_date']);
//CRM-12814
$mailing['openstats'] = "Opens: " . CRM_Utils_Array::value($values['mailing_id'], $openCounts, 0) . "<br />Clicks: " . CRM_Utils_Array::value($values['mailing_id'], $clickCounts, 0);
$actionLinks = array(CRM_Core_Action::VIEW => array('name' => ts('View'), 'url' => 'civicrm/mailing/view', 'qs' => "reset=1&id=%%mkey%%", 'title' => ts('View Mailing'), 'class' => 'crm-popup'), CRM_Core_Action::BROWSE => array('name' => ts('Mailing Report'), 'url' => 'civicrm/mailing/report', 'qs' => "mid=%%mid%%&reset=1&cid=%%cid%%&context=mailing", 'title' => ts('View Mailing Report')));
$mailingKey = $values['mailing_id'];
if ($hash = CRM_Mailing_BAO_Mailing::getMailingHash($mailingKey)) {
$mailingKey = $hash;
}
$mailing['links'] = CRM_Core_Action::formLink($actionLinks, NULL, array('mid' => $values['mailing_id'], 'cid' => $params['contact_id'], 'mkey' => $mailingKey), ts('more'), FALSE, 'mailing.contact.action', 'Mailing', $values['mailing_id']);
array_push($contactMailings, $mailing);
}
$contactMailingsDT = array();
$contactMailingsDT['data'] = $contactMailings;
$contactMailingsDT['recordsTotal'] = $params['total'];
$contactMailingsDT['recordsFiltered'] = $params['total'];
return $contactMailingsDT;
}
示例4: buildQuickform
/**
* Build the form object for the last step of the mailing wizard.
*
* @param
*
* @return void
*/
public function buildQuickform()
{
$this->addDateTime('start_date', ts('Schedule Mailing'), FALSE, array('formatType' => 'mailing'));
$this->addElement('checkbox', 'now', ts('Send Immediately'));
$this->addFormRule(array('CRM_Mailing_Form_Schedule', 'formRule'), $this);
if ($this->_scheduleFormOnly) {
$title = ts('Schedule Mailing') . ' - ' . CRM_Core_DAO::getFieldValue('CRM_Mailing_DAO_Mailing', $this->_mailingID, 'name');
CRM_Utils_System::setTitle($title);
$buttons = array(array('type' => 'next', 'name' => ts('Submit Mailing'), 'spacing' => ' ', 'isDefault' => TRUE), array('type' => 'cancel', 'name' => ts('Cancel')));
} else {
//FIXME : currently we are hiding save an continue later when
//search base mailing, we should handle it when we fix CRM-3876
if ($this->_searchBasedMailing) {
$buttons = array(array('type' => 'back', 'name' => ts('Previous')), array('type' => 'next', 'name' => ts('Submit Mailing'), 'spacing' => ' ', 'isDefault' => TRUE));
} else {
$buttons = array(array('type' => 'back', 'name' => ts('Previous')), array('type' => 'next', 'name' => ts('Submit Mailing'), 'spacing' => ' ', 'isDefault' => TRUE, 'js' => array('onclick' => "return submitOnce(this,'" . $this->_name . "','" . ts('Processing') . "');")), array('type' => 'cancel', 'name' => ts('Continue Later')));
}
}
$this->addButtons($buttons);
if (CRM_Mailing_Info::workflowEnabled() && $this->_scheduleFormOnly) {
// add the preview elements
$preview = array();
$preview['type'] = CRM_Core_DAO::getFieldValue('CRM_Mailing_DAO_Mailing', $this->_mailingID, 'body_html') ? 'html' : 'text';
$preview['subject'] = CRM_Core_DAO::getFieldValue('CRM_Mailing_DAO_Mailing', $this->_mailingID, 'subject');
$mailingKey = $this->_mailingID;
if ($hash = CRM_Mailing_BAO_Mailing::getMailingHash($mailingKey)) {
$mailingKey = $hash;
}
$preview['viewURL'] = CRM_Utils_System::url('civicrm/mailing/view', "reset=1&id={$mailingKey}");
$preview['attachment'] = CRM_Core_BAO_File::attachmentInfo('civicrm_mailing', $this->_mailingID);
$this->assign_by_ref('preview', $preview);
}
}