public function getDomainTokens(): array {
return [
- 'name' => ts('Domain name'),
- 'address' => ts('Domain (organization) address'),
- 'phone' => ts('Domain (organization) phone'),
- 'email' => ts('Domain (organization) email'),
+ 'name' => ts('Domain Name'),
+ 'address' => ts('Domain (Organization) Full Address'),
+ 'street_address' => ts('Domain (Organization) Street Address'),
+ 'supplemental_address_1' => ts('Domain (Organization) Supplemental Address'),
+ 'supplemental_address_2' => ts('Domain (Organization) Supplemental Address 2'),
+ 'supplemental_address_3' => ts('Domain (Organization) Supplemental Address 3'),
+ 'city' => ts('Domain (Organization) City'),
+ 'postal_code' => ts('Domain (Organization) Postal Code'),
+ 'state_province_id:label' => ts('Domain (Organization) State'),
+ 'country_id:label' => ts('Domain (Organization) Country'),
+ 'phone' => ts('Domain (Organization) Phone'),
+ 'email' => ts('Domain (Organization) Email'),
'id' => ts('Domain ID'),
'description' => ts('Domain Description'),
'now' => ts('Current time/date'),
+ 'base_url' => ts('Domain absolute base url'),
+ 'tax_term' => ts('Sales tax term (e.g VAT)'),
];
}
$domain->find(TRUE);
}
$tokens = [
- 'name' => $domain->name,
+ 'name' => $domain->name ?? '',
'id' => $domain->id,
- 'description' => $domain->description,
+ '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'] ?? '';
}
+ $tokens['street_address'] = $loc['address'][1]['street_address'] ?? '';
+ $tokens['supplemental_address_1'] = $loc['address'][1]['supplemental_address_1'] ?? '';
+ $tokens['supplemental_address_2'] = $loc['address'][1]['supplemental_address_2'] ?? '';
+ $tokens['supplemental_address_3'] = $loc['address'][1]['supplemental_address_3'] ?? '';
+ $tokens['city'] = $loc['address'][1]['city'] ?? '';
+ $tokens['postal_code'] = $loc['address'][1]['postal_code'] ?? '';
+ $tokens['state_province_id:label'] = $loc['address'][1]['state_province'] ?? '';
+ $tokens['country_id:label'] = $loc['address'][1]['country'] ?? '';
$phone = reset($loc['phone']);
$email = reset($loc['email']);
$tokens['phone'] = $phone['phone'] ?? '';
$tokens['email'] = $email['email'] ?? '';
+ $tokens['base_url'] = Civi::paths()->getVariable('cms.root', 'url');
+ $tokens['tax_term'] = (string) Civi::settings()->get('tax_term');
Civi::cache('metadata')->set($cacheKey, $tokens);
}
return Civi::cache('metadata')->get($cacheKey);