Add getValue and getKey methods CRM-12464
authorColeman Watts <coleman@civicrm.org>
Sat, 4 May 2013 21:16:46 +0000 (14:16 -0700)
committerColeman Watts <coleman@civicrm.org>
Thu, 30 May 2013 05:14:04 +0000 (22:14 -0700)
----------------------------------------
* CRM-12464: Search improvements in 4.4
  http://issues.civicrm.org/jira/browse/CRM-12464

CRM/Core/PseudoConstant.php

index 7898a120e9b4ea81f1535d6cc0adaf34db000b54..ff35937d1af7f493f2ede7d805c2ff08097e1dfa 100644 (file)
@@ -351,8 +351,38 @@ class CRM_Core_PseudoConstant {
   }
 
   /**
-   * populate the object from the database. generic populate
-   * method
+   * Fetch the label (or other value) for a field given its key
+   *
+   * @param String $daoName
+   * @param String $fieldName
+   * @param String|Int $key
+   * @param Array $params will be passed into self::get
+   *
+   * @return string
+   */
+   function getValue($daoName, $fieldName, $key, $params = array()) {
+     $values = self::get($daoName, $fieldName, $params);
+     return CRM_Utils_Array::value($key, $values);
+   }
+
+  /**
+   * Fetch the key for a field option given its label/name
+   *
+   * @param String $daoName
+   * @param String $fieldName
+   * @param String|Int $value
+   * @param Array $params will be passed into self::get
+   *
+   * @return string
+   */
+   function getKey($daoName, $fieldName, $value, $params = array()) {
+     $values = self::get($daoName, $fieldName, $params);
+     return CRM_Utils_Array::key($value, $values);
+   }
+
+  /**
+   * DEPRECATED generic populate method
+   * All pseudoconstant functions that use this method are also deprecated.
    *
    * The static array $var is populated from the db
    * using the <b>$name DAO</b>.