Файл: магазин/e-proger/modules/payment/yandex.php
Строк: 128
<?php
session_start();
set_time_limit( 0 );
define( 'ROOT', 'http://'.$_SERVER['HTTP_HOST'] );
define( 'ROOT_DIR', $_SERVER['DOCUMENT_ROOT'] );
include_once ROOT_DIR . '/engine/config.php';
$m_shop = $config_pay['yandex_key'];
$test = '0'; //Тестирование системы: 0 - выключено, 1 - включено
$notification_secret = $m_shop; //СЮДА ВСТАВИТЬ Секретный код выданый ВАМ ЯД
$notification_type = $_POST["notification_type"];
$operation_id = $_POST["operation_id"];
$amount = $_POST["amount"];
$currency = $_POST["currency"];
$datetime = $_POST["datetime"];
$sender = $_POST["sender"];
$codepro = $_POST["codepro"];
$label = $_POST["label"];
$sha1_hash = $_POST["sha1_hash"];
$test_notification = $_POST["test_notification"];
$withdraw_amount = $_POST["withdraw_amount"];
$hash = $notification_type . '&' . $operation_id . '&' . $amount . '&' . $currency . '&' . $datetime . '&' . $sender . '&' . $codepro . '&' . $notification_secret . '&' . $label; //формируем хеш
$sha1 = hash("sha1", $hash); //кодируем в SHA1
//Ниже - проверка на валидность
if ( $sha1 == $sha1_hash )
{
$pdo->Query("UPDATE `php_user` SET `money` = `money` + '" . $_POST['amount'] . "' WHERE `id` = '" . $_POST['label'] . "'");
$id = $_POST['label'];
$slq = $pdo->Query("SELECT * FROM `php_offline` WHERE `key` = '" . $id . "'");
$okpay = $slq->Fetch();
if ( $_POST['amount'] >= $okpay['summa'] ) {
$pay_conf = $pdo->Query("SELECT * from `php_offline` WHERE `key` = '" . $id. "' and `ok` = '0' LIMIT 1")->fetch(PDO::FETCH_BOTH);
$tovar_conf = $pdo->Query("SELECT * from `php_tovar` WHERE `id` = '" . $pay_conf['tovar']. "' and `cena` = '" . $_POST['amount'] . "' LIMIT 1")->fetch(PDO::FETCH_BOTH);
$config_pos = $pdo->Query("SELECT * from php_tovar WHERE id = '" . $tovar_conf['id']. "' and cena = '" . $_POST['amount']. "' LIMIT 1")->fetch(PDO::FETCH_BOTH);
$sqlq = $pdo->Query("SELECT * FROM `php_user` WHERE `id` = '" . $config_pos['user'] . "'");
$stat = $sqlq->Fetch();
$summa = ($okpay['summa'] - $okpay['summa'] * $stat['percent']);
$pdo->Query("UPDATE `php_user` SET `money` = `money` + '$summa', `buy_ok` = `buy_ok` + '1', `reyt` = `reyt` + '0.20' WHERE `id` = '" . $tovar_conf['user'] . "'");
$pdo->Query("UPDATE `php_tovar` SET `buy` = `buy` + '1' WHERE `id` = '" . $tovar_conf['id'] . "'");
$pdo->Query("UPDATE `php_offline` SET `ok` = '1', `date_start` = '" . time() . "', `date_end` = '" . (time()+86400) . "' WHERE `key` = '" . $label . "'");
$config_upload = $pdo->Query("SELECT * from php_upload WHERE tovar = '" . $tovar_conf['id']. "' LIMIT 1")->fetch(PDO::FETCH_BOTH);
$pdo->Query("INSERT INTO `php_buy_off` VALUES('', '" . $pay_conf['user_mail'] . "', '" . $config_pos['title'] . "', '" . $config_upload['hash'] . "', '" . $pay_conf['ip'] . "', '" . time() . "')");
/*---Создаем статистику по дням---*/
if ( empty( $stat['statistic'] ) ) {
$array[date( 'dmY' )] = $summa;
$pdo->Query( "UPDATE php_user SET statistic = '" . serialize( $array ) . "' WHERE id = '" . $config_pos['user'] . "' LIMIT 1" );
} else {
$array = unserialize( $stat['statistic'] );
if ( array_key_exists( date( 'dmY' ), $array ) ) {
$arrayValue = $array[date( 'dmY' )];
$arrayValueNew = array( date( 'dmY' ) => $arrayValue + $summa );
$array = array_replace( $array, $arrayValueNew );
$pdo->Query( "UPDATE php_user SET statistic = '" . serialize( $array ) . "' WHERE id = '" . $config_pos['user'] . "' LIMIT 1" );
} else {
$array[date( 'dmY' )] = $summa;
$pdo->Query( "UPDATE php_user SET statistic = '" . serialize( $array ) . "' WHERE id = '" . $config_pos['user'] . "' LIMIT 1" );
}
}
$pdo->Query("INSERT INTO `php_history` VALUES('', '" . $config_pos['user'] . "', '$summa', '" . time() . "', '" . $config_pos['title'] . "')");
include_once ROOT_DIR . '/engine/libmail.php';
$sqlqs = $pdo->Query("SELECT * FROM `php_engine` WHERE `id` = '1'");
$refdata = $sqlqs->Fetch();
$smtp_port = $refdata['smtp_port'];
$port = $refdata['port'];
$smtp_email = $refdata['smtp_email'];
$password = $refdata['password'];
$message = '
<html>
<head>
<title>Продажа товара e-proger</title>
<style type="text/css">
html, body {
margin:0;
margin-left:5px;
padding:0;
font-size:12px;
}
p {
margin:0;
padding:3px;
}
</style>
</head>
<body>
<p>Здравствуйте, <b>' . $stat['login'] . '</b>.</p>
<p>--------------------------------------------------------------------------</p>
У вас купили товар: <b>' . $config_pos['title'] . '</b> вам начислено ' . $summa . ' руб.
<p>--------------------------------------------------------------------------</p>
<p>Письмо отправлено автоматически. На него отвечать не нужно.</p>
</body>
</html>';
$m = new Mail;
$m->From( 'Продажа товара;' . $smtp_email ); // от кого отправляется почта
$m->To( $stat['email'] ); // кому адресованно
$m->Subject( 'Продажа товара ' . $_SERVER["HTTP_HOST"] );
$m->Body( $message );
//$m->Cc( "copy@asd.com"); // копия письма отправится по этому адресу
//$m->Bcc( "bcopy@asd.com"); // скрытая копия отправится по этому адресу
$m->Priority( 3 ); // приоритет письма
//$m->Attach( "asd.gif","", "image/gif" ) ; // прикрепленный файл
$m->smtp_on( $smtp_port, $smtp_email, $password, $port ); // если указана эта команда, отправка пойдет через SMTP
$m->Send(); // а теперь пошла отправка
$sum = $_POST['amount'];
$viruchka = $sum - $summa;
$messag = '
<html>
<head>
<title>Продан товар в магазине e-proger</title>
<style type="text/css">
html, body {
margin:0;
margin-left:5px;
padding:0;
font-size:12px;
}
p {
margin:0;
padding:3px;
}
</style>
</head>
<body>
<p>Уведомление о продаже товара на сайте</b>.</p>
<p>--------------------------------------------------------------------------</p>
Продан товар: <b>' . $config_pos['title'] . '</b> прибыль ' . $viruchka . ' руб.
<p>--------------------------------------------------------------------------</p>
Оплата произведена через Яндекс Деньги
<p>--------------------------------------------------------------------------</p>
<p>Письмо отправлено автоматически. На него отвечать не нужно.</p>
</body>
</html>';
$m = new Mail;
$m->From( 'Продан товар на сайте e-proger;' . $smtp_email ); // от кого отправляется почта
$m->To( 'support@e-proger.ru' ); // кому адресованно
$m->Subject( 'Продан товар на сайте ' . $_SERVER["HTTP_HOST"] );
$m->Body( $messag );
//$m->Cc( "copy@asd.com"); // копия письма отправится по этому адресу
//$m->Bcc( "bcopy@asd.com"); // скрытая копия отправится по этому адресу
$m->Priority( 3 ); // приоритет письма
//$m->Attach( "asd.gif","", "image/gif" ) ; // прикрепленный файл
$m->smtp_on( $smtp_port, $smtp_email, $password, $port ); // если указана эта команда, отправка пойдет через SMTP
$m->Send(); // а теперь пошла отправка
$pay_co = $pdo->Query("SELECT * from `php_offline` WHERE `key` = '" . $id. "' and `ok` = '1' and `user_mail` = '". $pay_conf['user_mail'] . "' LIMIT 1")->fetch(PDO::FETCH_BOTH);
$start = date('d.m.Y H:i', $pay_co['date_start']);
$konec = date('d.m.Y H:i', $pay_co['date_end']);
$kupl = '
<html>
<head>
<title>Ваша покупка в магазине e-proger</title>
<style type="text/css">
html, body {
margin:0;
margin-left:5px;
padding:0;
font-size:12px;
}
p {
margin:0;
padding:3px;
}
</style>
</head>
<body>
<p>Ваша покупка в магазине e-proger.</p>
<p>--------------------------------------------------------------------------</p>
Ваш купленный товар: <b>' . $config_pos['title'] . '</b><br />
<b>Скачать товар можно <a href="http://e-proger.ru/load_off/' . $config_upload['hash'] . '" style="text-decoration:none;">тут...</a></b><br />
Ссылка действительна в течении 24 часов<br />
Вы купили товар в <b>' . $start . '</b> ссылка будет работать до <b>' . $konec . '</b><br />
Спасибо за покупку, приходите еще, всегда вам буду рад(а)! Продавец ' . $stat['login'] . '.
<p>--------------------------------------------------------------------------</p>
<p>Письмо отправлено автоматически. На него отвечать не нужно.</p>
</body>
</html>';
$m = new Mail;
$m->From( 'Ваша покупка в магазине e-proger;' . $smtp_email ); // от кого отправляется почта
$m->To( $pay_conf['user_mail'] ); // кому адресованно
$m->Subject( 'Ваша покупка в магазине e-proger ' . $_SERVER["HTTP_HOST"] );
$m->Body( $kupl );
//$m->Cc( "copy@asd.com"); // копия письма отправится по этому адресу
//$m->Bcc( "bcopy@asd.com"); // скрытая копия отправится по этому адресу
$m->Priority( 3 ); // приоритет письма
//$m->Attach( "asd.gif","", "image/gif" ) ; // прикрепленный файл
$m->smtp_on( $smtp_port, $smtp_email, $password, $port ); // если указана эта команда, отправка пойдет через SMTP
$m->Send(); // а теперь пошла отправка
}
} else {
echo 'error';
}
?>