Revision 3 (by ahitrov@rambler.ru, 2010/03/24 15:19:32) The CORE
<%ARGS>
	$id => undef
	$class => undef
</%ARGS>

<%INIT>
	if ($id)
	{
		my $document = $keeper->get_document_by_id($id, class=>$class);

		my %sections = ();
		foreach my $name (keys %ARGS)
		{
			if ($name =~ /^section_(\d+)$/)
			{
				$sections{$1} = 1;
			}
		}
		my @sections_in_order = ();
		if ($ARGS{main_section} > 0)
		{
			delete $sections{ $ARGS{main_section} };
			push (@sections_in_order, $ARGS{main_section});
		}
		push (@sections_in_order, keys(%sections));

		$document->sections(@sections_in_order);
		$document->store();

		$r->header_out("Location", "document.html?id=$id&class=$class");
                $r->status(302);
                $r->send_http_header();
                $m->abort();
	}

</%init>

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

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

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

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

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