/** * Browse all custom group fields. * * @return void */ public function browse() { $resourceManager = CRM_Core_Resources::singleton(); if (!empty($_GET['new']) && $resourceManager->ajaxPopupsEnabled) { $resourceManager->addScriptFile('civicrm', 'js/crm.addNew.js', 999, 'html-header'); } $customField = array(); $customFieldBAO = new CRM_Core_BAO_CustomField(); // fkey is gid $customFieldBAO->custom_group_id = $this->_gid; $customFieldBAO->orderBy('weight, label'); $customFieldBAO->find(); while ($customFieldBAO->fetch()) { $customField[$customFieldBAO->id] = array(); CRM_Core_DAO::storeValues($customFieldBAO, $customField[$customFieldBAO->id]); $action = array_sum(array_keys($this->actionLinks())); if ($customFieldBAO->is_active) { $action -= CRM_Core_Action::ENABLE; } else { $action -= CRM_Core_Action::DISABLE; } switch ($customFieldBAO->data_type) { case "String": case "Int": case "Float": case "Money": // if Multi Select field is selected in custom field if ($customFieldBAO->html_type == 'Text') { $action -= CRM_Core_Action::BROWSE; } break; case "ContactReference": case "Memo": case "Date": case "Boolean": case "StateProvince": case "Country": case "File": case "Link": $action -= CRM_Core_Action::BROWSE; break; } $customFieldDataType = CRM_Core_BAO_CustomField::dataType(); $customField[$customFieldBAO->id]['data_type'] = $customFieldDataType[$customField[$customFieldBAO->id]['data_type']]; $customField[$customFieldBAO->id]['order'] = $customField[$customFieldBAO->id]['weight']; $customField[$customFieldBAO->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $customFieldBAO->id, 'gid' => $this->_gid), ts('more'), FALSE, 'customField.row.actions', 'CustomField', $customFieldBAO->id); } $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group/field', "reset=1&action=browse&gid={$this->_gid}"); $filter = "custom_group_id = {$this->_gid}"; CRM_Utils_Weight::addOrder($customField, 'CRM_Core_DAO_CustomField', 'id', $returnURL, $filter); $this->assign('customField', $customField); }
/** * Browse all custom group fields. * * @param null * * @return void * @access public */ function browse() { require_once 'CRM/Core/BAO/CustomField.php'; $customField = array(); $customFieldBAO = new CRM_Core_BAO_CustomField(); // fkey is gid $customFieldBAO->custom_group_id = $this->_gid; $customFieldBAO->orderBy('weight, label'); $customFieldBAO->find(); while ($customFieldBAO->fetch()) { $customField[$customFieldBAO->id] = array(); CRM_Core_DAO::storeValues($customFieldBAO, $customField[$customFieldBAO->id]); $action = array_sum(array_keys($this->actionLinks())); if ($customFieldBAO->is_active) { $action -= CRM_Core_Action::ENABLE; } else { $action -= CRM_Core_Action::DISABLE; } switch ($customFieldBAO->data_type) { case "String": case "Int": case "Float": case "Money": // if Multi Select field is selected in custom field if ($customFieldBAO->html_type == 'Text') { $action -= CRM_Core_Action::BROWSE; } break; case "ContactReference": case "Memo": case "Date": case "Boolean": case "StateProvince": case "Country": case "File": case "Link": $action -= CRM_Core_Action::BROWSE; break; } $customFieldDataType = CRM_Core_BAO_CustomField::dataType(); $customField[$customFieldBAO->id]['data_type'] = $customFieldDataType[$customField[$customFieldBAO->id]['data_type']]; $customField[$customFieldBAO->id]['order'] = $customField[$customFieldBAO->id]['weight']; $customField[$customFieldBAO->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $customFieldBAO->id, 'gid' => $this->_gid)); } $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group/field', "reset=1&action=browse&gid={$this->_gid}"); $filter = "custom_group_id = {$this->_gid}"; require_once 'CRM/Utils/Weight.php'; CRM_Utils_Weight::addOrder($customField, 'CRM_Core_DAO_CustomField', 'id', $returnURL, $filter); $this->assign('customField', $customField); }