my $iframe = '<iframe id="paystation" src="https://secure.xsolla.com/paystation2/?'.join('&',@params).'" width="100%" height="100%">';
37
push @sig_params, 'currency='.$opts{currency} if exists $opts{currency};
38
push @sig_params, 'email='.$opts{email} if exists $opts{email};
39
push @sig_params, 'userip='.$opts{userip} if exists $opts{userip};
40
push @sig_params, 'v2='.$opts{v2} if exists $opts{v2};
41
push @sig_params, 'v3='.$opts{v3} if exists $opts{v3};
42
@sig_params = sort { $a cmp $b } @sig_params;
43
my $str = join( '', @sig_params).$self->secret;
44
warn "Sign str: [$str]\n";
45
my $sign = Digest::MD5::md5_hex ( $str );
46
my $iframe = '<iframe id="paystation" src="https://secure.xsolla.com/paystation2/?'.join('&',@sig_params, 'sign='.$sign, @static_params).'" width="100%" height="100%">';
31
47
return $iframe;
32
48
}
33
49
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.