/** * 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; } // if Multi Select field is selected in custom field if ($customFieldBAO->data_type == 'String' || $customFieldBAO->data_type == 'Int' || $customFieldBAO->data_type == 'Float' || $customFieldBAO->data_type == 'Money') { if ($customFieldBAO->html_type == 'Text') { $action -= CRM_CORE_ACTION_BROWSE; } } switch ($customFieldBAO->data_type) { case "Memo": $action -= CRM_CORE_ACTION_BROWSE; break; case "Date": $action -= CRM_CORE_ACTION_BROWSE; break; case "Boolean": $action -= CRM_CORE_ACTION_BROWSE; break; case "StateProvince": $action -= CRM_CORE_ACTION_BROWSE; break; case "Country": $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]['action'] = CRM_Core_Action::formLink(CRM_Custom_Page_Field::actionLinks(), $action, array('id' => $customFieldBAO->id, 'gid' => $this->_gid)); } $this->assign('customField', $customField); }