Revision 438, 1.7 KB
(checked in by kovell, 14 years ago)
|
Fixes: pagesplitter creates correct links for 1000+ pages. Feed fetcher caches feeds in case of timeouts.
|
Rev | Line | |
---|
[190] | 1 | <?php |
---|
| 2 | class PageSplitter |
---|
| 3 | { |
---|
| 4 | function PageSplitter($max, $split) |
---|
| 5 | { |
---|
| 6 | $this->max_ = $max; |
---|
| 7 | $this->split_ = $split; |
---|
| 8 | } |
---|
| 9 | |
---|
| 10 | function getSplit() |
---|
| 11 | { |
---|
| 12 | return $this->split_; |
---|
| 13 | } |
---|
| 14 | |
---|
| 15 | function generate() |
---|
| 16 | { |
---|
| 17 | if ($this->max_ / $this->split_ <= 1) |
---|
| 18 | return; |
---|
| 19 | |
---|
| 20 | $html = "<br><p><b>[</b> Page: "; |
---|
| 21 | $endpage = ceil($this->max_ / $this->split_); |
---|
| 22 | if ($_GET['page']) |
---|
| 23 | { |
---|
[438] | 24 | $url = preg_replace("/&page=([0-9]+)/", "", |
---|
[190] | 25 | $_SERVER['QUERY_STRING']); |
---|
[370] | 26 | $url =preg_replace("/&/", "&", $url); |
---|
[190] | 27 | $page = $_GET['page']; |
---|
| 28 | } |
---|
| 29 | else |
---|
| 30 | { |
---|
| 31 | $url = $_SERVER['QUERY_STRING']; |
---|
[370] | 32 | $url =preg_replace("/&/", "&", $url); |
---|
[190] | 33 | $page = 1; |
---|
| 34 | } |
---|
| 35 | for ($i = 1; $i <= $endpage; $i++) |
---|
| 36 | { |
---|
| 37 | if ($i != $page) |
---|
| 38 | { |
---|
| 39 | if ($i == 1 || $i == $endpage || (($i >= $page - 1 && $i <= $page + 1))) |
---|
| 40 | { |
---|
| 41 | if ($i != 1) |
---|
[370] | 42 | $html .= "<a href=\"?".$url."&page=".$i."\">".$i."</a> "; |
---|
[190] | 43 | else |
---|
| 44 | $html .= "<a href=\"?".$url."\">".$i."</a> "; |
---|
| 45 | }elseif ($i < $page && !$dotted) |
---|
| 46 | { |
---|
| 47 | $dotted = true; |
---|
| 48 | $html .= "<b>.. </b>"; |
---|
| 49 | }elseif ($i > $page && !$ldotted) |
---|
| 50 | { |
---|
| 51 | $ldotted = true; |
---|
| 52 | $html .= "<b>.. </b>"; |
---|
| 53 | } |
---|
| 54 | } |
---|
| 55 | else |
---|
| 56 | $html .= "<b>".$i."</b> "; |
---|
| 57 | } |
---|
| 58 | $html .= "<b>]</b>"; |
---|
| 59 | return $html; |
---|
| 60 | } |
---|
| 61 | } |
---|
| 62 | ?> |
---|