Revision 53

Date:
2010/08/26 16:58:19
Author:
ahitrov@rambler.ru
Revision Log:
Избавляемся от одного противного артефакта
Files:

Legend:

 
Added
 
Removed
 
Modified
  • utf8/core/comps/contenido/components/set_properties.msn

     
    1 1 <%ARGS>
    2 2
    3 $object => undef
    4 $SETS => undef
    3 $object => undef
    4 $SETS => undef
    5 5
    6 6 </%ARGS>
    7 7 <%INIT>
    8 use Contenido::File;
    8
    9 use Contenido::File;
    9 10 use vars qw($keeper $request );
    10 11
    11 12 $request->{local_codepage} = 'UTF8';
    12 $request->{local_codepage} = 'WIN' if Convert::Cyrillic::cstocs('WIN', 'UTF8', $SETS->{control_charset}) eq 'Контроль';
    13 $request->{local_codepage} = 'KOI8' if Convert::Cyrillic::cstocs('KOI8', 'UTF8', $SETS->{control_charset}) eq 'Контроль';
    13 $request->{local_codepage} = 'WIN' if Convert::Cyrillic::cstocs('WIN', 'UTF8', $SETS->{control_charset}) eq 'Контроль';
    14 $request->{local_codepage} = 'KOI8' if Convert::Cyrillic::cstocs('KOI8', 'UTF8', $SETS->{control_charset}) eq 'Контроль';
    14 15
    15 16 warn "Contenido Debug: Форма для редактирования пришла в кодировке ".$request->{local_codepage}."\n" if ($state->debug());
    16 17
    17 18 my @properties = $object->structure();
    18 19 for (0..$#properties)
    19 20 {
    20 my $prop = $properties[$_];
    21 my $name = $prop->{attr};
    22 my $type = $prop->{type};
    21 my $prop = $properties[$_];
    22 my $name = $prop->{attr};
    23 my $type = $prop->{type};
    23 24
    24 next if ($name eq 'sections');
    25 next if ($name eq 'id');
    25 next if ($name eq 'sections');
    26 next if ($name eq 'id');
    26 27
    27 my $component = '/contenido/components/outputs/'.$prop->{attr}.'.msn';
    28 if ($m->comp_exists($component)) {
    29 $object->{$name} = $m->comp($component, SETS => $SETS, name => $name, object => $object );
    30 } elsif ($m->comp_exists("/contenido/components/outputs/$type.msn")) {
    31 $object->{$name} = $m->comp("/contenido/components/outputs/$type.msn", SETS => $SETS, name => $name, object => $object );
    32 } elsif ( $prop->{type} eq 'image' )
    33 {
    28 if ($m->comp_exists("/contenido/components/outputs/$type.msn")) {
    29 $object->{$name} = $m->comp("/contenido/components/outputs/$type.msn", SETS => $SETS, name => $name, object => $object );
    30
    31 } elsif ( $prop->{type} eq 'image' ) {
    34 32 # --------------------------------------------------------------------------------------
    35 33 # Добавление одной, отдельно стоящей картинки...
    36 34
     
    59 57 $object->{$name} = Data::Dumper::Dumper($IMAGE);
    60 58 }
    61 59 }
    62 }
    63 elsif ($prop->{type} =~ /^images/)
    64 {
    60
    61 } elsif ($prop->{type} =~ /^images/) {
    65 62 # --------------------------------------------------------------------------------------
    66 63 # А вот это уже сложнее - составление блока из всех картинок...
    67 64
     
    128 125 $object->{$name} = Data::Dumper::Dumper($IMAGES);
    129 126 }
    130 127
    131 }
    132 elsif ( $prop->{type} eq 'multimedia' )
    133 {
    128 } elsif ( $prop->{type} eq 'multimedia' ) {
    134 129 # --------------------------------------------------------------------------------------
    135 130 # Добавление одного объект Мультимедиа
    136 131
     
    154 149 }
    155 150 }
    156 151
    157 }
    158 elsif ( $prop->{type} eq 'multimedia_new' )
    159 {
    152 } elsif ( $prop->{type} eq 'multimedia_new' ) {
    160 153 # --------------------------------------------------------------------------------------
    161 154 # Добавление одного объект Мультимедиа
    162 155
     
    180 173 }
    181 174 }
    182 175
    183 }
    184 elsif ( $prop->{type} eq 'audio' )
    185 {
    176 } elsif ( $prop->{type} eq 'audio' ) {
    186 177 # --------------------------------------------------------------------------------------
    187 178 # Добавление одного объект Мультимедиа
    188 179
     
    210 201 }
    211 202 }
    212 203
    204 } else {
    205 $object->{$name} = $m->comp('/contenido/components/filter.msn', str => $SETS->{$name} );
    213 206 }
    214 else
    215 {
    216 $object->{$name} = $m->comp('/contenido/components/filter.msn', str => $SETS->{$name} );
    217 }
    218 207
    219 208 }
    220 209

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

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

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

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

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