X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FPseudoConstant.php;h=7a5665f4525aabf039b2e8babd31a120071f8816;hb=b6e6000818a3bc99d2292cb50ea8470e85bff7de;hp=17c7c95332e2e3b0e30a05b6db358bd978c041f3;hpb=1024e1784fb68b8529a77143f5191a60d70837cf;p=civicrm-core.git diff --git a/CRM/Core/PseudoConstant.php b/CRM/Core/PseudoConstant.php index 17c7c95332..7a5665f452 100644 --- a/CRM/Core/PseudoConstant.php +++ b/CRM/Core/PseudoConstant.php @@ -52,7 +52,6 @@ class CRM_Core_PseudoConstant { /** * Static cache for pseudoconstant arrays * @var array - * @static */ private static $cache; @@ -61,42 +60,36 @@ class CRM_Core_PseudoConstant { * * activity type * @var array - * @static */ private static $activityType; /** * States, provinces * @var array - * @static */ private static $stateProvince; /** * Counties * @var array - * @static */ private static $county; /** * States/provinces abbreviations * @var array - * @static */ private static $stateProvinceAbbreviation; /** * Country * @var array - * @static */ private static $country; /** * CountryIsoCode * @var array - * @static */ private static $countryIsoCode; @@ -105,56 +98,48 @@ class CRM_Core_PseudoConstant { * * group * @var array - * @static */ private static $group; /** * GroupIterator * @var mixed - * @static */ private static $groupIterator; /** * RelationshipType * @var array - * @static */ private static $relationshipType; /** * Civicrm groups that are not smart groups * @var array - * @static */ private static $staticGroup; /** * Currency codes * @var array - * @static */ private static $currencyCode; /** * Payment processor * @var array - * @static */ private static $paymentProcessor; /** * Payment processor types * @var array - * @static */ private static $paymentProcessorType; /** * World Region * @var array - * @static */ private static $worldRegions; @@ -163,49 +148,42 @@ class CRM_Core_PseudoConstant { * * activity status * @var array - * @static */ private static $activityStatus; /** * Visibility * @var array - * @static */ private static $visibility; /** * Greetings * @var array - * @static */ private static $greeting; /** * Default Greetings * @var array - * @static */ private static $greetingDefaults; /** * Extensions of type module * @var array - * @static */ private static $extensions; /** * Financial Account Type * @var array - * @static */ private static $accountOptionValues; /** * Tax Rates * @var array - * @static */ private static $taxRates; @@ -214,9 +192,9 @@ class CRM_Core_PseudoConstant { * NOTE: Rather than calling this function directly use CRM_*_BAO_*::buildOptions() * @see http://wiki.civicrm.org/confluence/display/CRMDOC/Pseudoconstant+%28option+list%29+Reference * - * @param String $daoName - * @param String $fieldName - * @param Array $params + * @param string $daoName + * @param string $fieldName + * @param array $params * - name string name of the option group * - flip boolean results are return in id => label format if false * if true, the results are reversed @@ -228,11 +206,11 @@ class CRM_Core_PseudoConstant { * - orderColumn string the column to use for sorting, defaults to 'weight' column if one exists, else defaults to labelColumn * - onlyActive boolean return only the action option values * - fresh boolean ignore cache entries and go back to DB - * @param String $context: Context string + * @param string $context : Context string * - * @return Array|bool - array on success, FALSE on error. + * @return Array|bool + * array on success, FALSE on error. * - * @static */ public static function get($daoName, $fieldName, $params = array(), $context = NULL) { CRM_Core_DAO::buildOptionsContext($context); @@ -295,7 +273,7 @@ class CRM_Core_PseudoConstant { $pseudoconstant = $fieldSpec['pseudoconstant']; // if callback is specified.. - if(!empty($pseudoconstant['callback'])) { + if (!empty($pseudoconstant['callback'])) { list($className, $fnName) = explode('::', $pseudoconstant['callback']); if (method_exists($className, $fnName)) { return call_user_func(array($className, $fnName)); @@ -310,7 +288,7 @@ class CRM_Core_PseudoConstant { ); // Fetch option group from option_value table - if(!empty($pseudoconstant['optionGroupName'])) { + if (!empty($pseudoconstant['optionGroupName'])) { if ($context == 'validate') { $params['labelColumn'] = 'name'; } @@ -380,9 +358,9 @@ class CRM_Core_PseudoConstant { $wheres[] = 'domain_id = ' . CRM_Core_Config::domainID(); } $queryParams = array( - 1 => array($params['keyColumn'], 'String', CRM_Core_DAO::QUERY_FORMAT_NO_QUOTES), - 2 => array($params['labelColumn'], 'String', CRM_Core_DAO::QUERY_FORMAT_NO_QUOTES), - 3 => array($pseudoconstant['table'], 'String', CRM_Core_DAO::QUERY_FORMAT_NO_QUOTES), + 1 => array($params['keyColumn'], 'String', CRM_Core_DAO::QUERY_FORMAT_NO_QUOTES), + 2 => array($params['labelColumn'], 'String', CRM_Core_DAO::QUERY_FORMAT_NO_QUOTES), + 3 => array($pseudoconstant['table'], 'String', CRM_Core_DAO::QUERY_FORMAT_NO_QUOTES), ); // Add orderColumn param if (!empty($params['orderColumn'])) { @@ -443,9 +421,9 @@ class CRM_Core_PseudoConstant { /** * Fetch the translated label for a field given its key * - * @param String $baoName - * @param String $fieldName - * @param String|Int $key + * @param string $baoName + * @param string $fieldName + * @param string|Int $key * * TODO: Accept multivalued input? * @@ -465,9 +443,9 @@ class CRM_Core_PseudoConstant { /** * Fetch the machine name for a field given its key * - * @param String $baoName - * @param String $fieldName - * @param String|Int $key + * @param string $baoName + * @param string $fieldName + * @param string|Int $key * * @return bool|null|string * FALSE if the given field has no associated option list @@ -485,9 +463,9 @@ class CRM_Core_PseudoConstant { /** * Fetch the key for a field option given its name * - * @param String $baoName - * @param String $fieldName - * @param String|Int $value + * @param string $baoName + * @param string $fieldName + * @param string|Int $value * * @return bool|null|string|number * FALSE if the given field has no associated option list @@ -538,19 +516,24 @@ class CRM_Core_PseudoConstant { * * Note: any database errors will be trapped by the DAO. * - * @param array $var the associative array we will fill - * @param string $name the name of the DAO - * @param boolean $all get all objects. default is to get only active ones. - * @param string $retrieve the field that we are interested in (normally name, differs in some objects) - * @param string $filter the field that we want to filter the result set with - * @param string $condition the condition that gets passed to the final query as the WHERE clause + * @param array $var + * The associative array we will fill. + * @param string $name + * The name of the DAO. + * @param bool $all + * Get all objects. default is to get only active ones. + * @param string $retrieve + * The field that we are interested in (normally name, differs in some objects). + * @param string $filter + * The field that we want to filter the result set with. + * @param string $condition + * The condition that gets passed to the final query as the WHERE clause. * * @param null $orderby * @param string $key * @param null $force * * @return void - * @static */ public static function populate( &$var, @@ -564,13 +547,13 @@ class CRM_Core_PseudoConstant { $force = NULL ) { $cacheKey = "CRM_PC_{$name}_{$all}_{$key}_{$retrieve}_{$filter}_{$condition}_{$orderby}"; - $cache = CRM_Utils_Cache::singleton(); - $var = $cache->get($cacheKey); + $cache = CRM_Utils_Cache::singleton(); + $var = $cache->get($cacheKey); if ($var && empty($force)) { return $var; } - $object = new $name ( ); + $object = new $name (); $object->selectAdd(); $object->selectAdd("$key, $retrieve"); @@ -602,7 +585,6 @@ class CRM_Core_PseudoConstant { * Flush given pseudoconstant so it can be reread from db * nex time it's requested. * - * @static * * @param bool|string $name pseudoconstant to be flushed */ @@ -622,9 +604,9 @@ class CRM_Core_PseudoConstant { * * The static array activityType is returned * - * @static * - * @return array - array reference of all activity types. + * @return array + * array reference of all activity types. */ public static function &activityType() { $args = func_get_args(); @@ -696,13 +678,13 @@ class CRM_Core_PseudoConstant { * * Note: any database errors will be trapped by the DAO. * - * @static * - * @param bool|int $id - Optional id to return + * @param bool|int $id - Optional id to return * * @param bool $limit * - * @return array - array reference of all State/Provinces. + * @return array + * array reference of all State/Provinces. */ public static function &stateProvince($id = FALSE, $limit = TRUE) { if (($id && !CRM_Utils_Array::value($id, self::$stateProvince)) || !self::$stateProvince || !$id) { @@ -710,8 +692,8 @@ class CRM_Core_PseudoConstant { $config = CRM_Core_Config::singleton(); if ($limit) { $countryIsoCodes = self::countryIsoCode(); - $limitCodes = $config->provinceLimit(); - $limitIds = array(); + $limitCodes = $config->provinceLimit(); + $limitIds = array(); foreach ($limitCodes as $code) { $limitIds = array_merge($limitIds, array_keys($countryIsoCodes, $code)); } @@ -729,8 +711,8 @@ class CRM_Core_PseudoConstant { if ($tsLocale != '' and $tsLocale != 'en_US') { $i18n = CRM_Core_I18n::singleton(); $i18n->localizeArray(self::$stateProvince, array( - 'context' => 'province', - )); + 'context' => 'province', + )); self::$stateProvince = CRM_Utils_Array::asort(self::$stateProvince); } } @@ -751,13 +733,13 @@ class CRM_Core_PseudoConstant { * * Same as above, except gets the abbreviations instead of the names. * - * @static * - * @param bool|int $id - Optional id to return + * @param bool|int $id - Optional id to return * * @param bool $limit * - * @return array - array reference of all State/Province abbreviations. + * @return array + * array reference of all State/Province abbreviations. */ public static function &stateProvinceAbbreviation($id = FALSE, $limit = TRUE) { if ($id > 1) { @@ -779,10 +761,10 @@ WHERE id = %1"; $whereClause = FALSE; if ($limit) { - $config = CRM_Core_Config::singleton(); + $config = CRM_Core_Config::singleton(); $countryIsoCodes = self::countryIsoCode(); - $limitCodes = $config->provinceLimit(); - $limitIds = array(); + $limitCodes = $config->provinceLimit(); + $limitIds = array(); foreach ($limitCodes as $code) { $tmpArray = array_keys($countryIsoCodes, $code); @@ -818,13 +800,13 @@ WHERE id = %1"; * * Note: any database errors will be trapped by the DAO. * - * @static * * @param bool|int $id - Optional id to return * * @param bool $applyLimit * - * @return array - array reference of all countries. + * @return array + * array reference of all countries. */ public static function country($id = FALSE, $applyLimit = TRUE) { if (($id && !CRM_Utils_Array::value($id, self::$country)) || !self::$country || !$id) { @@ -870,8 +852,8 @@ WHERE id = %1"; if ($tsLocale != '' and $tsLocale != 'en_US') { $i18n = CRM_Core_I18n::singleton(); $i18n->localizeArray(self::$country, array( - 'context' => 'country', - )); + 'context' => 'country', + )); self::$country = CRM_Utils_Array::asort(self::$country); } } @@ -895,11 +877,11 @@ WHERE id = %1"; * * Note: any database errors will be trapped by the DAO. * - * @static * * @param bool $id * - * @return array - array reference of all country ISO codes. + * @return array + * array reference of all country ISO codes. */ public static function &countryIsoCode($id = FALSE) { if (!self::$countryIsoCode) { @@ -927,12 +909,14 @@ WHERE id = %1"; * * Note: any database errors will be trapped by the DAO. * - * @param string $groupType type of group(Access/Mailing) - * @param bool $excludeHidden exclude hidden groups. + * @param string $groupType + * Type of group(Access/Mailing). + * @param bool $excludeHidden + * Exclude hidden groups. * - * @static * - * @return array - array reference of all groups. + * @return array + * array reference of all groups. */ public static function &allGroup($groupType = NULL, $excludeHidden = TRUE) { $condition = CRM_Contact_BAO_Group::groupTypeCondition($groupType, $excludeHidden); @@ -958,18 +942,15 @@ WHERE id = %1"; * called for the first time * * - * @static * * @param bool $styledLabels * - * @return mixed - instance of CRM_Contact_BAO_GroupNesting + * @return CRM_Contact_BAO_GroupNesting */ public static function &groupIterator($styledLabels = FALSE) { if (!self::$groupIterator) { - /* - When used as an object, GroupNesting implements Iterator - and iterates nested groups in a logical manner for us - */ + // When used as an object, GroupNesting implements Iterator + // and iterates nested groups in a logical manner for us self::$groupIterator = new CRM_Contact_BAO_GroupNesting($styledLabels); } return self::$groupIterator; @@ -984,12 +965,14 @@ WHERE id = %1"; * * Note: any database errors will be trapped by the DAO. * - * @param string $groupType type of group(Access/Mailing) - * @param bool $excludeHidden exclude hidden groups. + * @param string $groupType + * Type of group(Access/Mailing). + * @param bool $excludeHidden + * Exclude hidden groups. * - * @static * - * @return array - array reference of all groups. + * @return array + * array reference of all groups. */ public static function group($groupType = NULL, $excludeHidden = TRUE) { return CRM_Core_Permission::group($groupType, $excludeHidden); @@ -1016,13 +999,13 @@ WHERE id = %1"; * * Note: any database errors will be trapped by the DAO. * - * @static * * @param bool $onlyPublic * @param null $groupType * @param bool $excludeHidden * - * @return array - array reference of all groups. + * @return array + * array reference of all groups. */ public static function &staticGroup($onlyPublic = FALSE, $groupType = NULL, $excludeHidden = TRUE) { if (!self::$staticGroup) { @@ -1054,12 +1037,14 @@ WHERE id = %1"; * * Note: any database errors will be trapped by the DAO. * - * @param string $valueColumnName db column name/label. - * @param boolean $reset reset relationship types if true + * @param string $valueColumnName + * Db column name/label. + * @param bool $reset + * Reset relationship types if true. * - * @static * - * @return array - array reference of all relationship types. + * @return array + * array reference of all relationship types. */ public static function &relationshipType($valueColumnName = 'label', $reset = FALSE) { if (!CRM_Utils_Array::value($valueColumnName, self::$relationshipType) || $reset) { @@ -1097,8 +1082,8 @@ WHERE id = %1"; * so far, we use this for validation only, so there's no point of putting this into the database * * - * @return array - array reference of all currency codes - * @static + * @return array + * array reference of all currency codes */ public static function ¤cyCode() { if (!self::$currencyCode) { @@ -1384,11 +1369,11 @@ WHERE id = %1"; * * Note: any database errors will be trapped by the DAO. * - * @static * - * @param bool|int $id - Optional id to return + * @param bool|int $id - Optional id to return * - * @return array - array reference of all Counties + * @return array + * array reference of all Counties */ public static function &county($id = FALSE) { if (!self::$county) { @@ -1414,14 +1399,16 @@ WHERE id = %1"; * * The static array paymentProcessor is returned * - * @static * - * @param boolean $all - get payment processors - default is to get only active ones. - * @param boolean $test - get test payment processors + * @param bool $all + * Get payment processors - default is to get only active ones. + * @param bool $test + * Get test payment processors. * * @param null $additionalCond * - * @return array - array of all payment processors + * @return array + * array of all payment processors */ public static function &paymentProcessor($all = FALSE, $test = FALSE, $additionalCond = NULL) { $condition = "is_test = "; @@ -1448,17 +1435,18 @@ WHERE id = %1"; * * The static array paymentProcessorType is returned * - * @static * - * @param boolean $all - get payment processors - default is to get only active ones. + * @param bool $all + * Get payment processors - default is to get only active ones. * * @param int $id * @param string $return * - * @return array - array of all payment processor types + * @return array + * array of all payment processor types */ public static function &paymentProcessorType($all = FALSE, $id = NULL, $return = 'title') { - $cacheKey = $id . '_' .$return; + $cacheKey = $id . '_' . $return; if (empty(self::$paymentProcessorType[$cacheKey])) { self::populate(self::$paymentProcessorType[$cacheKey], 'CRM_Financial_DAO_PaymentProcessorType', $all, $return, 'is_active', NULL, "is_default, $return", 'id'); } @@ -1474,8 +1462,8 @@ WHERE id = %1"; * * @param bool $id * - * @return array - array reference of all World Regions - * @static + * @return array + * array reference of all World Regions */ public static function &worldRegion($id = FALSE) { if (!self::$worldRegions) { @@ -1501,11 +1489,11 @@ WHERE id = %1"; * * The static array activityStatus is returned * - * @static * * @param string $column * - * @return array - array reference of all activity statuses + * @return array + * array reference of all activity statuses */ public static function &activityStatus($column = 'label') { if (NULL === self::$activityStatus) { @@ -1527,20 +1515,20 @@ WHERE id = %1"; * * The static array visibility is returned * - * @static * * @param string $column * - * @return array - array reference of all Visibility levels. + * @return array + * array reference of all Visibility levels. */ public static function &visibility($column = 'label') { if (!isset(self::$visibility)) { - self::$visibility = array( ); + self::$visibility = array(); } if (!isset(self::$visibility[$column])) { self::$visibility[$column] = CRM_Core_OptionGroup::values('visibility', FALSE, FALSE, FALSE, NULL, $column); - } + } return self::$visibility[$column]; } @@ -1662,10 +1650,10 @@ ORDER BY name"; * Given a state ID return the country ID, this allows * us to populate forms and values for downstream code * - * @param $stateID int + * @param int $stateID * - * @return int the country id that the state belongs to - * @static + * @return int + * the country id that the state belongs to */ public static function countryIDForStateID($stateID) { if (empty($stateID)) { @@ -1687,13 +1675,14 @@ WHERE id = %1 * * The static array of greeting is returned * - * @static * - * @param $filter - get All Email Greetings - default is to get only active ones. + * @param $filter + * Get All Email Greetings - default is to get only active ones. * * @param string $columnName * - * @return array - array reference of all greetings. + * @return array + * array reference of all greetings. */ public static function greeting($filter, $columnName = 'label') { $index = $filter['greeting_type'] . '_' . $columnName; @@ -1737,15 +1726,17 @@ WHERE id = %1 /** * Construct array of default greeting values for contact type * - * @static - * - * @return array - array reference of default greetings. * + * @return array + * array reference of default greetings. */ public static function &greetingDefaults() { if (!self::$greetingDefaults) { $defaultGreetings = array(); - $contactTypes = self::get('CRM_Contact_DAO_Contact', 'contact_type', array('keyColumn' => 'id', 'labelColumn' => 'name')); + $contactTypes = self::get('CRM_Contact_DAO_Contact', 'contact_type', array( + 'keyColumn' => 'id', + 'labelColumn' => 'name' + )); foreach ($contactTypes as $filter => $contactType) { $filterCondition = " AND (v.filter = 0 OR v.filter = $filter) AND v.is_default = 1 "; @@ -1770,9 +1761,9 @@ WHERE id = %1 * FIXME: This is called by civix but not by any core code. We * should provide an API call which civix can use instead. * - * @static * - * @return array - array($fullyQualifiedName => $label) list of extensions + * @return array + * array($fullyQualifiedName => $label) list of extensions */ public static function &getExtensions() { if (!self::$extensions) { @@ -1796,19 +1787,20 @@ WHERE id = %1 * * The static array option values is returned * - * @static * - * @param boolean $optionGroupName - get All Option Group values- default is to get only active ones. + * @param bool $optionGroupName + * Get All Option Group values- default is to get only active ones. * * @param int $id * @param null $condition * - * @return array - array reference of all Option Group Name + * @return array + * array reference of all Option Group Name */ - public static function accountOptionValues($optionGroupName, $id = null, $condition = null) { + public static function accountOptionValues($optionGroupName, $id = NULL, $condition = NULL) { $cacheKey = $optionGroupName . '_' . $condition; if (empty(self::$accountOptionValues[$cacheKey])) { - self::$accountOptionValues[$cacheKey] = CRM_Core_OptionGroup::values($optionGroupName, false, false, false, $condition); + self::$accountOptionValues[$cacheKey] = CRM_Core_OptionGroup::values($optionGroupName, FALSE, FALSE, FALSE, $condition); } if ($id) { return CRM_Utils_Array::value($id, self::$accountOptionValues[$cacheKey]); @@ -1820,10 +1812,11 @@ WHERE id = %1 /** * Fetch the list of active extensions of type 'module' * - * @param $fresh bool whether to forcibly reload extensions list from canonical store - * @static + * @param bool $fresh + * Whether to forcibly reload extensions list from canonical store. * - * @return array - array(array('prefix' => $, 'file' => $)) + * @return array + * array(array('prefix' => $, 'file' => $)) */ public static function getModuleExtensions($fresh = FALSE) { return CRM_Extension_System::singleton()->getMapper()->getActiveModuleFiles($fresh); @@ -1835,9 +1828,8 @@ WHERE id = %1 * * The static array tax rates is returned * - * @static - * - * @return array - array list of tax rates with the financial type + * @return array + * array list of tax rates with the financial type */ public static function getTaxRates() { if (!self::$taxRates) {