Вход Регистрация
Файл: app/Http/Middleware/AuthenticateCookie.php
Строк: 76
<?php

namespace AppHttpMiddleware;

use 
AppModelsLogin;
use 
AppModelsUser;
use 
Closure;
use 
IlluminateHttpRequest;
use 
IlluminateSupportFacadesApp;
use 
IlluminateSupportFacadesRoute;
use 
IlluminateSupportFacadesView;

class 
AuthenticateCookie
{
    
/**
     * Handle an incoming request.
     */
    
public function handle(Request $requestClosure $next)
    {
        if (
Route::has('install') && $request->is('install*')) {
            return 
$next($request);
        }

        
$this->cookieAuth($request);

        if (
$user getUser()) {
            if (
$user->isBanned() && ! $request->is('ban''rules''logout')) {
                return 
redirect('ban?user=' $user->login);
            }

            if (
$user->isPended() && ! $request->is('key''ban''logout''captcha')) {
                return 
redirect('key?user=' $user->login);
            }

            
$user->updatePrivate();
            
$user->gettingBonus();

            
/* Установка сессионных переменных */
            
if ($request->session()->missing('hits')) {
                
$request->session()->put('hits'0);
            }
        }

        
$this->setSetting($user$request);

        return 
$next($request);
    }

    
/**
     * Авторизует по кукам
     */
    
private function cookieAuth(Request $request): void
    
{
        if (
            
$request->hasCookie('login')
            && 
$request->hasCookie('password')
            && 
$request->session()->missing('id')
        ) {
            
$login $request->cookie('login');
            
$password $request->cookie('password');

            
$user getUserByLogin($login);

            if (
$user && $login === $user->login && $password === $user->password) {
                
$request->session()->put('id'$user->id);
                
$request->session()->put('password'$user->password);
                
$request->session()->put('online');

                
$user->saveVisit(Login::COOKIE);
            }
        }
    }

    
/**
     * Устанавливает настройки
     *
     * @param User|false $user
     */
    
private function setSetting($userRequest $request): void
    
{
        
$language $user->language ?? setting('language');
        
$theme $user->themes ?? setting('themes');

        if (
$request->session()->has('language')) {
            
$language $request->session()->get('language');
        }

        if (! 
file_exists(resource_path('lang/' $language))) {
            
$language setting('language');
        }

        if (! 
file_exists(public_path('themes/' $theme))) {
            
$theme setting('themes');
        }

        
App::setLocale($language);
        
View::addLocation(public_path('themes/' $theme '/views'));
    }
}
Онлайн: 0
Реклама