Revision 296 (by ahitrov, 2013/03/26 17:59:01) Promosite (anthill) project source
<& @call &>
%#<pre><% Dumper(\@path) %></pre>
%#<pre><% Dumper($request->{project_profile}) %></pre>
<%args>
</%args>
<%init>

  my @path = split('/', $m->dhandler_arg);
  my @call;

  my $prj = $request->{project};
  my $profile = $request->{project_profile};
  my $root = $request->{project_section};

  my $param = shift @path;
  if ( $param =~ /(\w+)\.html$/ ) {
	my $alias = $1;
	my ($doc) = $keeper->get_documents(
			s	=> $root->id,
			class	=> 'promosuite::Article',
			alias	=> $alias,
			limit	=> 1,
		);
	if ( ref $doc ) {
		$ARGS{document} = $doc;
		@call = ('article.html', %ARGS);
	} else {
		&abort404;
	}
  } elsif ( $param eq 'css' && $path[0] eq 'styles.css' ) {
	@call = ('/www/css/styles.css', %ARGS);
  } else {
	&abort404;
  }

  &abort404     unless $m->comp_exists($call[0]);

</%init>

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

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

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

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

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