Вход Регистрация
Файл: pages/admin/figa2.php
Строк: 121
<?php
declare(strict_types=1);
// Physical module map v50.6.
if (!defined('GAME_ROOT')) define('GAME_ROOT'dirname(__DIR__2));
chdir(GAME_ROOT);
if (
PHP_SAPI !== 'cli') { $_SERVER['PHP_SELF']='/figa2.php'$_SERVER['SCRIPT_NAME']='/figa2.php'; }

require_once 
'./system/common.php';
require_once 
'./system/functions.php';
require_once 
'./system/user.php';
if(!
$user || (int)($user['access']??0)<2){ header('Location: /'); exit; }
$id=(int)($_GET['sms']??$_POST['sms']??0);
$mail=$id>0?db_fetch_one('SELECT * FROM `mail` WHERE `id`=:id LIMIT 1',['id'=>$id]):null;
if(!
$mail){ $_SESSION['err']='Сообщение не найдено.'header('Location: /figa/'); exit; }
$from=db_fetch_one('SELECT `id`,`login`,`access`,`ip` FROM `users` WHERE `id`=:id LIMIT 1',['id'=>(int)$mail['from']]) ?: ['id'=>0,'login'=>'Система','access'=>0,'ip'=>''];
$to=db_fetch_one('SELECT `id`,`login`,`access` FROM `users` WHERE `id`=:id LIMIT 1',['id'=>(int)$mail['to']]) ?: ['id'=>0,'login'=>'Система','access'=>0];

if((
$_SERVER['REQUEST_METHOD']??'GET')==='POST'){
    
security_require_csrf();
    
$act=(string)($_POST['action']??'');
    if(
$act==='edit'){
        
$text=trim(mb_substr((string)($_POST['text']??''),0,4000,'UTF-8'));
        if(
$text===''$_SESSION['err']='Текст не может быть пустым.';
        else{ 
db_execute('UPDATE `mail` SET `text`=:t WHERE `id`=:id',['t'=>$text,'id'=>$id]); $_SESSION['ok']='Сообщение изменено.'; }
    }elseif(
$act==='ban'){
        if((int)
$from['id']<=|| !moderation_can_punish($user,$from)) $_SESSION['err']='Нельзя блокировать этого пользователя.';
        else{
            
$until=time()+86400$reason='Нарушение правил игры';
            
db_pdo()->beginTransaction();
            try{
                
db_execute('DELETE FROM `ban` WHERE `user`=:u',['u'=>(int)$from['id']]);
                
db_execute('INSERT INTO `ban` (`user`,`time`,`ip`,`text`,`who`) VALUES (:u,:tm,:ip,:tx,:who)',[
                    
'u'=>(int)$from['id'],'tm'=>$until,'ip'=>(string)($from['ip']??''),'tx'=>$reason,'who'=>(string)$user['login']
                ]);
                
moderation_log((int)$user['id'],(int)$from['id'],'ban',$reason,$until,'apply');
                
db_pdo()->commit(); $_SESSION['ok']='Игрок заблокирован на 24 часа.';
            }catch(
Throwable $e){ if(db_pdo()->inTransaction()) db_pdo()->rollBack(); throw $e; }
        }
    }elseif(
$act==='delete'){
        
db_execute('DELETE FROM `mail` WHERE `id`=:id',['id'=>$id]);
        
$_SESSION['ok']='Сообщение удалено.'header('Location: /figa/'); exit;
    }
    
header('Location: /figa2/podr/'.$id.'/'); exit;
}

$title='Просмотр сообщения'; require './system/h.php';
?>
<div class="block_light center"><b>Сообщение от <?=security_html((string)$from['login'])?></b></div>
<div class="block_zero">
<form method="post" action="/figa2/podr/<?=$id?>/">
<?=security_csrf_field()?><input type="hidden" name="sms" value="<?=$id?>"><input type="hidden" name="action" value="edit">
<textarea class="text large" name="text" rows="6" maxlength="4000"><?=security_html((string)$mail['text'])?></textarea><br>
<button class="btn" type="submit">Сохранить</button>
</form>
<div class="separ"></div>
<span class="green">Кто:</span> <a href="/user/<?=(int)$from['id']?>/"><?=security_html((string)$from['login'])?></a><br>
<span class="green">Кому:</span> <a href="/user/<?=(int)$to['id']?>/"><?=security_html((string)$to['login'])?></a>
</div>
<div class="block_zero center">
<?php if((int)$from['id']>&& moderation_can_punish($user,$from)): ?>
<form method="post" action="/figa2/podr/<?=$id?>/" onsubmit="return confirm('Заблокировать отправителя на 24 часа?')"><?=security_csrf_field()?><input type="hidden" name="sms" value="<?=$id?>"><input type="hidden" name="action" value="ban"><button class="btn" type="submit">Заблокировать отправителя</button></form>
<?php endif; ?>
<form method="post" action="/figa2/podr/<?=$id?>/" onsubmit="return confirm('Удалить сообщение?')"><?=security_csrf_field()?><input type="hidden" name="sms" value="<?=$id?>"><input type="hidden" name="action" value="delete"><button class="btn" type="submit">Удалить сообщение</button></form>
</div>
<?php require './system/f.php'?>
Онлайн: 2
Реклама