[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* +*********************************************************************************** 4 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 5 * ("License"); You may not use this file except in compliance with the License 6 * The Original Code is: vtiger CRM Open Source 7 * The Initial Developer of the Original Code is vtiger. 8 * Portions created by vtiger are Copyright (C) vtiger. 9 * All Rights Reserved. 10 * *********************************************************************************** */ 11 12 /** 13 * Vtiger Edit View Record Structure Model 14 */ 15 class Reports_RecordStructure_Model extends Vtiger_RecordStructure_Model { 16 17 /** 18 * Function to get the values in stuctured format 19 * @return <array> - values in structure array('block'=>array(fieldinfo)); 20 */ 21 public function getStructure($moduleName) { 22 if (!empty($this->structuredValues[$moduleName])) { 23 return $this->structuredValues[$moduleName]; 24 } 25 $moduleModel = Vtiger_Module_Model::getInstance($moduleName); 26 if ($moduleName === 'Emails') { 27 $restrictedTablesList = array('vtiger_emaildetails', 'vtiger_attachments'); 28 $moduleRecordStructure = array(); 29 $blockModelList = $moduleModel->getBlocks(); 30 foreach ($blockModelList as $blockLabel => $blockModel) { 31 $fieldModelList = $blockModel->getFields(); 32 if (!empty($fieldModelList)) { 33 $moduleRecordStructure[$blockLabel] = array(); 34 foreach ($fieldModelList as $fieldName => $fieldModel) { 35 if (!in_array($fieldModel->get('table'), $restrictedTablesList) && $fieldModel->isViewable()) { 36 $moduleRecordStructure[$blockLabel][$fieldName] = $fieldModel; 37 } 38 } 39 } 40 } 41 } else if($moduleName === 'Calendar') { 42 $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); 43 $moduleRecordStructure = array(); 44 $calendarRecordStructure = $recordStructureInstance->getStructure(); 45 46 $eventsModel = Vtiger_Module_Model::getInstance('Events'); 47 $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($eventsModel); 48 $eventRecordStructure = $recordStructureInstance->getStructure(); 49 50 $blockLabel = 'LBL_CUSTOM_INFORMATION'; 51 if($eventRecordStructure[$blockLabel]) { 52 if($calendarRecordStructure[$blockLabel]) { 53 $calendarRecordStructure[$blockLabel] = array_merge($calendarRecordStructure[$blockLabel], $eventRecordStructure[$blockLabel]); 54 } else { 55 $calendarRecordStructure[$blockLabel] = $eventRecordStructure[$blockLabel]; 56 } 57 } 58 $moduleRecordStructure = $calendarRecordStructure; 59 } else { 60 $recordStructureInstance = Vtiger_RecordStructure_Model::getInstanceForModule($moduleModel); 61 $moduleRecordStructure = $recordStructureInstance->getStructure(); 62 } 63 $this->structuredValues[$moduleName] = $moduleRecordStructure; 64 return $moduleRecordStructure; 65 } 66 67 /** 68 * Function returns the Primary Module Record Structure 69 * @return <Vtiger_RecordStructure_Model> 70 */ 71 function getPrimaryModuleRecordStructure() { 72 $primaryModule = $this->getRecord()->getPrimaryModule(); 73 $primaryModuleRecordStructure = $this->getStructure($primaryModule); 74 return $primaryModuleRecordStructure; 75 } 76 77 /** 78 * Function returns the Secondary Modules Record Structure 79 * @return <Array of Vtiger_RecordSructure_Models> 80 */ 81 function getSecondaryModuleRecordStructure() { 82 $recordStructureInstances = array(); 83 84 $secondaryModule = $this->getRecord()->getSecondaryModules(); 85 if (!empty($secondaryModule)) { 86 $moduleList = explode(':', $secondaryModule); 87 88 foreach ($moduleList as $moduleName) { 89 if (!empty($moduleName)) { 90 $recordStructureInstances[$moduleName] = $this->getStructure($moduleName); 91 } 92 } 93 } 94 return $recordStructureInstances; 95 } 96 97 } 98 99 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |