Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -r3145 -r3163 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 3145) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 3163) @@ -726,7 +726,7 @@ $this->Application->SetVar($prefix_special.'_event',''); $this->Application->SetVar($prefix_special.'_id',''); - $current_page = $this->Application->RecallVar($prefix_special.'_Page'); + $current_page = $list->Page; // $this->Application->RecallVar($prefix_special.'_Page'); $block_params = $this->prepareTagParams($params); Index: trunk/kernel/units/general/cat_event_handler.php =================================================================== diff -u -r3154 -r3163 --- trunk/kernel/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3154) +++ trunk/kernel/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3163) @@ -946,6 +946,64 @@ $res = $this->Conn->Query($sql); } + + /** + * Set's correct page for list + * based on data provided with event + * + * @param kEvent $event + * @access private + * @see OnListBuild + */ + 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) + { + if( $this->Application->RewriteURLs() ) + { + $page = $this->Application->GetVar($event->Prefix.'_Page'); + if (!$page) + { + $page = $this->Application->RecallVar($event->Prefix.'_Page'); + } + if($page) $this->Application->StoreVar($event->getPrefixSpecial().'_Page', $page); + } + else + { + $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); + } + } ?> \ No newline at end of file Index: trunk/core/units/general/cat_event_handler.php =================================================================== diff -u -r3154 -r3163 --- trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3154) +++ trunk/core/units/general/cat_event_handler.php (.../cat_event_handler.php) (revision 3163) @@ -946,6 +946,64 @@ $res = $this->Conn->Query($sql); } + + /** + * Set's correct page for list + * based on data provided with event + * + * @param kEvent $event + * @access private + * @see OnListBuild + */ + 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) + { + if( $this->Application->RewriteURLs() ) + { + $page = $this->Application->GetVar($event->Prefix.'_Page'); + if (!$page) + { + $page = $this->Application->RecallVar($event->Prefix.'_Page'); + } + if($page) $this->Application->StoreVar($event->getPrefixSpecial().'_Page', $page); + } + else + { + $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); + } + } ?> \ No newline at end of file