123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481 |
- <?php
- namespace App\Http\Controllers;
- use App\Categories;
- use App\MapRecipeCategories;
- use App\Photos;
- use App\Recipes;
- use App\Restaurants;
- use Brian2694\Toastr\Facades\Toastr;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Support\Facades\Storage;
- use Ramsey\Uuid\Uuid;
- use App\ClothOptions;
- use Str;
- use File;
- use Illuminate\Support\Facades\Hash;
- use Image;
- use App\ProductFAQs;
- use App\Helpers\CommonMethods;
- class Recipe extends Controller
- {
- public function inventory(){
- $resto_id = CommonMethods::getRestuarantID();
- $resto = Restaurants::find($resto_id);
- $recipes = $resto->recipes();;
- $data = [
- 'recipes' => $recipes->get()
- ];
- return view('recipes.inventory',$data);
- }
- //
- public function recipes(){
- Toastr::success('Post added successfully :)','Success');
- $resto_id = CommonMethods::getRestuarantID();
- $resto = Restaurants::find($resto_id);
- $recipes = $resto->recipes();;
- $data = [
- 'recipes' => $recipes->get()
- ];
- return view('recipes.recipes',$data);
- }
- public function new_recipe(){
- $resto_id = CommonMethods::getRestuarantID();
-
- $categories = Categories::whereNull('deleted_at')->where('is_active',1)->whereIn('resto_id',[$resto_id])->get();
-
- $data = [
- 'categories' => $categories
- ];
- return view('recipes.recipe_form',$data);
- }
- public function edit($id){
- $resto_id = CommonMethods::getRestuarantID();
-
- $categories = Categories::whereNull('deleted_at')->where('is_active',1)->whereIn('resto_id',[$resto_id])->get();
-
- $recipe = Recipes::find($id);
- $data = [
- 'categories' => $categories,
- 'recipe' =>$recipe
- ];
- return view('recipes.recipe_form',$data);
- }
- public function save(Request $request){
- $resto_id = CommonMethods::getRestuarantID();
- $resto = Restaurants::find($resto_id);
-
-
- $id = $request->id;
- if(empty($id)){
- $recipe = new Recipes();
- $recipe->unique_shared_key = Str::uuid();
- }
- else
- $recipe = Recipes::find($id);
- $recipe->name = $request->name;
- $recipe->arabic_name = $request->arabic_name;
- $recipe->status = '1';
- $recipe->resto_id = $resto_id;
- $recipe->price = $request->price;
- $recipe->show_recipe_main_price = isset($request->show_recipe_main_price)?1:0;
- $recipe->short_description = $request->short_description;
- $recipe->short_description_arabic = $request->short_description_arabic;
- $recipe->is_customized = isset($request->is_customized)?1:0;
- $recipe->status = isset($request->status)?1:0;
- $recipe->save();
- $recipe_id = $recipe->id;
- if($recipe_id > 0){
- $categories = $request->category;
- //dd($categories);
- MapRecipeCategories::where('recipe_id',$recipe_id)->delete();
- if(count($categories) > 0){
- foreach($categories as $category){
- $m_c = new MapRecipeCategories();
- $m_c->category_id = $category;
- $m_c->recipe_id = $recipe_id;
- $m_c->resto_id = $resto_id;;
- $m_c->save();
- }
- }
- if($request->hasFile('main_image')){
- $logo = $request->file('main_image');
- $file_name = Str::slug($request->name)."-main_image".'-'.time();
- $extension = $logo->getClientOriginalExtension();
- Storage::disk('main_image')->put($file_name.'.'.$extension, File::get($logo));
- $destinationPath = public_path('/uploads/main_image/');
- /*$img = Image::make($destinationPath . '/' . $file_name.'.'.$extension)->resize(1400, null, function ($constraint) {
- $constraint->aspectRatio();
- });*/
- // $img->save($destinationPath . '/' . $file_name.'.'.$extension);
- $file = public_path('uploads/main_image/'.$file_name.'.'.$extension);
- $result = CommonMethods::uploadFileToAWSCDN('meemapp-order',$resto_id, $resto->resto_unique_name,$file,$file_name);
- /*
- $img = Image::make($destinationPath . '/' . $file_name.'.'.$extension)->resize(200, null, function ($constraint) {
- $constraint->aspectRatio();
- });
- $img->save($destinationPath . '/thumbnails/' . $file_name.'.'.$extension);*/
- $main_image = Photos::where('recipe_id',$recipe_id)->where('photo_type','main_image')->first();
- if(!$main_image)
- $main_image = new Photos();
- $main_image->file_name = $result['url'];
- $main_image->aws_cdn = $result['url'];
- $main_image->recipe_id = $recipe_id;
- $main_image->photo_type = 'main_image';
- $main_image->resto_id = $resto_id;;;
- $main_image->save();
- File::delete( $file);
- //$resto->text =
- }
- if($request->business_type=="ClothsStore"){
- $color_image = ($request->color_image);
- $option = ClothOptions::where('resto_id',$resto_id)->where('product_id',$recipe_id)->delete();
- $colors = !empty($request->color)?$request->color:NULL;
- $sizes = !empty($request->size)?$request->size:NULL;
- if(isset($colors) && count($colors) > 0){
-
- foreach($colors as $color){
-
- if(isset($color_image[$color])){
- dump('found');
- }
-
- $options = new ClothOptions();
- $options->resto_id = $resto_id;
- $options->product_id = $recipe_id;
- $options->name = $color;
- $options->type="color";
- $options->save();
- }
-
- }
- if(isset($sizes) && count($sizes) > 0){
- foreach($sizes as $size){
- $options = new ClothOptions();
- $options->resto_id = $resto_id;
- $options->product_id = $recipe_id;
- $options->name = $size;
- $options->type="size";
- $options->save();
- }
-
- }
- }
- echo json_encode(array('type' => 'success', 'message'=>"Item is saved successfully."));
- }
- else
- echo json_encode(array('type' => 'error', 'message'=>"Item is not saved successfully."));
- }
- /* public function save(Request $request){
- $id = $request->id;
- if(empty($id)){
- $recipe = new Recipes();
- $recipe->unique_shared_key = Str::uuid();
- }
- else
- $recipe = Recipes::find($id);
- $recipe->name = $request->name;
- $recipe->status = '1';
- $recipe->resto_id = Auth::user()->restaurants->id;
- $recipe->price = $request->price;
- $recipe->short_description = $request->short_description;
- $recipe->is_customized = isset($request->is_customized)?1:0;
- $recipe->status = isset($request->status)?1:0;
- $recipe->save();
- $recipe_id = $recipe->id;
- if($recipe_id > 0){
- $categories = $request->category;
- //dd($categories);
- MapRecipeCategories::where('recipe_id',$recipe_id)->delete();
- if(count($categories) > 0){
- foreach($categories as $category){
- $m_c = new MapRecipeCategories();
- $m_c->category_id = $category;
- $m_c->recipe_id = $recipe_id;
- $m_c->resto_id = Auth::user()->restaurants->id;;
- $m_c->save();
- }
- }
- if($request->hasFile('main_image')){
- $logo = $request->file('main_image');
- $file_name = Str::slug($request->name)."-main_image".'-'.time();
- $extension = $logo->getClientOriginalExtension();
- Storage::disk('main_image')->put($file_name.'.'.$extension, File::get($logo));
- $destinationPath = public_path('/uploads/main_image/');
- $img = Image::make($destinationPath . '/' . $file_name.'.'.$extension)->resize(1400, null, function ($constraint) {
- $constraint->aspectRatio();
- });
- $img->save($destinationPath . '/' . $file_name.'.'.$extension);
- $img = Image::make($destinationPath . '/' . $file_name.'.'.$extension)->resize(200, null, function ($constraint) {
- $constraint->aspectRatio();
- });
- $img->save($destinationPath . '/thumbnails/' . $file_name.'.'.$extension);
- $main_image = Photos::where('recipe_id',$recipe_id)->where('photo_type','main_image')->first();
- if(!$main_image)
- $main_image = new Photos();
- $main_image->file_name = $file_name.'.'.$extension;
- $main_image->recipe_id = $recipe_id;
- $main_image->photo_type = 'main_image';
- $main_image->resto_id = Auth::user()->restaurants->id;;;
- $main_image->save();
- //$resto->text =
- }
- echo json_encode(array('type' => 'success', 'message'=>"Recipe's data is saved successfully."));
- }
- else
- echo json_encode(array('type' => 'error', 'message'=>"Recipe's data is not saved successfully."));
- }*/
- public function delete($id){
- $recipe = Recipes::find($id);
- $recipe->deleted_at = date('Y-m-d H:i:s');
- $recipe->save();
- }
- public function upload_gallery(Request $request){
- $resto_id = CommonMethods::getRestuarantID();
- $resto = Restaurants::find($resto_id);
- $files = $request->file('files');;
- $recipe_id = $request->recipe_id;
- if(isset($files) && count($files) > 0){
- foreach($files as $file){
- $photo = new Photos();
- $extension = $file->getClientOriginalExtension();
- $original_name = $file->getClientOriginalName();
- // $original_name = str_replace(' ', '-', $original_name);
- $extension_array = ['jpg', 'jpeg', 'bmp', 'png'];
- $image_array = ['jpg', 'jpeg', 'bmp', 'png'];
- if (in_array($extension, $extension_array)) {
- $file_name = 'recipe-gallery-'.$recipe_id. '-' . time().rand(1000,9999) . '.' . $extension;
- $destinationPath = public_path('/uploads/resto-gallery/');
- $file->move($destinationPath, $file_name);
- $file = public_path('uploads/resto-gallery/'.$file_name);
- $result = CommonMethods::uploadFileToAWSCDN('meemapp-order',$resto->id, $resto->resto_unique_name,$file,$file_name);
- /* $img = Image::make($destinationPath . '/' . $file_name)->resize(1400, null, function ($constraint) {
- $constraint->aspectRatio();
- });
- $img->save($destinationPath . '/' . $file_name);
- $img = Image::make($destinationPath . '/' . $file_name)->resize(85, null, function ($constraint) {
- $constraint->aspectRatio();
- });
- $img->save($destinationPath . '/thumbnails/' . $file_name);
- */
- // dd($request->file('attachment'));
- $photo->recipe_id = $recipe_id;
- $photo->file_name = $result['url'];
- $photo->aws_cdn = $result['url'];
- $photo->photo_type = "gallery";
- $photo->resto_id = $resto->id;;;
- $photo->save();
- }
- }
- }
- }
- public function show($id){
- $recipe = Recipes::find($id);
- $categories = isset($recipe->categories)?$recipe->categories->pluck('category_id'):NULL;
- if($categories){
- $categories = Categories::whereIn('id',$categories)->pluck('name')->toArray();
- $categories = implode(', ',$categories);
- }
- $data = [
- 'recipe' => $recipe,
- 'categories' => $categories
- ];
- return view('recipes.show',$data);
- }
- public function remove_main_image(Request $request){
- $id = $request->id;
- $photo = Photos::where('recipe_id',$id)->where('photo_type','main_image')->first();
- $photo->delete();
- }
- public function exclude_outlet(Request $request){
- $is_exclude = $request->is_exclude;
- $outlet_id = $request->outlet_id;
- $recipe_id = $request->recipe_id;
- $recipe = Recipes::find($recipe_id);
- $exclude_outlets = $recipe->exclude_outlets;
-
- if(empty($exclude_outlets)){
- $o = explode(',',$exclude_outlets);
- $o[$outlet_id] = $outlet_id;
- // dump($o);
- $recipe->exclude_outlets = $outlet_id;
- }else{
- $o = explode(',',$exclude_outlets);
- if($is_exclude=="true"){
-
- $key = array_search($outlet_id, $o);
- unset($o[$key]);
-
- }
- else
- $o[] = $outlet_id;
- $o = array_unique($o);
- $recipe->exclude_outlets = implode(',',$o);
- }
-
- $recipe->save();
- }
-
- public function save_faq(Request $request){
-
- $id = $request->id;
-
- if(empty($id))
- $faq = new ProductFAQs();
- else
- $faq = ProductFAQs::find($id);
-
- $faq->product_id = $request->product_id;
- $faq->question = $request->question;
- $faq->answer = $request->answer;
-
- $faq->save();
-
- $faq_id = $faq->id;
-
- if($faq_id > 0)
- echo json_encode(array('type' => 'success', 'message'=>"FAQ's data is saved successfully."));
- else
- echo json_encode(array('type' => 'error', 'message'=>"FAQ's data is not saved."));
- }
-
- public function delete_faq(Request $request){
- $faq = ProductFAQs::find($request->id);
- $faq->deleted_at = date('Y-m-d H:i:s');
-
- $faq->save();
- }
- }
|