X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FDAO%2FAddressFormat.php;h=3e31107d9e14eb1b5fa2d318ea5d3a1d0e20c6b5;hb=a8f56d7109e2ae12ed502df0c89e5a89893ac3ca;hp=3bf875d3e4b36557aa1f143c4252386e96db7c92;hpb=437fafcfbc5284ebe4225d58a235cc6d8882dda8;p=civicrm-core.git diff --git a/CRM/Core/DAO/AddressFormat.php b/CRM/Core/DAO/AddressFormat.php index 3bf875d3e4..3e31107d9e 100644 --- a/CRM/Core/DAO/AddressFormat.php +++ b/CRM/Core/DAO/AddressFormat.php @@ -41,38 +41,6 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO { * @var string */ static $_tableName = 'civicrm_address_format'; - /** - * static instance to hold the field values - * - * @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 - * - * @var string - */ - static $_links = null; - /** - * static instance to hold the values that can - * be imported - * - * @var array - */ - static $_import = null; - /** - * static instance to hold the values that can - * be exported - * - * @var array - */ - static $_export = null; /** * static value to see if we should log any modifications to * this table in the civicrm_log table @@ -107,8 +75,8 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO { * @return array */ static function &fields() { - if (!(self::$_fields)) { - self::$_fields = array( + if (!isset(Civi::$statics[__CLASS__]['fields'])) { + Civi::$statics[__CLASS__]['fields'] = array( 'id' => array( 'name' => 'id', 'type' => CRM_Utils_Type::T_INT, @@ -123,23 +91,21 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO { 'description' => 'The format of an address', ) , ); + CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']); } - return self::$_fields; + return Civi::$statics[__CLASS__]['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 @@ -165,20 +131,8 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO { * @return array */ static function &import($prefix = false) { - if (!(self::$_import)) { - self::$_import = array(); - $fields = self::fields(); - foreach($fields as $name => $field) { - if (CRM_Utils_Array::value('import', $field)) { - if ($prefix) { - self::$_import['address_format'] = & $fields[$name]; - } else { - self::$_import[$name] = & $fields[$name]; - } - } - } - } - return self::$_import; + $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'address_format', $prefix, array()); + return $r; } /** * Returns the list of fields that can be exported @@ -188,19 +142,7 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO { * @return array */ static function &export($prefix = false) { - if (!(self::$_export)) { - self::$_export = array(); - $fields = self::fields(); - foreach($fields as $name => $field) { - if (CRM_Utils_Array::value('export', $field)) { - if ($prefix) { - self::$_export['address_format'] = & $fields[$name]; - } else { - self::$_export[$name] = & $fields[$name]; - } - } - } - } - return self::$_export; + $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'address_format', $prefix, array()); + return $r; } }