Revision 358 (by ahitrov, 2013/06/11 08:56:08) Initial plugin import
SUCCESS
<%once>

    use Digest::MD5;

</%once>
<%args>

	$MNT_ID			=> undef
	$MNT_TRANSACTION_ID	=> undef
	$MNT_OPERATION_ID	=> undef
	$MNT_AMOUNT		=> 0
	$MNT_CURRENCY_CODE	=> undef
	$MNT_TEST_MODE		=> 0
	$MNT_SIGNATURE		=> undef
	$MNT_USER		=> undef
	$MNT_CORRACCOUNT	=> undef
	$MNT_CUSTOM1		=> undef
	$MNT_CUSTOM2		=> undef
	$MNT_CUSTOM3		=> undef

</%args>
<%init>

    warn Dumper \%ARGS		if $DEBUG;
    unless ( $MNT_ID && $MNT_TRANSACTION_ID && $MNT_OPERATION_ID && $MNT_AMOUNT && $MNT_CURRENCY_CODE ) {
	$m->out('FAIL');
	return;
    }

    my ($obj) = $keeper->get_documents(
			class	=> 'monetaru::Transaction',
			operation_id	=> $MNT_OPERATION_ID,
			order_id	=> $MNT_TRANSACTION_ID,
			limit	=> 1,
		);
    my $str = $MNT_ID . $MNT_TRANSACTION_ID . $MNT_OPERATION_ID . $MNT_AMOUNT . $MNT_CURRENCY_CODE . $MNT_TEST_MODE . $state->{monetaru}->{moneta_sig_code};
    my $md5 = Digest::MD5::md5_hex ( $str );
    unless ( $MNT_SIGNATURE eq $md5 ) {
	$m->out('FAIL');
	return;
    }

    unless ( $obj ) {
	$obj = monetaru::Transaction->new( $keeper );
	$obj->status( $MNT_TEST_MODE || 0 );
	$obj->account_id( $MNT_ID );
	$obj->order_id( $MNT_TRANSACTION_ID );
	$obj->operation_id( $MNT_OPERATION_ID );
	$obj->sum( $MNT_AMOUNT );
	$obj->currency_code( $MNT_CURRENCY_CODE );
	$obj->account_user( $MNT_USER );
	$obj->account_corr( $MNT_CORRACCOUNT );
	$obj->payment_system( $ARGS{'paymentSystem.unitId'} );
	$obj->name( $MNT_CUSTOM1 );
	$obj->custom1( $MNT_CUSTOM1 );
	$obj->custom2( $MNT_CUSTOM2 );
	$obj->custom3( $MNT_CUSTOM3 );
	$obj->store;
    }

</%init>

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

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

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

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

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