Revision 469 (by ahitrov, 2014/12/24 13:57:26) |
Moving Contenido to Apache 2
|
<select name="<% $name %>" class="selects">
% select_index_tree( $root_sect, 0, $level, $check, $CACHE );
</select>
<%args>
$name => undef
$check => undef
$root => 1
$level => 15
</%args>
<%init>
sub select_index_tree
{
use locale;
my ($sect, $offset, $count_offset, $selected, $CACHE) = @_;
my $spacer = '';
for(my $c=0; $c<$offset; $c++)
{
$spacer = $spacer.(($c == $offset-1) ? ' >> ' : ' ');
}
if( $sect->id() )
{
$m->out('<option value="'.$sect->id.'" '.(($selected == $sect->id) ? ' selected' : '').'>'.$spacer.$sect->name.'</option>');
}
elsif( $sect->id() && $sect->id() == 1 )
{
$m->out('<option style="background-color:#606060;color:#ffffff;" value="'.$sect->id.'" '.(($selected == $sect->id) ? ' selected' : '').'>'.$sect->name.'</option>');
}
my @childs = $sect->childs();
if( @childs && $offset < $count_offset )
{
$offset++;
foreach my $child_id (@childs)
{
my $child = $CACHE->{$child_id};
select_index_tree( $child, $offset, $count_offset, $selected, $CACHE);
}
$offset--;
}
}
my $CACHE = {};
my @cacher = $keeper->get_sections( light => 1 );
for my $c (@cacher)
{
$CACHE->{$c->id()} = $c;
}
my $root_sect = $CACHE->{$root} || $CACHE->{1};
</%init>
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.