Index: branches/5.2.x/core/units/helpers/mod_rewrite_helper.php =================================================================== diff -u -N -r14753 -r14769 --- branches/5.2.x/core/units/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 14753) +++ branches/5.2.x/core/units/helpers/mod_rewrite_helper.php (.../mod_rewrite_helper.php) (revision 14769) @@ -1,6 +1,6 @@ Application->recallObject('kRewriteUrlProcessor'); + /* @var $rewrite_processor kRewriteUrlProcessor */ + + $ret = ''; + list ($prefix) = explode('.', $prefix_special); + $processed_params = $rewrite_processor->getProcessedParams($prefix_special, $params, $keep_events); + + if ($processed_params === false) { + return ''; + } + + if (!array_key_exists($prefix, $default_per_page)) { + $list_helper =& $this->Application->recallObject('ListHelper'); + /* @var $list_helper ListHelper */ + + $default_per_page[$prefix] = $list_helper->getDefaultPerPage($prefix); + } + + if ($processed_params[$prefix_special . '_id']) { + return false; + } + else { + if ($processed_params[$prefix_special . '_Page'] == 1) { + // when printing category items and we are on the 1st page -> there is no information about + // category item prefix and $params['pass_category'] will not be added automatically + $params['pass_category'] = true; + } + elseif ($processed_params[$prefix_special . '_Page'] > 1) { + // $ret .= $processed_params[$prefix_special . '_Page'] . '/'; + $params['page'] = $processed_params[$prefix_special . '_Page']; + } + + $per_page = $processed_params[$prefix_special . '_PerPage']; + + if ($per_page && ($per_page != $default_per_page[$prefix])) { + $params['per_page'] = $processed_params[$prefix_special . '_PerPage']; + } + } + + return mb_strtolower( rtrim($ret, '/') ); + } + + /** * Returns item's filename that corresponds id passed. If possible, then get it from cache * * @param string $prefix