Вход Регистрация
Файл: app/Http/Controllers/User/BanController.php
Строк: 69
<?php

declare(strict_types=1);

namespace 
AppHttpControllersUser;

use 
AppClassesValidator;
use 
AppHttpControllersController;
use 
AppModelsBanhist;
use 
AppModelsUser;
use 
IlluminateHttpRedirectResponse;
use 
IlluminateHttpRequest;
use 
IlluminateViewView;

class 
BanController extends Controller
{
    
/**
     * User Ban
     *
     *
     * @return View|RedirectResponse
     */
    
public function ban(Request $requestValidator $validator)
    {
        if (! 
$user getUser()) {
            
abort(403__('main.not_authorized'));
        }

        if (
$user->level !== User::BANNED) {
            
abort(200__('users.not_banned'));
        }

        if (
$user->timeban <= SITETIME) {
            
$user->update([
                
'level'   => User::USER,
                
'timeban' => 0,
            ]);

            
setFlash('success'__('users.ban_expired'));

            return 
redirect('/');
        }

        
$banhist Banhist::query()
            ->
where('user_id'$user->id)
            ->
whereIn('type', ['ban''change'])
            ->
orderByDesc('created_at')
            ->
first();

        if (
$banhist && $request->isMethod('post')) {
            
$msg $request->input('msg');

            
$admins User::query()->whereIn('level', [User::BOSSUser::ADMIN])->get();

            
$validator
                
->true(setting('addbansend'), __('users.explain_forbidden'))
                ->
false($banhist->explain__('users.explain_repeat'))
                ->
true($admins->isNotEmpty(), __('users.admins_not_found'))
                ->
length($msg51000, ['text' => __('validator.text')]);

            if (
$validator->isValid()) {
                
$text textNotice('explain', ['message' => antimat($msg)]);

                
/** @var User $admin */
                
foreach ($admins as $admin) {
                    
$admin->sendMessage($user$textfalse);
                }

                
$banhist->update([
                    
'explain' => 1,
                ]);

                
setFlash('success'__('users.explain_sent_success'));

                return 
redirect('ban');
            }

            
setInput($request->all());
            
setFlash('danger'$validator->getErrors());
        }

        return 
view('users/bans'compact('user''banhist'));
    }
}
Онлайн: 0
Реклама