copyValues($params); if ($optionGroup->find(TRUE)) { CRM_Core_DAO::storeValues($optionGroup, $defaults); return $optionGroup; } return NULL; } /** * Update the is_active flag in the db * * @param int $id id of the database record * @param boolean $is_active value we want to set the is_active field * * @return Object DAO object on sucess, null otherwise * @static */ public static function setIsActive($id, $is_active) { return CRM_Core_DAO::setFieldValue('CRM_Core_DAO_OptionGroup', $id, 'is_active', $is_active); } /** * Add the Option Group * * @param array $params reference array contains the values submitted by the form * @param array $ids reference array contains the id * * @static * * @return object */ public static function add(&$params, $ids = array()) { if(empty($params['id'])){ $params['id'] = CRM_Utils_Array::value('optionGroup', $ids); } $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE); $params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE); // action is taken depending upon the mode $optionGroup = new CRM_Core_DAO_OptionGroup(); $optionGroup->copyValues($params);; if ($params['is_default']) { $query = "UPDATE civicrm_option_group SET is_default = 0"; CRM_Core_DAO::executeQuery($query); } $optionGroup->save(); return $optionGroup; } /** * Delete Option Group * * @param int $optionGroupId Id of the Option Group to be deleted. * * @return void * * @static */ public static function del($optionGroupId) { // need to delete all option value field before deleting group $optionValue = new CRM_Core_DAO_OptionValue(); $optionValue->option_group_id = $optionGroupId; $optionValue->delete(); $optionGroup = new CRM_Core_DAO_OptionGroup(); $optionGroup->id = $optionGroupId; $optionGroup->delete(); } /** * Get title of the option group * * @param int $optionGroupId Id of the Option Group. * * @return String title * * @static */ public static function getTitle($optionGroupId) { $optionGroup = new CRM_Core_DAO_OptionGroup(); $optionGroup->id = $optionGroupId; $optionGroup->find(TRUE); return $optionGroup->name; } }