Index: branches/5.0.x/core/kernel/db/db_tag_processor.php =================================================================== diff -u -r12246 -r12267 --- branches/5.0.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 12246) +++ branches/5.0.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 12267) @@ -1,6 +1,6 @@ Application->GetVar('NamesToSpecialMapping'); $special = is_array($names_mapping) && isset($names_mapping[$this->Prefix]) && isset($names_mapping[$this->Prefix][$list_name]) ? $names_mapping[$this->Prefix][$list_name] : false; // $special = getArrayValue($names_mapping, $this->Prefix, $list_name); - if(!$special) - { + if (!$special) { $special = $this->BuildListSpecial($params); } } - else - { + else { $special = $this->BuildListSpecial($params); } $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('skip_quering', $params) || !$params['skip_quering']) { + if ($requery) { + $this->Application->HandleEvent($an_event, $prefix_special.':OnListBuild', $params); + } - if (array_key_exists('offset', $params)) { - $list->Offset += $params['offset']; // apply custom offset - } + if (array_key_exists('offset', $params)) { + $list->Offset += $params['offset']; // apply custom offset + } - $list->Query($requery); + $list->Query($requery); - if (array_key_exists('offset', $params)) { - $list->Offset -= $params['offset']; // remove custom offset + if (array_key_exists('offset', $params)) { + $list->Offset -= $params['offset']; // remove custom offset + } } $this->Special = $special;