Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
app
/
Http
/
Controllers
/
Admin
/
Filename :
UserController.php
back
Copy
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Models\User; use App\Models\Task; use App\Models\TaskAssigned; use Auth; use Hash; use Session; use DB; use Socialite; use Image; Use Response; use Helpers; //use Illuminate\Foundation\Auth\AuthenticatesUsers; //use Mail; class UserController extends Controller { public function index() { $users = User::all(); return view('Admin.User.index',compact('users')); } public function user_list(Request $request) { $columns = array("full_name","email","mobile","profile_pic","user_id"); $columns2 =array("users.full_name","users.email","users.mobile","users.profile_pic","users.user_id"); $totalData = User::count(); $limit = $request->input('length'); $start = $request->input('start'); $dir = $request->input('order.0.dir'); $query = User::select($columns2); $Users = $query->get(); $totalFiltered = $Users->count(); $Users = $query->offset($start); $Users = $query->limit($limit); if(isset($columns2[$request->input('order.0.column')])){ $order = $columns[$request->input('order.0.column')]; $Users = $query->orderBy($order,$dir); } if(isset($request->sort_by) && $request->sort_by == 1) $Users = $query->orderBy('users.created_at', 'asc'); else $Users = $query->orderBy('users.created_at', 'desc'); $Users = $query->get(); //$totalFiltered = $query->count(); $data = array(); if(!empty($Users)) { foreach ($Users as $key => $User) { $edit = route('users.edit',$User->user_id); $delete = route('users.destroy', $User->user_id); $show = route('users.show', $User->user_id); foreach ($columns as $key => $column) { if ($column == 'user_id') { $nestedData[$column] = "<form action='{$delete}' method='POST' id='userTable-".$User->$column."'> <input name='_method' type='hidden' value='DELETE'> <a href='{$edit}' title='EDIT' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-green-teal gradient-shadow'> ".csrf_field()." <i class='material-icons'>edit</i></a> <a href='{$show}' title='Details' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-green-teal gradient-shadow'> <i class='material-icons'>remove_red_eye</i> </a> <button type='button' title='DELETE' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-purple-deep-orange gradient-shadow' onclick='delete_user(".$User->$column.");'> <i class='material-icons'>clear</i> </button> </form>"; } else if($column == 'created_at') { $nestedData[$column] = date('j M Y h:i a',strtotime($User->$column)); } else if($column == 'profile_pic') { $nestedData[$column] = '<img src="'.asset($User->profile_pic).'" width="45px"/>'; } else { $nestedData[$column] = $User->$column; } } $data[] = $nestedData; } } //echo count($data);exit; $json_data = array( "draw" => intval($request->input('draw')), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalFiltered), "data" => $data ); // echo '<pre>';print_r($json_data);die; echo json_encode($json_data); } public function create() { $Users = DB::table('users')->get(); return view('Admin.User.create',compact('Users')); } public function store(Request $request) { $validate = $request->validate([ 'full_name' => 'required', 'email' => 'required|email|unique:users,email,NULL,user_id,deleted_at,NULL', 'password' => 'required', 'confirm_password' => 'same:password', 'mobile' => 'required|numeric', 'profile_pic_img' => 'required', ]); if($request->hasFile('profile_pic_img')) { $file = $request->file('profile_pic_img'); $imageName = rand().time().'.'.$file->getClientOriginalExtension(); // Save thumbnail image $img = Image::make($file->getRealPath()); $img->resize(100, 100, function ($constraint) { $constraint->aspectRatio(); })->save(public_path('profile_pics/thumb/').$imageName); // Save original size image $file->move(public_path('profile_pics'), $imageName); $request['profile_pic'] = $imageName; } $request['password'] = Hash::make($request['password']); $user = User::create($request->all()); return redirect()->route('users.index')->with('success','Record Successfully Inserted.'); } public function show($id) { $users = User::find($id); $groups = User::select('*') ->leftjoin('groups','groups.owner_user_id','=','users.user_id') ->where('groups.owner_user_id',$id) ->get(); $tasks = Task::select('*') ->leftJoin('task_assigned','tasks.task_id','task_assigned.task_id') ->leftJoin('users','users.user_id','task_assigned.user_id') ->where('users.user_id',$id) ->get(); return view('Admin.User.details',compact('users','groups','tasks')); } public function edit($id) { $users = User::select('*','profile_pic as profile_image')->where('users.user_id',$id)->first(); return view('Admin.User.edit',compact('users')); } public function update(Request $request,$id) { $validate = $request->validate([ 'full_name' => 'required', 'email' => 'required|email|unique:users,email,'.$id.',user_id,deleted_at,NULL', 'mobile' => 'required|numeric', ]); $users = User::find($id); if($request->hasFile('profile_pic_img')) { $file = $request->file('profile_pic_img'); $imageName = rand().time().'.'.$file->getClientOriginalExtension(); // Save thumbnail image $img = Image::make($file->getRealPath()); $img->resize(100, 100, function ($constraint) { $constraint->aspectRatio(); })->save(public_path('profile_pics/thumb/').$imageName); // Save original size image $file->move(public_path('profile_pics'), $imageName); $request['profile_pic'] = $imageName; } if(!empty($request['reset_password'])) { $request['password'] = Hash::make($request['reset_password']); } $users->update($request->all()); return redirect()->route('users.index')->with('success','Record Updated Successfully.'); } public function destroy($id) { $data = User::find($id)->delete(); return redirect()->route('users.index')->with('success','Record Deleted Successfully'); } }