/** * 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) { $resource = new CRM_Booking_DAO_Resource(); $resource->copyValues($params); if ($resource->find(TRUE)) { CRM_Core_DAO::storeValues($resource, $defaults); return $resource; } return NULL; }
/** * Browse all resources. * * @return void * @access public * @static */ function browse($action = NULL) { $types = CRM_Booking_BAO_Resource::buildOptions('type_id', 'create'); $locations = CRM_Booking_BAO_Resource::buildOptions('location_id', 'create'); // get all custom groups sorted by weight $resources = array(); $dao = new CRM_Booking_DAO_Resource(); $dao->orderBy('weight'); $dao->is_deleted = FALSE; $dao->find(); while ($dao->fetch()) { $resources[$dao->id] = array(); CRM_Core_DAO::storeValues($dao, $resources[$dao->id]); $resources[$dao->id]['type'] = CRM_Utils_Array::value(CRM_Utils_Array::value('type_id', $resources[$dao->id]), $types); $resources[$dao->id]['location'] = CRM_Utils_Array::value(CRM_Utils_Array::value('location_id', $resources[$dao->id]), $locations); // 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; } $resources[$dao->id]['action'] = CRM_Core_Action::formLink(self::links(), $action, array('id' => $dao->id)); } $this->assign('rows', $resources); }