ip()); $this->data['seo'] = Seo::where('page','homepage')->first(); $this->data['settings'] = Settings::find(1); $this->data['homepage'] = \App\HomePage::find(1); $this->data['sliders'] = \App\Sliders::where('status','!=',0)->get(); $this->data['catering'] = \App\Catering::find(1); $special_menu_items = \App\Homepage::first()->categories; if(isset($special_menu_items) && $special_menu_items != ''){ $special = explode(',',$special_menu_items); $new_special_menu_items = []; foreach ($special as $row) { $new_special_menu_items[] = DB::table('menu_item_prices as mp') ->leftJoin('menu_items as mi', 'mi.id', '=','mp.menu_id') ->where('mp.id',$row) ->select('mp.*','mi.menu_item_name','mi.description','mi.image')->first(); } $this->data['special_menu'] = $new_special_menu_items; }else{ $this->data['special_menu'] = []; } return view('front.home',$this->data); } /* | Aboutus |-------------------------------------------------------------------------- */ public function about(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo'] = Seo::where('page','aboutus')->first(); $this->data['aboutus'] = \App\AboutUs::find(1); $this->data['settings'] = Settings::find(1); return view('front.about',$this->data); } /* | Catering |-------------------------------------------------------------------------- */ public function catering(Request $request) { $this->data['seo']= (object) array( 'page_title' => 'Catering - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => '' ); $this->data['settings'] = Settings::find(1); $this->data['data'] = \App\Catering::find(1); return view('front.catering',$this->data); } /* | Menu |-------------------------------------------------------------------------- */ public function menu(Request $request) { Helper::SiteVisitors($request->ip()); $settings = Settings::find(1); $this->data['settings'] = $settings; $this->data['seo'] = Seo::where('page','menu')->first(); if($request->type && $request->type !=''){ $categories_types = \App\MenuCategoriesTypes::where('name',$request->type)->get(); }else{ $categories_types = \App\MenuCategoriesTypes::all(); } foreach($categories_types as $row){ $row->categories = \App\MenuCategories::where('status',1)->where('category_type',$row->id)->where('type','!=','pos')->orderBy('order','asc')->get(); foreach ($row->categories as $row) { $row->menu_items = \App\MenuItems::where('category_id',$row->id)->where('status',1)->where('type','!=','pos')->orderBy('sequence','asc')->get(); foreach ($row->menu_items as $menu) { $MenuItemPrices = \App\MenuItemPrices::where('menu_id',$menu->id)->get(); if (!empty($MenuItemPrices)) { foreach ($MenuItemPrices as $mi) { $menu_addons = DB::table('menu_addons')->where('menu_item_id', $mi->id)->get(); if (!empty($menu_addons)) { foreach ($menu_addons as $adon) { $adon->details = DB::table('menu_addons_details')->where('menu_addon_id', $adon->id)->get(); } } $mi->addons = $menu_addons; } } $menu->prices = $MenuItemPrices; //flat discount $q_discount = \App\FlatDiscount::where('menu_item_id',$menu->id)->first(); if(!empty($q_discount)){ $discount = $q_discount->discount; $discount_menu_item_id = $q_discount->menu_item_id; if(isset($discount) && $discount != ""){ if($discount_menu_item_id == $menu->id){ foreach($menu->prices as $mp){ if($mp->price != "" || $mp->price != 0){ $percentage_discount = $discount/100; $percentage = $mp->price * $percentage_discount; $discount_item_price = $mp->price - $percentage; $mp->flat_discount = $discount_item_price; $mp->discount = $discount; $mp->actual_discount = $mp->price - $discount_item_price; } } } } } } } } $this->data['menu_items'] = $categories_types; //today timings ////////////////////////////////////////////////////////// $today = date('l'); $timings = json_decode($settings->timing); if($today == 'Monday'){ $today_opening_time = $timings->monday_opening; $today_closing_time = $timings->monday_closing; if($timings->monday_status == 1){ $today_timing = 'Monday '.date("g:i A", strtotime($timings->monday_opening)).' - '.date("g:i A", strtotime($timings->monday_closing)); }else{ $today_timing = 'Monday Closed'; } } if($today == 'Tuesday'){ $today_opening_time = $timings->tuesday_opening; $today_closing_time = $timings->tuesday_closing; if($timings->monday_status == 1){ $today_timing = 'Tuesday '.date("g:i A", strtotime($timings->tuesday_opening)).' - '.date("g:i A", strtotime($timings->tuesday_closing)); }else{ $today_timing = 'Tuesday Closed'; } } if($today == 'Wednesday'){ $today_opening_time = $timings->wednesday_opening; $today_closing_time = $timings->wednesday_closing; if($timings->monday_status == 1){ $today_timing = 'Wednesday '.date("g:i A", strtotime($timings->wednesday_opening)).' - '.date("g:i A", strtotime($timings->wednesday_closing)); }else{ $today_timing = 'Wednesday Closed'; } } if($today == 'Thursday'){ $today_opening_time = $timings->thursday_opening; $today_closing_time = $timings->thursday_closing; if($timings->monday_status == 1){ $today_timing = 'Thursday '.date("g:i A", strtotime($timings->thursday_opening)).' - '.date("g:i A", strtotime($timings->thursday_closing)); }else{ $today_timing = 'Thursday Closed'; } } if($today == 'Friday'){ $today_opening_time = $timings->friday_opening; $today_closing_time = $timings->friday_closing; if($timings->monday_status == 1){ $today_timing = 'Friday '.date("g:i A", strtotime($timings->friday_opening)).' - '.date("g:i A", strtotime($timings->friday_closing)); }else{ $today_timing = 'Friday Closed'; } } if($today == 'Saturday'){ $today_opening_time = $timings->saturday_opening; $today_closing_time = $timings->saturday_closing; if($timings->monday_status == 1){ $today_timing = 'Saturday '.date("g:i A", strtotime($timings->saturday_opening)).' - '.date("g:i A", strtotime($timings->saturday_closing)); }else{ $today_timing = 'Saturday Closed'; } } if($today == 'Sunday'){ $today_opening_time = $timings->sunday_opening; $today_closing_time = $timings->sunday_closing; if($timings->monday_status == 1){ $today_timing = 'Sunday '.date("g:i A", strtotime($timings->sunday_opening)).' - '.date("g:i A", strtotime($timings->sunday_closing)); }else{ $today_timing = 'Sunday Closed'; } } $this->data['today_timing'] = $today_timing; $now = new DateTime("now"); $begin = new DateTime($today_opening_time); $end = new DateTime($today_closing_time); if ($now >= $begin && $now <= $end){ $this->data['close_flag'] = 1; $this->data['close_msg'] = ""; }else{ $this->data['close_flag'] = 0; $this->data['close_msg'] = "Sorry, we're closed. You can place an order for a later time!"; } return view('front.menu',$this->data); } public function getMenuOptions(Request $request) { $menu_addons = DB::table('menu_addons')->where('menu_item_id', $request->item_price_id)->get(); if (!empty($menu_addons)) { foreach ($menu_addons as $adon) { $adon->details = DB::table('menu_addons_details')->where('menu_addon_id', $adon->id)->get(); } } $menu_options = json_decode(json_encode($menu_addons), true); $currency = env('CURRENCY'); // pizza_toppings ///////////////////////// $pizza_toppings = DB::table('menu_pizza_toppings')->where('menu_item_id', $request->item_price_id)->get(); if (!empty($pizza_toppings)) { foreach ($pizza_toppings as $adon) { $adon->details = DB::table('menu_pizza_toppings_detail')->where('pizza_topping_id', $adon->id)->get(); } }// pizza_toppings ///////////////////////// ob_start(); ?>
ip()); $this->data['seo'] = Seo::where('page','reservations')->first(); $this->data['settings'] = Settings::find(1); return view('front.reservations', $this->data); } /* | reviews |-------------------------------------------------------------------------- */ public function reviews(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo']= (object) array( 'page_title' => 'Reviews - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => '' ); $this->data['testimonials'] = \App\Testimonial::where('status',1)->get(); $this->data['settings'] = Settings::find(1); return view('front.reviews',$this->data); } /* | saveReview |-------------------------------------------------------------------------- */ public function saveReview(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required', 'email' => 'required', 'review' => 'required' ]); if ($validator->fails()){ return back(); }else{ if ($request->faxonly) { $request->session()->flash('message', 'Thank you for your review!'); return back(); } $check = \App\Testimonial::where('email',$request->email)->first(); if($check && !empty($check)){ $request->session()->flash('message', 'Review is already given!'); return back(); } $testimonial = new \App\Testimonial; $testimonial->name = $request->name; $testimonial->email = $request->email; $testimonial->text = $request->review; $testimonial->status = 0; $testimonial->save(); //Loyalty Points if (config('app.mod_loyalty') == true) { $lp = \App\LoyaltyPoints::first(); if($lp && !empty($lp)){ if($lp->enabled_points == 1 && $lp->points_review != ''){ $customer = \App\Customers::where('email',$request->email)->first(); if ($customer && !empty($customer)) { $lpc = \App\LoyaltyPointsCustomers::where('customer_id',$customer->id)->first(); (empty($lpc)) ? $lpc = new \App\LoyaltyPointsCustomers : ''; $lpc->customer_id = $customer->id; $lpc->customer_name = $request->name; $lpc->customer_email = $request->email; $lpc->total_points = $lpc->total_points+$lp->points_review; $lpc->save(); Helper::loyalty_points_log($customer->id, $customer->name,'points gained by review','loyalty',$lp->points_review); } } } } $request->session()->flash('message', 'Thank you for your review!'); return back(); } } /* | services |-------------------------------------------------------------------------- */ public function services(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo']= (object) array( 'page_title' => 'Services - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => '' ); $this->data['services'] = \App\Services::where('status',1)->take(4)->get(); $this->data['settings'] = Settings::find(1); return view('front.services',$this->data); } /* | Events |-------------------------------------------------------------------------- */ public function events(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo'] = Seo::where('page','events')->first(); $this->data['settings'] = Settings::find(1); $this->data['events'] = \App\Event::where('status',1)->get(); return view('front.events', $this->data); } /* | Gallery |-------------------------------------------------------------------------- */ public function gallery(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo'] = Seo::where('page','gallery')->first(); $this->data['settings'] = Settings::find(1); $this->data['gallery'] = \App\Gallery::get(); return view('front.gallery',$this->data); } /* | locationInfo |-------------------------------------------------------------------------- */ public function locationInfo(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo']= (object) array( 'page_title' => 'Location and Hours - '.env('APP_NAME'), 'meta_keywords' => 'location, timings', 'meta_description' => 'Learn what hours restaurnat is open for takeout, delivery, and dine in and our addresses.' ); $this->data['settings'] = Settings::find(1); return view('front.locationinfo', $this->data); } /* | trackorder |-------------------------------------------------------------------------- */ public function trackOrder() { $this->data['seo']= (object) array( 'page_title' => 'Track Your Order - '.env('APP_NAME'), 'meta_keywords' => 'track order', 'meta_description' => 'Track Your Online Order.' ); $this->data['settings'] = Settings::find(1); return view('front.trackorder',$this->data); } /* | check_order_status |-------------------------------------------------------------------------- */ public function checkOrderStatus(Request $request) { if($request->order_no == ''){ $request->session()->flash('error', 'Please Enter Order No!'); } if($request->email == ''){ $request->session()->flash('error', 'Please Enter Email Address!'); } $order = DB::table('takeaway_orders')->where('id',$request->order_no)->select('status','g_email','checkout')->first(); if($order){ if($order->checkout == 'guest'){ $check_email_order = DB::table('takeaway_orders')->where('g_email',$request->email)->select('g_email')->first(); if(!$check_email_order){ $request->session()->flash('error', 'Email not found.'); return back(); } } if($order->checkout == 'customer'){ $check_email = DB::table('customers')->where('email',$request->email)->first(); if(!$check_email){ $request->session()->flash('error', 'Email not found.'); return back(); } } if($order->status == 0){ $request->session()->flash('error', 'Your Order is Placed.'); } if($order->status == 1){ $request->session()->flash('error', 'Your Order is Accepted.'); } if($order->status == 2){ $request->session()->flash('error', 'Your Order is Rejected.'); } if($order->status == 3){ $request->session()->flash('error', 'Your Order is Preparing!'); } if($order->status == 4){ $request->session()->flash('error', 'Your Order is Delivered.'); } if($order->status == 5){ $request->session()->flash('error', 'Your Order is Delivered.'); } }else{ $request->session()->flash('error', 'Order Id Not Found!'); } return back(); } /* | Contact |-------------------------------------------------------------------------- */ public function contact(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo'] = Seo::where('page','contact')->first(); $this->data['settings'] = Settings::find(1); return view('front.contact',$this->data); } /* | Contect us mail |-------------------------------------------------------------------------- */ public function contactInquiry( Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required', 'email' => 'required', 'subject' => 'required', 'message' => 'required' ]); if ($validator->fails()){ return redirect()->route('contact')->withErrors($validator)->withInput(); }else{ if ($request->faxonly) { $request->session()->flash('message', 'Thank you for getting in touch! We appreciate you contacting us and we will get back in touch with you soon!!'); return back(); } $emaildata = array( 'name' =>$request->name, 'email' =>$request->email, 'phone' =>$request->phone, 'c_subject' => $request->subject, 'c_message' => $request->message ); $settings = Settings::find(1); if($settings->email_contact_us != ''){ $email = $settings->email_contact_us; Mail::to($email)->queue(new ContactUs($emaildata)); } $request->session()->flash('message', 'Thank you for getting in touch! We appreciate you contacting us and we will get back in touch with you soon!!'); return back(); } } /* | privacyPolicy |-------------------------------------------------------------------------- */ public function privacyPolicy(Request $request) { $this->data['seo']= (object) array( 'page_title' => 'Privacy Policy - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => '' ); $this->data['settings'] = Settings::find(1); $this->data['page'] = \App\Page::where('type','pp')->first(); return view('front.privacy_policy',$this->data); } /* | termsAndConditions |-------------------------------------------------------------------------- */ public function termsAndConditions(Request $request) { $this->data['seo']= (object) array( 'page_title' => 'Terms And Conditions - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => '' ); $this->data['settings'] = Settings::find(1); $this->data['page'] = \App\Page::where('type','tc')->first(); return view('front.terms_conditions',$this->data); } /* | subscribe |-------------------------------------------------------------------------- */ public function subscribeTo(Request $request) { if($request->email == ''){ return response()->json([ 'status' => 0, 'msg' => 'Email is required.' ]); } $result = \App\Newsletter::where('email',$request->email)->first(); if($result && !empty($result)){ return response()->json([ 'status' => 0, 'msg' => 'This email is already subscribed.' ]); } $newsletter = new \App\Newsletter; $newsletter->email = $request->email; $newsletter->subscribe = 1; $newsletter->save(); return response()->json([ 'status' => 1, 'msg' => 'Successfuly subscribed.' ]); } /* | Careers |-------------------------------------------------------------------------- */ public function careers(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo']= (object) array( 'page_title' => 'Careers - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => 'Careers' ); $this->data['settings'] = Settings::find(1); return view('front.careers',$this->data); } /* | careersApply |-------------------------------------------------------------------------- */ public function careersApply( Request $request) { ini_set('max_execution_time', '300'); if($request->hasfile("file")){ $file = $request->file('file'); $fileName = $request->name.'_'.time().'.'.$file->getClientOriginalExtension(); $destinationPath = public_path('/career'); $file->move($destinationPath, $fileName); }else{ $fileName=""; } //-------------- Email --------------// $emaildata = array( 'name' =>$request->name, 'surname' =>$request->surname, 'identity_card' =>$request->identity_card, 'phone' =>$request->phone, 'email' =>$request->email, 'experience' =>$request->experience, 'position' =>$request->position, 'cv' =>$fileName ); $settings = Settings::find(1); if ($settings->email_contact_us != '') { $email = $settings->email_contact_us; Mail::to($email)->queue(new CareersApply($emaildata)); } //-------------- Email --------------// $request->session()->flash('success', 'Your message has been sent successfully.'); return back(); } /* | faqs |-------------------------------------------------------------------------- */ public function faqs(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo']= (object) array( 'page_title' => 'FAQs - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => '' ); $ft = \App\FaqType::all(); if(!empty($ft)){ foreach($ft as $row){ $row->faq = \App\Faq::where('type_id',$row->id)->get(); } } $this->data['data'] = $ft; $this->data['settings'] = Settings::find(1); return view('front.faqs',$this->data); } /* | blog |-------------------------------------------------------------------------- */ public function blog(Request $request) { Helper::SiteVisitors($request->ip()); $this->data['seo']= (object) array( 'page_title' => 'Blog - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => '' ); $this->data['page'] = 'Blog'; $this->data['pageTitle'] = 'Blog'; if(!$request->segment(2)){ $this->data['blog'] = \App\Blog::where('status',1)->orderBy('id','desc')->get(); }else{ $this->data['blog'] = \App\Blog::where('status',1)->where('category',$request->segment(2))->orderBy('id','desc')->get(); } return view('front.blog',$this->data); } /* | blogDetail |-------------------------------------------------------------------------- */ public function blogDetail(Request $request) { if(!$request->segment(2)){ return redirect()->route('blog'); } $blog = \App\Blog::where('slug',$request->segment(2))->first(); if(!$blog){ abort(404); } $this->data['seo']= (object) array( 'page_title' => $blog->title.' - '.env('APP_NAME'), 'meta_keywords' => '', 'meta_description' => $blog->title ); $this->data['page'] = 'Blog Post'; $this->data['pageTitle'] = $blog->title; $this->data['blog'] = $blog; $this->data['latest_blog'] = \App\Blog::where('status',1)->orderBy('id', 'desc')->take(5)->get(); return view('front.blog_post',$this->data); } }