1) { $pagerFragmentStart = $currPage-ceil($pageLineSize/2); $pagerFragmentEnd = $currPage+ceil($pageLineSize/2); $pagerFragmentStart = ($pagerFragmentStart<=0)?1:$pagerFragmentStart; $pagerFragmentEnd = ($pagerFragmentEnd>$pagesCount)?$pagesCount:$pagerFragmentEnd; $pagerFragmentEnd = ($pagerFragmentEnd<$pageLineSize)?$pageLineSize:$pagerFragmentEnd; $pagerFragmentStart = ($pagerFragmentStart>$pagesCount-$pageLineSize)?$pagesCount-$pageLineSize:$pagerFragmentStart; for($p=1;$p<=$pagesCount;$p++) { if($currPage==$p) { $pagerString .= "[".$p."] "; // print current page numbers } else { if(($p==1) || ($p==$pagesCount)) { $pagerString .= "".$p." "; // print first and last page numbers } else { if(($p<=$pagerFragmentStart)||($p>=$pagerFragmentEnd)) { $pagerString .= '*'; } else { $pagerString .= "".$p." "; } } } } $pagerString = preg_replace('/\*+/',' ',$pagerString); } else { for($p=1;$p<=$pagesCount;$p++) { if($currPage==$p) { $pagerString .= "[".$p."] "; } else { $pagerString .= "".$p." "; } } } $prevpage = $currPage-1; $nextpage = $currPage+1; if ($prevpage==0) { $pagerString = 'Предыдущая'.' '.$pagerString; } else { $pagerString = "Предыдущая ".$pagerString; } if ($nextpage>$pagesCount) { $pagerString .= "Следующая"; } else { $pagerString .= "Следующая"; } $pagerString = '
'.$pagerString.'
'; return $pagerString; } ?>