Revision 478 (by ahitrov, 2015/03/03 11:57:31) |
Control type 'json'
|
<%once>
use JSON::XS;
</%once>
<%args>
$name => undef
$SETS => undef
$object => undef
</%args>
<%init>
return undef unless ref($SETS);
return undef unless $name;
return undef unless $SETS->{$name};
my ($prop) = grep { $_->{attr} eq $name } $object->structure;
my $class = $object->class;
my $is_extra = grep { ref $_ && $_->{attr} eq $name } $class->extra_properties ? 1 : 0;
my $result;
if ( $is_extra && !$prop->{serialize} ) {
eval { $result = JSON::XS->new->decode( $SETS->{$name} ) };
} else {
$result = $SETS->{$name};
}
warn Dumper $result;
return $result;
</%init>
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.