Revision 296 (by ahitrov, 2013/03/26 17:59:01) Promosite (anthill) project source
<%args>

	$voting	=> undef
	$quest	=> undef
	$filled	=> undef

</%args>
<%init>
  return	unless ref $voting;

  my $CP = 'UTF8';
  my $to = $voting->email;
  my $error;
  my $errstr;
  my $testresult;


  $testresult = 1;
  foreach ( 1 .. $quest->{question_amount} ) {
	my $index = 'r'.$_;
	if ( !exists $ARGS{$index} ) {
		$testresult = 0;
	} elsif ( exists $ARGS{$index} && $ARGS{$index} != $quest->{questions}->[$_-1]->{right} ) {
		$testresult = 0;
	}
  }

  if ( $testresult ) {
	$CP = 'ISO'		if Convert::Cyrillic::cstocs('ISO', 'UTF8', $filled) eq 'Ответить';
	$CP = 'KOI8'		if Convert::Cyrillic::cstocs('KOI8', 'UTF8', $filled) eq 'Ответить';
	$CP = 'WIN'		if Convert::Cyrillic::cstocs('WIN', 'UTF8', $filled) eq 'Ответить';
	my $name = Convert::Cyrillic::cstocs($CP, 'UTF8', $ARGS{freefield_1});
	my $body = "Пользователь $name правильно ответил на вопросы.<br>\n";
	$body .= "Переданы данные:<br>\n";
	foreach my $j ( 1 .. $quest->{freefields_amount} ) {
		$body .= "  ".$quest->{freefields}->[$j-1].":\t".$ARGS{"freefield_".$j}."<br>\n";
	}
	$body .= "-----------------------------------<br>\n";
	$body .= "Робот ".$request->{project_profile}->name;
	my %email;
	$email{subject} = 'Анкета на конкурс '.$request->{project};
	$email{from_name} = Convert::Cyrillic::cstocs($CP, 'UTF8', $name);
	$email{to_name} = 'Жюри';
	$email{body} = $body;
	$email{from} = 'admin@rambler-co.ru';
	$email{to} = $to;

#	$voting->res(int($voting->res)+1);
#	$voting->store;

	warn 'Все зашибись!!!';
	unless ($error) {
		$m->comp ('/subs/sendmail.msn', email => \%email);
	}
  } else {
	warn 'Не пролезло';
  }
</%init>

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

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

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

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

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