Просмотр файла wu-engine/wu-actions/acc_change_purse.php

Размер файла: 2.28Kb
<?php
require_once('../wu_init.php');
if (!wu_token()) { exit('wu-error'); }
if (!USER_LOGGED) { exit('wu-error'); }

//Проверка платёжных систем
$wu_q = mysqli_query($connect_db, "SELECT id,ident,ti FROM `".DB_PREFIX."_pay_systems` WHERE inprofile = '1' ORDER BY pos ASC");
$p_how = mysqli_num_rows($wu_q);
if ($p_how == 0) { wu_log_act(2, 'Пытался установить платёжные системы в профиле без доступных платёжых систем'); exit('wu-error'); }
$purses_all = array();
while($row = mysqli_fetch_assoc($wu_q)) {
$purses_all[$row['ident']] = 0;
}

$my_new_paysys = array();
foreach ($_POST as $key => $val)
{
if (substr ($key, 0, 7) == 'paysys_') {
$paysys = substr($key, 7);
if (!array_key_exists($paysys, $purses_all)) { wu_log_act(2, 'Пытался установить отключенную/не существующую платёжную систему в профиле, идентификатор платёжной системы - '.wu_filter($paysys)); exit('wu-error'); }
$val = preg_replace("#[^a-zA-Z\_\-0-9]+#i",'',$val);
$my_new_paysys[$paysys] = $val;
}
}

//Проверка текущих платёжных систем
$now_user = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT uid,purse FROM `".DB_PREFIX."_users` WHERE uid='$u_id' LIMIT 1"));
$purses = explode('||', $now_user['purse']);
$purses_my = array();
if (!empty($purses[0])) {
foreach ($purses as $key => $val)
{
$now_purse = explode('::', $val);
$purses_my[$now_purse[0]] = $now_purse[1];
}
}
$all_ps = array_merge($purses_my, $my_new_paysys);

$my_paysys_end = '';
foreach ($all_ps as $key => $val)
{
if (!empty($val)) {
$my_paysys_end .= "$key::$val||";
}
}
$my_paysys_end = substr($my_paysys_end,0,-2);
$my_paysys_end_adm = str_replace('::',' - ',$my_paysys_end);
$my_paysys_end_adm = str_replace('||',', ',$my_paysys_end_adm);
$my_paysys_before_adm = str_replace('::',' - ',$now_user['purse']);
$my_paysys_before_adm = str_replace('||',', ',$my_paysys_before_adm);

mysqli_query($connect_db, "UPDATE `".DB_PREFIX."_users` SET `purse` = '$my_paysys_end' WHERE uid = '$u_id' LIMIT 1");
wu_log_act(1, 'Изменил платёжные реквизиты с ('.wu_filter($my_paysys_before_adm).') на ('.wu_filter($my_paysys_end_adm).')');
exit('1');
?>