Index: trunk/core/kernel/db/db_event_handler.php =================================================================== diff -u -r1821 -r1906 --- trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 1821) +++ trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 1906) @@ -384,6 +384,39 @@ function SetPagination(&$event) { // get PerPage (forced -> session -> config -> 10) + $per_page = $this->getPerPage($event); + + $object =& $event->getObject(); + $object->SetPerPage($per_page); + $this->Application->StoreVarDefault($event->getPrefixSpecial().'_Page', 1); + + $page = $this->Application->GetVar($event->getPrefixSpecial().'_Page'); + if (!$page) { + $page = $this->Application->GetVar($event->getPrefixSpecial(true).'_Page'); + } + if (!$page) { + $page = $this->Application->RecallVar($event->getPrefixSpecial().'_Page'); + } + else { + $this->Application->StoreVar($event->getPrefixSpecial().'_Page', $page); + } + +// $page = $this->Application->GetLinkedVar($event->getPrefixSpecial(true).'_Page', $event->getPrefixSpecial().'_Page'); + if( !$event->getEventParam('skip_counting') ) + { + $pages = $object->GetTotalPages(); + if($page > $pages) + { + $this->Application->StoreVar($event->getPrefixSpecial().'_Page', 1); + $page = 1; + } + } + + $object->SetPage($page); + } + + function getPerPage($event) + { $per_page = $event->getEventParam('per_page'); $config_mapping = $this->Application->getUnitOption($event->Prefix, 'ConfigMapping'); @@ -414,35 +447,9 @@ } } - $object =& $event->getObject(); - $object->SetPerPage($per_page); - $this->Application->StoreVarDefault($event->getPrefixSpecial().'_Page', 1); - - $page = $this->Application->GetVar($event->getPrefixSpecial().'_Page'); - if (!$page) { - $page = $this->Application->GetVar($event->getPrefixSpecial(true).'_Page'); - } - if (!$page) { - $page = $this->Application->RecallVar($event->getPrefixSpecial().'_Page'); - } - else { - $this->Application->StoreVar($event->getPrefixSpecial().'_Page', $page); - } - -// $page = $this->Application->GetLinkedVar($event->getPrefixSpecial(true).'_Page', $event->getPrefixSpecial().'_Page'); - if( !$event->getEventParam('skip_counting') ) - { - $pages = $object->GetTotalPages(); - if($page > $pages) - { - $this->Application->StoreVar($event->getPrefixSpecial().'_Page', 1); - $page = 1; - } - } - $object->SetPage($page); - + return $per_page; } - + /** * Set's correct sorting for list * based on data provided with event Index: trunk/kernel/admin_templates/img/toolbar/tool_goto_order_f2.gif =================================================================== diff -u Binary files differ Index: trunk/kernel/admin_templates/img/toolbar/tool_goto_order.gif =================================================================== diff -u Binary files differ Index: trunk/kernel/admin_templates/img/toolbar/tool_goto_order_f3.gif =================================================================== diff -u Binary files differ