[ 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.1 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 class Settings_LayoutEditor_Block_Model extends Vtiger_Block_Model { 13 14 public function isActionsAllowed () { 15 $actionNotSupportedModules = array('calendar','events'); 16 if(in_array(strtolower($this->module->name), $actionNotSupportedModules)) { 17 return false; 18 } 19 return true; 20 } 21 22 /** 23 * Function to check whether adding custom field is allowed or not 24 * @return <Boolean> true/false 25 */ 26 public function isAddCustomFieldEnabled() { 27 $actionNotSupportedModules = array('calendar','events','faq', 'helpdesk'); 28 $blocksEliminatedArray = array('calendar' => array('LBL_TASK_INFORMATION', 'LBL_DESCRIPTION_INFORMATION'), 29 'helpdesk' => array('LBL_TICKET_RESOLUTION', 'LBL_COMMENTS'), 30 'faq'=>array('LBL_COMMENT_INFORMATION'), 31 'events' => array('LBL_EVENT_INFORMATION','LBL_REMINDER_INFORMATION','LBL_DESCRIPTION_INFORMATION', 32 'LBL_RECURRENCE_INFORMATION','LBL_RELATED_TO','LBL_INVITE_USER_BLOCK')); 33 if(in_array(strtolower($this->module->name), $actionNotSupportedModules)) { 34 if(!empty($blocksEliminatedArray[strtolower($this->module->name)])) { 35 if(in_array($this->get('label'), $blocksEliminatedArray[strtolower($this->module->name)])) { 36 return false; 37 } 38 } else { 39 return false; 40 } 41 } 42 return true; 43 } 44 45 public static function updateFieldSequenceNumber($blockFieldSequence) { 46 $fieldIdList = array(); 47 $db = PearDatabase::getInstance(); 48 49 $query = 'UPDATE vtiger_field SET '; 50 $query .=' sequence= CASE '; 51 foreach($blockFieldSequence as $newFieldSequence ) { 52 $fieldId = $newFieldSequence['fieldid']; 53 $sequence = $newFieldSequence['sequence']; 54 $block = $newFieldSequence['block']; 55 $fieldIdList[] = $fieldId; 56 57 $query .= ' WHEN fieldid='.$fieldId.' THEN '.$sequence; 58 } 59 60 $query .=' END, block=CASE '; 61 62 foreach($blockFieldSequence as $newFieldSequence ) { 63 $fieldId = $newFieldSequence['fieldid']; 64 $sequence = $newFieldSequence['sequence']; 65 $block = $newFieldSequence['block']; 66 $query .= ' WHEN fieldid='.$fieldId.' THEN '.$block; 67 } 68 $query .=' END '; 69 70 $query .= ' WHERE fieldid IN ('.generateQuestionMarks($fieldIdList).')'; 71 72 $db->pquery($query, array($fieldIdList)); 73 } 74 75 public static function getInstance($value, $moduleInstance = false) { 76 $blockInstance = parent::getInstance($value, $moduleInstance); 77 $blockModel = self::getInstanceFromBlockObject($blockInstance); 78 return $blockModel; 79 } 80 81 /** 82 * Function to retrieve block instance from Vtiger_Block object 83 * @param Vtiger_Block $blockObject - vtlib block object 84 * @return Vtiger_Block_Model 85 */ 86 public static function getInstanceFromBlockObject(Vtiger_Block $blockObject) { 87 $objectProperties = get_object_vars($blockObject); 88 $blockModel = new self(); 89 foreach($objectProperties as $properName=>$propertyValue) { 90 $blockModel->$properName = $propertyValue; 91 } 92 return $blockModel; 93 } 94 95 /** 96 * Function to retrieve block instances for a module 97 * @param <type> $moduleModel - module instance 98 * @return <array> - list of Vtiger_Block_Model 99 */ 100 public static function getAllForModule($moduleModel) { 101 $blockObjects = parent::getAllForModule($moduleModel); 102 $blockModelList = array(); 103 104 if($blockObjects) { 105 foreach($blockObjects as $blockObject) { 106 $blockModelList[] = self::getInstanceFromBlockObject($blockObject); 107 } 108 } 109 return $blockModelList; 110 } 111 112 public function getLayoutBlockActiveFields() { 113 $fields = $this->getFields(); 114 $activeFields = array(); 115 foreach($fields as $fieldName => $fieldModel) { 116 if($fieldModel->isActiveField()) { 117 $activeFields[$fieldName] = $fieldModel; 118 } 119 } 120 return $activeFields; 121 } 122 }
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 |