Revision 537

Date:
2016/01/19 08:30:14
Author:
ahitrov
Revision Log:
Sendmail now gets ARRAY REF as 'to' parameter

Files:

Legend:

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

     
    7 7 if (defined $value)
    8 8 {
    9 9 my $cookie = new CGI::Cookie (
    10 ## -domain => '.rambler.ru',
    11 10 -name => $name,
    12 11 -value => $value,
    13 12 defined $expires ? (-expires => $expires) : (),
  • utf8/core/comps/inc/sendmail.msn

     
    27 27 $emailfrom = $efrom;
    28 28 }
    29 29
    30 my $emailto;
    31 my ($to, $eto) = $email->{to} =~ /^(.*?)<(.*?)>/ ? ($1, $2) : $email->{to} =~ /<(.*?)>/ ? ('',$1) : ('',$email->{to});
    32 if ( $to ) {
    33 $to = MIME::Base64::encode($to);
    34 $to =~ s/\s+$//si;
    35 $to = '=?utf-8?B?'.$to.'?=';
    36 $emailto = $to.' <'.$eto.'>';
    30 my ($emailto, @to);
    31 if ( ref $email->{to} eq 'ARRAY' ) {
    32 foreach my $tostr ( @{$email->{to}} ) {
    33 my ($to, $eto) = $tostr =~ /^(.*?)<(.*?)>/ ? ($1, $2) : $tostr =~ /<(.*?)>/ ? ('',$1) : ('',$tostr);
    34 if ( $to ) {
    35 $to = MIME::Base64::encode($to);
    36 $to =~ s/\s+$//si;
    37 $to = '=?utf-8?B?'.$to.'?=';
    38 push @to, $to.' <'.$eto.'>';
    39 } else {
    40 push @to, $eto;
    41 }
    42 }
    43 $emailto = shift @to;
    37 44 } else {
    38 $emailto = $eto;
    45 my ($to, $eto) = $email->{to} =~ /^(.*?)<(.*?)>/ ? ($1, $2) : $email->{to} =~ /<(.*?)>/ ? ('',$1) : ('',$email->{to});
    46 if ( $to ) {
    47 $to = MIME::Base64::encode($to);
    48 $to =~ s/\s+$//si;
    49 $to = '=?utf-8?B?'.$to.'?=';
    50 $emailto = $to.' <'.$eto.'>';
    51 } else {
    52 $emailto = $eto;
    53 }
    39 54 }
    40 55 my $ccmail;
    41 56 if ( exists $email->{cc} && ref $email->{cc} eq 'ARRAY' ) {
    42 foreach my $cc ( @{ $email->{cc} } ) {
    57 foreach my $cc ( @{ $email->{cc}, @to } ) {
    43 58 my ($cce, $ecce) = $cc =~ /^(.*?)<(.*?)>/ ? ($1, $2) : $cc =~ /<(.*?)>/ ? ('',$1) : ('',$cc);
    44 59 $cc = $ecce;
    45 60 }
    46 $ccmail = join ', ', @{$email->{cc}};
    61 $ccmail = join ', ', (@to, @{$email->{cc}});
    47 62 } elsif ( exists $email->{cc} && $email->{cc} ) {
    48 63 my ($cce, $ecce) = $email->{cc} =~ /^(.*?)<(.*?)>/ ? ($1, $2) : $email->{cc} =~ /<(.*?)>/ ? ('',$1) : ('',$email->{cc});
    49 $ccmail = $ecce;
    64 $ccmail = join ', ', (@to, $ecce);
    50 65 }
    51 66
    52 67

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

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

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

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

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