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

declare(strict_types=1);

namespace 
AppHttpControllersAdmin;

use 
AppModelsSetting;
use 
IlluminateHttpRedirectResponse;
use 
IlluminateHttpRequest;
use 
IlluminateViewView;

abstract class 
ModuleSettingController extends AdminController
{
    
/**
     * Шаблон страницы настроек
     */
    
protected string $view;

    
/**
     * Имя роута для редиректа после сохранения
     */
    
protected string $route;

    
/**
     * Настройки
     */
    
public function index(): View
    
{
        
$settings Setting::query()->pluck('value''name')->all();

        return 
view($this->viewcompact('settings'));
    }

    
/**
     * Сохранение настроек
     */
    
public function update(Request $request): RedirectResponse
    
{
        
$sets $request->input('sets', []);

        if (empty(
$sets)) {
            
setFlash('danger'__('settings.settings_empty'));

            return 
redirect()->back();
        }

        foreach (
$sets as $name => $value) {
            
Setting::query()->updateOrCreate(['name' => $name], ['value' => $value]);
        }

        
clearCache('settings');
        
setFlash('success'__('settings.settings_success_saved'));

        return 
redirect()->route($this->route);
    }
}
Онлайн: 0
Реклама