1 |
198 |
ahitrov |
<%ARGS> |
2 |
|
|
|
3 |
|
|
$object => undef |
4 |
|
|
$SETS => undef |
5 |
|
|
$context=> undef |
6 |
|
|
|
7 |
|
|
</%ARGS> |
8 |
|
|
<%INIT> |
9 |
|
|
|
10 |
|
|
use Contenido::File; |
11 |
|
|
use vars qw($keeper $request ); |
12 |
|
|
|
13 |
|
|
$request->{local_codepage} = 'UTF8'; |
14 |
|
|
$request->{local_codepage} = 'WIN' if Convert::Cyrillic::cstocs('WIN', 'UTF8', $SETS->{control_charset}) eq 'Контроль'; |
15 |
|
|
$request->{local_codepage} = 'KOI8' if Convert::Cyrillic::cstocs('KOI8', 'UTF8', $SETS->{control_charset}) eq 'Контроль'; |
16 |
|
|
|
17 |
|
|
warn "Contenido Debug: Форма для редактирования пришла в кодировке ".$request->{local_codepage}."\n" if ($state->debug()); |
18 |
|
|
|
19 |
|
|
my @properties = $object->structure(); |
20 |
|
|
for (0..$#properties) |
21 |
|
|
{ |
22 |
|
|
my $prop = $properties[$_]; |
23 |
|
|
my $name = $prop->{attr}; |
24 |
|
|
my $type = $prop->{type}; |
25 |
|
|
|
26 |
|
|
next if ($name eq 'sections'); |
27 |
|
|
next if ($name eq 'id'); |
28 |
|
|
|
29 |
|
|
next if $prop->{hidden}; |
30 |
|
|
next if $context =~ /(facil|post)/ && $prop->{$context.'show'}; |
31 |
|
|
next if !$context && ($prop->{manshow} || $prop->{manager_hidden}); |
32 |
|
|
|
33 |
|
|
if ( exists $SETS->{$name} ) { |
34 |
|
|
if ($m->comp_exists("/contenido/components/outputs/$type.msn")) { |
35 |
|
|
$object->{$name} = $m->comp("/contenido/components/outputs/$type.msn", SETS => $SETS, name => $name, object => $object ); |
36 |
|
|
} else { |
37 |
|
|
$object->{$name} = $m->comp('/contenido/components/filter.msn', str => $SETS->{$name} ); |
38 |
|
|
} |
39 |
|
|
} |
40 |
|
|
|
41 |
|
|
} |
42 |
|
|
|
43 |
|
|
# По идее - мы работаем с ссылкой, так что ничего не надо возвращать! |
44 |
|
|
# O-ле! О-ле! О-ле! |
45 |
|
|
return 1; |
46 |
|
|
|
47 |
|
|
</%INIT> |