Помогите найти ошибки (модуль выплат)

  • Автор темы rich-99000000
  • Дата начала
rich-99000000
php developer
Участник
Сообщения
227
Реакции
48
В общем, я с чистой фермы переделывал все, сам вливал все прописывал, правил. Но голова уже опухла, да и проектов много себе набрал. В моей ферме были ручные выплаты, решил перевести на авто + сделать заглушку. Заглушка то работает, но что-то автовыплаты не работают и отображение ошибок (неудалось выплатить; неверно введен кошелек) и киви калькулятор не робит (вы отдаете вы получаете).
 

Вложения

assus
Если нужна ферма пишите. Дизайн для Ферм.
Участник
Сообщения
454
Реакции
59
Skype
23232sdsd написал(а):
В общем, я с чистой фермы переделывал все, сам вливал все прописывал, правил. Но голова уже опухла, да и проектов много себе набрал. В моей ферме были ручные выплаты, решил перевести на авто + сделать заглушку. Заглушка то работает, но что-то автовыплаты не работают и отображение ошибок (неудалось выплатить; неверно введен кошелек) и киви калькулятор не робит (вы отдаете вы получаете).
Но файл этот от ручных выплат, найду тут авто вывод и поменяй
 
rich-99000000
php developer
Участник
Сообщения
227
Реакции
48
assus написал(а):
Но файл этот от ручных выплат, найду тут авто вывод и поменяй

по идее это была игра с автовыводом, но я решил что буду мониторить и все такое (подтер поля и функции некоторые), а тут заявки сыпаться потихой стали, нет резона мне сутками залазить проверять хочу на авто перекинуть. Подскажи где мож видел здесь файл автовыплат?
 
Snopak
Участник
Сообщения
22
Реакции
1
23232sdsd написал(а):
по идее это была игра с автовыводом, но я решил что буду мониторить и все такое (подтер поля и функции некоторые), а тут заявки сыпаться потихой стали, нет резона мне сутками залазить проверять хочу на авто перекинуть. Подскажи где мож видел здесь файл автовыплат?
Лови)
 

Вложения

alekse479
Участник
Сообщения
56
Реакции
2
ВОТ скрипт выплат поставь посмотри!
PHP:
<div class="s-bk-lf">
    <div class="acc-title">Заказ выплаты</div>
</div>
<script type="text/javascript" src="/js/functions.js"></script>
<div class="silver-bk">
<BR />
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$status_array = array( 0 => "В обработке", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

# Минималка серебром!
$minPay = 1000; 

?>
<b>Выплаты осуществляются в полуавтоматическом режиме и только на платежную систему PAYEER! Процент при выводе составляет 0%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />
<b>Ссылки на учебные материалы:</b><BR />
 - <a href="https://servahoc.ru/redirect.php?url=http://wm-payeer.ru/" target="_blank">О системе PAYEER</a> <BR />
 - <a href="https://servahoc.ru/redirect.php?url=http://wm-payeer.ru/index/sozdanie_scheta/0-5" target="_blank">Создание счета в PAYEER</a> <BR />
 - <a href="https://servahoc.ru/redirect.php?url=http://wm-payeer.ru/index/vyvod_sredstv/0-6" target="_blank">Вывод средств из PAYEER</a> <BR />
<b><BR /></b> <BR />
<center><h3 style="color:red;"> Для того чтобы заказать выплату Вы должны внести средства минимум на 5 руб.</h3></center><br/>
<center><b>Заказ выплаты:</b></center><BR />
<?PHP
   
    function ViewPurse($purse){
       
        if( substr($purse,0,1) != "P" ) return false;
        if( !ereg("^[0-9]{7}$", substr($purse,1)) ) return false;   
        return $purse;
    }
   
    # Заносим выплату
    if(isset($_POST["swap"])){
       
        if(empty($user_data['purse'])) {
            $purse = ViewPurse($_POST["purse"]);
        }
        else
        {
            $purse = $user_data['purse'];
        }
        $sum = intval($_POST["sum"]);
        $val = "RUB";
        if($user_data['insert_sum'] > 4) {
        if($purse !== false){
           
                if($sum >= $minPay){
               
                    if($sum <= $user_data["money_p"]){
                       
                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
                        if($db->FetchRow() == 0){
                               
                               
                            ### Делаем выплату ###   
                            $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->secretW);
                            if ($payeer->isAuth())
                            {
                           
                               
                                $arBalance = $payeer->getBalance();
                                //echo '<pre>'.print_r($arBalance, true).'</pre>';
                                if($arBalance["auth_error"] == 0)
                                {
                                   
                                    $sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);
                                    //echo $sum_pay;
                                    $balance = $arBalance['balance']['RUB']['DOSTUPNO'];
                                    //print_r($arBalance);
                                    if( ($balance) >= ($sum_pay)){
                                       
                                            # Снимаем с пользователя
                                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");
                                           
                                            # Вставляем запись в выплаты
                                            $da = time();
                                            $dd = $da + 60*60*24*15;
                                           
                                            $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status) 
                        VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','0','$da', '0')");
                        $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' AND date_add = $da");
                        $tmpresid = $db->FetchArray();
                        $tmpresid = $tmpresid['id'];
                        $db->Query("INSERT INTO db_request_payment (user, user_id, purse, sum, status, payment_id, date) 
                        VALUES ('$usname','$usid','$purse','$sum_pay','0','$tmpresid','$da')");
                        if(empty($user_data['purse'])) { 
                            $db->Query("UPDATE db_users_b SET purse = '$purse' WHERE id = '$usid'");
                        }
                                            $db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
                                            $db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");
                                           
                                            echo "<center><font color = 'green'><b>Заявка отправлена!</b></font></center><BR />";

                                   
                                   
                                    }else echo "<center><font color = 'red'><b>Внутреняя ошибка - сообщите о ней администратору! #1</b></font></center><BR />";
                                   
                                }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже #2</b></font></center><BR />";
                               
                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже #3</b></font></center><BR />";
                           
                               
                        }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения. #4</b></font></center><BR />";
                           
                       
                    }else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету #5</b></font></center><BR />";
               
                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты составляет {$minPay} серебра! #6</font></b></center><BR />";
       
        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец! #7</font></b></center><BR />";
        }else echo "<center><b><font color = 'red'>Вы не можете вывести деньги!</font></b></center><BR />";
    }
?>

<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Введите кошелек Payeer [Пример:  P1052244]</font>: </td>
    <td>
    <?php
    if(!empty($user_data['purse'])) {
        echo '<input type="text" name="purse" size="15" value="'.$user_data['purse'].'" disabled="disabled"/>';
    }
    else
    {
        echo '<input type="text" name="purse" size="15"/>';
    }
    ?>
   
    </td>
  </tr>
  <tr>
    <td><font color="#000;">Отдаете серебро для вывода</font> [Мин. 500]<font color="#000;">:</font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</font> </td>
    <td>
    <input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled"/>
    <input type="hidden" name="per" id="RUB" value="<?=$sonfig_site["ser_per_wmr"]; ?>" disabled="disabled"/>
    <input type="hidden" name="per" id="min_sum_RUB" value="0.50" disabled="disabled"/>
    <input type="hidden" name="val_type" id="val_type" value="RUB" />
    </td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">Серебро</td>
    <td align="center" class="m-tb">Получаете</td>
    <td align="center" class="m-tb">Кошелек</td>
    <td align="center" class="m-tb">Дата</td>
    <td align="center" class="m-tb">Статус</td>
  </tr>
  <?PHP
  $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");
    if($db->NumRows() > 0){
          while($ref = $db->FetchArray()){
       
        ?>
        <tr class="htt">
            <td align="center"><?=$ref["serebro"]; ?></td>
            <td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
            <td align="center"><?=$ref["purse"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
            <td align="center"><?=$status_array[$ref["status"]]; ?></td>
          </tr>
        <?PHP
       
        }
    }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
  ?>

</table><div class="clr"></div>       
</div>
 
Последнее редактирование:
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
alekse479 написал(а):
ВОТ скрипт выплат поставь посмотри!
PHP:
<?PHP
# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}

# Класс конфига
$config = new config;

# Функции
$func = new func;

# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);

if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
    $m_key = $config->secretW;
    $arHash = array($_POST['m_operation_id'],
            $_POST['m_operation_ps'],
            $_POST['m_operation_date'],
            $_POST['m_operation_pay_date'],
            $_POST['m_shop'],
            $_POST['m_orderid'],
            $_POST['m_amount'],
            $_POST['m_curr'],
            $_POST['m_desc'],
            $_POST['m_status'],
            $m_key);
 
    $sign_hash = strtoupper(hash('sha256', implode(":", $arHash)));
    if ($_POST["m_sign"] == $sign_hash && $_POST['m_status'] == "success")
    {
     
    $db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
    if($db->NumRows() == 0){ echo $_POST['m_orderid']."|error"; exit;}
 
    $payeer_row = $db->FetchArray();
    if($payeer_row["status"] > 0){ echo $_POST['m_orderid']."|success"; exit;}
 
    $db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");
 
    $ik_payment_amount = $payeer_row["sum"];
    $user_id = $payeer_row["user_id"];

    # Настройки
    $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
    $sonfig_site = $db->FetchArray();

   $db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
   $user_ardata = $db->FetchArray();
   $user_name = $user_ardata["user"];
   $refid = $user_ardata["referer_id"];

   # Зачисляем баланс
   $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );

   $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
   $ins_sum = $db->FetchRow();

   $serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.5) ) : $serebro;
   $add_tree = ( $ik_payment_amount >= 499.99) ? 2 : 0;
   $lsb = time();
   $to_referer = ($serebro * 0.10);

   $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount' WHERE id = '{$user_id}'");



   # Зачисляем средства рефереру и дерево
   $add_tree_referer = ($ins_sum <= 0.01) ? ", a_t = a_t + 1" : "";
   $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");

   # Статистика пополнений
   $da = time();
   $dd = $da + 60*60*24*15;
   $db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
   VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");



    # Обновление статистики сайта
    $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
 
    echo $_POST['m_orderid']."|success";
    exit;
 
 
    }
    echo $_POST['m_orderid']."|error";
}
?>
это не выплаты это ПОПОЛНЕНИЕ,если вы путается два обычных файла что будет дальше????
 
xproga
Участник
Сообщения
6
Реакции
0
alekse479 написал(а):
ВОТ скрипт выплат поставь посмотри!
PHP:
<div class="s-bk-lf">
    <div class="acc-title">Заказ выплаты</div>
</div>
<script type="text/javascript" src="/js/functions.js"></script>
<div class="silver-bk">
<BR />
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$status_array = array( 0 => "В обработке", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

# Минималка серебром!
$minPay = 1000;

?>
<b>Выплаты осуществляются в полуавтоматическом режиме и только на платежную систему PAYEER! Процент при выводе составляет 0%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />
<b>Ссылки на учебные материалы:</b><BR />
- <a href="https://servahoc.ru/redirect.php?url=http://wm-payeer.ru/" target="_blank">О системе PAYEER</a> <BR />
- <a href="https://servahoc.ru/redirect.php?url=http://wm-payeer.ru/index/sozdanie_scheta/0-5" target="_blank">Создание счета в PAYEER</a> <BR />
- <a href="https://servahoc.ru/redirect.php?url=http://wm-payeer.ru/index/vyvod_sredstv/0-6" target="_blank">Вывод средств из PAYEER</a> <BR />
<b><BR /></b> <BR />
<center><h3 style="color:red;"> Для того чтобы заказать выплату Вы должны внести средства минимум на 5 руб.</h3></center><br/>
<center><b>Заказ выплаты:</b></center><BR />
<?PHP
  
    function ViewPurse($purse){
      
        if( substr($purse,0,1) != "P" ) return false;
        if( !ereg("^[0-9]{7}$", substr($purse,1)) ) return false;  
        return $purse;
    }
  
    # Заносим выплату
    if(isset($_POST["swap"])){
      
        if(empty($user_data['purse'])) {
            $purse = ViewPurse($_POST["purse"]);
        }
        else
        {
            $purse = $user_data['purse'];
        }
        $sum = intval($_POST["sum"]);
        $val = "RUB";
        if($user_data['insert_sum'] > 4) {
        if($purse !== false){
          
                if($sum >= $minPay){
              
                    if($sum <= $user_data["money_p"]){
                      
                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
                        if($db->FetchRow() == 0){
                              
                              
                            ### Делаем выплату ###  
                            $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->secretW);
                            if ($payeer->isAuth())
                            {
                          
                              
                                $arBalance = $payeer->getBalance();
                                //echo '<pre>'.print_r($arBalance, true).'</pre>';
                                if($arBalance["auth_error"] == 0)
                                {
                                  
                                    $sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);
                                    //echo $sum_pay;
                                    $balance = $arBalance['balance']['RUB']['DOSTUPNO'];
                                    //print_r($arBalance);
                                    if( ($balance) >= ($sum_pay)){
                                      
                                            # Снимаем с пользователя
                                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");
                                          
                                            # Вставляем запись в выплаты
                                            $da = time();
                                            $dd = $da + 60*60*24*15;
                                          
                                            $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
                        VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','0','$da', '0')");
                        $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' AND date_add = $da");
                        $tmpresid = $db->FetchArray();
                        $tmpresid = $tmpresid['id'];
                        $db->Query("INSERT INTO db_request_payment (user, user_id, purse, sum, status, payment_id, date)
                        VALUES ('$usname','$usid','$purse','$sum_pay','0','$tmpresid','$da')");
                        if(empty($user_data['purse'])) {
                            $db->Query("UPDATE db_users_b SET purse = '$purse' WHERE id = '$usid'");
                        }
                                            $db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
                                            $db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");
                                          
                                            echo "<center><font color = 'green'><b>Заявка отправлена!</b></font></center><BR />";

                                  
                                  
                                    }else echo "<center><font color = 'red'><b>Внутреняя ошибка - сообщите о ней администратору! #1</b></font></center><BR />";
                                  
                                }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже #2</b></font></center><BR />";
                              
                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже #3</b></font></center><BR />";
                          
                              
                        }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения. #4</b></font></center><BR />";
                          
                      
                    }else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету #5</b></font></center><BR />";
              
                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты составляет {$minPay} серебра! #6</font></b></center><BR />";
      
        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец! #7</font></b></center><BR />";
        }else echo "<center><b><font color = 'red'>Вы не можете вывести деньги!</font></b></center><BR />";
    }
?>

<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Введите кошелек Payeer [Пример:  P1052244]</font>: </td>
    <td>
    <?php
    if(!empty($user_data['purse'])) {
        echo '<input type="text" name="purse" size="15" value="'.$user_data['purse'].'" disabled="disabled"/>';
    }
    else
    {
        echo '<input type="text" name="purse" size="15"/>';
    }
    ?>
  
    </td>
  </tr>
  <tr>
    <td><font color="#000;">Отдаете серебро для вывода</font> [Мин. 500]<font color="#000;">:</font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</font> </td>
    <td>
    <input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled"/>
    <input type="hidden" name="per" id="RUB" value="<?=$sonfig_site["ser_per_wmr"]; ?>" disabled="disabled"/>
    <input type="hidden" name="per" id="min_sum_RUB" value="0.50" disabled="disabled"/>
    <input type="hidden" name="val_type" id="val_type" value="RUB" />
    </td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">Серебро</td>
    <td align="center" class="m-tb">Получаете</td>
    <td align="center" class="m-tb">Кошелек</td>
    <td align="center" class="m-tb">Дата</td>
    <td align="center" class="m-tb">Статус</td>
  </tr>
  <?PHP
  $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");
    if($db->NumRows() > 0){
          while($ref = $db->FetchArray()){
      
        ?>
        <tr class="htt">
            <td align="center"><?=$ref["serebro"]; ?></td>
            <td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
            <td align="center"><?=$ref["purse"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
            <td align="center"><?=$status_array[$ref["status"]]; ?></td>
          </tr>
        <?PHP
      
        }
    }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'
  ?>

</table><div class="clr"></div>      
</div>
сяп
 
rich-99000000
php developer
Участник
Сообщения
227
Реакции
48
всем спасибо, я уже разобрался у меня скрипт был универсал (в нем все платежки были вбиты списком я просто файл payment_payeer скопировал и заменил содержимое payment + спасибо kvozimir'у за объяснение получение IP для выплат (ибо я брал с хостинг панели и они не фурычили (FileZilla действительно определил)
 
Сверху