Index: branches/5.2.x/core/units/configuration/configuration_tag_processor.php =================================================================== diff -u -N -r15274 -r15471 --- branches/5.2.x/core/units/configuration/configuration_tag_processor.php (.../configuration_tag_processor.php) (revision 15274) +++ branches/5.2.x/core/units/configuration/configuration_tag_processor.php (.../configuration_tag_processor.php) (revision 15471) @@ -1,6 +1,6 @@ getObject($params);; - /* @var $object kDBList */ + $object = $this->getObject($params); + /* @var $object kDBItem */ - $field_options = $object->GetDBField('Validation'); - $field_options = $field_options ? unserialize($field_options) : Array (); + $field = $params['field']; + $field_options = $object->GetFieldOptions($field); + if ( $field == 'VariableValue' ) { + $custom_options = $object->GetDBField('Validation'); + + if ( $custom_options ) { + $field_options = array_merge($field_options, unserialize($custom_options)); + } + } + return isset($field_options['required']) && $field_options['required']; } @@ -171,8 +179,11 @@ $object = $this->getObject($params); /* @var $object kDBList */ - $field = $object->GetDBField($params['id_field']); + if ( !($object instanceof kDBList) ) { + return parent::Error($params); + } + $field = $object->GetDBField($params['id_field']); $errors = $this->Application->GetVar('errors_' . $this->getPrefixSpecial(), Array ()); return array_key_exists($field, $errors) ? $errors[$field] : ''; @@ -261,4 +272,26 @@ return $cached_sections[$var_name]; } + + /** + * Returns system setting editing link + * + * @param Array $params + * @return string + * @access protected + */ + protected function ItemEditLink($params) + { + $object = $this->getObject($params); + /* @var $object kDBItem */ + + $params['m_opener'] = 'd'; + $params[$object->Prefix . '_mode'] = 't'; + $params[$object->Prefix . '_event'] = 'OnEdit'; + $params[$object->Prefix . '_id'] = $object->GetID(); + $params['pass'] = 'all,' . $object->Prefix; + + return $this->Application->ProcessParsedTag('m', 'Link', $params); + + } } \ No newline at end of file