$n) $page = $n; if ($page < 1) $page = 1; $url = 'page='; $result = array(); for ($i = max($page - self::$range, 1); $i <= min($n, $page + self::$range); $i++) { $result [] = array('page' => $i, 'href' => ($i != $page) ? self::href($prefix, $url . $i) : false); } return array( 'all' => ($n > 1), 'list' => $result, 'first' => self::href($prefix, $url . 1), 'last' => self::href($prefix, $url . $n), 'next' => ($page == $n)? false : self::href($prefix, $url . ($page + 1)) , 'prev' => ($page == 1)? false : self::href($prefix, $url . ($page - 1))); } /** * @deprecated * @param $page int номер страницы * @param $onpage int количество элем на странице * @return string */ static function getLimit(/*.number.*/$page, /*.number.*/$onpage) { if ($page <= 0) { $page = 1; } return "LIMIT $onpage OFFSET " . ($page - 1) * $onpage; } /** * @param $page int номер страницы * @param $onpage int количество элем на странице * @return array */ static function _getLimit($page, $onpage) { if ($page <= 0) { $page = 1; } return array( 'count' => $onpage, 'start' => ($page - 1) * $onpage, ); } static function href($prefix, $x) { return $prefix . $x; } }