Вход Регистрация
Файл: element_xsolla_payment.php
Строк: 148
<?php
require_once './element_options/element_options.php';

    
$IpList = array("94.103.26.178",     "94.103.26.181",     "159.255.220.241""159.255.220.242"
                    
"159.255.220.243",     "159.255.220.244",     "159.255.220.245""159.255.220.246"
                    
"159.255.220.247",    "159.255.220.248",     "159.255.220.249""159.255.220.250"
                    
"159.255.220.251",     "159.255.220.252",     "159.255.220.253""159.255.220.254");
    if(!
in_array(my_ip(), $IpList)) exit('error IP');
    
    
//if (my_ip() != '94.103.26.178') exit('error');

$xsolla_command = (isset($_GET['command'])) ? preg_replace("/[^wx7F-xFFs]/"""$_GET['command']) : false;    // Команда
$xsolla_v1 = (isset($_GET['v1']) AND is_numeric($_GET['v1'])) ? (int)$_GET['v1'] : false;    // ИД юзера для проверки
$xsolla_md5 = (isset($_GET['md5'])) ? $_GET['md5'] : false;    // Хеширование


$id_project '12431'// Идентификатор Битвы Стихий на Иксолле
$secret_key 'YU?AhQb6hXiMO?Upyr!!;n8b5=k8&*LT'// Секретный ключ

    // Команда на проверку юзера
    
if ($xsolla_command == 'check') {
        
$real_md5 md5('check'.$xsolla_v1.$secret_key);
        
$result_user mysql_result(mysql_query("SELECT COUNT(lost_id) FROM `element_user` WHERE `lost_id` = '$xsolla_v1'"), 0);
        
        
// Если юзер существует и хэш ИКСОЛЛЫ равен МОЕМУ, то платеж разрешаем
        
if ($real_md5 == $xsolla_md5 AND $result_user 0) {
            echo 
'<?xml version="1.0" encoding="windows-1251"?><response><result>0</result></response>';
        } else {
            echo 
'<?xml version="1.0" encoding="windows-1251"?><response>
                    <result>7</result>
                    <comment>Account is disabled or not present</comment>
                    </response>'
;
        }
    exit;
    }
    
    
// Команда на совершение платежа
    
if ($xsolla_command == 'pay') {
    
$xsolla_id = (isset($_GET['id']) AND is_numeric($_GET['id'])) ? (int)$_GET['id'] : false;    // ИД платежа для проверки
    
$xsolla_summa = (isset($_GET['sum']) AND is_numeric($_GET['sum'])) ? (int)$_GET['sum'] : 0;
    
$xsolla_date $_GET['date'];
    
        
$real_md5 md5('pay'.$xsolla_v1.$xsolla_id.$secret_key);
    
    
// Запрос на проверку, есть уже платеж с таким идентификатором
    
$pay mysql_fetch_array(mysql_query("SELECT * FROM `element_xsolla` WHERE `lost_xsolla_id` = '$xsolla_id' LIMIT 1"));
    
        
        
        
        
// Если этого платежа ещё нету, и хэши совпадают, пополняем.
        
if (!$pay AND $real_md5 == $xsolla_md5) {
            require_once 
'./element_function/element_function_users.php';
            require_once 
'./element_function/element_function_mail.php';
            
            
$xsolla_user cache_user($xsolla_v1);                            // кэш данных юзера
            
$profile_other explode(' '$xsolla_user['lost_other']);        // Разбиваем на массив
            
$profile_other[2] = $profile_other[2] + 1;                        // Добавляем +1 письмо
            
$xsolla_user['lost_other'] = implode(' '$profile_other);        // Возвращаем массив в строку
            
            // Обновляем данные юзера
            
update_money_exp($xsolla_user000$xsolla_summa);
            
            
// Заносим платеж в Базу Данных
            
mysql_query("INSERT INTO `element_xsolla` SET `lost_xsolla_id` = '$xsolla_id',
                                                          `lost_user` = '
$xsolla_v1',
                                                          `lost_sum` = '
$xsolla_summa',
                                                          `lost_date` = '
$xsolla_date',
                                                          `lost_refferal` = '0',
                                                          `lost_time` = '"
.time()."'");
            
$insert_xsolla mysql_insert_id();
        
            
$lost_sub_text 'Вас счёт успешно пополнен на <img src="/images/icons/gold.png">'.$xsolla_summa.' золота';
            
$lost_text '<span class="admin">Ваш счёт успешно пополнен на <img src="/images/icons/gold.png">'.$xsolla_summa.' золота.<br/></span>';
            
mysql_query("INSERT INTO `element_mail` SET `lost_out` = '0',
                                                        `lost_in` = '
$xsolla_v1',
                                                        `lost_sub_text` = '
$lost_sub_text',
                                                        `lost_text` = '
$lost_text',
                                                        `lost_user_out` = '0',
                                                        `lost_user_in` = '
$xsolla_v1',
                                                        `lost_time` = '"
.time()."',
                                                        `lost_system` = 'Банк',
                                                        `lost_new` = '1'"
);        
                                                        
            
$count_in Cache_Count_Message($xsolla_v1);
            if (!empty(
$count_in['all'])) $count_in['all']++;
            if (!empty(
$count_in['in'])) $count_in['in']++;
            if (!empty(
$count_in['new'])) $count_in['new']++;
            
writecache('element_count_message'.$xsolla_v1$count_in);    
        
                if (
$xsolla_user['lost_refferer'] > 0) {
                    
$xsolla_user1 cache_user($xsolla_user['lost_refferer']);            // кэш данных юзера
                    
$profile_other1 explode(' '$xsolla_user1['lost_other']);        // Разбиваем на массив
                    
$profile_other1[2] = $profile_other1[2] + 1;                        // Добавляем +1 письмо
                    
$xsolla_user1['lost_other'] = implode(' '$profile_other1);        // Возвращаем массив в строку
                
                    
$summa_ref = (int)(($xsolla_summa 100) * 10);
                    
// Обновляем данные юзера
                    
update_money_exp($xsolla_user1000$summa_ref);
                
                    
// Заносим платеж в Базу Данных
                    
mysql_query("INSERT INTO `element_xsolla` SET `lost_xsolla_id` = '0',
                                                                `lost_user` = '
$xsolla_user1[lost_id]',
                                                                `lost_sum` = '
$summa_ref',
                                                                `lost_date` = '
$xsolla_date',
                                                                `lost_refferal` = '1',
                                                                `lost_time` = '"
.time()."'");
                
                    
$lost_sub_text 'Партнерское вознаграждение: <img src="/images/icons/gold.png">'.$summa_ref.' золота';
                    
$lost_text '<span class="admin">Партнерское вознаграждение: <img src="/images/icons/gold.png">'.$summa_ref.' золота.<br/></span>';
                    
mysql_query("INSERT INTO `element_mail` SET `lost_out` = '0',
                                                        `lost_in` = '
$xsolla_user1[lost_id]',
                                                        `lost_sub_text` = '
$lost_sub_text',
                                                        `lost_text` = '
$lost_text',
                                                        `lost_user_out` = '0',
                                                        `lost_user_in` = '
$xsolla_user1[lost_id]',
                                                        `lost_time` = '"
.time()."',
                                                        `lost_system` = 'Банк',
                                                        `lost_new` = '1'"
);    
                    
                    
$count_in1 Cache_Count_Message($xsolla_v1);
                    if (!empty(
$count_in1['all'])) $count_in1['all']++;
                    if (!empty(
$count_in1['in'])) $count_in1['in']++;
                    if (!empty(
$count_in1['new'])) $count_in1['new']++;
                    
writecache('element_count_message'.$xsolla_user1['lost_id'], $count_in1);    
                }
        
        
        echo 
'<?xml version="1.0" encoding="windows-1251"?>
                    <response>
                    <id>'
.$xsolla_id.'</id>
                    <id_shop>'
.$insert_xsolla.'</id_shop>
                    <sum>'
.$xsolla_summa.'</sum>
                    <result>0</result>
                    </response>'
;
        exit;
        } 
        
        
// Если этого платежа ещё нету, но хэши не равны, выводим ошибку
        
if (!$pay AND $real_md5 != $xsolla_md5) {
            echo 
'<?xml version="1.0" encoding="windows-1251"?>
                    <response>
                    <id>'
.$xsolla_id.'</id>
                    <id_shop>0</id_shop>
                    <sum>'
.$xsolla_summa.'</sum>
                    <result>1</result>
                    <comment>Temporarily database error</comment>
                    </response>'
;
        exit;
        } 
        
        
// Если такой платеж уже был и хэш верный, то просто говорим об этом иксолле
        
if ($pay AND $real_md5 == $xsolla_md5) {
            echo 
'<?xml version="1.0" encoding="windows-1251"?>
                    <response>
                    <id>'
.$xsolla_id.'</id>
                    <id_shop>'
.$pay['lost_id'].'</id_shop>
                    <sum>'
.$pay['lost_sum'].'</sum>
                    <result>0</result>
                    </response>'
;
        exit;
        }
    
    
    }


?>
Онлайн: 0
Реклама