Category.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Categories;
  4. use App\Models\Photos;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Support\Facades\Storage;
  8. use App\Helpers\CommonMethods;
  9. use Str;
  10. use File;
  11. use Image;
  12. class Category extends Controller
  13. {
  14. //
  15. public function categories(){
  16. $resto_id = CommonMethods::getRestuarantID();
  17. $categories = Categories::whereNull('deleted_at')->whereIn('resto_id',[$resto_id])->orderBy('display_order','ASC')->get();
  18. $data = [
  19. 'categories' => $categories
  20. ];
  21. return view('categories.categories',$data);
  22. }
  23. public function new_category(){
  24. return view('categories.category_form');
  25. }
  26. public function save(Request $request)
  27. {
  28. // dd($request->all());
  29. $id = $request->id;
  30. if(empty($id)){
  31. $category = new Categories();
  32. $category->unique_id = \Illuminate\Support\Str::uuid();
  33. }
  34. else
  35. $category = Categories::find($id);
  36. $category->name = $request->name;
  37. $category->arabic_name = $request->arabic_name;
  38. $category->is_active =1;
  39. $category->resto_id = CommonMethods::getRestuarantID();
  40. $category->parent_id = $request->parent_id;
  41. $category->save();
  42. $id = $category->id;
  43. if($request->hasFile('main_image')){
  44. $logo = $request->file('main_image');
  45. $file_name = "category-".Str::slug($request->name)."-main_image".'-'.time();
  46. $extension = $logo->getClientOriginalExtension();
  47. Storage::disk('main_image')->put($file_name.'.'.$extension, File::get($logo));
  48. $destinationPath = public_path('/uploads/main_image');
  49. $img = Image::make($destinationPath . '/' . $file_name.'.'.$extension)->resize(500, null, function ($constraint) {
  50. $constraint->aspectRatio();
  51. });
  52. $img->save($destinationPath . '/' . $file_name.'.'.$extension);
  53. $file = public_path('/uploads/main_image/'.$file_name.'.'.$extension);
  54. $result = CommonMethods::uploadFileToAWSCDN('meemapp-order','resto-'.CommonMethods::getRestuarantID(), 'category',$file,$file_name);
  55. $main_image = Photos::where('category_id',$id)->where('photo_type','main_image')->first();
  56. if(!$main_image)
  57. $main_image = new Photos();
  58. $main_image->file_name = $result['url'];
  59. $main_image->aws_cdn = $result['url'];
  60. $main_image->category_id = $id;
  61. $main_image->photo_type = 'main_image';
  62. $main_image->resto_id = CommonMethods::getRestuarantID();;
  63. $main_image->save();
  64. //$resto->text =
  65. }
  66. if($id > 0)
  67. echo json_encode(array('type' => 'success', 'message'=>"Category is saved successfully."));
  68. else
  69. echo json_encode(array('type' => 'error', 'message'=>"Category is not saved successfully."));
  70. }
  71. public function delete($id){
  72. //$id = CommonMethods::decrypt($id);
  73. $category = Categories::find($id);
  74. $category->deleted_at = date('Y-m-d H:i:s');
  75. $category->save();
  76. }
  77. public function edit($id){
  78. $category = Categories::find($id);
  79. $data = [
  80. 'category' => $category,
  81. ];
  82. return view('categories.category_form',$data);
  83. }
  84. public function update_display_orders(Request $request){
  85. dd($request->all());
  86. $ids = $request->ids;
  87. $u = Auth::user()->role=="restaurant"?Auth::user()->restaurants->id:0;
  88. foreach($ids as $k=>$id){
  89. $c = Categories::whereNull('deleted_at')->where('resto_id',$u)->where('id',$id['id'])->update(['display_order'=>$id['position']]);
  90. }
  91. }
  92. }