| 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> |