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

declare(strict_types=1);

namespace 
AppHttpControllersLoad;

use 
AppHttpControllersController;
use 
AppModelsComment;
use 
AppModelsDown;
use 
AppModelsUser;
use 
IlluminateHttpRequest;
use 
IlluminateViewView;

class 
ActiveController extends Controller
{
    public ?
User $user;

    
/**
     * Конструктор
     */
    
public function __construct()
    {
        
$this->middleware(function ($request$next) {
            
$login $request->input('user'getUser('login'));
            
$this->user getUserByLogin($login);

            if (! 
$this->user) {
                
abort(404__('validator.user'));
            }

            return 
$next($request);
        });
    }

    
/**
     * Мои файлы
     */
    
public function files(Request $request): View
    
{
        
$active int($request->input('active'1));
        
$user $this->user;

        if (
getUser() && getUser('id') !== $user->id) {
            
$active 1;
        }

        
$downs Down::query()
            ->
where('active'$active)
            ->
where('user_id'$user->id)
            ->
orderByDesc('created_at')
            ->
with('category''user')
            ->
paginate(setting('downlist'))
            ->
appends([
                
'user'   => $user->login,
                
'active' => $active,
            ]);

        return 
view('loads/active_files'compact('downs''user''active'));
    }

    
/**
     * Мои комментарии
     */
    
public function comments(): View
    
{
        
$user $this->user;

        
$comments Comment::query()
            ->
select('comments.*''title''count_comments')
            ->
where('relate_type'Down::$morphName)
            ->
where('comments.user_id'$user->id)
            ->
leftJoin('downs''comments.relate_id''downs.id')
            ->
orderByDesc('comments.created_at')
            ->
with('user')
            ->
paginate(setting('comments_per_page'))
            ->
appends(['user' => $user->login]);

        return 
view('loads/active_comments'compact('comments''user'));
    }
}
Онлайн: 0
Реклама