* @return null|string
*/
public static function getDomainTokenReplacement($token, $domain, $html = FALSE, $escapeSmarty = FALSE): ?string {
- $tokens = self::getDomainTokens($domain->id, $html);
+ $tokens = CRM_Core_DomainTokens::getDomainTokenValues($domain->id, $html);
$value = $tokens[$token] ?? "{domain.$token}";
if ($escapeSmarty) {
$value = self::tokenEscapeSmarty($value);
* The processed string
*/
public static function replaceOrgTokens($str, &$org, $html = FALSE, $escapeSmarty = FALSE) {
+ CRM_Core_Error::deprecatedFunctionWarning('token processor');
self::$_tokens['org']
= array_merge(
array_keys(CRM_Contact_BAO_Contact::importableFields('Organization')),
* @param string $entityType
* @return string
* html parsed through smarty
+ * @deprecated
*/
public static function parseThroughSmarty($tokenHtml, $entity, $entityType = 'contact') {
if (defined('CIVICRM_MAIL_SMARTY') && CIVICRM_MAIL_SMARTY) {
*
* this routine will remove the extra backslashes and braces
*
+ * @deprecated
+ *
* @param $str ref to the string that will be scanned and modified
*/
public static function unescapeTokens(&$str) {
*
* @return string
* The processed string
+ *
+ * @deprecated
*/
- public static function &replaceComponentTokens(&$str, $contact, $components, $escapeSmarty = FALSE, $returnEmptyToken = TRUE) {
+ public static function replaceComponentTokens(&$str, $contact, $components, $escapeSmarty = FALSE, $returnEmptyToken = TRUE) {
+ CRM_Core_Error::deprecatedFunctionWarning('use the token processor');
if (!is_array($components) || empty($contact)) {
return $str;
}
* Get Membership Token Details.
* @param array $membershipIDs
* Array of membership IDS.
+ *
+ * @deprecated
*/
public static function getMembershipTokenDetails($membershipIDs) {
$memberships = civicrm_api3('membership', 'get', [
return $value;
}
+ /**
+ * @deprecated
+ *
+ * Do not use this function - it still needs full removal from active code
+ * in CRM_Contribute_Form_Task_PDFLetter.
+ */
protected static function _buildContributionTokens() {
$key = 'contribution';
if (!isset(Civi::$statics[__CLASS__][__FUNCTION__][$key])) {
- $processor = new CRM_Contribute_Tokens();
$tokens = array_merge(CRM_Contribute_BAO_Contribution::exportableFields('All'),
['campaign' => [], 'financial_type' => [], 'payment_instrument' => []],
self::getCustomFieldTokens('Contribution'),
- $processor->getPseudoTokens()
+ [
+ 'financial_type_id:label',
+ 'financial_type_id:name',
+ 'contribution_page_id:label',
+ 'contribution_page_id:name',
+ 'payment_instrument_id:label',
+ 'payment_instrument_id:name',
+ 'is_test:label',
+ 'is_pay_later:label',
+ 'contribution_status_id:label',
+ 'contribution_status_id:name',
+ 'is_template:label',
+ ]
);
foreach ($tokens as $token) {
if (!empty($token['name'])) {
/**
* Generic function for formatting token replacement for an api field
*
+ * @deprecated
+ *
* @param string $entity
* @param string $token
* @param array $entityArray
}
/**
+ * Do not use - unused in core.
+ *
* Replace Contribution tokens in html.
*
* @param string $str
* @param string $knownTokens
* @param bool|string $escapeSmarty
*
+ * @deprecated
+ *
* @return mixed
*/
public static function replaceContributionTokens($str, &$contribution, $html = FALSE, $knownTokens = NULL, $escapeSmarty = FALSE) {
* @param array $contributions
* @param array $knownTokens
*
+ * @deprecated
+ *
* @return string
*/
public static function replaceMultipleContributionTokens(string $separator, string $str, array $contributions, array $knownTokens): string {
+ CRM_Core_Error::deprecatedFunctionWarning('no alternative');
foreach ($knownTokens['contribution'] ?? [] as $token) {
$resolvedTokens = [];
foreach ($contributions as $contribution) {
}
/**
+ * Do not use - unused in core.
+ *
* @param $token
* @param $contribution
* @param bool $html
* @param bool $escapeSmarty
*
+ * @deprecated
+ *
* @return mixed|string
* @throws \CRM_Core_Exception
*/
- public static function getContributionTokenReplacement($token, &$contribution, $html = FALSE, $escapeSmarty = FALSE) {
+ public static function getContributionTokenReplacement($token, $contribution, $html = FALSE, $escapeSmarty = FALSE) {
self::_buildContributionTokens();
switch ($token) {
$value = CRM_Utils_Date::customFormat($value, $config->dateformatDatetime);
break;
+ case 'source':
+ $value = CRM_Utils_Array::retrieveValueRecursive($contribution, 'contribution_source');
+ break;
+
default:
if (!in_array($token, self::$_tokens['contribution'])) {
$value = "{contribution.$token}";
];
}
- /**
- * Get the tokens available for the domain.
- *
- * @param int $domainID
- * @param bool $html
- *
- * @return array
- * @throws \CRM_Core_Exception
- */
- protected static function getDomainTokens(int $domainID, bool $html): array {
- $cacheKey = __CLASS__ . 'domain_tokens' . $html . '_' . $domainID . '_' . CRM_Core_I18n::getLocale();
- if (!Civi::cache('metadata')->has($cacheKey)) {
- if (CRM_Core_Config::domainID() === $domainID) {
- $domain = CRM_Core_BAO_Domain::getDomain();
- }
- else {
- $domain = new CRM_Core_BAO_Domain();
- $domain->find(TRUE);
- }
- $tokens = [
- 'name' => $domain->name,
- 'id' => $domain->id,
- 'description' => $domain->description,
- ];
- $loc = $domain->getLocationValues();
- if ($html) {
- $tokens['address'] = str_replace("\n", '<br />', ($loc['address'][1]['display'] ?? ''));
- }
- else {
- $tokens['address'] = $loc['address'][1]['display_text'] ?? '';
- }
- $phone = reset($loc['phone']);
- $email = reset($loc['email']);
- $tokens['phone'] = $phone['phone'] ?? '';
- $tokens['email'] = $email['email'] ?? '';
- Civi::cache('metadata')->set($cacheKey, $tokens);
- }
- return Civi::cache('metadata')->get($cacheKey);
- }
-
}