/** * Takes a bunch of params that are needed to match certain criteria and * retrieves the relevant objects. Typically the valid params are only * contact_id. We'll tweak this function to be more full featured over a period * of time. This is the inverse function of create. It also stores all the retrieved * values in the default array * * @param array $params (reference) an assoc array of name/value pairs * @param array $defaults (reference) an assoc array to hold the flattened values * * @return object CRM_CiviDiscount_BAO_Item object on success, null otherwise * @access public * @static */ static function retrieve(&$params, &$defaults) { $item = new CRM_CiviDiscount_DAO_Track(); $item->copyValues($params); if ($item->find(TRUE)) { CRM_Core_DAO::storeValues($item, $defaults); return $item; } return NULL; }