Index: trunk/kernel/include/parseditem.php =================================================================== diff -u -r2978 -r3124 --- trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 2978) +++ trunk/kernel/include/parseditem.php (.../parseditem.php) (revision 3124) @@ -1711,74 +1711,63 @@ { global $objConfig, $var_list_update, $var_list; + $url_params = $EnvSuffix ? ExtractParams($EnvSuffix) : Array(); $v= $this->PageEnvar; global ${$v}; - if(!strlen($page)) - $page = GetIndexURL(2); +// if(!strlen($page)) $page = GetIndexURL(2); $PerPage = $objConfig->Get($this->PerPageVar); - if($PerPage<1) - $PerPage=20; - $NumPages = ceil($this->GetNumPages($PerPage)); - if($NumPages==1 && $HideEmpty) - return ""; + if($PerPage < 1) $PerPage = 20; + $NumPages = ceil( $this->GetNumPages($PerPage) ); + if($NumPages == 1 && $HideEmpty) return ''; + + $var_list_update['t'] = isset($dest_template) && $dest_template ? $dest_template : $var_list['t']; - if(strlen($dest_template)) - { - $var_list_update["t"] = $dest_template; - } - else - $var_list_update["t"] = $var_list["t"]; + $o = ''; + if( $this->Page == 0 || !is_numeric($this->Page) ) $this->Page = 1; + if($this->Page > $NumPages) $this->Page = $NumPages; - $o = ""; - if($this->Page==0 || !is_numeric($this->Page)) - $this->Page=1; - if($this->Page>$NumPages) - $this->Page=$NumPages; + $StartPage = (int)$this->Page - ($PagesToList / 2); + if($StartPage < 1) $StartPage = 1; - $StartPage = (int)$this->Page - ($PagesToList/2); - if($StartPage<1) - $StartPage=1; - - $EndPage = $StartPage+($PagesToList-1); - if($EndPage>$NumPages) + $EndPage = $StartPage + ($PagesToList - 1); + if($EndPage > $NumPages) { $EndPage = $NumPages; - $StartPage = $EndPage-($PagesToList-1); - if($StartPage<1) - $StartPage=1; + $StartPage = $EndPage - ($PagesToList - 1); + if($StartPage < 1) $StartPage = 1; } - $o = ""; - if($StartPage>1) + $o = ''; + if($StartPage > 1) { - ${$v}[$this->PageEnvarIndex] = $this->Page-$PagesToList; + ${$v}[$this->PageEnvarIndex] = $this->Page - $PagesToList; - $prev_url = $page."?env=".BuildEnv().$EnvSuffix; - $o .= "<<"; + $prev_url = HREF_Wrapper('', $url_params); + $o .= '<<'; } - for($p=$StartPage;$p<=$EndPage;$p++) + for($p = $StartPage; $p <= $EndPage; $p++) { - if($p!=$this->Page) + if($p != $this->Page) { - ${$v}[$this->PageEnvarIndex]=$p; - $href = $page."?env=".BuildEnv().$EnvSuffix; - $o .= " $p "; + ${$v}[$this->PageEnvarIndex] = $p; + $href = HREF_Wrapper('', $url_params); + $o .= ' '.$p.' '; } else { $o .= " $p"; } } - if($EndPage<$NumPages && $EndPage>0) + if($EndPage < $NumPages && $EndPage > 0) { - ${$v}[$this->PageEnvarIndex]=$this->Page+$PagesToList; + ${$v}[$this->PageEnvarIndex] = $this->Page + $PagesToList; - $next_url = $page."?env=".BuildEnv().$EnvSuffix; + $next_url = HREF_Wrapper('', $url_params); $o .= " >>"; } unset(${$v}[$this->PageEnvarIndex],$var_list_update["t"] );