public function postBannerGame()
 {
     $user = Auth::user();
     $banners_cache = Cache::get('minigame_banners_' . $user->id);
     if (!$banners_cache) {
         return $this->reloadParentFrame();
     }
     $banners = explode(",", Input::get('banner_ids'));
     if (count($banners) != floor(count($banners_cache) / 2)) {
         return $this->reloadParentFrame();
     }
     $banners_cache_new = array();
     foreach ($banners as $id) {
         if (!isset($banners_cache[$id])) {
             Cache::forget('minigame_banners_' . $user->id);
             return $this->reloadParentFrame();
         }
         $banners_cache_new[$id] = $banners_cache[$id];
     }
     foreach ($banners_cache as $id => $data) {
         $banner = Banner::where("_id", $id)->where("credits", ">=", 0.2)->first();
         if ($banner != null) {
             $banner->decrement('credits', 0.2);
             $banner->increment('views');
             banner_view_event($id);
         }
     }
     Cache::put('minigame_banners_' . $user->id, $banners_cache_new, 20);
     return Redirect::to('minigame/banners');
 }
 public function postSurf($type = "hover")
 {
     if ($type == "classic") {
         $page = "surf/classic";
     } else {
         if ($type == "hover") {
             $page = "surf";
         }
     }
     $minigame = $this->miniGames->checkGame();
     if (!$minigame && $this->validators->get("surf")->fails()) {
         return Redirect::to($page)->withErrors($this->validators->get('surf')->errors());
     }
     $user = Auth::user();
     $credits = $minigame ?: Settings::get("memberships")[$user->membership]['credits_per_view'];
     if ($user->auto_assign > 0) {
         foreach ($user->websites()->where('auto_assign', '>', 0)->get() as $website) {
             $website->increment('credits', $credits * $website->auto_assign / 100);
             $website->save();
         }
     }
     $user->increment('credits', $credits * (100 - $user->auto_assign) / 100);
     $user->increment('credits_today', $credits);
     $user->increment('views_today');
     $user->increment('views_total');
     surf_event($user, $credits);
     if ($user->upline != null) {
         $ref = \User::whereId($user->upline)->first();
         if ($ref != null) {
             $credits = number_format(Settings::get("memberships")[$ref->membership]['referral_percent'] / 100 * $credits, 2);
             $ref->increment("credits", $credits);
             ref_surf_event($ref, $credits);
         }
     }
     if ($minigame) {
         return Redirect::to($page);
     }
     $website = $this->website->where("_id", Input::get('id'))->where("credits", ">=", 1)->first();
     if ($website != null) {
         $website->decrement('credits');
         $website->increment('views');
         website_view_event(Input::get('id'), Input::get('rating'));
     }
     $banner = $this->banner->where("_id", Input::get('banner_id'))->where("credits", ">=", 0.2)->first();
     if ($banner != null) {
         $banner->decrement('credits', 0.2);
         $banner->increment('views');
         banner_view_event(Input::get('banner_id'));
     }
     return Redirect::to($page);
 }