Merge pull request #21965 from civicrm/5.43
[civicrm-core.git] / CRM / Core / SelectValues.php
index b0e5f24d51ef024711c3d463180b1e2085a5c9d8..c31dcdcdb6c308336a7d9f25d1c59f933e658d82 100644 (file)
@@ -237,10 +237,7 @@ class CRM_Core_SelectValues {
     ];
 
     if (CRM_Core_Config::singleton()->userSystem->supports_form_extensions) {
-      $ufGroupType += [
-        'User Registration' => ts('Drupal User Registration'),
-        'User Account' => ts('View/Edit Drupal User Account'),
-      ];
+      $ufGroupType += CRM_Core_Config::singleton()->userSystem->getUfGroupTypes();
     }
     return $ufGroupType;
   }
@@ -524,11 +521,11 @@ class CRM_Core_SelectValues {
   public static function membershipTokens(): array {
     return [
       '{membership.id}' => ts('Membership ID'),
-      '{membership.status_id:label}' => ts('Membership Status'),
+      '{membership.status_id:label}' => ts('Status'),
       '{membership.membership_type_id:label}' => ts('Membership Type'),
       '{membership.start_date}' => ts('Membership Start Date'),
-      '{membership.join_date}' => ts('Membership Join Date'),
-      '{membership.end_date}' => ts('Membership End Date'),
+      '{membership.join_date}' => ts('Member Since'),
+      '{membership.end_date}' => ts('Membership Expiration Date'),
       '{membership.fee}' => ts('Membership Fee'),
     ];
   }
@@ -590,28 +587,19 @@ class CRM_Core_SelectValues {
   /**
    * Different type of Participant Tokens.
    *
+   * @deprecated
+   *
    * @return array
    */
   public static function participantTokens(): array {
-    $tokens = [
-      '{participant.status_id}' => 'Status ID',
-      '{participant.role_id}' => 'Participant Role (ID)',
-      '{participant.register_date}' => 'Register date',
-      '{participant.source}' => 'Participant Source',
-      '{participant.fee_level}' => 'Fee level',
-      '{participant.fee_amount}' => 'Fee Amount',
-      '{participant.registered_by_id}' => 'Registered By Participant ID',
-      '{participant.transferred_to_contact_id}' => 'Transferred to Contact ID',
-      '{participant.role_id:label}' => 'Participant Role (label)',
-      '{participant.fee_label}' => 'Fee Label',
-    ];
-    $customFields = CRM_Core_BAO_CustomField::getFields('Participant');
-
-    foreach ($customFields as $customField) {
-      $tokens['{participant.custom_' . $customField['id'] . '}'] = $customField['label'] . " :: " . $customField['groupTitle'];
+    $tokenProcessor = new TokenProcessor(Civi::dispatcher(), ['schema' => ['participantId']]);
+    $allTokens = $tokenProcessor->listTokens();
+    foreach (array_keys($allTokens) as $token) {
+      if (strpos($token, '{domain.') === 0) {
+        unset($allTokens[$token]);
+      }
     }
-
-    return $tokens;
+    return $allTokens;
   }
 
   /**
@@ -619,25 +607,22 @@ class CRM_Core_SelectValues {
    * @return array
    */
   public static function caseTokens($caseTypeId = NULL) {
-    static $tokens = NULL;
-    if (!$tokens) {
-      $tokens = [
-        '{case.id}' => 'Case ID',
-        '{case.case_type_id:label}' => 'Case Type',
-        '{case.subject}' => 'Case Subject',
-        '{case.start_date}' => 'Case Start Date',
-        '{case.end_date}' => 'Case End Date',
-        '{case.details}' => 'Details',
-        '{case.status_id:label}' => 'Case Status',
-        '{case.is_deleted:label}' => 'Case is in the Trash',
-        '{case.created_date}' => 'Created Date',
-        '{case.modified_date}' => 'Modified Date',
-      ];
-
-      $customFields = CRM_Core_BAO_CustomField::getFields('Case', FALSE, FALSE, $caseTypeId);
-      foreach ($customFields as $id => $field) {
-        $tokens["{case.custom_$id}"] = "{$field['label']} :: {$field['groupTitle']}";
-      }
+    $tokens = [
+      '{case.id}' => ts('Case ID'),
+      '{case.case_type_id:label}' => ts('Case Type'),
+      '{case.subject}' => ts('Case Subject'),
+      '{case.start_date}' => ts('Case Start Date'),
+      '{case.end_date}' => ts('Case End Date'),
+      '{case.details}' => ts('Details'),
+      '{case.status_id:label}' => ts('Case Status'),
+      '{case.is_deleted:label}' => ts('Case is in the Trash'),
+      '{case.created_date}' => ts('Created Date'),
+      '{case.modified_date}' => ts('Modified Date'),
+    ];
+
+    $customFields = CRM_Core_BAO_CustomField::getFields('Case', FALSE, FALSE, $caseTypeId);
+    foreach ($customFields as $id => $field) {
+      $tokens["{case.custom_$id}"] = "{$field['label']} :: {$field['groupTitle']}";
     }
     return $tokens;
   }
@@ -912,6 +897,7 @@ class CRM_Core_SelectValues {
     // is for recurring payments and probably not good to re-use for recurring entities.
     // If something other than a hard-coded list is desired, add a new option_group.
     return [
+      'minute' => ts('minute', ['plural' => 'minutes', 'count' => $count]),
       'hour' => ts('hour', ['plural' => 'hours', 'count' => $count]),
       'day' => ts('day', ['plural' => 'days', 'count' => $count]),
       'week' => ts('week', ['plural' => 'weeks', 'count' => $count]),