X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FOptionGroup.php;h=011484f4ff37dd8221bcdd2c7a147157139daae0;hb=9ab99c19a4663b23a3175405e07b27b6eadafcd8;hp=4008a3ee830091e4ba532654c7c480bbaede5808;hpb=158270771c9240448146fe86d22fb78e08487e29;p=civicrm-core.git diff --git a/CRM/Core/OptionGroup.php b/CRM/Core/OptionGroup.php index 4008a3ee83..011484f4ff 100644 --- a/CRM/Core/OptionGroup.php +++ b/CRM/Core/OptionGroup.php @@ -1,7 +1,7 @@ get($cacheKey); - if ($var) { - return $var; + if (!$fresh) { + $var = $cache->get($cacheKey); + if ($var) { + return $var; + } } $query = " SELECT v.{$labelColumnName} as {$labelColumnName} ,v.value as value, v.grouping as grouping @@ -207,10 +209,13 @@ FROM civicrm_option_value v, civicrm_option_group g WHERE v.option_group_id = g.id AND g.id = %1 - AND v.is_active = 1 AND g.is_active = 1 - ORDER BY v.weight, v.label; "; + if ($onlyActive) { + $query .= " AND v.is_active = 1 "; + } + $query .= " ORDER BY v.weight, v.label"; + $p = array(1 => array($id, 'Integer')); $dao = CRM_Core_DAO::executeQuery($query, $p); @@ -367,7 +372,7 @@ WHERE v.option_group_id = g.id * @static * * @return string the value from the row where is_default = true - */ + */ static function getDefaultValue($groupName) { if (empty($groupName)) { return NULL; @@ -389,7 +394,7 @@ WHERE v.option_group_id = g.id $p = array(1 => array($groupName, 'String')); return CRM_Core_DAO::singleValueQuery($query, $p); } - + /** * Creates a new option group with the passed in values * @TODO: Should update the group if it already exists intelligently, so multi-lingual is @@ -591,6 +596,7 @@ WHERE v.option_group_id = g.id static function flushAll() { self::$_values = array(); self::$_cache = array(); + CRM_Utils_Cache::singleton()->flush(); } }