• sections.html

    387 388  
    306 306 if ( exists $ARGS{tree} && $ARGS{tree} && $ARGS{tree} != $owner->id ) {
    307 307 my %updated;
    308 308 while ( my ($field, $value) = each %ARGS ) {
    309 if ( $field =~ /^update_(\d+)_(\w+)$/ ) {
    309 if ( $field =~ /^delete_(\d+)_(\w+)$/ ) {
    310 310 my $oid = $1;
    311 311 my $attr = $2;
    312 312 $updated{$oid}{$attr} = $value;
    313 313 }
    314 314 }
    315 warn Dumper \%updated;
    315 316 my %classes = map { $_->{class} => 1 } values %updated;
    316 317 my $parent_new = $keeper->get_section_by_id( $ARGS{tree} );
    317 318 my $document_access = $user->section_accesses($user, $parent_new->id);
     
    319 320 foreach my $update_class ( keys %classes ) {
    320 321 my @ids;
    321 322 while ( my ($oid, $attr) = each %updated) {
    322 push @ids, $oid if $attr->{class} eq $update_class;
    323 push @ids, $oid if exists $attr->{id} && $attr->{id} && ($attr->{class} eq $update_class);
    323 324 }
    324 325 my @objects = $keeper->get_documents (
    325 326 id => \@ids,

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

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

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

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

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