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.
		
		
		
		
		
			
		
			
				
					
					
						
							175 lines
						
					
					
						
							4.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							175 lines
						
					
					
						
							4.5 KiB
						
					
					
				| <?php | |
| 
 | |
| namespace App\Http\Controllers; | |
| 
 | |
| use Illuminate\Http\Request; | |
| use App\Http\Controllers\Controller; | |
| use App\User; | |
| use Illuminate\Support\Str; | |
| use Illuminate\Support\Facades\Auth; | |
| 
 | |
| class UserController extends Controller | |
| { | |
|     public function __construct() | |
|     { | |
|         $this->middleware('allowed')->except(['selectUser']); | |
|     } | |
|     /** | |
|      * Display a listing of the resource. | |
|      * | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function index() | |
|     { | |
|         $data['users'] = User::all(); | |
|         return view('users.index', $data); | |
|     } | |
| 
 | |
|     /** | |
|      * Show the form for creating a new resource. | |
|      * | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function create() | |
|     { | |
|         $data = []; | |
|         return view('users.create', $data); | |
|     } | |
| 
 | |
|     public function selectUser() | |
|     { | |
|         Auth::logout(); | |
|         $data['users'] = User::all(); | |
|         return view('userselect', $data); | |
| 
 | |
|     } | |
| 
 | |
|     /** | |
|      * Store a newly created resource in storage. | |
|      * | |
|      * @param  \Illuminate\Http\Request  $request | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function store(Request $request) | |
|     { | |
|         $validatedData = $request->validate([ | |
|             'username' => 'required|max:255|unique:users', | |
|             'email' => 'required|email', | |
|             'password' => 'nullable|confirmed', | |
|             'password_confirmation' => 'nullable' | |
| 
 | |
|         ]); | |
|         $user = new User; | |
|         $user->username = $request->input('username'); | |
|         $user->email = $request->input('email'); | |
|         $user->public_front = $request->input('public_front'); | |
| 
 | |
|         $password = $request->input('password'); | |
|         if(!empty($password)) { | |
|             $user->password = bcrypt($password); | |
|         } | |
| 
 | |
|         if($request->hasFile('file')) { | |
|             $path = $request->file('file')->store('avatars'); | |
|             $user->avatar = $path; | |
|         } | |
| 
 | |
|         if ((bool)$request->input('autologin_allow') === true) { | |
|             $user->autologin = (string)Str::uuid(); | |
|         } | |
| 
 | |
|         $user->save(); | |
|          | |
|         $route = route('dash', []); | |
|         return redirect($route) | |
|             ->with('success',__('app.alert.success.user_updated')); | |
|     } | |
| 
 | |
|     /** | |
|      * Display the specified resource. | |
|      * | |
|      * @param  int  $id | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function show($id) | |
|     { | |
|         // | |
|     } | |
| 
 | |
|     /** | |
|      * Show the form for editing the specified resource. | |
|      * | |
|      * @param  int  $id | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function edit(User $user) | |
|     { | |
|         $data['user'] = $user; | |
|         return view('users.edit', $data); | |
| 
 | |
|     } | |
| 
 | |
|     /** | |
|      * Update the specified resource in storage. | |
|      * | |
|      * @param  \Illuminate\Http\Request  $request | |
|      * @param  int  $id | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function update(Request $request, User $user) | |
|     { | |
|         $validatedData = $request->validate([ | |
|             'username' => 'required|max:255|unique:users,username,'.$user->id, | |
|             'email' => 'required|email', | |
|             'password' => 'nullable|confirmed', | |
|             'password_confirmation' => 'nullable' | |
|         ]); | |
|             //die(print_r($request->all())); | |
|  | |
|         $user->username = $request->input('username'); | |
|         $user->email = $request->input('email'); | |
|         $user->public_front = $request->input('public_front'); | |
| 
 | |
|         $password = $request->input('password'); | |
|         if(!empty($password)) { | |
|             $user->password = bcrypt($password); | |
|         } elseif($password == 'null') { | |
|             $user->password = null; | |
|         } | |
|      | |
|         if($request->hasFile('file')) { | |
|             $path = $request->file('file')->store('avatars'); | |
|             $user->avatar = $path; | |
|         } | |
| 
 | |
|         if ((bool)$request->input('autologin_allow') === true) { | |
|             $user->autologin = (is_null($user->autologin)) ? (string)Str::uuid() : $user->autologin; | |
|         } else { | |
|             $user->autologin = null; | |
|         } | |
| 
 | |
|         $user->save(); | |
| 
 | |
|         $route = route('dash', []); | |
|         return redirect($route) | |
|             ->with('success',__('app.alert.success.user_updated')); | |
| 
 | |
|     } | |
| 
 | |
|     /** | |
|      * Remove the specified resource from storage. | |
|      * | |
|      * @param  int  $id | |
|      * @return \Illuminate\Http\Response | |
|      */ | |
|     public function destroy(User $user) | |
|     { | |
|         if($user->id !== 1) { | |
|             $user->delete(); | |
|             $route = route('dash', []); | |
|             return redirect($route) | |
|             ->with('success',__('app.alert.success.user_deleted')); | |
| 
 | |
|         } | |
|     } | |
| }
 | |
| 
 |