/** * Generates results based on input. */ public function generate() { $validation = $this->validate(); if ($validation === true) { $offers = Offer::whereHas('leadstat', function ($query) { $query->where('date', '>=', Input::get('date_start'))->where('date', '<=', Input::get('date_end')); }); $country = Input::get('country'); if (!empty($country)) { $offers->whereHas('countries', function ($query) use($country) { $query->where('country', '=', $country); }); } $offerIds = Input::get('offer_ids'); // 0 denotes all offers. if (!in_array('0', $offerIds)) { $offers->whereRaw('id IN (' . implode(',', $offerIds) . ')'); } $this->generated = true; return $this->showResults($offers->get()->sortBy('name')); } else { $this->setAlertDanger($validation); return $this->showResults(); } }
public function getMoreOffersPage($lastid) { $last_id = 0; $campusid = $this->getDevice(); $obj = new BaseController(); $campusid = $this->getDevice(); if ($campusid == 0) { $countryname = $obj->getCountryName(); if ($countryname == 'NONE') { return Redirect::route('selectcampus-get'); } else { //check whether the country name exists inthe db $locationcountry = Country::where('name', '=', $countryname); if ($locationcountry->count()) { $locationcountrycode = $locationcountry->first()->code; $locationcountrycode = strtolower($locationcountrycode); return Redirect::route('selectcountryid', $locationcountrycode); } else { return Redirect::route('selectcampus-get'); } } } $more = true; $college = Institution::whereHas('Branch', function ($query) use($campusid) { $query->where('id', '=', $campusid); })->first(); $collegeid = $college->id; $countryid = Country::where('id', '=', $college->country_id)->first()->id; $squeebs = Offer::whereHas('Squeeb', function ($query) use($campusid, $lastid) { $query->where('branch_id', '=', $campusid)->where('id', '<', $lastid)->where('active', '=', TRUE); })->orwhereHas('Squeeb', function ($query) use($lastid) { $query->where('branch_id', '=', 0)->where('world', '=', TRUE)->where('id', '<', $lastid)->where('active', '=', TRUE); })->orwhereHas('Squeeb', function ($query) use($lastid, $countryid) { $query->where('branch_id', '=', 0)->where('country', '=', $countryid)->where('id', '<', $lastid)->where('active', '=', TRUE); })->orwhereHas('Squeeb', function ($query) use($lastid, $collegeid) { $query->where('branch_id', '=', 0)->where('college', '=', $collegeid)->where('id', '<', $lastid)->where('active', '=', TRUE); }); $last = $squeebs; $squeebs = $squeebs->orderBy('id', 'DESC')->take(self::SQUEEB_LIMIT)->get(); if ($squeebs->count()) { $last_id = $last->orderBy('id', 'DESC')->take(self::SQUEEB_LIMIT)->get()->last()->Squeeb()->first()->id; } View::share('last_id', $last_id); View::share('squeebs', $squeebs); //get the top squeeb to display $topsqueebs = Squeeb::where('active', '=', TRUE)->where('model', '=', 'Offer')->where('branch_id', '=', $campusid)->orderBy('views', 'DESC')->take(self::TOP_SQUEEB_LIMIT)->get(); View::share('topsqueebs', $topsqueebs); if ($lastid <= 0 or $squeebs->count() != self::SQUEEB_LIMIT) { $more = false; } $college = Institution::whereHas('Branch', function ($query) use($campusid) { $query->where('id', '=', $campusid); })->first(); View::share('college', $college); View::share('more', $more); $mycampus = Branch::where('id', '=', $campusid)->first(); View::share('mycampus', $mycampus); if (Auth::user()) { return View::make('member.offer'); } return View::make('guest.offer'); }