Line # Revision Author
1 296 ahitrov % if ( $m->comp_exists ("/comps/$prj/header.msn") ) {
2 <& "/comps/$prj/header.msn" &>
3 % } else {
4 <& "/comps/header.msn" &>
5 % }
6
7
8 % ### контент
9
10 <table cellspacing="0" cellpadding="0" width="100%" border="0">
11 <tr><td width="4%"><div style="width: 10px; height: 1px"><spacer height="1" width="10" type="block"></div></td>
12 <td width="92%" valign="top" style="padding-top:11px;">
13 <div style="padding:14px 15px; width:890px;" class="hdr"><a href="./designers.html"><% $section->name %></a></div>
14
15 % if ( $id && ref $document ) {
16
17 % if ( $m->comp_exists ("/comps/$prj/article.msn") ) {
18 <& "/comps/$prj/article.msn", doc => $document, show_header => 1 &>
19 <div style="padding:10px 0px 10px 15px" class="txt"><a href="javascript:history.back(1)"><span class="link-b">Вернуться к списку коллекций</span></a></div>
20 % } else {
21 <& "/comps/article.msn", doc => $document, show_header => 1, show_dtime => 1 &>
22
23 % }
24
25 % }
26 %
27 % if ( ref $documents && @$documents ) {
28 %
29 <table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
30 <tr valign="top"><td width="49%">
31 % my $i = 0;
32 % foreach my $doc ( @$documents ) {
33 % if ( $i++ == int((scalar @$documents)/2) ) {
34 </td>
35 <td width="2%"><spacer type="block" style="width: 20%;"></td>
36 <td width="49%">
37 % }
38 <div class="dsrs"><b><% $i %>.</b> <a href="?id=<% $doc->id %>"><% $doc->name %></a></div>
39 % }
40 </td>
41 </tr>
42 </table>
43 % }
44
45 </td>
46 <td width="4%"><div style="width: 10px; height: 1px"><spacer height="1" width="10"
47 type="block"></div></td>
48 </tr>
49 </table>
50
51 % ### Футер
52 % ##############################################
53 % if ( $m->comp_exists ("/comps/$prj/footer.msn") ) {
54 <& "/comps/$prj/footer.msn" &>
55 % } else {
56 <& "/comps/footer.msn" &>
57 % }
58 % ### /Футер
59 <%args>
60
61 $p => 1
62 $id => undef
63
64 </%args>
65 <%init>
66
67 my $prj = $request->{project};
68 my $profile = $request->{project_profile};
69 my $root = $request->{project_section};
70 &abort404 if $id && $id !~ /^\d+$/;
71
72 my ($document, $documents);
73 my ($section) = $keeper->get_sections (
74 s => $root->id,
75 class => 'promosuite::AnnoSection',
76 limit => 1,
77 status => 1,
78 );
79 if ( $id && ref $section ) {
80 $document = $keeper->get_document_by_id ($id,
81 s => $section->id,
82 class => 'promosuite::Anons',
83 status => 1,
84 );
85 } elsif ( ref $section ) {
86 $documents = $keeper->get_documents (
87 s => $section->id,
88 class => 'promosuite::Anons',
89 status => 1,
90 order_by => 'name',
91 return_mode => 'array_ref',
92 );
93
94 }
95
96 </%init>

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

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

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

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

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