onLive() ->take(11) ->get(); $theatre = Event::theatre() ->onLive() ->take(6) ->get(); $musical = Event::musical() ->onLive() ->take(8) ->get(); $sliders = Slider::where('active',1)->get(); return view('Bilettm.Public.HomePage')->with([ 'cinema' => $cinema, 'theatre' => $theatre, 'musical' => $musical, 'sliders' => $sliders ]); } public function showEvents($cat_id = null, Request $request){ $date = $request->get('date'); //$cat_id = $request->get('cat_id'); $e_query = Event::onLive(); $nav_query = Category::select('id','title_tm','title_ru','parent_id') ->orderBy('lft','asc'); $active_id = -1; if(!empty($cat_id)){ $category = Category::findOrFail($cat_id); if($category->parent_id > 0){ $e_query->where('sub_category_id',$category->id); $nav_query->where('parent_id',$category->parent_id); $active_id = $category->id; } else{ $e_query->where('category_id',$category->id); $nav_query->where('parent_id',$category->id); } }else{ $nav_query->main(); } if(!empty($date)){ $e_query->whereDate('start_date','>=',Carbon::parse($date)); } $events = $e_query->paginate(20); $navigation = $nav_query->get(); return view('Bilettm.Public.EventsPage')->with([ 'events' => $events, 'active_id' => $active_id, 'navigation' => $navigation ]); } public function search(SearchRequest $request){ //todo implement with elastick search and scout $query = $request->get('q'); $events = Event::where('title','like',"%{$query}%")->get(); return view('Bilettm.Public.SearchResults') ->with([ 'events' => $events, 'query' => $query ]); } public function showAddEventForm(){ return view('Bilettm.Public.AddEventForm'); } public function postAddEvent(AddEventRequest $request){ $addEvent = EventRequest::create([ 'name' => $request->get('name'), 'email' => $request->get('email'), 'phone' => $request->get('phone'), 'detail' => $request->get('detail') ]); return view('Bilettm.Public.AddEventResult',compact('addEvent')); } public function subscribe(SubscribeRequest $request){ $email = $request->get('email'); $subscribe = Subscriber::updateOrCreate(['email'=>$email,'active'=>1]); if($subscribe){ session()->flash('success','Subscription successfully'); } return redirect()->back(); } }