Skip to content
Snippets Groups Projects
Commit d20c4dad authored by Eileen McNaughton's avatar Eileen McNaughton
Browse files

CRM-13967 allow additional of anonymous tokens for logged out users when viewing mailing

----------------------------------------
* CRM-13967: Public Mailing View page doesn't render hook tokens
  http://issues.civicrm.org/jira/browse/CRM-13967
parent c3cfb269
Branches
Tags
No related merge requests found
......@@ -129,6 +129,16 @@ class CRM_Mailing_Page_View extends CRM_Core_Page {
}
else {
$details = array('test');
//get tokens that are not contact specific resolved
$params = array('contact_id' => 0);
$details = CRM_Utils_Token::getAnonymousTokenDetails($params,
$returnProperties,
TRUE, TRUE, NULL,
$this->_mailing->getFlattenedTokens(),
get_class($this)
);
$details = $details[0][0];
$contactId = 0;
}
$mime = &$this->_mailing->compose(NULL, NULL, NULL, $contactId,
......
......@@ -1135,6 +1135,39 @@ class CRM_Utils_Token {
return $details;
}
/**
* Call hooks on tokens for anonymous users - contact id is set to 0 - this allows non-contact
* specific tokens to be rendered
*
* @param array $contactIDs - this should always be array(0) or its not anonymous - left to keep signature same
* as main fn
* @param string $returnProperties
* @param boolean $skipOnHold
* @param boolean $skipDeceased
* @param string $extraParams
* @param array $tokens
* @param string $className sent as context to the hook
* @param string $jobID
* @return array contactDetails with hooks swapped out
*/
function getAnonymousTokenDetails($contactIDs = array(0),
$returnProperties = NULL,
$skipOnHold = TRUE,
$skipDeceased = TRUE,
$extraParams = NULL,
$tokens = array(),
$className = NULL,
$jobID = NULL) {
$details = array(0 => array());
// also call a hook and get token details
CRM_Utils_Hook::tokenValues($details[0],
$contactIDs,
$jobID,
$tokens,
$className
);
return $details;
}
/**
* gives required details of contribuion in an indexed array format so we
* can iterate in a nice loop and do token evaluation
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment