コード例 #1
0
ファイル: Field.php プロジェクト: bhirsch/voipdrupal-4.7-1.0
 /**
  * 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);
 }