/
var
/
www
/
html
/
gnet_live
/
app
/
Http
/
Controllers
/
Upload File
HOME
<?php namespace App\Http\Controllers; use App\Exports\ContactsExport; use Illuminate\Http\Request; use App\Models\Category; use App\Models\Tags; use App\Models\Brand; use App\Models\Contact; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Validator; use Maatwebsite\Excel\Facades\Excel; class MasterContactController extends Controller { public function __construct() { $this->middleware('auth'); } public function index() { $urltambah = '/tambah-master-category'; $create_view = view('create.create-category'); $category = Category::all(); $brand = Brand::all(); $tags = Tags::all(); // $edit_view = view('edit.edit-kategori'); $url_edit = '/master-contact/{id}'; $tableHeader = ['Name', 'Telephone', 'Email', 'Province', 'City', 'Category', 'Message', 'Action']; $url = '/data-contact'; $columns = [ ["data" => "name"], ["data" => "no_hp"], ["data" => "email"], ["data" => "province"], ["data" => "city"], ["data" => "category"], ["data" => "message"], ["data" => "action"] ]; return view('admin', compact('urltambah', 'url', 'columns', 'tableHeader', 'category', 'url_edit', 'create_view', 'brand', 'tags')); } public function getData(Request $request) { $draw = $request->get('draw'); $start = $request->get("start"); $rowperpage = $request->get("length"); $columnIndex_arr = $request->get('order'); $columnName_arr = $request->get('columns'); $order_arr = $request->get('order'); $search_arr = $request->get('search'); $columnIndex = $columnIndex_arr[0]['column']; $columnName = $columnName_arr[$columnIndex]['data']; $columnSortOrder = $order_arr[0]['dir']; $searchValue = $search_arr['value']; // Total records $totalRecords = DB::table('contact_us') // ->leftJoin('users', 'users.id', '=', 'contact_us.user_id') ->select('contact_us.*') ->count(); $totalRecordswithFilter = DB::table('contact_us') // ->leftJoin('users', 'users.id', '=', 'contact_us.user_id') ->select('contact_us.*') ->where(function ($query) use ($searchValue) { $query->where('contact_us.name', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.no_hp', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.email', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.province', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.city', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.category', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.message', 'like', '%' . $searchValue . '%'); }) ->count(); $records = DB::table('contact_us') // ->leftJoin('users', 'users.id', '=', 'contact_us.user_id') ->select('contact_us.*', DB::raw("CONCAT('<ul class=\"list-inline m-0\"><li class=\"list-inline-item\"><a id=\"openCategoryModalBtnEdit\" href=\"/master-contact/', contact_us.id, '/edit\" class=\"btn btn-success shadow btn-xs sharp me-1 btn-edit\" data-toggle=\"modal\" data-target=\"modal-edit\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Show\"><i class=\"fa fa-eye\"></i></a></li><li class=\"list-inline-item\"><a href=\"/master-contact/', contact_us.id, '\" class=\"btn btn-danger shadow btn-xs sharp me-1 btn-delete\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"Delete\"><i class=\"fa fa-trash\"></i></a></li></ul>') AS action")) ->where(function ($query) use ($searchValue) { $query->where('contact_us.name', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.no_hp', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.email', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.province', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.city', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.category', 'like', '%' . $searchValue . '%') ->orWhere('contact_us.message', 'like', '%' . $searchValue . '%'); }) ->orderBy($columnName, $columnSortOrder) ->skip($start) ->take($rowperpage) ->get(); $data_arr = array(); $sno = $start + 1; foreach ($records as $record) { $id = $record->id; $name = $record->name; $no_hp = $record->no_hp; $email = $record->email; $province = $record->province; $city = $record->city; $category = $record->category; $message = $record->message; $data_arr[] = array( "id" => $id, "name" => $name, "no_hp" => $no_hp, "email" => $email, "province" => $province, "city" => $city, "category" => $category, "message" => $message, "action" => $record->action ); } $response = array( "draw" => intval($draw), "iTotalRecords" => $totalRecords, "iTotalDisplayRecords" => $totalRecordswithFilter, "aaData" => $data_arr ); echo json_encode($response); exit; return response()->json($response); } public function edit($id) { $contact = Contact::find($id); return view('edit.edit-contact', compact('contact')); } public function destroy($id) { Contact::where('id', $id)->delete(); //return response return response()->json([ 'success' => true, 'message' => 'Data Berhasil Dihapus!.', ]); } public function exportToExcel() { return Excel::download(new ContactsExport, 'GNET_Contact_Form_Responses.xlsx'); } }