Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
app
/
Http
/
Controllers
/
Admin
/
Filename :
GroupController.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\Group; use Auth; use Hash; use Session; use DB; use Socialite; use Image; Use Response; use Helpers; //use Illuminate\Foundation\Auth\AuthenticatesUsers; //use Mail; class GroupController extends Controller { public function index() { $groups = Group::all(); return view('Admin.Group.index',compact('groups')); } public function group_list(Request $request) { $columns = array("full_name","group_name","group_image","group_id"); $columns2 =array("users.full_name","groups.group_name","groups.group_image","groups.group_id"); $totalData = Group::count(); $limit = $request->input('length'); $start = $request->input('start'); $dir = $request->input('order.0.dir'); $query = Group::select($columns2)->join('users','users.user_id','=','groups.owner_user_id'); $groups = $query->get(); $totalFiltered = $groups->count(); $groups = $query->offset($start); $groups = $query->limit($limit); if(isset($columns2[$request->input('order.0.column')])){ $order = $columns[$request->input('order.0.column')]; $groups = $query->orderBy($order,$dir); } if(isset($request->sort_by) && $request->sort_by == 1) $groups = $query->orderBy('groups.created_at', 'asc'); else $groups = $query->orderBy('groups.created_at', 'desc'); $groups = $query->get(); //$totalFiltered = $query->count(); $data = array(); if(!empty($groups)) { foreach ($groups as $key => $group) { $edit = route('groups.edit',$group->group_id); $delete = route('groups.destroy', $group->group_id); foreach ($columns as $key => $column) { if ($column == 'group_id') { $nestedData[$column] = "<form action='{$delete}' method='POST' id='groupTable-".$group->$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> <button type='button' title='DELETE' class='mb-6 btn-floating waves-effect waves-light gradient-45deg-purple-deep-orange gradient-shadow' onclick='delete_group(".$group->$column.");'> <i class='material-icons'>clear</i> </button> </form>"; } else if($column == 'created_at') { $nestedData[$column] = date('j M Y h:i a',strtotime($group->$column)); }else if($column == 'group_image') { $nestedData[$column] = '<img src="'.asset($group->group_image).'" width="45px"/>'; } else { $nestedData[$column] = $group->$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 = User::get(); $groups = Group::get(); return view('Admin.Group.create',compact('groups','users')); } public function store(Request $request) { $validate = $request->validate([ 'owner_user_id' => 'required', 'group_name' => 'required', 'group_img' => 'required', ]); if($request->hasFile('group_img')) { $file = $request->file('group_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('group_images/thumb/').$imageName); // Save original size image $file->move(public_path('group_images'), $imageName); $request['group_image'] = $imageName; } Group::create($request->all()); return redirect()->route('groups.index')->with('success','Record Successfully Inserted.'); } public function edit($id) { $users = User::get(); $groups = Group::select('*','group_image as group_images')->where('groups.group_id',$id)->first(); return view('Admin.Group.edit',compact('groups','users')); } public function update(Request $request,$id) { $validate = $request->validate([ 'owner_user_id' => 'required', 'group_name' => 'required', ]); $groups = Group::find($id); if($request->hasFile('group_img')) { $file = $request->file('group_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('group_images/thumb/').$imageName); // Save original size image $file->move(public_path('group_images'), $imageName); $request['group_image'] = $imageName; } $groups->update($request->all()); return redirect()->route('groups.index')->with('success','Record Updated Successfully.'); } public function destroy($id) { $data = Group::find($id)->delete(); return redirect()->route('groups.index')->with('success','Record Deleted Successfully'); } }