Файл: 3020.ru/file_3020/plugins/user.cash.php
Строк: 242
<?
if ($level == 0){
  die(__('Только для зарегистрированных пользователей'));
}
if (isset($ID) && $level == 4 && !isset($_GET['admin'])) {
  $ank = $sql -> fetch("SELECT * FROM `users` WHERE `id` = '$ID' LIMIT 1");
}
if (!isset($ank['id']) && isset($user) || $level < 3) {
  $ank = $user;
}
$ank['wmr'] = round($ank['wmr'], 2);
if ($level == 4 && isset($_GET['act']) && isset($_GET['pays'])) {
  die('111');
  $act = (int) $_GET['act'];
  $pays = (int) $_GET['pays'];
  $wmr = $sql -> fetch("SELECT * FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `id` = '$pays' AND `out_time` = '0'");
  
  if ($wmr['out_wmr'] == '1') {
      $err[] = __('Сделка уже завершена');
  }
  
  if (!isset($err)) {
      if ($act == 1) {
             
          /**
          * Отчисление реферальских
          */
          
          $referals = $sql->select("SELECT `shop_pays`.`wmr`, `shop_pays`.`id`, `referals`.`id_user` AS `user`, `referals`.`id_referal` AS `referal` FROM `shop_pays` LEFT JOIN `referals` ON `referals`.`id_referal` = `shop_pays`.`id_author` OR `referals`.`id_referal` = `shop_pays`.`id_user` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `out_time` = '0' AND `id` = '$wmr[id]' AND `referals`.`active` = '1'");
          
          if (is_array($referals)) {
            $arrayResult = prepare_ref($referals, 'id');
            send_ref($referals);
          }
          
          $out = round($wmr['wmr'] - ($wmr['wmr'] / 100 * $system['pct_pays']), 2);
          $sql -> update("UPDATE `shop_pays` SET `pays` = '1', `out_time` = '$time', `out_wmr` = '1', `ok` = '3' WHERE `id` = '$wmr[id]'");
          $sql -> update("UPDATE `users` SET `wmr` = `wmr` + '$out' WHERE `id` = '$ank[id]' LIMIT 1");
          $ank['wmr'] = $ank['wmr'] + $out;  
          $_SESSION['message'] = __('Сделка успешно завершена досрочно');
        } elseif ($act == 2) {
          $out = round($wmr['wmr'], 2);
          $sql -> update("UPDATE `shop_pays` SET `pays` = '0', `time_pays` = '0', `out_time` = '0', `out_wmr` = '0', `ok` = '0', `wmr` = '0', `wmid` = '0', `purse` = '0'  WHERE `id` = '$wmr[id]'");
          
          $sql -> update("UPDATE `users` SET `wmr` = `wmr` + '$out' WHERE `id` = '$wmr[id_user]' LIMIT 1");
          
          // Обновление информации о товаре
          $sql -> update("UPDATE `shop_goods` SET `time_pays` = '0', `count_pays` = `count_pays` - '1', `rating` = `rating` - '1' WHERE `id` = '$wmr[id_goods]' LIMIT 1");
          $sql -> update("UPDATE `users` SET `rating` = `rating` - '1' WHERE `id` = '$wmr[id_author]' LIMIT 1");
          
          if ($user['id'] != $system['admin_id']) {
              journal($system['admin_id'], 'other', 'Пользователю ' . login($wmr['id_user'], 0) . " возвращены средства в размере [b]$out wmr[/b], за купленный товар [url=/goods/" . $wmr['id_goods'] . "]" . $wmr['name'] . "[/url]rnСделку отменил $user[login]");
          }
          journal($wmr['id_user'], 'goods', "Средства за покупку товара [url=/goods/" . $wmr['id_goods'] . "]" . $wmr['name'] . "[/url] были возвращены на личный счет.nrЧтобы узнать причину возврата, вы можете создать тикет в [url=/?func=support]Службе поддержки[/url]");
          journal($wmr['id_author'], 'goods', "Средства за продажу вашего товара [url=/goods/" . $wmr['id_goods'] . "]" . $wmr['name'] . "[/url]  были возвращены покупателю [url=/?func=user.profile&id=" . $wmr['id_user'] . "]" . login($wmr['id_user'], 0) . "[/url] на его личный счет.nrЧтобы узнать причину возврата, вы можете создать тикет в [url=/?func=support]Службе поддержки[/url]");
          $msglog = "Возврат средств за купленный товар [url=/goods/" . $wmr['id_goods'] . "]" . $wmr['name'] . "[/url]";
          $sql -> insert("INSERT INTO `billing_log` (`time`, `type`, `id_user`, `coins`, `msg`) VALUES ('$time', 'return', '$wmr[id_user]', '" . $out . "', '$msglog')");
          /*sms оповещение*/
$TelSms = $sql -> fetch("SELECT * FROM `users` WHERE `id` = '" . $wmr['id_author'] . "' AND `date_last` < '". time() ."' LIMIT 1");
if ($TelSms['MyTelefonOk'] == 1 && $TelSms['tel_vozrat']== 1 && $TelSms['date_last'] < time()-600 && $TelSms['wmr'] >= 1)
{
    if ($sql -> select("SELECT * FROM `smsantiflud` WHERE `id_user` = '".$TelSms['id']."' AND `mod` = 'vozrat'") == 0)
    {
    include_once FUNC.'smsc_api.php';
    $r = send_sms($TelSms['MyTelefon'], "Возврат денег за проданный товар 4i4i.Ru");
    if ($r[1] > 0)
        {
                    
        $sql -> update("UPDATE `users` SET `wmr` = `wmr` - '1' WHERE `id` = '".$TelSms['id']."' LIMIT 1");
        $BySMS = "Списание за смс оповещение о возврате денег на мобильный телефон.";
        $sql -> insert("INSERT INTO `billing_log` (`time`, `type`, `id_user`, `coins`, `msg`) VALUES ('".time()."', 'Mysms', '$TelSms[id]', '-1', '$BySMS')");
        $sql -> insert("INSERT INTO `smsantiflud`(`time`, `id_user`, `mod`) VALUES('".time()."', '".$TelSms['id']."', 'vozrat')");
        }
    }
}
/*sms оповещение*/
          $_SESSION['message'] = __('Сделка отменена, деньги возвращены покупателю');
        }
  } 
}
if (isset($_GET['vivod']) && isset($_POST['wmr'])) {
    //die('222');
  $rub = round($_POST['wmr'] - ($_POST['wmr'] / 100 * $system['pct_out']), 2);
  $wmr2 = round($_POST['wmr'], 2);
  if ($rub < $system['min_out_money']) {
    $err[] = __('Минимальная сумма вывода') . ' ' . $system['min_out_money'] . ' wmr';
  } elseif ($rub > $ank['wmr']) {
    $err[] = __('У вас нет такой суммы');
  } elseif (!$ank['purse']) {
    $err[] = __('R кошелек имеет не верное значение');
  } elseif (!$system['wmpurse']) {
    $err[] = __('Не подключен WM кошелек магазина');
  } elseif ($rub <= 0) {
    $err[] = __('Укажите сумму для вывода');
  } elseif ($system['shop_money_open'] == 0) {
    $err[] = __('Вывод cредств временно приостановлен');
  }
  
  if (!isset($err)) {
    $sql -> insert("INSERT INTO `log_wmout` (`wmr`, `time`, `id_user`) VALUES ('$rub', '$time', '$ank[id]')");
    $idcash = $sql -> insert_id();
    
    // Подключение функций вывода
    require FUNC . 'incfunc.webmoney.php';
    
    $tranid = $idcash;
    $purse = $system['wmpurse'];
    $rpurse = $ank['purse'].'';
    $amount = $rub;
    $period = "0";
    $pcode = "";
    //$desc = "Vyvod ".$wmr2." wmr | 4i4i.Ru | ".$ank['login']."";
    $desc = "4i4i.Ru - вывод средств ".$wmr2." wmr пользователем ".$ank['login']."";
    $desc = iconv('UTF-8', 'CP1251', ' '.$desc.' ');
    $wminvid = "0";
    $onlyauth = "1";
    
    $result = _WMXML2($tranid, $purse, $rpurse, $amount, $period, $pcode, $desc, $wminvid, $onlyauth);
    
    if ($result['retval'] == '0') {
      journal($system['admin_id'], 'other', login($ank['id'], 0) . " вывел средства в размере [b]$rub wmr[/b] (код запроса: $result[retval])");
      
      $msglog = "Вывод средств на расчетный кошелек: $rpurse";
        $sql -> insert("INSERT INTO `billing_log` (`time`, `type`, `id_user`, `coins`, `msg`) VALUES ('$time', 'vivod', '$ank[id]', '-" . $rub . "', '$msglog')");
      
      $sql -> update("UPDATE `log_wmout` SET `end` = '1' WHERE `id` = '$idcash'");
      $sql -> update("UPDATE `users` SET `wmr` = `wmr` - '$rub' WHERE `id` = '$ank[id]'");
      $ank['wmr'] = ($ank['wmr'] - $rub);
      $messages[] = __('Вывод средств успешно завершен');
    } else {
      journal($system['admin_id'], 'other', login($ank['id'], 0) . " не смог вывести средства [b]$rub wmr[/b], (код ошибки: $result[retval])");
      $err[] = __('Ошибка транзакции') . ': (' . __('код ошибки') . ' ' . $result['retval'] . ')';
    }
  }
}
if ($sql -> selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '1' AND `out_time` = '0'") > 0) {
  /**
  * Отчисление реферальских
  */
  $referals = $sql->select("SELECT `shop_pays`.`wmr`, `shop_pays`.`id`, `referals`.`id_user` AS `user`, `referals`.`id_referal` AS `referal` FROM `shop_pays` LEFT JOIN `referals` ON `referals`.`id_referal` = `shop_pays`.`id_author` OR `referals`.`id_referal` = `shop_pays`.`id_user` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '1' AND `out_time` = '0' AND `referals`.`active` = '1'");
  
  if (is_array($referals)) {
    $arrayResult = prepare_ref($referals, 'id');
    send_ref($referals);
  }
  $wmr = $sql -> fetch("SELECT SUM(wmr) AS wmr FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '1' AND `out_time` = '0'");
  $out = round($wmr['wmr'] - ($wmr['wmr'] / 100 * $system['pct_pays']), 2);
  $sql -> update("UPDATE `shop_pays` SET `pays` = '1', `out_time` = '$time', `out_wmr` = '1', `ok` = '3' WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '1' AND `out_time` = '0'");
  $sql -> update("UPDATE `users` SET `wmr` = `wmr` + '$out' WHERE `id` = '$ank[id]' LIMIT 1");
  $ank['wmr'] = $ank['wmr'] + $out;
}
/*
if ($sql -> selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 259200) ."'") > 0) {
  $wmr = $sql -> fetch("SELECT SUM(wmr) AS wmr FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 259200) ."'");
  $out = round($wmr['wmr'] - ($wmr['wmr'] / 100 * $system['pct_pays']), 2);
  $sql -> update("UPDATE `shop_pays` SET `pays` = '1', `out_time` = '$time', `out_wmr` = '1', `ok` = '3' WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 259200) ."'");
  $sql -> update("UPDATE `users` SET `wmr` = `wmr` + '$out' WHERE `id` = '$ank[id]' LIMIT 1");
  $ank['wmr'] = $ank['wmr'] + $out;
}
*/
/*Зачисление денег для Юзера и VIP */
if($ank['rating']>=0 && $ank['rating']<=50){
if ($sql -> selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 259200) ."' AND `out_wmr` != '2'") > 0) {
  /**
  * Отчисление реферальских
  */
  $referals = $sql->select("SELECT `shop_pays`.`wmr`, `shop_pays`.`id`, `referals`.`id_user` AS `user`, `referals`.`id_referal` AS `referal` FROM `shop_pays` LEFT JOIN `referals` ON `referals`.`id_referal` = `shop_pays`.`id_author` OR `referals`.`id_referal` = `shop_pays`.`id_user` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 259200) ."' AND `referals`.`active` = '1'");
  
  if (is_array($referals)) {
    $arrayResult = prepare_ref($referals, 'id');
    send_ref($referals);
  }
  $wmr = $sql -> fetch("SELECT SUM(wmr) AS wmr FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 259200) ."'");
  $out = round($wmr['wmr'] - ($wmr['wmr'] / 100 * $system['pct_pays']), 2);
  $sql -> update("UPDATE `shop_pays` SET `pays` = '1', `out_time` = '$time', `out_wmr` = '1', `ok` = '3' WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 259200) ."'");
  $sql -> update("UPDATE `users` SET `wmr` = `wmr` + '$out' WHERE `id` = '$ank[id]' LIMIT 1");
  $ank['wmr'] = $ank['wmr'] + $out;
}}
/*Зачисления денег для PRO*/
if($ank['rating']>=51 && $ank['rating']<=100){
if ($sql -> selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 172800) ."' AND `out_wmr` != '2'") > 0) {
  
    /**
  * Отчисление реферальских
  */
  $referals = $sql->select("SELECT `shop_pays`.`wmr`, `shop_pays`.`id`, `referals`.`id_user` AS `user`, `referals`.`id_referal` AS `referal` FROM `shop_pays` LEFT JOIN `referals` ON `referals`.`id_referal` = `shop_pays`.`id_author` OR `referals`.`id_referal` = `shop_pays`.`id_user` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 172800) ."' AND `referals`.`active` = '1'");
  
  if (is_array($referals)) {
    $arrayResult = prepare_ref($referals, 'id');
    send_ref($referals);
  }
  
  $wmr = $sql -> fetch("SELECT SUM(wmr) AS wmr FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 172800) ."'");
  $out = round($wmr['wmr'] - ($wmr['wmr'] / 100 * $system['pct_pays']), 2);
  $sql -> update("UPDATE `shop_pays` SET `pays` = '1', `out_time` = '$time', `out_wmr` = '1', `ok` = '3' WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 172800) ."'");
  $sql -> update("UPDATE `users` SET `wmr` = `wmr` + '$out' WHERE `id` = '$ank[id]' LIMIT 1");
  $ank['wmr'] = $ank['wmr'] + $out;
}}
/*Зачисления денег для MASTERA*/
if($ank['rating']>=101 && $ank['rating']<=99999999999){
if ($sql -> selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 86400) ."' AND `out_wmr` != '2'") > 0) {
  
  /**
  * Отчисление реферальских
  */
  $referals = $sql->select("SELECT `shop_pays`.`wmr`, `shop_pays`.`id`, `referals`.`id_user` AS `user`, `referals`.`id_referal` AS `referal` FROM `shop_pays` LEFT JOIN `referals` ON `referals`.`id_referal` = `shop_pays`.`id_author` OR `referals`.`id_referal` = `shop_pays`.`id_user` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 86400) ."' AND `referals`.`active` = '1'");
  
  if (is_array($referals)) {
    $arrayResult = prepare_ref($referals, 'id');
    send_ref($referals);
  }
  $wmr = $sql -> fetch("SELECT SUM(wmr) AS wmr FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 86400) ."'");
  $out = round($wmr['wmr'] - ($wmr['wmr'] / 100 * $system['pct_pays']), 2);
  $sql -> update("UPDATE `shop_pays` SET `pays` = '1', `out_time` = '$time', `out_wmr` = '1', `ok` = '3' WHERE `id_author` = '$ank[id]' AND `pays` = '1' AND `ok` = '0' AND `out_time` = '0' AND `time_pays` < '". ($time - 86400) ."'");
  $sql -> update("UPDATE `users` SET `wmr` = `wmr` + '$out' WHERE `id` = '$ank[id]' LIMIT 1");
  $ank['wmr'] = $ank['wmr'] + $out;
}}
/*Конец Кода зачисления денег*/
  
$system['title'] = __('Касса') . ' ' . ($ank['id'] != $user['id'] ? login($ank['id']) : '');
require SYS . 'header.php';
$k_post = $sql -> selectCount("SELECT COUNT(*) FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1'");
if ($k_post == 0) {
  ?>
  <div class="alert" style="margin: 2px;"><?= __('У вас еще не было продаж')?></div>
  <?
} else {
  $k_page = k_page($k_post, $system['page_str']);
  $page = page($k_page);
  $start =  $system['page_str'] * $page -  $system['page_str'];
  $array = $sql -> select("SELECT * FROM `shop_pays` WHERE `id_author` = '$ank[id]' AND `pays` = '1' ORDER BY `time_pays` DESC LIMIT $start, $system[page_str]");
  foreach ($array AS $post) {
    $goods = $sql -> fetch("SELECT * FROM `shop_goods` WHERE `id` = '$post[id_goods]' LIMIT 1");
    $num++;
    ?>
    <div class="<?= ($num % 2 ? "nav1" : "nav2")?>">
      <i class="icon-shopping-cart"></i> <a href="/goods/<?= $post['id_goods']?>"><?= text($post['name'])?></a><br />
      <?= __('Продажа')?>: <?= vremja($post['time_pays'])?><br />
      <?= __('Цена')?>: <?= $post['wmr']?> ₽<br />
      <?= __('К выплате')?>: <span style="color: green; font-weight: bold;"><?= round($post['wmr'] - ($post['wmr'] / 100 * $system['pct_pays']), 2)?> ₽</span><br />
      <?= __('Комиссия')?>: <?= round($post['wmr'] / 100 * $system['pct_pays'], 2)?> ₽<br />
      <?= __('Состояние')?>: 
      <?
      if ($post['out_wmr'] == 0) {
        ?><span style="color: blue;"><?= __('Временно не доступны к выводу')?></span><?
      } elseif ($post['out_wmr'] == 1) {
        ?><span style="color: green;"><?= __('Перечислены на личный счет')?></span><br /><?= __('Завершена')?>: <?= vremja($post['out_time'])?><?
      } elseif ($post['out_wmr'] == 2) {
        ?><span style="color: red;"><?= __('Временно заблокированы')?></span><?
      }
      ?>
      <br />
      <?= __('Покупатель')?>: <?= login($post['id_user'], 1)?><br />
      <? if ($post['wmid'] != 0) { ?>
      WMID: <a href="http://passport.webmoney.ru/asp/certview.asp?wmid=<?= $post['wmid']?>"><?= $post['wmid']?></a><br />
      <? } ?>
      <? if ($level == 4 && $post['out_wmr'] != 1) { ?>
        » <a href="/?func=user.cash&id=<?= $ank['id']?>&pays=<?= $post['id']?>&page=<?= $page?>&act=1"><?= __('Вывести продавцу')?></a><br />
        » <a href="/?func=user.cash&id=<?= $ank['id']?>&pays=<?= $post['id']?>&page=<?= $page?>&act=2"><?= __('Вернуть покупателю')?></a><br />
      <? } ?>
    </div>
    <?
  }
  if ($k_page > 1) { 
    str('?func=' . $func . '&id=' . $ank['id'] . '&', $k_page, $page);
  }  
}
//$ank['wmr'] = 10;
$cash = $sql -> fetch("SELECT SUM(wmr) AS wmr FROM `shop_pays` WHERE `id_author` = '" . $ank['id'] . "' AND `pays` = '1' AND (`out_wmr` = '0' OR `out_wmr` = '2')");
?>
<div class="nav2">
<?= __('Средств в системе')?>: <?= round($cash['wmr'] - ($cash['wmr'] / 100 * $system['pct_pays']), 2)?> ₽<br />
<?= __('Личный счет')?>: <?= round($ank['wmr'], 2)?> ₽<br />
<? if ($system['min_out_money'] > $ank['wmr'] || $ank['wmr'] == 0) { ?>
  <?= __('Недостаточное количество средств для вывода')?>
<? } else
    if ($ank['purse'] && $ank['wmid']) { 
?>
  
  <form action="/?func=<?= $func?>&id=<?= $ank['id']?>&vivod" method="POST">
  <?= __('Введите сумму для вывода')?>.<br />
  <?= __('Она не должна превышать суммы на вашем счете и быть не менее')?> <?= round($system['min_out_money'], 2)?> wmr.<br />
  <?= __('Сумма доступная для снятия')?>: <span class="on"><?= round($ank['wmr'], 2)?> wmr</span><br />
  <input type="text" name="wmr" value="<?= round($ank['wmr'], 2)?>" /><br />
  <input type="submit" value="<?= __('Вывести')?>" class="btn" /> » <b><?= $ank['purse']?></b> (min: <?= $system['min_out_money']?> wmr)<br />
  </form>
   
 
  <style>
  .newbottom{
    font-weight: 700;
    color: #f7eded;
    background-color: #4a8bbf;
    border-radius: 4px;
    padding: 8px;
  }
  </style> 
     <br/>
      <a class="newbottom" href="/?func=output.cash">Вывод средств</a>
     <br/> <br/>
  </div> <div class="nav2">
  <!--
  <div class="nav2">
  Доступен вывод средств на карту Сбербанка РФ через <a href="/?func=support">Тех.поддержку</a><br />
  Коммисия за вывод на карту Сбербанка составляет 2%<br />
  Минимальная сумма вывода на карту составляет 100 wmr
  -->
<? } else { ?>
  <?= __('Заполните WMID и WMR кошелек')?>
<? } ?>
</div>