[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Settings/LayoutEditor/models/ -> Block.php (source)

   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  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1