sonarrradarrplexorganizrnginxdashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboard
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							102 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							102 lines
						
					
					
						
							2.4 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace App\Http\Controllers;
							 | 
						|
								
							 | 
						|
								use Illuminate\Http\Request;
							 | 
						|
								use App\Setting;
							 | 
						|
								use App\SettingGroup;
							 | 
						|
								use App\Http\Controllers\Controller;
							 | 
						|
								
							 | 
						|
								class SettingsController extends Controller
							 | 
						|
								{
							 | 
						|
								    /**
							 | 
						|
								     * @return \Illuminate\View\View
							 | 
						|
								     */
							 | 
						|
								    public function index()
							 | 
						|
								    {
							 | 
						|
								        $settings = SettingGroup::with([
							 | 
						|
								            'settings',
							 | 
						|
								        ])->orderBy('order', 'ASC')->get();
							 | 
						|
								
							 | 
						|
								        return view('settings.list')->with([
							 | 
						|
								            'groups' => $settings,
							 | 
						|
								        ]);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param int $id
							 | 
						|
								     *
							 | 
						|
								     * @return \Illuminate\Http\RedirectResponse
							 | 
						|
								     */
							 | 
						|
								    public function edit($id)
							 | 
						|
								    {
							 | 
						|
								        $setting = Setting::find($id);
							 | 
						|
								
							 | 
						|
								        if((bool)$setting->system === true) return abort(404);
							 | 
						|
								
							 | 
						|
								        if (!is_null($setting)) {
							 | 
						|
								            return view('settings.edit')->with([
							 | 
						|
								                'setting' => $setting,
							 | 
						|
								            ]);
							 | 
						|
								        } else {
							 | 
						|
								            return redirect()->route('settings.list')->with([
							 | 
						|
								                'error' => __('app.alert.error.not_exist'),
							 | 
						|
								            ]);
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    /**
							 | 
						|
								     * @param int $id
							 | 
						|
								     *
							 | 
						|
								     * @return \Illuminate\Http\RedirectResponse
							 | 
						|
								     */
							 | 
						|
								    public function update(Request $request, $id)
							 | 
						|
								    {
							 | 
						|
								        $setting = Setting::find($id);
							 | 
						|
								
							 | 
						|
								        if (!is_null($setting)) {
							 | 
						|
								            $data = Setting::getInput();
							 | 
						|
								
							 | 
						|
								            if ($setting->type == 'image') {
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								                if($request->hasFile('value')) {
							 | 
						|
								                    $path = $request->file('value')->store('backgrounds');
							 | 
						|
								                    $setting->value = $path;
							 | 
						|
								                }
							 | 
						|
								            
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								            } else {
							 | 
						|
								                $setting->value = $data->value;
							 | 
						|
								            }
							 | 
						|
								
							 | 
						|
								            $setting->save();
							 | 
						|
								
							 | 
						|
								            return redirect()->route('settings.index')->with([
							 | 
						|
								                'success' => __('app.alert.success.setting_updated'),
							 | 
						|
								            ]);
							 | 
						|
								        } else {
							 | 
						|
								            return redirect()->route('settings.index')->with([
							 | 
						|
								                'error' => __('app.alert.error.not_exist'),
							 | 
						|
								            ]);
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								    /**
							 | 
						|
								     * @param int $id
							 | 
						|
								     *
							 | 
						|
								     * @return \Illuminate\Http\RedirectResponse
							 | 
						|
								     */
							 | 
						|
								    public function clear($id)
							 | 
						|
								    {
							 | 
						|
								        $setting = Setting::find($id);
							 | 
						|
								        if((bool)$setting->system !== true) {
							 | 
						|
								            $setting->value = '';
							 | 
						|
								            $setting->save();
							 | 
						|
								        }
							 | 
						|
								        return redirect()->route('settings.index')->with([
							 | 
						|
								            'success' => __('app.alert.success.setting_updated'),
							 | 
						|
								        ]);
							 | 
						|
								    
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |