Line # Revision Author
1 8 ahitrov@rambler.ru <% join($delimiter, @parts) %>
2 <%args>
3 $p => 1
4 $n => 10
5 $total => undef
6 $href => undef
7 $params => {}
8 $pname => 'p'
9 $delimiter => ' | '
10
11 </%args>
12 <%init>
13
14 # если !$href и файл страницы не является DirectoryIndex, напр:
15 # .../../gallery.html. а ссылка в нем относительная, напр: <a href="?param=1">,
16 # то IE перейдет на .../../gallery.html?param=1., а NN (4.x) перейдет на
17 # .../../?param=1.., следующий блок вытащит и подставит нужное имя файла.
18 #
19 if (!$href)
20 {
21 $href = $r->uri();
22 $href =~ s/\/([\w]{1,}(\.[sp]?html?))//;
23 $href = $1;
24 if ($href =~ /(index|default|main)$2/ ){
25 $href = '';
26 }
27 }
28
29 my $parts = int($total/$n) + ($total % $n ? 1 : 0);
30 my @parts;
31 foreach my $pn (1 .. $parts)
32 {
33 $params->{$pname} = $pn;
34 push @parts, ($pn == $p) ? "<b>$pn</b>" : "<a href=\"$href?".join('&', map { "$_=$params->{$_}" } keys %$params)."\">$pn</a>";
35 }
36
37 </%init>