Index: core/kernel/db/db_tag_processor.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/kernel/db/db_tag_processor.php (revision 15928) +++ core/kernel/db/db_tag_processor.php (revision ) @@ -222,11 +222,9 @@ $grid = $this->getUnitConfig()->getGridByName($params['grid']); $grid_config = $grid['Fields']; - $picker_helper = $this->Application->recallObject('ColumnPickerHelper'); - /* @var $picker_helper kColumnPickerHelper */ + $picker_helper = new kColumnPickerHelper($this->getPrefixSpecial(), $params['grid']); + $grid_config = $picker_helper->apply($grid_config); - $picker_helper->ApplyPicker($this->getPrefixSpecial(), $grid_config, $params['grid']); - if ( $mode == 'fields' ) { return "'" . join("','", array_keys($grid_config)) . "'"; } @@ -247,7 +245,7 @@ $block_params['sort_field'] = isset($options['sort_field']) ? $options['sort_field'] : $field; $block_params['filter_field'] = isset($options['filter_field']) ? $options['filter_field'] : $field; - $w = $picker_helper->GetWidth($field); + $w = $picker_helper->getWidth($field); if ( $w ) { // column picker width overrides width from unit config @@ -269,21 +267,19 @@ function PickerCRC($params) { - /* @var $picker_helper kColumnPickerHelper */ - $picker_helper = $this->Application->recallObject('ColumnPickerHelper'); - $picker_helper->SetGridName($params['grid']); - $data = $picker_helper->LoadColumns($this->getPrefixSpecial()); - return $data['crc']; + $picker_helper = new kColumnPickerHelper($this->getPrefixSpecial(), $params['grid']); + + return $picker_helper->getData()->getChecksum(); } function FreezerPosition($params) { - /* @var $picker_helper kColumnPickerHelper */ - $picker_helper = $this->Application->recallObject('ColumnPickerHelper'); - $picker_helper->SetGridName($params['grid']); - $data = $picker_helper->LoadColumns($this->getPrefixSpecial()); - $freezer_pos = array_search('__FREEZER__', $data['order']); - return $freezer_pos === false || in_array('__FREEZER__', $data['hidden_fields']) ? 1 : ++$freezer_pos; + $picker_helper = new kColumnPickerHelper($this->getPrefixSpecial(), $params['grid']); + $data = $picker_helper->getData(); + + $freezer_pos = $data->getOrder('__FREEZER__'); + + return $freezer_pos === false || $data->isHidden('__FREEZER__') ? 1 : ++$freezer_pos; } function GridFieldsCount($params) Index: core/units/admin/admin_tag_processor.php IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- core/units/admin/admin_tag_processor.php (revision 15928) +++ core/units/admin/admin_tag_processor.php (revision ) @@ -629,29 +629,33 @@ function PrintColumns($params) { - /* @var $picker_helper kColumnPickerHelper */ - $picker_helper = $this->Application->recallObject('ColumnPickerHelper'); - $picker_helper->SetGridName($this->Application->GetLinkedVar('grid_name')); + $picker_helper = new kColumnPickerHelper( + $this->Application->RecallVar('main_prefix'), + $this->Application->GetLinkedVar('grid_name') + ); - $main_prefix = $this->Application->RecallVar('main_prefix'); - $cols = $picker_helper->LoadColumns($main_prefix); + $cols = $picker_helper->getData(); $this->Application->Phrases->AddCachedPhrase('__FREEZER__', '-------------'); $o = ''; - if (isset($params['hidden']) && $params['hidden']) { + if ( isset($params['hidden']) && $params['hidden'] ) { - foreach ($cols['hidden_fields'] as $col) { - $title = $this->Application->Phrase($cols['titles'][$col]); - $o .= "