Application->isDebugMode() ) { $grids = $this->Application->getUnitOption($this->Prefix, 'Grids', Array ()); /* @var $grids Array */ foreach ($grids as $grid_name => $grid_data) { if ( array_key_exists('Enabled', $grid_data['Fields']) ) { unset($grids[$grid_name]['Fields']['Enabled']); } } $this->Application->setUnitOption($this->Prefix, 'Grids', $grids); } } /** * Checks, that field can be edited * * @param Array $params * @return string */ function IsEditable($params) { if ($this->Application->isDebugMode()) { return true; } $object = $this->getObject($params); /* @var $object kDBItem */ return $object->GetDBField($params['check_field']); } /** * To recipient read-only * * @param Array $params * @return string * @access protected */ protected function ToRecipientReadOnly($params) { return !$this->IsEditable(Array ('check_field' => 'AllowChangingRecipient')); } /** * Removes "To" options from possible options in "RecipientType" field * * @param Array $params */ function RemoveToRecipientType($params) { $object = $this->getObject($params); /* @var $object kDBItem */ $field_options = $object->GetFieldOptions('RecipientType'); unset($field_options['options'][ EmailEvent::RECIPIENT_TYPE_TO ]); $object->SetFieldOptions('RecipientType', $field_options); } /** * Restores "To" option in possible option list in "RecipientType" field * * @param Array $params */ function RestoreRecipientType($params) { $object = $this->getObject($params); /* @var $object kDBItem */ $field_options = $object->GetFieldOptions('RecipientType'); $virtual_fields = $this->Application->getUnitOption($this->Prefix, 'VirtualFields'); $field_options['options'] = $virtual_fields['RecipientType']['options']; $object->SetFieldOptions('RecipientType', $field_options); } /** * Determine if primary translation should be shown * * @param Array $params * @return string * @access protected */ protected function ShowSourceLanguage($params) { if ( $this->IsNewItem($params) ) { return false; } $object = $this->getObject($params); /* @var $object kDBItem */ $ml_helper = $this->Application->recallObject('kMultiLanguageHelper'); /* @var $ml_helper kMultiLanguageHelper */ return !$ml_helper->editingInSourceLanguage($object->GetDBField('TranslateFromLanguage')); } /** * Shows field label with %s replaced with source translation language * * @param Array $params * @return string * @access protected */ protected function SourceLanguageTitle($params) { $object = $this->getObject($params); /* @var $object kDBItem */ $ml_helper = $this->Application->recallObject('kMultiLanguageHelper'); /* @var $ml_helper kMultiLanguageHelper */ return $ml_helper->replaceSourceLanguage($object, $params['label']); } }