Index: branches/RC/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r9969 -r10070 --- branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 9969) +++ branches/RC/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 10070) @@ -137,7 +137,7 @@ $picker_helper =& $this->Application->RecallObject('ColumnPickerHelper'); /* @var $picker_helper kColumnPickerHelper */ $picker_helper->ApplyPicker($this->getPrefixSpecial(), $grid_config, $params['grid']); - + if ($mode == 'fields') { return "'".join("','", array_keys($grid_config))."'"; } @@ -146,7 +146,7 @@ $std_params['PrefixSpecial'] = $this->getPrefixSpecial(); $object =& $this->GetList($params); - + $o = ''; $i = 0; foreach ($grid_config as $field => $options) { @@ -308,10 +308,22 @@ $prefix_special = rtrim($this->Prefix.'.'.$special, '.'); $params['skip_counting'] = true; $list =& $this->Application->recallObject( $prefix_special, $this->Prefix.'_List', $params); + /* @var $list kDBList */ + if ($requery) { $this->Application->HandleEvent($an_event, $prefix_special.':OnListBuild', $params); } + + if (array_key_exists('offset', $params)) { + $list->Offset += $params['offset']; // apply custom offset + } + $list->Query($requery); + + if (array_key_exists('offset', $params)) { + $list->Offset -= $params['offset']; // remove custom offset + } + $this->Special = $special; if ($list_name) {