kopia lustrzana https://github.com/pixelfed/pixelfed
				
				
				
			Add LabsSettings controller
							rodzic
							
								
									e3b9fb759c
								
							
						
					
					
						commit
						8946121334
					
				| 
						 | 
				
			
			@ -0,0 +1,83 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Settings;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
use Cookie, Redis;
 | 
			
		||||
use App\Services\SuggestionService;
 | 
			
		||||
 | 
			
		||||
trait LabsSettings {
 | 
			
		||||
 | 
			
		||||
	public function __constructor()
 | 
			
		||||
	{
 | 
			
		||||
		$this->middleware('auth');
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public function labs(Request $request)
 | 
			
		||||
	{
 | 
			
		||||
		$profile = $request->user()->profile;
 | 
			
		||||
		return view('settings.labs', compact('profile'));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public function labsStore(Request $request)
 | 
			
		||||
	{
 | 
			
		||||
		$this->validate($request, [
 | 
			
		||||
			'profile_layout' => 'nullable',
 | 
			
		||||
			'dark_mode'	=> 'nullable',
 | 
			
		||||
			'profile_suggestions' => 'nullable'
 | 
			
		||||
		]);
 | 
			
		||||
 | 
			
		||||
		$changes = false;
 | 
			
		||||
 | 
			
		||||
		$profile = $request->user()->profile;
 | 
			
		||||
 | 
			
		||||
		$cookie = Cookie::forget('dark-mode');
 | 
			
		||||
		if($request->has('dark_mode') && $profile->profile_layout != 'moment') {
 | 
			
		||||
			if($request->dark_mode == 'on') {
 | 
			
		||||
				$cookie = Cookie::make('dark-mode', true, 43800);
 | 
			
		||||
			} 
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if($request->has('profile_layout')) {
 | 
			
		||||
			if($profile->profile_layout != 'moment') {
 | 
			
		||||
				$profile->profile_layout = 'moment';
 | 
			
		||||
				$changes = true;
 | 
			
		||||
			} else {
 | 
			
		||||
				$profile->profile_layout = null;
 | 
			
		||||
				$changes = true;
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			if($profile->profile_layout == 'moment') {
 | 
			
		||||
				$profile->profile_layout = null;
 | 
			
		||||
				$changes = true;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if($request->has('profile_suggestions')) {
 | 
			
		||||
			if($profile->is_suggestable == false) {
 | 
			
		||||
				$profile->is_suggestable = true;
 | 
			
		||||
				$changes = true;
 | 
			
		||||
				SuggestionService::set($profile->id);
 | 
			
		||||
			} else {
 | 
			
		||||
				$profile->is_suggestable = false;
 | 
			
		||||
				$changes = true;
 | 
			
		||||
				SuggestionService::del($profile->id);
 | 
			
		||||
			}
 | 
			
		||||
		} else {
 | 
			
		||||
			if($profile->is_suggestable == true) {
 | 
			
		||||
				$profile->is_suggestable = false;
 | 
			
		||||
				$changes = true;
 | 
			
		||||
				SuggestionService::del($profile->id);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if($changes == true) {
 | 
			
		||||
			$profile->save();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return redirect(route('settings.labs'))
 | 
			
		||||
			->with('status', 'Labs preferences successfully updated!')
 | 
			
		||||
			->cookie($cookie);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Ładowanie…
	
		Reference in New Issue