Regen DAOs with new fieldKeys()
authorTim Otten <totten@civicrm.org>
Thu, 28 Jul 2016 22:10:30 +0000 (15:10 -0700)
committerTim Otten <totten@civicrm.org>
Thu, 28 Jul 2016 22:51:56 +0000 (15:51 -0700)
153 files changed:
CRM/ACL/DAO/ACL.php
CRM/ACL/DAO/Cache.php
CRM/ACL/DAO/EntityRole.php
CRM/Activity/DAO/Activity.php
CRM/Activity/DAO/ActivityContact.php
CRM/Batch/DAO/Batch.php
CRM/Batch/DAO/EntityBatch.php
CRM/Campaign/DAO/Campaign.php
CRM/Campaign/DAO/CampaignGroup.php
CRM/Campaign/DAO/Survey.php
CRM/Case/DAO/Case.php
CRM/Case/DAO/CaseActivity.php
CRM/Case/DAO/CaseContact.php
CRM/Case/DAO/CaseType.php
CRM/Contact/DAO/ACLContactCache.php
CRM/Contact/DAO/Contact.php
CRM/Contact/DAO/ContactType.php
CRM/Contact/DAO/DashboardContact.php
CRM/Contact/DAO/Group.php
CRM/Contact/DAO/GroupContact.php
CRM/Contact/DAO/GroupContactCache.php
CRM/Contact/DAO/GroupNesting.php
CRM/Contact/DAO/GroupOrganization.php
CRM/Contact/DAO/Relationship.php
CRM/Contact/DAO/RelationshipType.php
CRM/Contact/DAO/SavedSearch.php
CRM/Contact/DAO/SubscriptionHistory.php
CRM/Contribute/DAO/Contribution.php
CRM/Contribute/DAO/ContributionPage.php
CRM/Contribute/DAO/ContributionProduct.php
CRM/Contribute/DAO/ContributionRecur.php
CRM/Contribute/DAO/ContributionSoft.php
CRM/Contribute/DAO/Premium.php
CRM/Contribute/DAO/PremiumsProduct.php
CRM/Contribute/DAO/Product.php
CRM/Contribute/DAO/Widget.php
CRM/Core/DAO/ActionLog.php
CRM/Core/DAO/ActionMapping.php
CRM/Core/DAO/ActionSchedule.php
CRM/Core/DAO/Address.php
CRM/Core/DAO/AddressFormat.php
CRM/Core/DAO/AllCoreTables.data.php
CRM/Core/DAO/Cache.php
CRM/Core/DAO/Component.php
CRM/Core/DAO/Country.php
CRM/Core/DAO/County.php
CRM/Core/DAO/CustomField.php
CRM/Core/DAO/CustomGroup.php
CRM/Core/DAO/Dashboard.php
CRM/Core/DAO/Discount.php
CRM/Core/DAO/Domain.php
CRM/Core/DAO/Email.php
CRM/Core/DAO/EntityFile.php
CRM/Core/DAO/EntityTag.php
CRM/Core/DAO/Extension.php
CRM/Core/DAO/File.php
CRM/Core/DAO/IM.php
CRM/Core/DAO/Job.php
CRM/Core/DAO/JobLog.php
CRM/Core/DAO/LocBlock.php
CRM/Core/DAO/LocationType.php
CRM/Core/DAO/Log.php
CRM/Core/DAO/MailSettings.php
CRM/Core/DAO/Managed.php
CRM/Core/DAO/Mapping.php
CRM/Core/DAO/MappingField.php
CRM/Core/DAO/Menu.php
CRM/Core/DAO/MessageTemplate.php
CRM/Core/DAO/Navigation.php
CRM/Core/DAO/Note.php
CRM/Core/DAO/OpenID.php
CRM/Core/DAO/OptionGroup.php
CRM/Core/DAO/OptionValue.php
CRM/Core/DAO/Persistent.php
CRM/Core/DAO/Phone.php
CRM/Core/DAO/PreferencesDate.php
CRM/Core/DAO/PrevNextCache.php
CRM/Core/DAO/PrintLabel.php
CRM/Core/DAO/RecurringEntity.php
CRM/Core/DAO/Setting.php
CRM/Core/DAO/StateProvince.php
CRM/Core/DAO/StatusPreference.php
CRM/Core/DAO/SystemLog.php
CRM/Core/DAO/Tag.php
CRM/Core/DAO/Timezone.php
CRM/Core/DAO/UFField.php
CRM/Core/DAO/UFGroup.php
CRM/Core/DAO/UFJoin.php
CRM/Core/DAO/UFMatch.php
CRM/Core/DAO/Website.php
CRM/Core/DAO/WordReplacement.php
CRM/Core/DAO/Worldregion.php
CRM/Cxn/DAO/Cxn.php
CRM/Dedupe/DAO/Exception.php
CRM/Dedupe/DAO/Rule.php
CRM/Dedupe/DAO/RuleGroup.php
CRM/Event/Cart/DAO/Cart.php
CRM/Event/Cart/DAO/EventInCart.php
CRM/Event/DAO/Event.php
CRM/Event/DAO/Participant.php
CRM/Event/DAO/ParticipantPayment.php
CRM/Event/DAO/ParticipantStatusType.php
CRM/Financial/DAO/Currency.php
CRM/Financial/DAO/EntityFinancialAccount.php
CRM/Financial/DAO/EntityFinancialTrxn.php
CRM/Financial/DAO/FinancialAccount.php
CRM/Financial/DAO/FinancialItem.php
CRM/Financial/DAO/FinancialTrxn.php
CRM/Financial/DAO/FinancialType.php
CRM/Financial/DAO/PaymentProcessor.php
CRM/Financial/DAO/PaymentProcessorType.php
CRM/Financial/DAO/PaymentToken.php
CRM/Friend/DAO/Friend.php
CRM/Grant/DAO/Grant.php
CRM/Mailing/DAO/BouncePattern.php
CRM/Mailing/DAO/BounceType.php
CRM/Mailing/DAO/Component.php
CRM/Mailing/DAO/Mailing.php
CRM/Mailing/DAO/MailingAB.php
CRM/Mailing/DAO/MailingGroup.php
CRM/Mailing/DAO/MailingJob.php
CRM/Mailing/DAO/Recipients.php
CRM/Mailing/DAO/Spool.php
CRM/Mailing/DAO/TrackableURL.php
CRM/Mailing/Event/DAO/Bounce.php
CRM/Mailing/Event/DAO/Confirm.php
CRM/Mailing/Event/DAO/Delivered.php
CRM/Mailing/Event/DAO/Forward.php
CRM/Mailing/Event/DAO/Opened.php
CRM/Mailing/Event/DAO/Queue.php
CRM/Mailing/Event/DAO/Reply.php
CRM/Mailing/Event/DAO/Subscribe.php
CRM/Mailing/Event/DAO/TrackableURLOpen.php
CRM/Mailing/Event/DAO/Unsubscribe.php
CRM/Member/DAO/Membership.php
CRM/Member/DAO/MembershipBlock.php
CRM/Member/DAO/MembershipLog.php
CRM/Member/DAO/MembershipPayment.php
CRM/Member/DAO/MembershipStatus.php
CRM/Member/DAO/MembershipType.php
CRM/PCP/DAO/PCP.php
CRM/PCP/DAO/PCPBlock.php
CRM/Pledge/DAO/Pledge.php
CRM/Pledge/DAO/PledgeBlock.php
CRM/Pledge/DAO/PledgePayment.php
CRM/Price/DAO/LineItem.php
CRM/Price/DAO/PriceField.php
CRM/Price/DAO/PriceFieldValue.php
CRM/Price/DAO/PriceSet.php
CRM/Price/DAO/PriceSetEntity.php
CRM/Queue/DAO/QueueItem.php
CRM/Report/DAO/ReportInstance.php
CRM/SMS/DAO/Provider.php

index 2a2c59734c838ba6fdc586f8b5c72b31aea0d9fb..8b07f7363040ba145e791d7f20594e6868740437 100644 (file)
@@ -47,12 +47,6 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -262,28 +256,16 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'deny' => 'deny',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'operation' => 'operation',
-        'object_table' => 'object_table',
-        'object_id' => 'object_id',
-        'acl_table' => 'acl_table',
-        'acl_id' => 'acl_id',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2a53c38d9409bc9ecfccf5858ac9900abbba5226..6aca3cbcd5db108d481171e24d2224593415f167 100644 (file)
@@ -47,12 +47,6 @@ class CRM_ACL_DAO_Cache extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -155,21 +149,16 @@ class CRM_ACL_DAO_Cache extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'acl_id' => 'acl_id',
-        'modified_date' => 'modified_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ef9128cf0242193b3dd22e671d4faa8517dbed60..4e245eba04eae4b1d0c79b1b7baf9eb242fb713e 100644 (file)
@@ -47,12 +47,6 @@ class CRM_ACL_DAO_EntityRole extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -167,22 +161,16 @@ class CRM_ACL_DAO_EntityRole extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'acl_role_id' => 'acl_role_id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index cf4c37f01119c64aad324390ba8cdeabf0b4a6f2..2d5e0c232b5272a02ab2afcfef20f3b660c44497 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -546,41 +540,16 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'activity_id',
-        'source_record_id' => 'source_record_id',
-        'activity_type_id' => 'activity_type_id',
-        'subject' => 'activity_subject',
-        'activity_date_time' => 'activity_date_time',
-        'duration' => 'activity_duration',
-        'location' => 'activity_location',
-        'phone_id' => 'phone_id',
-        'phone_number' => 'phone_number',
-        'details' => 'activity_details',
-        'status_id' => 'activity_status_id',
-        'priority_id' => 'priority_id',
-        'parent_id' => 'parent_id',
-        'is_test' => 'activity_is_test',
-        'medium_id' => 'activity_medium_id',
-        'is_auto' => 'is_auto',
-        'relationship_id' => 'relationship_id',
-        'is_current_revision' => 'is_current_revision',
-        'original_id' => 'original_id',
-        'result' => 'activity_result',
-        'is_deleted' => 'activity_is_deleted',
-        'campaign_id' => 'activity_campaign_id',
-        'engagement_level' => 'activity_engagement_level',
-        'weight' => 'weight',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 26a52560ae29b99889e6e1074214e93d962a1361..f6a6d385765dd1f358cdadfdb101e0e75bd16623 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -167,21 +161,16 @@ class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'activity_id' => 'activity_id',
-        'contact_id' => 'contact_id',
-        'record_type_id' => 'record_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index a66df35453125416258214c099661b66fa306015..ee02f29bc32efe736def8d2152d38f4266b9fb88 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -369,34 +363,16 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'description' => 'description',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'modified_id' => 'modified_id',
-        'modified_date' => 'modified_date',
-        'saved_search_id' => 'saved_search_id',
-        'status_id' => 'status_id',
-        'type_id' => 'type_id',
-        'mode_id' => 'mode_id',
-        'total' => 'total',
-        'item_count' => 'item_count',
-        'payment_instrument_id' => 'payment_instrument_id',
-        'exported_date' => 'exported_date',
-        'data' => 'data',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ae7dde96cabadc548a0a2dec3b6d90c2d3bb3ad9..50d790e876552e42d9110cbd7154353c9490b920 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -156,21 +150,16 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'batch_id' => 'batch_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index bdc00d6c36e1e74f3ff587283e5b82b19eac1fe5..4da1996b36e06b75e8003305a907847ed2b614f8 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -420,34 +414,16 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'description' => 'description',
-        'start_date' => 'start_date',
-        'end_date' => 'end_date',
-        'campaign_type_id' => 'campaign_type_id',
-        'status_id' => 'status_id',
-        'external_identifier' => 'external_identifier',
-        'parent_id' => 'parent_id',
-        'is_active' => 'is_active',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'last_modified_id' => 'last_modified_id',
-        'last_modified_date' => 'last_modified_date',
-        'goal_general' => 'goal_general',
-        'goal_revenue' => 'goal_revenue',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 5a50c36fed65834df82a7590c44991a31ae9baea..99c9a00d529f819c3c27a1191bc8ad9a348fd0ad 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -183,22 +177,16 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'campaign_id' => 'campaign_id',
-        'group_type' => 'group_type',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 726876fb4952f32a6fe948b5b1ad212e8101d145..45b2281e2ba778029c364468c23e36972da11516 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -397,37 +391,16 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'title' => 'title',
-        'campaign_id' => 'campaign_id',
-        'activity_type_id' => 'activity_type_id',
-        'recontact_interval' => 'recontact_interval',
-        'instructions' => 'instructions',
-        'release_frequency' => 'release_frequency',
-        'max_number_of_contacts' => 'max_number_of_contacts',
-        'default_number_of_contacts' => 'default_number_of_contacts',
-        'is_active' => 'is_active',
-        'is_default' => 'is_default',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'last_modified_id' => 'last_modified_id',
-        'last_modified_date' => 'last_modified_date',
-        'result_id' => 'result_id',
-        'bypass_confirm' => 'bypass_confirm',
-        'thankyou_title' => 'thankyou_title',
-        'thankyou_text' => 'thankyou_text',
-        'is_share' => 'is_share',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 8393cf2889779e090b10e28cc35e8a66b61a2583..526965fc776f9e9241eed5dbcab15139cd7a54b4 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -264,25 +258,16 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'case_id',
-        'case_type_id' => 'case_type_id',
-        'subject' => 'case_subject',
-        'start_date' => 'case_start_date',
-        'end_date' => 'case_end_date',
-        'details' => 'details',
-        'status_id' => 'case_status_id',
-        'is_deleted' => 'case_deleted',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index c6f76abbde8df35584586acaa30a4692bec991c6..738e7ac7e2fa84c54d5857b58c7c41c88b9d842d 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -143,20 +137,16 @@ class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'case_id' => 'case_id',
-        'activity_id' => 'activity_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 94b57ed8c238f235f53f038988efc38dd4ee26ca..8143ed8ff8a1370e0c8782063041ae4009cf767b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -146,20 +140,16 @@ class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'case_id' => 'case_id',
-        'contact_id' => 'case_contact_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2fc7f1132f078c7336f15b2cba8ff8e4caa5643d..4c34b5a39ad1269fd0e34f4da8758885a6ecd3a2 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -195,25 +189,16 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'description' => 'description',
-        'is_active' => 'is_active',
-        'is_reserved' => 'is_reserved',
-        'weight' => 'weight',
-        'definition' => 'definition',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 04747b4f877b2bf15262ab0612d3bd9d8910a94e..015b8fcc3e495ebd885a75ab7b73f8ea74e75e9e 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -163,21 +157,16 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'user_id' => 'user_id',
-        'contact_id' => 'contact_id',
-        'operation' => 'operation',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 28e05c3cae4cde73770af59291085db100fb9f73..8c7e8a560047ae6339bd77b2af500a37508e3fd3 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -1168,69 +1162,16 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_type' => 'contact_type',
-        'contact_sub_type' => 'contact_sub_type',
-        'do_not_email' => 'do_not_email',
-        'do_not_phone' => 'do_not_phone',
-        'do_not_mail' => 'do_not_mail',
-        'do_not_sms' => 'do_not_sms',
-        'do_not_trade' => 'do_not_trade',
-        'is_opt_out' => 'is_opt_out',
-        'legal_identifier' => 'legal_identifier',
-        'external_identifier' => 'external_identifier',
-        'sort_name' => 'sort_name',
-        'display_name' => 'display_name',
-        'nick_name' => 'nick_name',
-        'legal_name' => 'legal_name',
-        'image_URL' => 'image_URL',
-        'preferred_communication_method' => 'preferred_communication_method',
-        'preferred_language' => 'preferred_language',
-        'preferred_mail_format' => 'preferred_mail_format',
-        'hash' => 'hash',
-        'api_key' => 'api_key',
-        'source' => 'contact_source',
-        'first_name' => 'first_name',
-        'middle_name' => 'middle_name',
-        'last_name' => 'last_name',
-        'prefix_id' => 'prefix_id',
-        'suffix_id' => 'suffix_id',
-        'formal_title' => 'formal_title',
-        'communication_style_id' => 'communication_style_id',
-        'email_greeting_id' => 'email_greeting_id',
-        'email_greeting_custom' => 'email_greeting_custom',
-        'email_greeting_display' => 'email_greeting_display',
-        'postal_greeting_id' => 'postal_greeting_id',
-        'postal_greeting_custom' => 'postal_greeting_custom',
-        'postal_greeting_display' => 'postal_greeting_display',
-        'addressee_id' => 'addressee_id',
-        'addressee_custom' => 'addressee_custom',
-        'addressee_display' => 'addressee_display',
-        'job_title' => 'job_title',
-        'gender_id' => 'gender_id',
-        'birth_date' => 'birth_date',
-        'is_deceased' => 'is_deceased',
-        'deceased_date' => 'deceased_date',
-        'household_name' => 'household_name',
-        'primary_contact_id' => 'primary_contact_id',
-        'organization_name' => 'organization_name',
-        'sic_code' => 'sic_code',
-        'user_unique_id' => 'user_unique_id',
-        'employer_id' => 'current_employer_id',
-        'is_deleted' => 'contact_is_deleted',
-        'created_date' => 'created_date',
-        'modified_date' => 'modified_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 1ea5ac24e17fdb44770c880d7e71799ee6a53908..b7d008d3f94f4e839c75dbaded22e17cfe7344c5 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -216,25 +210,16 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'label' => 'label',
-        'description' => 'description',
-        'image_URL' => 'image_URL',
-        'parent_id' => 'parent_id',
-        'is_active' => 'is_active',
-        'is_reserved' => 'is_reserved',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e44239f3e9660355f4beee7ef8fe7046f05314a6..4e780cdefe443c04fc205857351b218e9b3368d2 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -226,27 +220,16 @@ class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'dashboard_id' => 'dashboard_id',
-        'contact_id' => 'contact_id',
-        'column_no' => 'column_no',
-        'is_minimized' => 'is_minimized',
-        'is_fullscreen' => 'is_fullscreen',
-        'is_active' => 'is_active',
-        'weight' => 'weight',
-        'content' => 'content',
-        'created_date' => 'created_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e60d70df2c3fee4f2574d489b49fad94bb1a06c2..bc9444453c26e6947667eacad150b285352488ad 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -373,37 +367,16 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'description' => 'description',
-        'source' => 'source',
-        'saved_search_id' => 'saved_search_id',
-        'is_active' => 'is_active',
-        'visibility' => 'visibility',
-        'where_clause' => 'where_clause',
-        'select_tables' => 'select_tables',
-        'where_tables' => 'where_tables',
-        'group_type' => 'group_type',
-        'cache_date' => 'cache_date',
-        'refresh_date' => 'refresh_date',
-        'parents' => 'parents',
-        'children' => 'children',
-        'is_hidden' => 'is_hidden',
-        'is_reserved' => 'is_reserved',
-        'created_id' => 'created_id',
-        'modified_id' => 'modified_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index d649e281e75bf752f0ed9718e0143a519fdc1628..87c3e48bc75719dc601afdd46a283037d6a655e0 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -199,23 +193,16 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'group_id' => 'group_id',
-        'contact_id' => 'contact_id',
-        'status' => 'status',
-        'location_id' => 'location_id',
-        'email_id' => 'email_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index c470ecfff7c67c79f0eb06154fb5dc6474f04269..6924273f578531347bd63dc85f23faba88bafc39 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -151,20 +145,16 @@ class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'group_id' => 'group_id',
-        'contact_id' => 'contact_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 1e7caf732b28ead365c72cec5961dacf419520d7..79a3b872320fa21242d664699212179ff87f1b9c 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -143,20 +137,16 @@ class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'child_group_id' => 'child_group_id',
-        'parent_group_id' => 'parent_group_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ff90ad0884cb940ef39efb797d2c2ad535fd0efe..93ba27fc246039142084f8199f53a50f38d7c3e7 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -151,20 +145,16 @@ class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'group_id' => 'group_id',
-        'organization_id' => 'organization_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index a505bacafe34593da1294258f0bc2c98f6f0401c..b6ded4a9516a0a2f39cb5e52ad6b242c76172319 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -278,28 +272,16 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id_a' => 'contact_id_a',
-        'contact_id_b' => 'contact_id_b',
-        'relationship_type_id' => 'relationship_type_id',
-        'start_date' => 'start_date',
-        'end_date' => 'end_date',
-        'is_active' => 'is_active',
-        'description' => 'description',
-        'is_permission_a_b' => 'is_permission_a_b',
-        'is_permission_b_a' => 'is_permission_b_a',
-        'case_id' => 'case_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index edb7bbd58a411d145100a3d69b4ec889e49fe59e..e2c020657a0d77e87956df66021875916b443405 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -291,29 +285,16 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name_a_b' => 'name_a_b',
-        'label_a_b' => 'label_a_b',
-        'name_b_a' => 'name_b_a',
-        'label_b_a' => 'label_b_a',
-        'description' => 'description',
-        'contact_type_a' => 'contact_type_a',
-        'contact_type_b' => 'contact_type_b',
-        'contact_sub_type_a' => 'contact_sub_type_a',
-        'contact_sub_type_b' => 'contact_sub_type_b',
-        'is_reserved' => 'is_reserved',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index a3afb89f86ce6750fdc560faf1bbc177ded304ab..f605edbbbac5e8437d92787c17e0a474e66733fb 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -192,24 +186,16 @@ class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'form_values' => 'form_values',
-        'mapping_id' => 'mapping_id',
-        'search_custom_id' => 'search_custom_id',
-        'where_clause' => 'where_clause',
-        'select_tables' => 'select_tables',
-        'where_tables' => 'where_tables',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index cb855e99a531cefbe8c10bb60b6b5e79c7dd946a..b21fed5a4e428013608939823289777eeb377cc1 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -214,24 +208,16 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'group_id' => 'group_id',
-        'date' => 'date',
-        'method' => 'method',
-        'status' => 'status',
-        'tracking' => 'tracking',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e2cf91592c2479c0121d778ad7c3106d6fa5345f..7c7180153ac58532551044c0b9e90d1dae4f2470 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -721,46 +715,16 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'contribution_id',
-        'contact_id' => 'contribution_contact_id',
-        'financial_type_id' => 'financial_type_id',
-        'contribution_page_id' => 'contribution_page_id',
-        'payment_instrument_id' => 'payment_instrument_id',
-        'receive_date' => 'receive_date',
-        'non_deductible_amount' => 'non_deductible_amount',
-        'total_amount' => 'total_amount',
-        'fee_amount' => 'fee_amount',
-        'net_amount' => 'net_amount',
-        'trxn_id' => 'trxn_id',
-        'invoice_id' => 'invoice_id',
-        'currency' => 'currency',
-        'cancel_date' => 'cancel_date',
-        'cancel_reason' => 'cancel_reason',
-        'receipt_date' => 'receipt_date',
-        'thankyou_date' => 'thankyou_date',
-        'source' => 'contribution_source',
-        'amount_level' => 'amount_level',
-        'contribution_recur_id' => 'contribution_recur_id',
-        'is_test' => 'is_test',
-        'is_pay_later' => 'is_pay_later',
-        'contribution_status_id' => 'contribution_status_id',
-        'address_id' => 'address_id',
-        'check_number' => 'check_number',
-        'campaign_id' => 'contribution_campaign_id',
-        'creditnote_id' => 'creditnote_id',
-        'tax_amount' => 'tax_amount',
-        'revenue_recognition_date' => 'revenue_recognition_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 8598b1dfdd00a36b80cee2f378ab110289e347fc..91caac058d0424c00f1fe85f30cbdd8ef67646e8 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -743,62 +737,16 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'title' => 'title',
-        'intro_text' => 'intro_text',
-        'financial_type_id' => 'financial_type_id',
-        'payment_processor' => 'payment_processor',
-        'is_credit_card_only' => 'is_credit_card_only',
-        'is_monetary' => 'is_monetary',
-        'is_recur' => 'is_recur',
-        'is_confirm_enabled' => 'is_confirm_enabled',
-        'recur_frequency_unit' => 'recur_frequency_unit',
-        'is_recur_interval' => 'is_recur_interval',
-        'is_recur_installments' => 'is_recur_installments',
-        'adjust_recur_start_date' => 'adjust_recur_start_date',
-        'is_pay_later' => 'is_pay_later',
-        'pay_later_text' => 'pay_later_text',
-        'pay_later_receipt' => 'pay_later_receipt',
-        'is_partial_payment' => 'is_partial_payment',
-        'initial_amount_label' => 'initial_amount_label',
-        'initial_amount_help_text' => 'initial_amount_help_text',
-        'min_initial_amount' => 'min_initial_amount',
-        'is_allow_other_amount' => 'is_allow_other_amount',
-        'default_amount_id' => 'default_amount_id',
-        'min_amount' => 'min_amount',
-        'max_amount' => 'max_amount',
-        'goal_amount' => 'goal_amount',
-        'thankyou_title' => 'thankyou_title',
-        'thankyou_text' => 'thankyou_text',
-        'thankyou_footer' => 'thankyou_footer',
-        'is_email_receipt' => 'is_email_receipt',
-        'receipt_from_name' => 'receipt_from_name',
-        'receipt_from_email' => 'receipt_from_email',
-        'cc_receipt' => 'cc_receipt',
-        'bcc_receipt' => 'bcc_receipt',
-        'receipt_text' => 'receipt_text',
-        'is_active' => 'is_active',
-        'footer_text' => 'footer_text',
-        'amount_block_is_active' => 'amount_block_is_active',
-        'start_date' => 'start_date',
-        'end_date' => 'end_date',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'currency' => 'currency',
-        'campaign_id' => 'campaign_id',
-        'is_share' => 'is_share',
-        'is_billing_required' => 'is_billing_required',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2ceea9354e990d38ab830fb6bc0ba0395d75710c..b22c8d84e05a1d545444e5ff979adbc5e3d4890e 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -245,27 +239,16 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'product_id' => 'product_id',
-        'contribution_id' => 'contribution_id',
-        'product_option' => 'product_option',
-        'quantity' => 'quantity',
-        'fulfilled_date' => 'fulfilled_date',
-        'start_date' => 'contribution_start_date',
-        'end_date' => 'contribution_end_date',
-        'comment' => 'comment',
-        'financial_type_id' => 'financial_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 293fc03dddb753c333d41ea686a3d588e69e8fc1..3b5d13adbee16c8884a3cfd3ec5505aa5c9ed565 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -571,45 +565,16 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'amount' => 'amount',
-        'currency' => 'currency',
-        'frequency_unit' => 'frequency_unit',
-        'frequency_interval' => 'frequency_interval',
-        'installments' => 'installments',
-        'start_date' => 'start_date',
-        'create_date' => 'create_date',
-        'modified_date' => 'modified_date',
-        'cancel_date' => 'cancel_date',
-        'end_date' => 'end_date',
-        'processor_id' => 'processor_id',
-        'payment_token_id' => 'payment_token_id',
-        'trxn_id' => 'trxn_id',
-        'invoice_id' => 'invoice_id',
-        'contribution_status_id' => 'contribution_status_id',
-        'is_test' => 'is_test',
-        'cycle_day' => 'cycle_day',
-        'next_sched_contribution_date' => 'next_sched_contribution_date',
-        'failure_count' => 'failure_count',
-        'failure_retry_date' => 'failure_retry_date',
-        'auto_renew' => 'auto_renew',
-        'payment_processor_id' => 'payment_processor_id',
-        'financial_type_id' => 'financial_type_id',
-        'payment_instrument_id' => 'payment_instrument_id',
-        'campaign_id' => 'contribution_campaign_id',
-        'is_email_receipt' => 'is_email_receipt',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 15210db9a58b37910e593c9a4c96e57ea1a79c27..bef532262f75eb69ddceb29ce9716e028eea0e7d 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -272,27 +266,16 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'contribution_soft_id',
-        'contribution_id' => 'contribution_id',
-        'contact_id' => 'contribution_soft_contact_id',
-        'amount' => 'amount',
-        'currency' => 'currency',
-        'pcp_id' => 'pcp_id',
-        'pcp_display_in_roll' => 'pcp_display_in_roll',
-        'pcp_roll_nickname' => 'pcp_roll_nickname',
-        'pcp_personal_note' => 'pcp_personal_note',
-        'soft_credit_type_id' => 'soft_credit_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 0d8e84f7f5725a7051a02c8fd2ab4fc145923fe7..fd28e77e476461cf59bba7c2eb308357b35544ed 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -243,28 +237,16 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'premiums_active' => 'premiums_active',
-        'premiums_intro_title' => 'premiums_intro_title',
-        'premiums_intro_text' => 'premiums_intro_text',
-        'premiums_contact_email' => 'premiums_contact_email',
-        'premiums_contact_phone' => 'premiums_contact_phone',
-        'premiums_display_min_contribution' => 'premiums_display_min_contribution',
-        'premiums_nothankyou_label' => 'premiums_nothankyou_label',
-        'premiums_nothankyou_position' => 'premiums_nothankyou_position',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 39592b84c04b4c547301379488798f75e0725d34..7bbae64b83752e47c4b54a427f0fbe5fd4fe523f 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -174,22 +168,16 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'premiums_id' => 'premiums_id',
-        'product_id' => 'product_id',
-        'weight' => 'weight',
-        'financial_type_id' => 'financial_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 79ab2fd31e957a1e75719e10c0c96e70ccf46b71..ad79ad1d277505706ca3628c958763c5c4765d5b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -405,36 +399,16 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'product_name',
-        'description' => 'description',
-        'sku' => 'sku',
-        'options' => 'options',
-        'image' => 'image',
-        'thumbnail' => 'thumbnail',
-        'price' => 'price',
-        'currency' => 'currency',
-        'financial_type_id' => 'financial_type_id',
-        'min_contribution' => 'min_contribution',
-        'cost' => 'cost',
-        'is_active' => 'is_active',
-        'period_type' => 'period_type',
-        'fixed_period_start_day' => 'fixed_period_start_day',
-        'duration_unit' => 'duration_unit',
-        'duration_interval' => 'duration_interval',
-        'frequency_unit' => 'frequency_unit',
-        'frequency_interval' => 'frequency_interval',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index d6b3ebbfb2306a6f3d052f5b157a64ce283a69e9..4d533ef440cafc67379d70603b131a98195d2cd5 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -315,34 +309,16 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contribution_page_id' => 'contribution_page_id',
-        'is_active' => 'is_active',
-        'title' => 'title',
-        'url_logo' => 'url_logo',
-        'button_title' => 'button_title',
-        'about' => 'about',
-        'url_homepage' => 'url_homepage',
-        'color_title' => 'color_title',
-        'color_button' => 'color_button',
-        'color_bar' => 'color_bar',
-        'color_main_text' => 'color_main_text',
-        'color_main' => 'color_main',
-        'color_main_bg' => 'color_main_bg',
-        'color_bg' => 'color_bg',
-        'color_about_link' => 'color_about_link',
-        'color_homepage_link' => 'color_homepage_link',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 8cae35ed51387513c733059247a04e5e78752dc4..a5746f69fa7eff00582526841ef0ea072c5c10da 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -229,27 +223,16 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'entity_id' => 'entity_id',
-        'entity_table' => 'entity_table',
-        'action_schedule_id' => 'action_schedule_id',
-        'action_date_time' => 'action_date_time',
-        'is_error' => 'is_error',
-        'message' => 'message',
-        'repetition_number' => 'repetition_number',
-        'reference_date' => 'reference_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 66e3713f676830bb26fcb9cae709ce417abab95a..46959a322e7e2c625640e81a75b9269140a8bb70 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -211,26 +205,16 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity' => 'entity',
-        'entity_value' => 'entity_value',
-        'entity_value_label' => 'entity_value_label',
-        'entity_status' => 'entity_status',
-        'entity_status_label' => 'entity_status_label',
-        'entity_date_start' => 'entity_date_start',
-        'entity_date_end' => 'entity_date_end',
-        'entity_recipient' => 'entity_recipient',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index cd0a9fb4019fbb157e29c629f3ab65c6f225eb99..53d56904bc73239ef1e54143c4f28febfbe3fe03 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -642,55 +636,16 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'recipient' => 'recipient',
-        'limit_to' => 'limit_to',
-        'entity_value' => 'entity_value',
-        'entity_status' => 'entity_status',
-        'start_action_offset' => 'start_action_offset',
-        'start_action_unit' => 'start_action_unit',
-        'start_action_condition' => 'start_action_condition',
-        'start_action_date' => 'start_action_date',
-        'is_repeat' => 'is_repeat',
-        'repetition_frequency_unit' => 'repetition_frequency_unit',
-        'repetition_frequency_interval' => 'repetition_frequency_interval',
-        'end_frequency_unit' => 'end_frequency_unit',
-        'end_frequency_interval' => 'end_frequency_interval',
-        'end_action' => 'end_action',
-        'end_date' => 'end_date',
-        'is_active' => 'is_active',
-        'recipient_manual' => 'recipient_manual',
-        'recipient_listing' => 'recipient_listing',
-        'body_text' => 'body_text',
-        'body_html' => 'body_html',
-        'sms_body_text' => 'sms_body_text',
-        'subject' => 'subject',
-        'record_activity' => 'record_activity',
-        'mapping_id' => 'mapping_id',
-        'group_id' => 'group_id',
-        'msg_template_id' => 'msg_template_id',
-        'sms_template_id' => 'sms_template_id',
-        'absolute_date' => 'absolute_date',
-        'from_name' => 'from_name',
-        'from_email' => 'from_email',
-        'mode' => 'mode',
-        'sms_provider_id' => 'sms_provider_id',
-        'used_for' => 'used_for',
-        'filter_contact_language' => 'filter_contact_language',
-        'communication_language' => 'communication_language',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 680c4822102d95055638263978c1017e26c608bd..d22e5d745c8b9af1875ca0f3dae23eb23c013bdc 100644 (file)
@@ -50,12 +50,6 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -660,46 +654,16 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'location_type_id' => 'location_type_id',
-        'is_primary' => 'is_primary',
-        'is_billing' => 'is_billing',
-        'street_address' => 'street_address',
-        'street_number' => 'street_number',
-        'street_number_suffix' => 'street_number_suffix',
-        'street_number_predirectional' => 'street_number_predirectional',
-        'street_name' => 'street_name',
-        'street_type' => 'street_type',
-        'street_number_postdirectional' => 'street_number_postdirectional',
-        'street_unit' => 'street_unit',
-        'supplemental_address_1' => 'supplemental_address_1',
-        'supplemental_address_2' => 'supplemental_address_2',
-        'supplemental_address_3' => 'supplemental_address_3',
-        'city' => 'city',
-        'county_id' => 'county_id',
-        'state_province_id' => 'state_province_id',
-        'postal_code_suffix' => 'postal_code_suffix',
-        'postal_code' => 'postal_code',
-        'usps_adc' => 'usps_adc',
-        'country_id' => 'country_id',
-        'geo_code_1' => 'geo_code_1',
-        'geo_code_2' => 'geo_code_2',
-        'manual_geo_code' => 'manual_geo_code',
-        'timezone' => 'timezone',
-        'name' => 'address_name',
-        'master_id' => 'master_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 7a494b0544eb267df37a37084280d40673dc2928..4da6c20e0aef6998feefca545ecd45dd893e3685 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -113,19 +107,16 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'format' => 'format',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 9aedc1fe82c26d18ef6f0f5927212ea84d4f92dc..33153199456a1ef0c27f0f18c7a6efb1c70dbd50 100644 (file)
@@ -24,7 +24,7 @@
 | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
 +--------------------------------------------------------------------+
 */
-// (GenCodeChecksum:14fe20bf74c92c5422f20d8b99684a5b)
+// (GenCodeChecksum:b13780d76d6f597c98c782343c2e5876)
 return array(
   'CRM_Core_DAO_AddressFormat' => array(
     'name' => 'AddressFormat',
index 1fcee8c630bad0be5ece833ecd8d803770db9f35..946969d3f0744e80ebb68c750139d50b8cf32e03 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -196,24 +190,16 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'group_name' => 'group_name',
-        'path' => 'path',
-        'data' => 'data',
-        'component_id' => 'component_id',
-        'created_date' => 'created_date',
-        'expired_date' => 'expired_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index d86dd2822f1ffcf1c8f0986c9de26c0ecdb4e457..93d18fa899da988120505df8987d9dbe13f5afaf 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -132,20 +126,16 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'namespace' => 'namespace',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index c72e479278f978175992e54a0525e67aea619d37..c8a9dd74d6a335f33da92209316f2d63089dda8a 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -229,26 +223,16 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'iso_code' => 'iso_code',
-        'country_code' => 'country_code',
-        'address_format_id' => 'address_format_id',
-        'idd_prefix' => 'idd_prefix',
-        'ndd_prefix' => 'ndd_prefix',
-        'region_id' => 'region_id',
-        'is_province_abbreviated' => 'is_province_abbreviated',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2a6eda2f5c53bd80e20f8b23d87bbaf5074b6214..720da3e04a7f578f3b9b79b97476554db51bed26 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -161,21 +155,16 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'abbreviation' => 'abbreviation',
-        'state_province_id' => 'state_province_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2e2f321487fffb26629fc61112c58f92b3f404e5..23a0c47ec6219ce905cbd3772848244ff644f678 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -508,47 +502,16 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'custom_group_id' => 'custom_group_id',
-        'name' => 'name',
-        'label' => 'label',
-        'data_type' => 'data_type',
-        'html_type' => 'html_type',
-        'default_value' => 'default_value',
-        'is_required' => 'is_required',
-        'is_searchable' => 'is_searchable',
-        'is_search_range' => 'is_search_range',
-        'weight' => 'weight',
-        'help_pre' => 'help_pre',
-        'help_post' => 'help_post',
-        'mask' => 'mask',
-        'attributes' => 'attributes',
-        'javascript' => 'javascript',
-        'is_active' => 'is_active',
-        'is_view' => 'is_view',
-        'options_per_line' => 'options_per_line',
-        'text_length' => 'text_length',
-        'start_date_years' => 'start_date_years',
-        'end_date_years' => 'end_date_years',
-        'date_format' => 'date_format',
-        'time_format' => 'time_format',
-        'note_columns' => 'note_columns',
-        'note_rows' => 'note_rows',
-        'column_name' => 'column_name',
-        'option_group_id' => 'option_group_id',
-        'filter' => 'filter',
-        'in_selector' => 'in_selector',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ef89ee97bca1a5d90034f1b7e80faf515bf7dda4..085061e0c520d71e6ab8f468251a0bf9b249e756 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -376,37 +370,16 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'extends' => 'extends',
-        'extends_entity_column_id' => 'extends_entity_column_id',
-        'extends_entity_column_value' => 'extends_entity_column_value',
-        'style' => 'style',
-        'collapse_display' => 'collapse_display',
-        'help_pre' => 'help_pre',
-        'help_post' => 'help_post',
-        'weight' => 'weight',
-        'is_active' => 'is_active',
-        'table_name' => 'table_name',
-        'is_multiple' => 'is_multiple',
-        'min_multiple' => 'min_multiple',
-        'max_multiple' => 'max_multiple',
-        'collapse_adv_display' => 'collapse_adv_display',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'is_reserved' => 'is_reserved',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 14f346e495bf809169047538244e8746a1c61aeb..b4f4bf0fab516368dd9489992f4d6637dc95696a 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -288,31 +282,16 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'name' => 'name',
-        'label' => 'label',
-        'url' => 'url',
-        'permission' => 'permission',
-        'permission_operator' => 'permission_operator',
-        'column_no' => 'column_no',
-        'is_minimized' => 'is_minimized',
-        'fullscreen_url' => 'fullscreen_url',
-        'is_fullscreen' => 'is_fullscreen',
-        'is_active' => 'is_active',
-        'is_reserved' => 'is_reserved',
-        'weight' => 'weight',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 51b11ab7462b522b62906e85621aeb7c23470c65..2e7da7c96b5f93bbdbb75b04bfabf180c3fb1d1f 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -184,23 +178,16 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'price_set_id' => 'participant_discount_name',
-        'start_date' => 'start_date',
-        'end_date' => 'end_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index a7e818375e8930687f461fe91669a329ab2ef591..db7bd223ae443b348fdd5159fcd2cd0b6066f98e 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -221,25 +215,16 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'description' => 'description',
-        'config_backend' => 'config_backend',
-        'version' => 'version',
-        'contact_id' => 'contact_id',
-        'locales' => 'locales',
-        'locale_custom_strings' => 'locale_custom_strings',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 825b7abd15555de5dc9b057ac28f1675a0145333..dc4022a16b64440ec65f331aaca39389e8d791c5 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -291,29 +285,16 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'location_type_id' => 'location_type_id',
-        'email' => 'email',
-        'is_primary' => 'is_primary',
-        'is_billing' => 'is_billing',
-        'on_hold' => 'on_hold',
-        'is_bulkmail' => 'is_bulkmail',
-        'hold_date' => 'hold_date',
-        'reset_date' => 'reset_date',
-        'signature_text' => 'signature_text',
-        'signature_html' => 'signature_html',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index be13d47378cc47f7fa84f173d585f20223759415..f3635563223bdb6449957f42b2da541b127316ec 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -156,21 +150,16 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'file_id' => 'file_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index a248eef79a03a746b4ebb54a65ff345bb6692f8f..b3fcd469ee1006331b306628e95cfb650c104694 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -168,21 +162,16 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'tag_id' => 'tag_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 16717ae8714ccc2cf051d97fdfd3aec198b12873..4eed598db3b7c3c9f42b336d1e65985894d66458 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -224,25 +218,16 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'type' => 'type',
-        'full_name' => 'full_name',
-        'name' => 'name',
-        'label' => 'label',
-        'file' => 'file',
-        'schema_version' => 'schema_version',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 7216ac16f5b6b1a474ef4bebd94e32b04bd023f3..037ec99e9ee8522c3905adddb99a4a9934f8d239 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -179,24 +173,16 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'file_type_id' => 'file_type_id',
-        'mime_type' => 'mime_type',
-        'uri' => 'uri',
-        'document' => 'document',
-        'description' => 'description',
-        'upload_date' => 'upload_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 08e2f2b4f0afb849fd968e6ced67c82ac1d329fc..9279c6b62d94fc11262567fc4e815e367d525d3f 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -212,24 +206,16 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'location_type_id' => 'location_type_id',
-        'name' => 'name',
-        'provider_id' => 'provider_id',
-        'is_primary' => 'is_primary',
-        'is_billing' => 'is_billing',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 121a856a9b4f37dacfc7a80279bcdec163e5bb00..6cf43c1af65c42ef8f5a4e735951b7669d839c20 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -266,28 +260,16 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'run_frequency' => 'run_frequency',
-        'last_run' => 'last_run',
-        'scheduled_run_date' => 'scheduled_run_date',
-        'name' => 'name',
-        'description' => 'description',
-        'api_entity' => 'api_entity',
-        'api_action' => 'api_action',
-        'parameters' => 'parameters',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 5e22a8f5623f5ce270f24e07a609feae0f165aa5..8dcdec19a536e0d1ce39cdb3624aceaaf15fb1ec 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -211,25 +205,16 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'run_time' => 'run_time',
-        'job_id' => 'job_id',
-        'name' => 'name',
-        'command' => 'command',
-        'description' => 'description',
-        'data' => 'data',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 658725471c18e9309f8926ff6854c88a524bd53b..f3800a8abd8ee447c72a4ee1e868c32f58603d5c 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -209,26 +203,16 @@ class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'address_id' => 'address_id',
-        'email_id' => 'email_id',
-        'phone_id' => 'phone_id',
-        'im_id' => 'im_id',
-        'address_2_id' => 'address_2_id',
-        'email_2_id' => 'email_2_id',
-        'phone_2_id' => 'phone_2_id',
-        'im_2_id' => 'im_2_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index b65a28cf9725352ac35ab713b50a4e25d6847497..5d280769f05cf2eb92a7f7b9a181019989dc94a5 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -193,25 +187,16 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'display_name' => 'display_name',
-        'vcard_name' => 'vcard_name',
-        'description' => 'description',
-        'is_reserved' => 'is_reserved',
-        'is_active' => 'is_active',
-        'is_default' => 'is_default',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 36a6449778e42ee1ea43156bf71f1316e1d470d4..90095fc3c450bfa28315a6332f67ea00cbf40358 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -180,23 +174,16 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'data' => 'data',
-        'modified_id' => 'modified_id',
-        'modified_date' => 'modified_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 6bd4d77250f91703df0ea9f5f783887ead2c96ef..e2f5454e9731be943dbcacd97a1d2463177bcf8a 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -302,31 +296,16 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'name' => 'name',
-        'is_default' => 'is_default',
-        'domain' => 'domain',
-        'localpart' => 'localpart',
-        'return_path' => 'return_path',
-        'protocol' => 'protocol',
-        'server' => 'server',
-        'port' => 'port',
-        'username' => 'username',
-        'password' => 'password',
-        'is_ssl' => 'is_ssl',
-        'source' => 'source',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 5794a5b01290a07e4eee23dc38c28d4bb2aa3db4..0cec98e7aa6930c4271797dec229acd07322959c 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -178,23 +172,16 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'module' => 'module',
-        'name' => 'name',
-        'entity_type' => 'entity_type',
-        'entity_id' => 'entity_id',
-        'cleanup' => 'cleanup',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index c78a9e3e9a9a756a3b7c366c445ff32cd4ceb188..66ffe71c916ec8117d336614096785c64aa57ca0 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -148,21 +142,16 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'description' => 'description',
-        'mapping_type_id' => 'mapping_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ed6147f147e71a2923bc0b9f7e08f99c436d8eb1..518195b7dffcbe41e7c942cfdb811a62a7c88250 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -312,31 +306,16 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'mapping_id' => 'mapping_id',
-        'name' => 'name',
-        'contact_type' => 'contact_type',
-        'column_number' => 'column_number',
-        'location_type_id' => 'location_type_id',
-        'phone_type_id' => 'phone_type_id',
-        'im_provider_id' => 'im_provider_id',
-        'website_type_id' => 'website_type_id',
-        'relationship_type_id' => 'relationship_type_id',
-        'relationship_direction' => 'relationship_direction',
-        'grouping' => 'grouping',
-        'operator' => 'operator',
-        'value' => 'value',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index f0f7835fbd0379ea43f1746f4c71985fdbbf0d5e..8433f57c8daf7f33e87a43e22a934fa9cb99923f 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -385,38 +379,16 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'path' => 'path',
-        'path_arguments' => 'path_arguments',
-        'title' => 'title',
-        'access_callback' => 'access_callback',
-        'access_arguments' => 'access_arguments',
-        'page_callback' => 'page_callback',
-        'page_arguments' => 'page_arguments',
-        'breadcrumb' => 'breadcrumb',
-        'return_url' => 'return_url',
-        'return_url_args' => 'return_url_args',
-        'component_id' => 'component_id',
-        'is_active' => 'is_active',
-        'is_public' => 'is_public',
-        'is_exposed' => 'is_exposed',
-        'is_ssl' => 'is_ssl',
-        'weight' => 'weight',
-        'type' => 'type',
-        'page_type' => 'page_type',
-        'skipBreadcrumb' => 'skipBreadcrumb',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 7b953b776a63d13a6053cd93b7bcd65721c4d80a..5bc734e14b90c18a837c22459158ccaa3ac5c1c8 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -234,28 +228,16 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'msg_title' => 'msg_title',
-        'msg_subject' => 'msg_subject',
-        'msg_text' => 'msg_text',
-        'msg_html' => 'msg_html',
-        'is_active' => 'is_active',
-        'workflow_id' => 'workflow_id',
-        'is_default' => 'is_default',
-        'is_reserved' => 'is_reserved',
-        'is_sms' => 'is_sms',
-        'pdf_format_id' => 'pdf_format_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index b1cdb593a73789a4b207b1a34b6ebe6e090c9c64..6bd4ef8ebd7685c1378c21b41c774f7b7cee67bf 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -256,28 +250,16 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'label' => 'label',
-        'name' => 'name',
-        'url' => 'url',
-        'permission' => 'permission',
-        'permission_operator' => 'permission_operator',
-        'parent_id' => 'parent_id',
-        'is_active' => 'is_active',
-        'has_separator' => 'has_separator',
-        'weight' => 'weight',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index bab337d2328f9ea6b7bb2a7511ec1953a73cb099..9a4a3e145ae67503e81c7e409f372b755afb446a 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -228,25 +222,16 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'note' => 'note',
-        'contact_id' => 'contact_id',
-        'modified_date' => 'modified_date',
-        'subject' => 'subject',
-        'privacy' => 'privacy',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index f46e9218eef3d64fc8cfcd52335c5f3132b41840..66345571f4598cbb3d26359f9c54705c4310600a 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -184,23 +178,16 @@ class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'location_type_id' => 'location_type_id',
-        'openid' => 'openid',
-        'allowed_to_login' => 'allowed_to_login',
-        'is_primary' => 'is_primary',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index da200160916738113c8d353668e1ebd6dbc112f5..4ba6118492e7a5f6b6d389524cb9c25ffcd3c280 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -181,24 +175,16 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'description' => 'description',
-        'is_reserved' => 'is_reserved',
-        'is_active' => 'is_active',
-        'is_locked' => 'is_locked',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index d50016e912b177e0d406fbed4df5adc35a5b0acb..16d688fe73c61bbad7bdf497f5d595b52b1c2bf9 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -342,33 +336,16 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'option_group_id' => 'option_group_id',
-        'label' => 'label',
-        'value' => 'value',
-        'name' => 'name',
-        'grouping' => 'grouping',
-        'filter' => 'filter',
-        'is_default' => 'is_default',
-        'weight' => 'weight',
-        'description' => 'description',
-        'is_optgroup' => 'is_optgroup',
-        'is_reserved' => 'is_reserved',
-        'is_active' => 'is_active',
-        'component_id' => 'component_id',
-        'domain_id' => 'domain_id',
-        'visibility_id' => 'visibility_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e0df0794a84bba08edb03136264b595e9bc07a40..d4dc2dc1f0251812ead508d5e289798a20a93575 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Persistent extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -156,22 +150,16 @@ class CRM_Core_DAO_Persistent extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'context' => 'context',
-        'name' => 'name',
-        'data' => 'data',
-        'is_config' => 'is_config',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index dedb23359e96696b5f71d985a74621f77e70f8c3..baff5b289b21cd9f49df81e2f87ad7fe10e3a7b3 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -260,27 +254,16 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'location_type_id' => 'location_type_id',
-        'is_primary' => 'is_primary',
-        'is_billing' => 'is_billing',
-        'mobile_provider_id' => 'mobile_provider_id',
-        'phone' => 'phone',
-        'phone_ext' => 'phone_ext',
-        'phone_numeric' => 'phone_numeric',
-        'phone_type_id' => 'phone_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 483c70e07ee20b106c0d59244a0018b23e614c1c..f71162bd0cd3c423c421dfd5457861b1b1b85f6d 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -182,24 +176,16 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'description' => 'description',
-        'start' => 'start',
-        'end' => 'end',
-        'date_format' => 'date_format',
-        'time_format' => 'time_format',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 6684c99bfd4af16eb5acd75fe8ca53671942a4be..c0e1709263dd3b88c247f33e8d3953bc01274925 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -175,24 +169,16 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id1' => 'entity_id1',
-        'entity_id2' => 'entity_id2',
-        'cacheKey' => 'cacheKey',
-        'data' => 'data',
-        'is_selected' => 'is_selected',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 91d69480e7124395a45fd80b77a0ee1f5173fabb..e85d4629afb57805e3aa0e52bdb566244ab8bac7 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -256,28 +250,16 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'title' => 'title',
-        'name' => 'name',
-        'description' => 'description',
-        'label_format_name' => 'label_format_name',
-        'label_type_id' => 'label_type_id',
-        'data' => 'data',
-        'is_default' => 'is_default',
-        'is_active' => 'is_active',
-        'is_reserved' => 'is_reserved',
-        'created_id' => 'created_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index d7ed30781c623299d688e76370cb67699599fcff..7b0fe4e4a7952369b233ee3966dff4e63648b0c6 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -153,22 +147,16 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'parent_id' => 'parent_id',
-        'entity_id' => 'entity_id',
-        'entity_table' => 'entity_table',
-        'mode' => 'mode',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 0af49a91324876e9a3618d6fc099a923e434a669..801dc6cffc5cc10833ac7d23d5dec6a6c986807c 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -231,26 +225,16 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'value' => 'value',
-        'domain_id' => 'domain_id',
-        'contact_id' => 'contact_id',
-        'is_domain' => 'is_domain',
-        'component_id' => 'component_id',
-        'created_date' => 'created_date',
-        'created_id' => 'created_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 113a029f200494ce1a21fadcd7bff106852cca25..ff0d3b210e69c111acb4392d5ad3496a216e53b9 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -161,21 +155,16 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'abbreviation' => 'abbreviation',
-        'country_id' => 'country_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 828ea5efecf0dfdabb0cddc602bf364eb785c873..8c55dd0af83e1816957c20555ed327eddb9ad1be 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -220,24 +214,16 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'name' => 'name',
-        'hush_until' => 'hush_until',
-        'ignore_severity' => 'ignore_severity',
-        'prefs' => 'prefs',
-        'check_info' => 'check_info',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 5f00b39a87c3440379eb4a33e60ddb4fc901d637..ecb87a12944e7f7232853a7bab6f728223f097fc 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -182,24 +176,16 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'message' => 'message',
-        'context' => 'context',
-        'level' => 'level',
-        'timestamp' => 'timestamp',
-        'contact_id' => 'contact_id',
-        'hostname' => 'hostname',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2670780d52d8b8f064a59c7c07a266628d687c5a..f2dae21406c17c90db84eae6075e19f01710cebf 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -236,27 +230,16 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'description' => 'description',
-        'parent_id' => 'parent_id',
-        'is_selectable' => 'is_selectable',
-        'is_reserved' => 'is_reserved',
-        'is_tagset' => 'is_tagset',
-        'used_for' => 'used_for',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 788ba9a2ff5742ad534f7f7eaa1f12c354ad16ac..2d34c34de70b06983d0c42c6717b555a5ee01c21 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -180,23 +174,16 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'abbreviation' => 'abbreviation',
-        'gmt' => 'gmt',
-        'offset' => 'offset',
-        'country_id' => 'country_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e7b90635b4a80c865bf3db5c20275cd885a42439..d0ef03695d96966fe402314d03c84a073cda7e8b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -362,36 +356,16 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'uf_group_id' => 'uf_group_id',
-        'field_name' => 'field_name',
-        'is_active' => 'is_active',
-        'is_view' => 'is_view',
-        'is_required' => 'is_required',
-        'weight' => 'weight',
-        'help_post' => 'help_post',
-        'help_pre' => 'help_pre',
-        'visibility' => 'visibility',
-        'in_selector' => 'in_selector',
-        'is_searchable' => 'is_searchable',
-        'location_type_id' => 'location_type_id',
-        'phone_type_id' => 'phone_type_id',
-        'website_type_id' => 'website_type_id',
-        'label' => 'label',
-        'field_type' => 'field_type',
-        'is_reserved' => 'is_reserved',
-        'is_multi_summary' => 'is_multi_summary',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 5f9fd7946b19f09ed09dfc6f934d44086174b407..8e72eb2cf33a26d9dec77bbd31115962ae930bfe 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -413,40 +407,16 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'is_active' => 'is_active',
-        'group_type' => 'group_type',
-        'title' => 'title',
-        'description' => 'description',
-        'help_pre' => 'help_pre',
-        'help_post' => 'help_post',
-        'limit_listings_group_id' => 'limit_listings_group_id',
-        'post_URL' => 'post_URL',
-        'add_to_group_id' => 'add_to_group_id',
-        'add_captcha' => 'add_captcha',
-        'is_map' => 'is_map',
-        'is_edit_link' => 'is_edit_link',
-        'is_uf_link' => 'is_uf_link',
-        'is_update_dupe' => 'is_update_dupe',
-        'cancel_URL' => 'cancel_URL',
-        'is_cms_user' => 'is_cms_user',
-        'notify' => 'notify',
-        'is_reserved' => 'is_reserved',
-        'name' => 'name',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'is_proximity_search' => 'is_proximity_search',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 27a7d86f4b2350281846cfe8fe55fc53071a0063..82f75371c3055c051763223ad5b8316c9b7bb46f 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -220,25 +214,16 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'is_active' => 'is_active',
-        'module' => 'module',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'weight' => 'weight',
-        'uf_group_id' => 'uf_group_id',
-        'module_data' => 'module_data',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 10b4fbc9db9b5b8fe04f81baac73eb7825898d30..ac0c2609bfc1ec7f4261bb31c47b2e0373dd4c63 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -188,23 +182,16 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'uf_id' => 'uf_id',
-        'uf_name' => 'uf_name',
-        'contact_id' => 'contact_id',
-        'language' => 'language',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index a99b7580e0c344472f1c5742902dd1ed174a0307..ab1c238ac431772c3e0093c4b6612b7157276137 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -168,21 +162,16 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id' => 'contact_id',
-        'url' => 'url',
-        'website_type_id' => 'website_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 09c65a762f7e450a1fcf909683abe1c3fdf0de05..38371de6c22c59bce7a78adcc043bba037111cb4 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -192,23 +186,16 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'find_word' => 'find_word',
-        'replace_word' => 'replace_word',
-        'is_active' => 'is_active',
-        'match_type' => 'match_type',
-        'domain_id' => 'domain_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 901e8274f9800ba728f34ee8724c94f74dbf4b0c..f3f97698ce24b5afd5234f5e977caf1220c5185b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -119,19 +113,16 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'world_region',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index fb68a9edec4ea6b9e0365d06b5c330df0f3cb65f..56550282ea86d3787d422664060509ee564e0e28 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -232,28 +226,16 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'app_guid' => 'app_guid',
-        'app_meta' => 'app_meta',
-        'cxn_guid' => 'cxn_guid',
-        'secret' => 'secret',
-        'perm' => 'perm',
-        'options' => 'options',
-        'is_active' => 'is_active',
-        'created_date' => 'created_date',
-        'modified_date' => 'modified_date',
-        'fetched_date' => 'fetched_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 3c1252156ecb600df879e1362a0b316303ece203..ac2ee43d7269f66a269beb9fa58247a7b2a8c87b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Dedupe_DAO_Exception extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -141,20 +135,16 @@ class CRM_Dedupe_DAO_Exception extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_id1' => 'contact_id1',
-        'contact_id2' => 'contact_id2',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 08469ab69b0cf334dc6930821ceff01bbfeaa20f..0e80a60b8e9954598140fb44678f6b7226de0970 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Dedupe_DAO_Rule extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -189,23 +183,16 @@ class CRM_Dedupe_DAO_Rule extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'dedupe_rule_group_id' => 'dedupe_rule_group_id',
-        'rule_table' => 'rule_table',
-        'rule_field' => 'rule_field',
-        'rule_length' => 'rule_length',
-        'rule_weight' => 'rule_weight',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index b5b71fb8ecce0c2b47079763367e82ae8f6c3cae..d024449ebf5a496bae35d2362793d906a00bdfa9 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -207,24 +201,16 @@ class CRM_Dedupe_DAO_RuleGroup extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'contact_type' => 'contact_type',
-        'threshold' => 'threshold',
-        'used' => 'used',
-        'name' => 'name',
-        'title' => 'title',
-        'is_reserved' => 'is_reserved',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 64441f3994d9c353ae821207b72efb6360b1be42..3eb2e1c90f1a6d9c0306cbb3cc3c729d08beb1e6 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -137,20 +131,16 @@ class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'cart_id',
-        'user_id' => 'user_id',
-        'completed' => 'completed',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index f2e2d595f8d241bb92de9c5461d8c81a91ec8a04..f60b8ce4313f3d1dfb547107ca8c671f1c881002 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -141,20 +135,16 @@ class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'event_in_cart_id',
-        'event_id' => 'event_id',
-        'event_cart_id' => 'event_cart_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 30973f607b68b897681a2ef84926017c7108d0c9..31acda1bdaa66112ce9c7d04a145a4185c195476 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -1262,86 +1256,16 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'title' => 'event_title',
-        'summary' => 'summary',
-        'description' => 'event_description',
-        'event_type_id' => 'event_type_id',
-        'participant_listing_id' => 'participant_listing_id',
-        'is_public' => 'is_public',
-        'start_date' => 'event_start_date',
-        'end_date' => 'event_end_date',
-        'is_online_registration' => 'is_online_registration',
-        'registration_link_text' => 'registration_link_text',
-        'registration_start_date' => 'registration_start_date',
-        'registration_end_date' => 'registration_end_date',
-        'max_participants' => 'max_participants',
-        'event_full_text' => 'event_full_text',
-        'is_monetary' => 'is_monetary',
-        'financial_type_id' => 'financial_type_id',
-        'payment_processor' => 'payment_processor',
-        'is_map' => 'is_map',
-        'is_active' => 'is_active',
-        'fee_label' => 'fee_label',
-        'is_show_location' => 'is_show_location',
-        'loc_block_id' => 'loc_block_id',
-        'default_role_id' => 'default_role_id',
-        'intro_text' => 'intro_text',
-        'footer_text' => 'footer_text',
-        'confirm_title' => 'confirm_title',
-        'confirm_text' => 'confirm_text',
-        'confirm_footer_text' => 'confirm_footer_text',
-        'is_email_confirm' => 'is_email_confirm',
-        'confirm_email_text' => 'confirm_email_text',
-        'confirm_from_name' => 'confirm_from_name',
-        'confirm_from_email' => 'confirm_from_email',
-        'cc_confirm' => 'cc_confirm',
-        'bcc_confirm' => 'bcc_confirm',
-        'default_fee_id' => 'default_fee_id',
-        'default_discount_fee_id' => 'default_discount_fee_id',
-        'thankyou_title' => 'thankyou_title',
-        'thankyou_text' => 'thankyou_text',
-        'thankyou_footer_text' => 'thankyou_footer_text',
-        'is_pay_later' => 'is_pay_later',
-        'pay_later_text' => 'pay_later_text',
-        'pay_later_receipt' => 'pay_later_receipt',
-        'is_partial_payment' => 'is_partial_payment',
-        'initial_amount_label' => 'initial_amount_label',
-        'initial_amount_help_text' => 'initial_amount_help_text',
-        'min_initial_amount' => 'min_initial_amount',
-        'is_multiple_registrations' => 'is_multiple_registrations',
-        'max_additional_participants' => 'max_additional_participants',
-        'allow_same_participant_emails' => 'allow_same_participant_emails',
-        'has_waitlist' => 'has_waitlist',
-        'requires_approval' => 'requires_approval',
-        'expiration_time' => 'expiration_time',
-        'allow_selfcancelxfer' => 'allow_selfcancelxfer',
-        'selfcancelxfer_time' => 'selfcancelxfer_time',
-        'waitlist_text' => 'waitlist_text',
-        'approval_req_text' => 'approval_req_text',
-        'is_template' => 'is_template',
-        'template_title' => 'template_title',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'currency' => 'currency',
-        'campaign_id' => 'campaign_id',
-        'is_share' => 'is_share',
-        'is_confirm_enabled' => 'is_confirm_enabled',
-        'parent_event_id' => 'parent_event_id',
-        'slot_label_id' => 'slot_label_id',
-        'dedupe_rule_group_id' => 'dedupe_rule_group_id',
-        'is_billing_required' => 'is_billing_required',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 61b4963d7fc92518f596f0772d9c60d145add6c4..7ad37cbcd2634387c2d46f1a75aa59e20dd3798b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -467,36 +461,16 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'participant_id',
-        'contact_id' => 'participant_contact_id',
-        'event_id' => 'event_id',
-        'status_id' => 'participant_status_id',
-        'role_id' => 'participant_role_id',
-        'register_date' => 'participant_register_date',
-        'source' => 'participant_source',
-        'fee_level' => 'participant_fee_level',
-        'is_test' => 'participant_is_test',
-        'is_pay_later' => 'participant_is_pay_later',
-        'fee_amount' => 'participant_fee_amount',
-        'registered_by_id' => 'participant_registered_by_id',
-        'discount_id' => 'participant_discount_id',
-        'fee_currency' => 'participant_fee_currency',
-        'campaign_id' => 'participant_campaign_id',
-        'discount_amount' => 'discount_amount',
-        'cart_id' => 'cart_id',
-        'must_wait' => 'must_wait',
-        'transferred_to_contact_id' => 'transferred_to_contact_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 37f6ad86805de5f484652d7c001e1fcb6f37356a..33e2e64f7886fd494c1c1c5b54ee17d3832d71cd 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -143,20 +137,16 @@ class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'participant_id' => 'participant_id',
-        'contribution_id' => 'contribution_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 6073a64b016dba6a5413f1255c0e49f3094088c8..bac7d1cc5b8ec6e09b318c7734f23340425f5f84 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -223,26 +217,16 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'participant_status',
-        'label' => 'label',
-        'class' => 'class',
-        'is_reserved' => 'is_reserved',
-        'is_active' => 'is_active',
-        'is_counted' => 'is_counted',
-        'weight' => 'weight',
-        'visibility_id' => 'visibility_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 79abca083a5fa01c7383de951fc226f18e2670be..cbcf6170ee5e684d6a0b312b38e7bfa03126f7b0 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -176,22 +170,16 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'symbol' => 'symbol',
-        'numeric_code' => 'numeric_code',
-        'full_name' => 'full_name',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2ca5782bba94807fe90e352f83ef96ad99c86c11..2284b8001edf7e02ddd17ccdacb6e559d435c4e5 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -190,22 +184,16 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'account_relationship' => 'account_relationship',
-        'financial_account_id' => 'financial_account_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 7436aa893b4781e24393b19eb277d5c6afe96579..b5bde91ddcffcc7da81f80c54597521904ce4506 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -179,22 +173,16 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'financial_trxn_id' => 'financial_trxn_id',
-        'amount' => 'amount',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 53a1f556768780c1f41d1357252da448d4413a83..2eaab01205b1dfcefe57c44ffafde3e3bbde4a2b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -348,34 +342,16 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'contact_id' => 'financial_account_contact_id',
-        'financial_account_type_id' => 'financial_account_type_id',
-        'accounting_code' => 'accounting_code',
-        'account_type_code' => 'account_type_code',
-        'description' => 'description',
-        'parent_id' => 'parent_id',
-        'is_header_account' => 'is_header_account',
-        'is_deductible' => 'is_deductible',
-        'is_tax' => 'is_tax',
-        'tax_rate' => 'tax_rate',
-        'is_reserved' => 'is_reserved',
-        'is_active' => 'is_active',
-        'is_default' => 'is_default',
-        'opening_balance' => 'opening_balance',
-        'current_period_opening_balance' => 'current_period_opening_balance',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 336e1ab9c4663d16f6354abfebe3ed3e02aa1014..81424f2c43a12cf404d18d44a8ff8d66823124ce 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -287,28 +281,16 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'created_date' => 'created_date',
-        'transaction_date' => 'transaction_date',
-        'contact_id' => 'contact_id',
-        'description' => 'description',
-        'amount' => 'amount',
-        'currency' => 'currency',
-        'financial_account_id' => 'financial_account_id',
-        'status_id' => 'status_id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index bbe94b8afb4c6c7d56a650c2d6a9d346f2e2798d..103a44c6da7123e3a1f48d69f473955b32d570cb 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -362,32 +356,16 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'from_financial_account_id' => 'from_financial_account_id',
-        'to_financial_account_id' => 'to_financial_account_id',
-        'trxn_date' => 'trxn_date',
-        'total_amount' => 'total_amount',
-        'fee_amount' => 'fee_amount',
-        'net_amount' => 'net_amount',
-        'currency' => 'currency',
-        'is_payment' => 'is_payment',
-        'trxn_id' => 'trxn_id',
-        'trxn_result_code' => 'trxn_result_code',
-        'status_id' => 'status_id',
-        'payment_processor_id' => 'payment_processor_id',
-        'payment_instrument_id' => 'financial_trxn_payment_instrument_id',
-        'check_number' => 'financial_trxn_check_number',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 0e557632d123e68323a27cc011ac120bb09c318c..b6c467c5ce8f200f6b03b90a1967231c2274e8ca 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -172,23 +166,16 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'financial_type',
-        'description' => 'description',
-        'is_deductible' => 'is_deductible',
-        'is_reserved' => 'is_reserved',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 1b5c73239ba2087c5002952013de3e128722f6ac..e2d91e683f97f27a23d6c37776220a6cfbd1d6b7 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -375,38 +369,16 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'name' => 'name',
-        'description' => 'description',
-        'payment_processor_type_id' => 'payment_processor_type_id',
-        'is_active' => 'is_active',
-        'is_default' => 'is_default',
-        'is_test' => 'is_test',
-        'user_name' => 'user_name',
-        'password' => 'password',
-        'signature' => 'signature',
-        'url_site' => 'url_site',
-        'url_api' => 'url_api',
-        'url_recur' => 'url_recur',
-        'url_button' => 'url_button',
-        'subject' => 'subject',
-        'class_name' => 'class_name',
-        'billing_mode' => 'billing_mode',
-        'is_recur' => 'is_recur',
-        'payment_type' => 'payment_type',
-        'payment_instrument_id' => 'payment_instrument_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index f578c3c9862608d41024beb409a2eef63c1e6622..d1ef543e359ddb37ba255932e949385ec2dd9252 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -384,40 +378,16 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'description' => 'description',
-        'is_active' => 'is_active',
-        'is_default' => 'is_default',
-        'user_name_label' => 'user_name_label',
-        'password_label' => 'password_label',
-        'signature_label' => 'signature_label',
-        'subject_label' => 'subject_label',
-        'class_name' => 'class_name',
-        'url_site_default' => 'url_site_default',
-        'url_api_default' => 'url_api_default',
-        'url_recur_default' => 'url_recur_default',
-        'url_button_default' => 'url_button_default',
-        'url_site_test_default' => 'url_site_test_default',
-        'url_api_test_default' => 'url_api_test_default',
-        'url_recur_test_default' => 'url_recur_test_default',
-        'url_button_test_default' => 'url_button_test_default',
-        'billing_mode' => 'billing_mode',
-        'is_recur' => 'is_recur',
-        'payment_type' => 'payment_type',
-        'payment_instrument_id' => 'payment_instrument_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index d1b6a6a2fdf6999eb54ac6f225986b227c420893..acb6914b7a715d52baace2566b51f172d328022f 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -279,30 +273,16 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'payment_token_id',
-        'contact_id' => 'contact_id',
-        'payment_processor_id' => 'payment_processor_id',
-        'token' => 'token',
-        'created_date' => 'created_date',
-        'created_id' => 'created_id',
-        'expiry_date' => 'expiry_date',
-        'email' => 'email',
-        'billing_first_name' => 'billing_first_name',
-        'billing_middle_name' => 'billing_middle_name',
-        'billing_last_name' => 'billing_last_name',
-        'masked_account_number' => 'masked_account_number',
-        'ip_address' => 'ip_address',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index f8f303956d17212b1d14f2a12aba0662c038a0e5..105089037df484e499ca525f225342bec72d6374 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -254,27 +248,16 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'title' => 'title',
-        'intro' => 'intro',
-        'suggested_message' => 'suggested_message',
-        'general_link' => 'general_link',
-        'thankyou_title' => 'thankyou_title',
-        'thankyou_text' => 'thankyou_text',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 5bd37e837aa0979224cab5a61e77b92506b40e86..761ed0cbb49cb7e4a2bc7e3d147e3794a30dec57 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -414,32 +408,16 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'grant_id',
-        'contact_id' => 'grant_contact_id',
-        'application_received_date' => 'application_received_date',
-        'decision_date' => 'decision_date',
-        'money_transfer_date' => 'grant_money_transfer_date',
-        'grant_due_date' => 'grant_due_date',
-        'grant_report_received' => 'grant_report_received',
-        'grant_type_id' => 'grant_type_id',
-        'amount_total' => 'amount_total',
-        'amount_requested' => 'amount_requested',
-        'amount_granted' => 'amount_granted',
-        'currency' => 'currency',
-        'rationale' => 'rationale',
-        'status_id' => 'grant_status_id',
-        'financial_type_id' => 'financial_type_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index da29da5070e29dca14ab4a5d759cd630c09b3cdf..127ebae86165c7b4979b0b54368dcdcbc93c8351 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -140,20 +134,16 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'bounce_type_id' => 'bounce_type_id',
-        'pattern' => 'pattern',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index c31528c671f1bd2cd0972dcafab7146abc26c119..72848f53ae4c243f80621eed0f8ce94e9792f68e 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -141,21 +135,16 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'description' => 'description',
-        'hold_threshold' => 'hold_threshold',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 8e71b90b9705fcb38e3ca739f6dd5ac4d5bea671..75fe0a893d260ab34ff1af58a000e35319dac368 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -203,25 +197,16 @@ class CRM_Mailing_DAO_Component extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'component_type' => 'component_type',
-        'subject' => 'subject',
-        'body_html' => 'body_html',
-        'body_text' => 'body_text',
-        'is_default' => 'is_default',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index b6ee2d649786ffbc84b6fd47f4d45038ed9c592c..11734073ebe261de1057f8c5424087df8e880850 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -694,56 +688,16 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'header_id' => 'header_id',
-        'footer_id' => 'footer_id',
-        'reply_id' => 'reply_id',
-        'unsubscribe_id' => 'unsubscribe_id',
-        'resubscribe_id' => 'resubscribe_id',
-        'optout_id' => 'optout_id',
-        'name' => 'name',
-        'mailing_type' => 'mailing_type',
-        'from_name' => 'from_name',
-        'from_email' => 'from_email',
-        'replyto_email' => 'replyto_email',
-        'subject' => 'subject',
-        'body_text' => 'body_text',
-        'body_html' => 'body_html',
-        'url_tracking' => 'url_tracking',
-        'forward_replies' => 'forward_replies',
-        'auto_responder' => 'auto_responder',
-        'open_tracking' => 'open_tracking',
-        'is_completed' => 'is_completed',
-        'msg_template_id' => 'msg_template_id',
-        'override_verp' => 'override_verp',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-        'scheduled_id' => 'scheduled_id',
-        'scheduled_date' => 'scheduled_date',
-        'approver_id' => 'approver_id',
-        'approval_date' => 'approval_date',
-        'approval_status_id' => 'approval_status_id',
-        'approval_note' => 'approval_note',
-        'is_archived' => 'is_archived',
-        'visibility' => 'visibility',
-        'campaign_id' => 'campaign_id',
-        'dedupe_email' => 'dedupe_email',
-        'sms_provider_id' => 'sms_provider_id',
-        'hash' => 'hash',
-        'location_type_id' => 'location_type_id',
-        'email_selection_method' => 'email_selection_method',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 910bce6e67766b35c25794f66d6ddf0f70490658..11adea7df6aff2fc0932f57a62d6379d89732144 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -285,31 +279,16 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'status' => 'status',
-        'mailing_id_a' => 'mailing_id_a',
-        'mailing_id_b' => 'mailing_id_b',
-        'mailing_id_c' => 'mailing_id_c',
-        'domain_id' => 'domain_id',
-        'testing_criteria' => 'testing_criteria',
-        'winner_criteria' => 'winner_criteria',
-        'specific_url' => 'specific_url',
-        'declare_winning_time' => 'declare_winning_time',
-        'group_percentage' => 'group_percentage',
-        'created_id' => 'created_id',
-        'created_date' => 'created_date',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 461a0418661905b54da25b2d2961babbadad780c..9e85d4a22f5e82221efcd617ee44f841caea967e 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -202,24 +196,16 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'mailing_id' => 'mailing_id',
-        'group_type' => 'group_type',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'search_id' => 'search_id',
-        'search_args' => 'search_args',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e90b1d2a32cd3300f1d56022bbebd7515818f905..b101953d9689dad3e264517b6302e8a325caf5a5 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -247,28 +241,16 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'mailing_id' => 'mailing_id',
-        'scheduled_date' => 'scheduled_date',
-        'start_date' => 'start_date',
-        'end_date' => 'end_date',
-        'status' => 'status',
-        'is_test' => 'is_test',
-        'job_type' => 'job_type',
-        'parent_id' => 'parent_id',
-        'job_offset' => 'job_offset',
-        'job_limit' => 'job_limit',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 7927419fca74f6489ae1e457c48134ffbf179e46..989982a53ae9c6112e08ae5bc39a0622263815d8 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -171,22 +165,16 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'mailing_id' => 'mailing_id',
-        'contact_id' => 'contact_id',
-        'email_id' => 'email_id',
-        'phone_id' => 'phone_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ee46e2c5110063862f6f670a98ac9247ac9f892a..20dc068a4e365b2cfc65e83795c9ba199042d7bb 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -186,24 +180,16 @@ class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'job_id' => 'job_id',
-        'recipient_email' => 'recipient_email',
-        'headers' => 'headers',
-        'body' => 'body',
-        'added_at' => 'added_at',
-        'removed_at' => 'removed_at',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index bfc5809b672919cd4c1f639fa24ce9e8894e35a9..b9d2e2aea96b804495c7989995a7ecf5fa2229d1 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -139,20 +133,16 @@ class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'url' => 'url',
-        'mailing_id' => 'mailing_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 893328a7ea0c4a97809939bf36a9bde7691abef4..3a5cf486f0681d2ad8f172d8f2a3b8c36a58b259 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -173,22 +167,16 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_queue_id' => 'event_queue_id',
-        'bounce_type_id' => 'bounce_type_id',
-        'bounce_reason' => 'bounce_reason',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 7f82488fbd4cd23191cd2c6932b21dbe087f321c..6bd5c58abb9fb0fcf82f27753d1a4650b88c69e1 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -139,20 +133,16 @@ class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_subscribe_id' => 'event_subscribe_id',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index dcc86b46028c4d3da44cf32acec11140f65df72b..9d6035e030cc74f24d2725391a9dc058ac734574 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -139,20 +133,16 @@ class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_queue_id' => 'event_queue_id',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 6cbfbdb19a1c02fca97f22d79a96290397d251b4..ec40a15ea3c278c002a26e621a6200b5f6359881 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -153,21 +147,16 @@ class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_queue_id' => 'event_queue_id',
-        'dest_queue_id' => 'dest_queue_id',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 8ea1b5c93dc11e48fe2734c4ec21683b23bb59d7..6a07125eaea7b3b1dff4be257b99726728da9ac3 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -139,20 +133,16 @@ class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_queue_id' => 'event_queue_id',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 748802e882950e22666fd1f6335c8dd5e4ae34db..c27df3561d63cc3c5d20cfa5ac436965a1e46cdf 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -186,23 +180,16 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'job_id' => 'job_id',
-        'email_id' => 'email_id',
-        'contact_id' => 'contact_id',
-        'hash' => 'hash',
-        'phone_id' => 'phone_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 57c3b97d0602f3aac42b60a029f5a184435deadc..54908a8ff402e471f2d19ed5134d7af9f37286c9 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -139,20 +133,16 @@ class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_queue_id' => 'event_queue_id',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ce895591a01707e1492bf341146c0317914d4aeb..11fd6ecd5888349e726a367ac19facae718499b2 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -177,22 +171,16 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'group_id' => 'group_id',
-        'contact_id' => 'contact_id',
-        'hash' => 'hash',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index daf185d045967ab6517ee04d79813cfdf1347c95..d753769020b9ac8ebfcd77a3bb8e736843dc20b4 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -154,21 +148,16 @@ class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_queue_id' => 'event_queue_id',
-        'trackable_url_id' => 'trackable_url_id',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 65c0abd5963359f6feef2edf41fad8a468a19584..a98d39684e3ec850beef496f1ab14dcb296adb86 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -152,21 +146,16 @@ class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'event_queue_id' => 'event_queue_id',
-        'org_unsubscribe' => 'org_unsubscribe',
-        'time_stamp' => 'time_stamp',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2171426f3ec955344dc9c3082793ea17bd87518f..32e01a78e5159d1fec3b32683c415d0d4dcff7e0 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -407,32 +401,16 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'membership_id',
-        'contact_id' => 'membership_contact_id',
-        'membership_type_id' => 'membership_type_id',
-        'join_date' => 'join_date',
-        'start_date' => 'membership_start_date',
-        'end_date' => 'membership_end_date',
-        'source' => 'membership_source',
-        'status_id' => 'status_id',
-        'is_override' => 'is_override',
-        'owner_membership_id' => 'owner_membership_id',
-        'max_related' => 'max_related',
-        'is_test' => 'member_is_test',
-        'is_pay_later' => 'member_is_pay_later',
-        'contribution_recur_id' => 'contribution_recur_id',
-        'campaign_id' => 'member_campaign_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 4c858d519740a37f98cdce27de31e2363599f7f3..6dcf57a271f298b511572b4d66963f9a5f0347fd 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -273,30 +267,16 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'membership_types' => 'membership_types',
-        'membership_type_default' => 'membership_type_default',
-        'display_min_fee' => 'display_min_fee',
-        'is_separate_payment' => 'is_separate_payment',
-        'new_title' => 'new_title',
-        'new_text' => 'new_text',
-        'renewal_title' => 'renewal_title',
-        'renewal_text' => 'renewal_text',
-        'is_required' => 'is_required',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 73cca133499b49b5e921d5da7b2e7c3fb43cebe5..c5066b1cc34b516cc241ea1919fd5922b54074fb 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -217,26 +211,16 @@ class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'membership_id' => 'membership_id',
-        'status_id' => 'status_id',
-        'start_date' => 'start_date',
-        'end_date' => 'end_date',
-        'modified_id' => 'modified_id',
-        'modified_date' => 'modified_date',
-        'membership_type_id' => 'membership_type_id',
-        'max_related' => 'max_related',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index da6c25ce8d8b05819a1faf17626e83f7a4b32f81..d182036e444686db1b6f4248dd552336b09f6dcc 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -140,20 +134,16 @@ class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'membership_id' => 'membership_id',
-        'contribution_id' => 'contribution_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e8cdf6501f463ddcf256940b25263c5f3dc18721..1c50b591479f35945157f60818a754d88433038f 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -309,32 +303,16 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'membership_status',
-        'label' => 'label',
-        'start_event' => 'start_event',
-        'start_event_adjust_unit' => 'start_event_adjust_unit',
-        'start_event_adjust_interval' => 'start_event_adjust_interval',
-        'end_event' => 'end_event',
-        'end_event_adjust_unit' => 'end_event_adjust_unit',
-        'end_event_adjust_interval' => 'end_event_adjust_interval',
-        'is_current_member' => 'is_current_member',
-        'is_admin' => 'is_admin',
-        'weight' => 'weight',
-        'is_default' => 'is_default',
-        'is_active' => 'is_active',
-        'is_reserved' => 'is_reserved',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 0cad73d35cc6ec8f7fb402d02458d230a6f70c1f..e13b9c994c88ed6a14a6b95491cdb7acf697ea81 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -421,38 +415,16 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'name' => 'membership_type',
-        'description' => 'description',
-        'member_of_contact_id' => 'member_of_contact_id',
-        'financial_type_id' => 'financial_type_id',
-        'minimum_fee' => 'minimum_fee',
-        'duration_unit' => 'duration_unit',
-        'duration_interval' => 'duration_interval',
-        'period_type' => 'period_type',
-        'fixed_period_start_day' => 'fixed_period_start_day',
-        'fixed_period_rollover_day' => 'fixed_period_rollover_day',
-        'relationship_type_id' => 'relationship_type_id',
-        'relationship_direction' => 'relationship_direction',
-        'max_related' => 'max_related',
-        'visibility' => 'visibility',
-        'weight' => 'weight',
-        'receipt_text_signup' => 'receipt_text_signup',
-        'receipt_text_renewal' => 'receipt_text_renewal',
-        'auto_renew' => 'auto_renew',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index eedd42e78bd6c254610d699c452a5928370ebd6f..184e4fca91dd2c04ab411a544fc4606bc38802af 100644 (file)
@@ -47,12 +47,6 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -352,33 +346,16 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'pcp_id',
-        'contact_id' => 'pcp_contact_id',
-        'status_id' => 'status_id',
-        'title' => 'title',
-        'intro_text' => 'intro_text',
-        'page_text' => 'page_text',
-        'donate_link_text' => 'donate_link_text',
-        'page_id' => 'page_id',
-        'page_type' => 'page_type',
-        'pcp_block_id' => 'pcp_block_id',
-        'is_thermometer' => 'is_thermometer',
-        'is_honor_roll' => 'is_honor_roll',
-        'goal_amount' => 'goal_amount',
-        'currency' => 'currency',
-        'is_active' => 'is_active',
-        'is_notify' => 'is_notify',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index ec1c2b8a06372707cb4fb5efc0a110399502a378..51c5f866bfe12d18af3f252fefbae7add48f7faf 100644 (file)
@@ -47,12 +47,6 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -285,30 +279,16 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'target_entity_type' => 'target_entity_type',
-        'target_entity_id' => 'target_entity_id',
-        'supporter_profile_id' => 'supporter_profile_id',
-        'owner_notify_id' => 'owner_notify_id',
-        'is_approval_needed' => 'is_approval_needed',
-        'is_tellfriend_enabled' => 'is_tellfriend_enabled',
-        'tellfriend_limit' => 'tellfriend_limit',
-        'link_text' => 'link_text',
-        'is_active' => 'is_active',
-        'notify_email' => 'notify_email',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 2f8a5a8bc278d1e237b9aff13b9b7d969b90b878..60a589a0c01d4e46841194ec98e4f76c7dd9ddbc 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -527,40 +521,16 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'pledge_id',
-        'contact_id' => 'pledge_contact_id',
-        'financial_type_id' => 'pledge_financial_type_id',
-        'contribution_page_id' => 'pledge_contribution_page_id',
-        'amount' => 'pledge_amount',
-        'original_installment_amount' => 'pledge_original_installment_amount',
-        'currency' => 'currency',
-        'frequency_unit' => 'pledge_frequency_unit',
-        'frequency_interval' => 'pledge_frequency_interval',
-        'frequency_day' => 'frequency_day',
-        'installments' => 'installments',
-        'start_date' => 'start_date',
-        'create_date' => 'pledge_create_date',
-        'acknowledge_date' => 'acknowledge_date',
-        'modified_date' => 'modified_date',
-        'cancel_date' => 'cancel_date',
-        'end_date' => 'end_date',
-        'max_reminders' => 'max_reminders',
-        'initial_reminder_day' => 'initial_reminder_day',
-        'additional_reminder_day' => 'additional_reminder_day',
-        'status_id' => 'pledge_status_id',
-        'is_test' => 'pledge_is_test',
-        'campaign_id' => 'pledge_campaign_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 41159d153130cac032b35143d620cbf98144015f..50b89493b056911bff0db33036186fc840dd7e89 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -246,28 +240,16 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'pledge_frequency_unit' => 'pledge_frequency_unit',
-        'is_pledge_interval' => 'is_pledge_interval',
-        'max_reminders' => 'max_reminders',
-        'initial_reminder_day' => 'initial_reminder_day',
-        'additional_reminder_day' => 'additional_reminder_day',
-        'pledge_start_date' => 'pledge_start_date',
-        'is_pledge_start_date_visible' => 'is_pledge_start_date_visible',
-        'is_pledge_start_date_editable' => 'is_pledge_start_date_editable',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index b4f11f4ae098d6dac889cba90c3c3e28721d4c5b..98f60338dac5cc02c17871f1fab030346c5dae35 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -283,27 +277,16 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'pledge_payment_id',
-        'pledge_id' => 'pledge_id',
-        'contribution_id' => 'contribution_id',
-        'scheduled_amount' => 'pledge_payment_scheduled_amount',
-        'actual_amount' => 'pledge_payment_actual_amount',
-        'currency' => 'currency',
-        'scheduled_date' => 'pledge_payment_scheduled_date',
-        'reminder_date' => 'pledge_payment_reminder_date',
-        'reminder_count' => 'pledge_payment_reminder_count',
-        'status_id' => 'pledge_payment_status_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index bb86f1b1fb5e8e9ed5f4289c6dbdbb1c9e7512d5..1e57610ecffc6fe88072c17c4a6a07b90d937371 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -344,31 +338,16 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'contribution_id' => 'contribution_id',
-        'price_field_id' => 'price_field_id',
-        'label' => 'label',
-        'qty' => 'qty',
-        'unit_price' => 'unit_price',
-        'line_total' => 'line_total',
-        'participant_count' => 'participant_count',
-        'price_field_value_id' => 'price_field_value_id',
-        'financial_type_id' => 'financial_type_id',
-        'deductible_amount' => 'deductible_amount',
-        'tax_amount' => 'tax_amount',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 7c139a23de4f389a8b8dd221505a6327bb46814d..af87460cb00cbc1bb174c9f91b53de442563ae13 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -381,34 +375,16 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'price_set_id' => 'price_set_id',
-        'name' => 'name',
-        'label' => 'label',
-        'html_type' => 'html_type',
-        'is_enter_qty' => 'is_enter_qty',
-        'help_pre' => 'help_pre',
-        'help_post' => 'help_post',
-        'weight' => 'weight',
-        'is_display_amounts' => 'is_display_amounts',
-        'options_per_line' => 'options_per_line',
-        'is_active' => 'is_active',
-        'is_required' => 'is_required',
-        'active_on' => 'active_on',
-        'expire_on' => 'expire_on',
-        'javascript' => 'javascript',
-        'visibility_id' => 'visibility_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 14c6b7446dda0e9377ab6ee239137981d6883b11..5081ef2d0a1334994db7cde7e46e74a6a81da04a 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -388,34 +382,16 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'price_field_id' => 'price_field_id',
-        'name' => 'name',
-        'label' => 'label',
-        'description' => 'description',
-        'help_pre' => 'help_pre',
-        'help_post' => 'help_post',
-        'amount' => 'amount',
-        'count' => 'count',
-        'max_value' => 'max_value',
-        'weight' => 'weight',
-        'membership_type_id' => 'membership_type_id',
-        'membership_num_terms' => 'membership_num_terms',
-        'is_default' => 'is_default',
-        'is_active' => 'is_active',
-        'financial_type_id' => 'financial_type_id',
-        'deductible_amount' => 'deductible_amount',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index e8ca215ddfc6db5d01d4da22fb4b3fcf996560f6..dedd093acd18746df538b12962fd80cf71f53c42 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -314,29 +308,16 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'name' => 'name',
-        'title' => 'title',
-        'is_active' => 'is_active',
-        'help_pre' => 'help_pre',
-        'help_post' => 'help_post',
-        'javascript' => 'javascript',
-        'extends' => 'extends',
-        'financial_type_id' => 'financial_type_id',
-        'is_quick_config' => 'is_quick_config',
-        'is_reserved' => 'is_reserved',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index feaa971e84d3775370ca7dbbdf6328bbe5edfbf2..0d56840eba3cad151963a1d6729b16b58b661e8c 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -157,21 +151,16 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'entity_table' => 'entity_table',
-        'entity_id' => 'entity_id',
-        'price_set_id' => 'price_set_id',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 8c64aeb38139b9d78949814e0d5493fbe46ff274..d07c926ea7e083435be7cde4ad6f687a85576e98 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -174,23 +168,16 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'queue_name' => 'queue_name',
-        'weight' => 'weight',
-        'submit_time' => 'submit_time',
-        'release_time' => 'release_time',
-        'data' => 'data',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 478666c7a3da99fda273222ee04c7f943713f53f..3370048a17ecf04375927c2f38bd77824ef72d3b 100644 (file)
@@ -47,12 +47,6 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -445,38 +439,16 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'domain_id' => 'domain_id',
-        'title' => 'title',
-        'report_id' => 'report_id',
-        'name' => 'name',
-        'args' => 'args',
-        'description' => 'description',
-        'permission' => 'permission',
-        'grouprole' => 'grouprole',
-        'form_values' => 'form_values',
-        'is_active' => 'is_active',
-        'created_id' => 'created_id',
-        'owner_id' => 'owner_id',
-        'email_subject' => 'email_subject',
-        'email_to' => 'email_to',
-        'email_cc' => 'email_cc',
-        'header' => 'header',
-        'footer' => 'footer',
-        'navigation_id' => 'navigation_id',
-        'drilldown_id' => 'drilldown_id',
-        'is_reserved' => 'is_reserved',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table
index 3f866289595123f237ef47cd60d588b0d3f4a568..5606ad24d9bb8e3883ea369eafbae62797e4ab87 100644 (file)
@@ -47,12 +47,6 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
    * @var array
    */
   static $_fields = null;
-  /**
-   * static instance to hold the keys used in $_fields for each field.
-   *
-   * @var array
-   */
-  static $_fieldKeys = null;
   /**
    * static instance to hold the FK relationships
    *
@@ -234,27 +228,16 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
     return self::$_fields;
   }
   /**
-   * Returns an array containing, for each field, the arary key used for that
-   * field in self::$_fields.
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
    *
    * @return array
+   *   Array(string $name => string $uniqueName).
    */
   static function &fieldKeys() {
-    if (!(self::$_fieldKeys)) {
-      self::$_fieldKeys = array(
-        'id' => 'id',
-        'name' => 'name',
-        'title' => 'title',
-        'username' => 'username',
-        'password' => 'password',
-        'api_type' => 'api_type',
-        'api_url' => 'api_url',
-        'api_params' => 'api_params',
-        'is_default' => 'is_default',
-        'is_active' => 'is_active',
-      );
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
     }
-    return self::$_fieldKeys;
+    return Civi::$statics[__CLASS__]['fieldKeys'];
   }
   /**
    * Returns the names of this table