Viewing file: UserController.php (7.29 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request; use App\Models\User; use App\Models\TransactionDetails; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator;
class UserController extends Controller { public function __construct() { $this->middleware('auth'); }
function index() { if (Auth::user()->id > 1) { abort(403, 'Unauthorized'); } $data=User::where("id",">",1)->where("is_agent", 0)->get(); return view('user.index',['users'=>$data]); } function create(Request $req) { if (Auth::user()->id > 1) { abort(403, 'Unauthorized'); } $validator = Validator::make($req->all(), [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255|unique:users', 'password' => 'required|string|min:6', ], [ 'name.required' => 'User Name can`t be empty', 'email.email' => 'Invalid Email address', 'email.unique' => 'Email address already used', 'password.min' => 'Password minimum 6 character require', ]); if ($validator->fails()==true) { return redirect()->back()->withErrors($validator->errors()->all())->withInput(); } { $data= User::create([ 'name' => $req->input('name'), 'email' => $req->input('email'), 'password' => Hash::make($req->input('password')) ]); return redirect()->back()->with('message', "User added successfully"); } } function update(Request $req) { if (Auth::user()->id > 1) { abort(403, 'Unauthorized'); } $validator = Validator::make($req->all(), [ 'name' => 'required|string|max:255', 'email' => 'required|string|email|max:255', 'password' => 'nullable|string|min:6' ], [ 'name.required' => 'User Name can`t be empty', 'email.email' => 'Invalid Email address', 'password.min' => 'Password minimum 6 character require' ]); $user=User::where("id","!=",$req->input('user_id'))->where("email",$req->input('email'))->exists(); if ($validator->fails()==true) { return redirect()->back()->withErrors($validator->errors()->all()); } else if($user) { return redirect()->back()->withErrors("Email address already used"); }else{ $user=User::find($req->input('user_id')); if ($req->filled('password')) { $user->password = Hash::make($req->password); // Hash password only if provided } $user->name = $req->input('name'); $user->email = $req->input('email'); $user->save(); // $data= User::find($req->input('user_id'))->update([ // 'name' => $req->input('name'), // 'email' => $req->input('email') // ]); return redirect()->back()->with('message', "User updated successfully"); } } function delete(Request $req) { if (Auth::user()->id > 1) { abort(403, 'Unauthorized'); } $data=User::find($req->input('user_id'))->delete(); return redirect()->back()->with('message', "User deleted successfully"); } function getPassword() { return view('pages-profile-settings'); } public function updateProfile(Request $request, $id) { if (Auth::user()->id > 1) { abort(403, 'Unauthorized'); } $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email'], 'avatar' => ['nullable', 'image', 'mimes:jpg,jpeg,png', 'max:1024'], ]);
$user = User::find($id); $user->name = $request->get('name'); $user->email = $request->get('email');
if ($request->file('avatar')) { $avatar = $request->file('avatar'); $avatarName = time() . '.' . $avatar->getClientOriginalExtension(); $avatarPath = public_path('/images/'); $avatar->move($avatarPath, $avatarName); $user->avatar = $avatarName; }
$user->update(); if ($user) { Session::flash('message', 'User Details Updated successfully!'); Session::flash('alert-class', 'alert-success'); // return response()->json([ // 'isSuccess' => true, // 'Message' => "User Details Updated successfully!" // ], 200); // Status code here return redirect()->back(); } else { Session::flash('message', 'Something went wrong!'); Session::flash('alert-class', 'alert-danger'); // return response()->json([ // 'isSuccess' => true, // 'Message' => "Something went wrong!" // ], 200); // Status code here return redirect()->back();
} }
public function updatePassword(Request $request) { // $request->validate([ // 'current_password' => ['required', 'string'], // 'password' => ['required', 'string', 'min:6', 'confirmed'], // ]); $validator = Validator::make($request->all(), [ 'current_password' => 'required|string|max:255', 'password' => 'required|string|min:6', 'confirm_password'=> 'required|string|min:6', ], [ 'current_password.required' => 'Current Password can`t be empty', 'password.required' => 'New Password can`t be empty', 'password.min' => 'Password minimum 6 character require', 'confirm_password.required' => 'Confirm Password can`t be empty', 'confirm_password.min' => 'Password minimum 6 character require', ]); if ($validator->fails()==true) { return redirect()->back()->withErrors($validator->errors()->all())->withInput(); } if ($request->get('password') !==$request->get('confirm_password')) { return redirect()->back()->withErrors("Your New password does not matches with the confrim password. Please try again."); } if (!(Hash::check($request->get('current_password'), Auth::user()->password))) { return redirect()->back()->withErrors("Your Current password does not matches with the password you provided. Please try again."); // Status code } else { // var_dump(Auth::user()); $user = User::find(Auth::user()->id); $user->password = Hash::make($request->get('password')); $user->update(); if ($user) { return redirect()->back()->with('message', "password changed Successfully"); } else { // Session::flash('message', 'Something went wrong!'); // Session::flash('alert-class', 'alert-danger'); // return response()->json([ // 'isSuccess' => true, // 'Message' => "Something went wrong!" // ], 200); // Status code here return redirect()->back()->withErrors("Something went wrong!. Please try again."); // Status code } } } }
|