Line # Revision Author
1 8 ahitrov@rambler.ru <& "/contenido/components/header.msn", title => 'Редактирование профилей' &>
2
3 <br>
4 <table border="0" style="font-size:85%;" width="80%">
5 <tr>
6 <td width="10"></td>
7 <td>
8 <div style="font-size:130%;">Редактирование профилей</div>
9 Профиль представляет из себя некий именованный набор из секций, доступных к редактированию обладателю данного профиля и различных возможностей редакторского интерфейса. Таким образом выделяются тематические блоки, например, административный, редакторский, пользовательский и т.д.
10 <p>Каждый пользователь имеет доступ к заданному числу профилей. Так и осуществляется разделяемый доступ.
11 </td>
12 </tr>
13
14 <tr><td height="20"></td></tr>
15
16 <tr><td></td><td>
17 <& "/contenido/components/exists_tabs.msn" &>
18 </td></tr>
19
20 <tr><td></td><td>
21 <& "/contenido/components/new_tab_form.msn" &>
22 </td></tr>
23
24 <tr><td></td><td>
25 <& "/contenido/components/tab_form.msn", tab=>$tab &>
26 </td></tr>
27
28 </table>
29
30 </body>
31 </html>
32
33 <%ARGS>
34
35 $save => undef
36
37 $id => undef
38 $name => undef
39 $level => 3
40 $sections => undef
41 $lefts => undef
42
43 </%ARGS>
44 <%INIT>
45
46 use vars qw($keeper $request);
47
48 my $toopi = $project->tabs();
49 my $tab = {};
50 if ($id && (length($id) > 0) && (exists($toopi->{$id})) )
51 {
52 $tab = $toopi->{$id};
53 } elsif ($id && (length($id) > 0) )
54 {
55 $tab->{id} = $id;
56 };
57
58 if ( $save && $id && (length($id) > 0))
59 {
60 $request->{local_codepage} = 'UTF8';
61 $request->{local_codepage} = 'WIN' if Convert::Cyrillic::cstocs('WIN', 'UTF8', $ARGS{control_charset}) eq 'Контроль';
62 $request->{local_codepage} = 'KOI8' if Convert::Cyrillic::cstocs('KOI8', 'UTF8', $ARGS{control_charset}) eq 'Контроль';
63 warn "Contenido Debug: Форма для редактирования описания объекта пришла в кодировке ".$request->{local_codepage}."\n" if ($state->debug());
64
65 $tab->{id} = $id;
66 $tab->{name} = $m->comp('/contenido/components/filter.msn', str => $name);
67 $tab->{level} = $level;
68 $tab->{sections} = (ref($sections) ? $sections : [$sections]);
69 $tab->{lefts} = (ref($lefts) ? $lefts : [$lefts]);
70 $toopi->{$id} = $tab;
71
72 $project->tabs($toopi);
73 $project->store($keeper);
74
75 $m->redirect('tabs.html');
76 }
77
78 </%INIT>

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

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

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

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

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