Esempio n. 1
0
 /**
  * Show the application dashboard to the user, including suggestions to the user.
  *
  * @return Response
  */
 public function index()
 {
     $user = User::where('id', \Auth::id())->with('placesWanted')->with('events')->first();
     if ($user->placesWanted) {
         $event_ids = EventPlace::select('event_id')->whereNotIn('event_id', $user->events->lists('id'))->whereIn('place_id', $user->placesWanted->lists('id'))->orderBy(\DB::raw('rand()'))->distinct()->take(6)->get()->lists('event_id')->toArray();
         if (sizeof($event_ids) < 6) {
             $placeStateWanted = Place::select('id')->whereIn('state', $user->placesWanted->lists('state'))->get();
             $event_ids = array_merge($event_ids, EventPlace::select('event_id')->whereNotIn('event_id', $user->events->lists('id'))->whereIn('place_id', $placeStateWanted->lists('id'))->orderBy(\DB::raw('rand()'))->distinct()->take(6 - sizeof($event_ids))->get()->lists('event_id')->toArray());
             if (sizeof($event_ids) < 6) {
                 $placeCountryWanted = Place::select('id')->whereIn('country', $user->placesWanted->lists('country'))->get();
                 $event_ids = array_merge($event_ids, EventPlace::select('event_id')->whereNotIn('event_id', $user->events->lists('id'))->whereIn('place_id', $placeCountryWanted->lists('id'))->orderBy(\DB::raw('rand()'))->distinct()->take(6 - sizeof($event_ids))->get()->lists('event_id')->toArray());
             }
         }
     }
     $events = Event::where('date_start', '>=', new \DateTime('today'))->whereIn('id', $event_ids)->get();
     if (sizeof($event_ids) < 6) {
         $events = $events->merge(Event::where('date_start', '>=', new \DateTime('today'))->orderBy(\DB::raw('rand()'))->take(6 - sizeof($event_ids))->get());
     }
     $auth_name = \Auth::User()->first_name;
     //$events = Event::take(5)->get();
     return view('home', compact('auth_name', 'events'));
 }
Esempio n. 2
0
 /**
  * Update the specified event in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id, Request $request)
 {
     $event = Event::findOrFail($id);
     $event->name = $request->name;
     $event->description = $request->description;
     $convert_date = date("Y-m-d", strtotime($request->date_start));
     $event->date_start = $convert_date;
     if ($request->date_end) {
         $convert_date = date("Y-m-d", strtotime($request->date_end));
         $event->date_end = $convert_date;
     }
     if ($request->id != null) {
         $place = Place::where('id', '=', $request->id)->first();
         if (!$place) {
             $place = new Place($request->only(['id', 'place_lat', 'place_lng', 'country', 'state', 'city']));
             $place->save();
         }
         $event_place = EventPlace::where('event_id', '=', $id);
         if (!$event_place) {
             $event_place = new EventPlace();
             $event_place->event_id = $id;
             $event_place->place_id = $place->id;
             $event_place->save();
         }
     }
     if (\Input::hasFile('img')) {
         $file = \Input::file('img');
         $filename = '';
         if ($event->photo == '../../default_photo.jpg') {
             $name = str_random(32);
             while (!User::where('avatar', '=', $name . $file->getClientOriginalExtension())->get()->isEmpty()) {
                 $name = str_random(32);
             }
             $filename = $name . '.' . $file->getClientOriginalExtension();
             $event->photo = $filename;
         } else {
             $filename = $event->photo;
         }
         $file->move(public_path() . '/img/events_large', $filename);
         Image::make(public_path() . '/img/events_large/' . $filename)->fit(1024, 576)->save();
         Image::make(public_path() . '/img/events_large/' . $filename)->resize(300, 169)->save(public_path() . '/img/events/' . $filename);
     }
     $event->save();
     \Session::flash('message', 'Event updated successfully');
     return redirect()->route('events.show', $id);
 }