$log->warning("Неверный вызов функции dmove для направления '$direction'. Не найден якорь [$anchor]"); return undef;
367
}
368
if ( $direction eq 'last' ) {
369
push @new_order, $doc_id;
370
}
315
371
316
my @order = split(/,/, $self->{_sorted_order});
317
@order = grep {
318
my $res;
319
if (exists $ids{$_}) {
320
$res = 1;
321
delete $ids{$_};
322
}
323
$res
324
} @order;
325
326
push @order, keys %ids;
327
328
foreach my $i (0 .. $#order) {
329
if ($order[$i] == $doc_id) {
330
my $t;
331
if ($direction eq 'up') {
332
last if $i == 0;
333
$t = $order[$i-1];
334
$order[$i-1] = $order[$i];
335
$order[$i] = $t;
336
$sorder_ = $i - 1;
337
last;
338
} elsif ($direction eq 'down') {
339
last if $i == $#order;
340
$t = $order[$i+1];
341
$order[$i+1] = $order[$i];
342
$order[$i] = $t;
343
$sorder_ = $i + 1;
344
last;
345
}
346
}
347
}
348
349
$self->{_sorted_order} = join ',', @order;
350
$self->store();
372
$self->{_sorted_order} = join ',', @new_order;
373
$self->store( without_sort => 1 );
351
374
} else {
352
$log->warning("dmove called for section without enabled sorted feature... $self->{id}/$self->{class}");
375
$log->warning("dmove called for section without enabled sorted feature... ".$self->id."/".$self->class);
353
376
}
354
377
355
$self->{sorder} = $sorder_;
356
378
return 1;
357
379
}
358
380
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.