];
$custom = civicrm_api3('CustomField', 'get', [
'return' => ['name', 'label', 'custom_group_id.title'],
- 'custom_group_id.extends' => ['IN' => ['Contact', 'Individual', 'Organization', 'Household']],
+ 'custom_group_id.extends' => ['IN' => array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes())],
'data_type' => ['NOT IN' => ['ContactReference', 'Date', 'File']],
'custom_group_id.is_active' => 1,
'is_active' => 1,
];
}
+ /**
+ * @return array
+ */
+ public static function andOr() {
+ return [
+ 'AND' => ts('And'),
+ 'OR' => ts('Or'),
+ ];
+ }
+
+ public static function timezone() {
+ $tzlist = &Civi::$statics[__CLASS__]['tzlist'];
+
+ if (is_null($tzlist)) {
+ $tzlist = [];
+ foreach (timezone_identifiers_list() as $tz) {
+ // Actual timezone keys for PHP are mapped to human parts.
+ $tzlist[$tz] = str_replace('_', ' ', $tz);
+ }
+
+ // Add 'Etc/UTC' specially, as timezone_identifiers_list() does
+ // not include it, but it is the IANA long name for 'UTC'
+ $tzlist['Etc/UTC'] = ts('Etc/UTC');
+ }
+
+ return $tzlist;
+ }
+
}