Line # Revision Author
1 8 ahitrov@rambler.ru <select <% $multiple %> <% $size %> <% $onChange %> name="<% $name %>" class="selects" style="<% $width %><% $height %><% $style %>">
2
3 % while (my ($key, $value) = splice(@local_values, 0, 2))
4 % {
5 % my $selected = (scalar grep { $_ eq $key } @local_checks ) ? ' selected' : '';
6 % next unless defined $key;
7 <option value="<% $key %>"<% $selected %>><% $value %></option>
8 % }
9
10 </select>
11 <%args>
12
13 $name => undef
14 $values => []
15 $check => undef
16 $multiple => undef
17 $size => undef
18 $onChange => undef
19
20 $width => undef
21 $height => undef
22
23 $style => undef
24
25 </%args>
26 <%init>
27
28 my @local_values = @{ $values }; # Копируем, чтобы не облажаться...
29 my @local_checks = ();
30 if (ref($check) eq 'ARRAY')
31 {
32 @local_checks = @{ $check };
33 } elsif (defined($check)) {
34 @local_checks = ($check);
35 }
36
37 $size = ($size) ? " size=\"$size\"" : '';
38 $width = ($width) ? "width:$width;" : '';
39 $height = ($height) ? "height:$height;" : '';
40 $multiple = ($multiple) ? ' multiple' : '';
41 $onChange = ($onChange) ? " onChange=\"$onChange\"" : '';
42
43 </%init>

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

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

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

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

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