Revision 8 (by ahitrov@rambler.ru, 2010/03/29 11:46:38) Contenido UTF-8 core files
%# vim:syn=mason
<select name="<% $name %>"<% $prop->{multiple} && ' multiple' %><% $prop->{size} && ' size="'.$prop->{size}.'"' %>>
%
%	if ($prop->{allow_null}) {
%
<option value="" <% defined $check ? '' : 'selected' %>>--- не указано ---</option>
%
%	}
%
%	for my $chain (@chains) {
%
%		my $selected = defined $chain && ( ref $check eq 'ARRAY' ? grep { $_ eq $chain } @$check : $check eq $chain ? 1 : 0 );
%		$found++ if $selected;
%
<option value="<% $chain %>"<% $selected ? ' selected' : '' %>><% $chain %></option>
%
%	}
%
%	#if used not allowed value
%	if ( $check and not $found ) {
%
<option value="<% $check %>" selected style="color:red;"><% $check %></option>
%
%	}
%
</select>
<%args>

	$object  => undef
	$prop    => undef
	$name    => undef
	$values  => []
	$check   => undef

</%args>
<%init>

	my $found = 0;
	my @chains = ();

	if (my $method = $prop->{planets_user_method}) {
		my $user = $object->$method;
		if ($user) {
			push(@chains, "users/" . $user->login);
            foreach my $member ($user->member_of) {
                next if $member->{'friendly_status'} < 3;
                push @chains, 'community/'.$member->{'login'}
            }
		}
	}
</%init>

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

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

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

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

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