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

declare(strict_types=1);

namespace 
AppHttpControllers;

use 
AppClassesValidator;
use 
AppModelsNotebook;
use 
IlluminateHttpRedirectResponse;
use 
IlluminateHttpRequest;
use 
IlluminateViewView;

class 
NotebookController extends Controller
{
    private 
$note;

    
/**
     * Конструктор
     */
    
public function __construct()
    {
        
$this->middleware('check.user');

        
$this->middleware(function ($request$next) {
            
$user getUser();

            
$this->note Notebook::query()
                ->
where('user_id'$user->id)
                ->
firstOrNew(['user_id' => $user->id]);

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

    
/**
     * Главная страница
     */
    
public function index(): View
    
{
        return 
view('notebooks/index', ['note' => $this->note]);
    }

    
/**
     * Редактирование
     *
     *
     * @return View|RedirectResponse
     */
    
public function edit(Request $requestValidator $validator)
    {
        if (
$request->isMethod('post')) {
            
$msg $request->input('msg');

            
$validator
                
->equal($request->input('_token'), csrf_token(), ['msg' => __('validator.token')])
                ->
length($msg010000, ['msg' => __('validator.text_long')], false);

            if (
$validator->isValid()) {
                
$this->note->fill([
                    
'text'       => $msg,
                    
'created_at' => SITETIME,
                ])->
save();

                
setFlash('success'__('main.record_saved_success'));
            } else {
                
setInput($request->all());
                
setFlash('danger'$validator->getErrors());
            }

            return 
redirect('notebooks');
        }

        return 
view('notebooks/edit', ['note' => $this->note]);
    }
}
Онлайн: 2
Реклама