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

declare(strict_types=1);

namespace 
AppHttpControllersForum;

use 
AppClassesValidator;
use 
AppHttpControllersController;
use 
AppModelsPost;
use 
AppModelsTopic;
use 
IlluminateHttpRedirectResponse;
use 
IlluminateHttpRequest;
use 
IlluminateViewView;

class 
SearchController extends Controller
{
    
/**
     * Поиск
     *
     *
     * @return View|RedirectResponse
     */
    
public function index(Request $requestValidator $validator)
    {
        
$find $request->input('find');
        
$type $request->input('type') === 'title' 'title' 'text';
        
$data collect();

        if (
$find) {
            
$find rawurldecode(trim(preg_replace('/[^wx7F-xFFs]/'' '$find)));

            
$validator->length($find364, ['find' => __('main.request_length')]);
            if (
$validator->isValid()) {
                if (
$type === 'title') {
                    
$data Topic::query()
                        ->
whereFullText($type$find '*', ['mode' => 'boolean'])
                        ->
with('forum''lastPost.user')
                        ->
paginate(setting('forumtem'))
                        ->
appends(compact('find''type'));
                } else {
                    
$data Post::query()
                        ->
whereFullText($type$find '*', ['mode' => 'boolean'])
                        ->
with('user''topic.forum')
                        ->
paginate(setting('forumpost'))
                        ->
appends(compact('find''type'));
                }

                if (
$data->isEmpty()) {
                    
setInput($request->all());
                    
setFlash('danger'__('main.empty_found'));

                    return 
redirect('forums/search');
                }
            } else {
                
setInput($request->all());
                
setFlash('danger'$validator->getErrors());
            }
        }

        return 
view('forums/search'compact('data''type''find'));
    }
}
Онлайн: 5
Реклама