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>

Небольшая справка по веткам

cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.

koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.

utf8 – актуальная ветка, заточенная под UTF-8.

Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.