/** * Takes a bunch of params that are needed to match certain criteria and * retrieves the relevant objects. 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_Booking_DAO_Resource object on success, null otherwise * @access public * @static */ static function retrieve(&$params, &$defaults) { $configSet = new CRM_Booking_DAO_ResourceConfigSet(); $configSet->copyValues($params); if ($configSet->find(TRUE)) { CRM_Core_DAO::storeValues($configSet, $defaults); return $configSet; } return NULL; }
/** * Browse all resources. * * @return void * @access public * @static */ function browse($action = NULL) { // get all custom groups sorted by weight $configSet = array(); $dao = new CRM_Booking_DAO_ResourceConfigSet(); $dao->orderBy('weight'); $dao->is_deleted = FALSE; $dao->find(); while ($dao->fetch()) { $configSet[$dao->id] = array(); CRM_Core_DAO::storeValues($dao, $configSet[$dao->id]); //TODO:: GET Actual type and location // form all action links $action = array_sum(array_keys($this->links())); // update enable/disable links. if ($dao->is_active) { $action -= CRM_Core_Action::ENABLE; } else { $action -= CRM_Core_Action::DISABLE; } $configSet[$dao->id]['action'] = CRM_Core_Action::formLink(self::links(), $action, array('id' => $dao->id)); } $this->assign('rows', $configSet); }