public function store()
 {
     $seven_days = 60 * 60 * 24 * 7;
     $two_hours = 60 * 60 * 2;
     $season = $_REQUEST['season'];
     $venue_id = $_REQUEST['venue_id'];
     $activity = $_REQUEST['activity'];
     $lastSeasonsLeague = League::where('season', $season - 1)->where('venue_id', $venue_id)->where('activity', $activity)->first();
     $lastSeasonsLastGame = Event::where('league_id', $lastSeasonsLeague->id)->where('week_num', 'Wild Card')->where('game_num', 1)->first();
     $start_dt = $_REQUEST['start_dt'];
     $start_dt = $start_dt ? strtotime($start_dt) : strtotime($lastSeasonsLastGame->date) + $seven_days;
     $start_wk = $_REQUEST['start_wk'];
     $start_wk -= 1;
     $week_cnt = $_REQUEST['week_cnt'];
     $game_cnt = $_REQUEST['game_cnt'];
     $games_tm = $_REQUEST['games_tm'];
     $games_tm = $games_tm ? strtotime($games_tm) : strtotime($lastSeasonsLastGame->time);
     $events = [];
     for ($i = $start_wk; $i <= $week_cnt; $i++) {
         $week_num = $i == $week_cnt ? 'Wild Card' : $i + 1;
         for ($j = 0; $j < $game_cnt; $j++) {
             $datetime = date('Y-m-d', $start_dt + $seven_days * $i) . ' ' . date('H:i:s', $games_tm + $two_hours * $j);
             $game_num = $j + 1;
             $league = League::where('season', $season)->where('venue_id', $venue_id)->where('activity', $activity)->first();
             if (!$league) {
                 $league = new League();
                 $league->season = $season;
                 $league->venue_id = $venue_id;
                 $league->activity = $activity;
                 $league->save();
             }
             $event = new Event();
             $event->league_id = $league->id;
             $event->season = $league->season;
             $event->venue_id = $league->venue_id;
             $event->datetime = $datetime;
             $event->week_num = $week_num;
             $event->game_num = $game_num;
             $event->activity = $league->activity;
             $events[] = $event;
         }
     }
     try {
         DB::transaction(function () use($events) {
             foreach ($events as $event) {
                 $event->save();
             }
         });
         $_SESSION['ALERT'] = alert('Season Added!', "Season {$season} for " . Venue::find($venue_id)->name . " was created successfully.", 'success');
     } catch (Excepton $e) {
         print_r($e);
         exit;
         $_SESSION['ALERT'] = alert('Season Not Added!', "Season {$season} for " . Venue::find($venue_id)->name . " could not be created.", 'error');
     }
     return redirect('/seasons');
 }
 public function fixtureLeague(Request $request)
 {
     $this->validate($request, ['league_title' => 'required', 'file' => 'required|image|mimes:jpeg,jpg,png,bmp,gif,svg']);
     //dd($request->all());
     if ($request->file('file')) {
         //$this->validate($request,['file'=>'required|image|mimes:jpeg,jpg,png,bmp,gif,svg']);
         $file = $request->file('file');
         $path = $this->_league_logo_path;
         $name = uniqid() . $file->getClientOriginalName();
         $file->move($path, $name);
     }
     $league = new League(array('title' => $request->get('league_title'), 'logo_name' => $name, 'logo_path' => $path));
     $league->save();
     $leagues = League::all();
     return response()->json($leagues);
 }
 /**
  * Store a newly created league in storage.
  *
  * @return Response route where to redirect after store
  */
 public function store()
 {
     $validator = Validator::make(Input::all(), League::rules(""));
     if ($validator->fails()) {
         return redirect('/leagues/createForm')->withInput()->withErrors($validator);
     }
     $league = new League();
     $league->name = htmlspecialchars(Input::get('name'));
     $league->abbreviation = htmlspecialchars(Input::get('abbreviation'));
     $league->description = htmlspecialchars(Input::get('description'));
     $league->game()->associate(Game::findOrFail(Input::get('game_id')));
     $league->creator()->associate(Auth::user());
     //assign creator of league
     $league->save();
     return redirect('/leagues');
     //
 }
 /**
  * Store a newly created League.
  *
  * @return Response
  */
 public function store()
 {
     //validate
     //read more on validation at http://laravel.com/docs/validation
     $rules = array('leageue_title' => 'required', 'start_date' => 'required', 'end_date' => 'required', 'format_id' => 'required', 'director_id' => 'required', 'gym_id' => 'required');
     $validator = Validator::make(Input::all(), $rules);
     // process the login
     // if ($validator->fails()) {
     // 	dump($validator);
     //     return Redirect::route('tools.league.create')
     //         ->withErrors($validator)
     //         ->withInput();
     // } else {
     //     // store
     $league = new League();
     $league->name = Input::get('league_title');
     $league->start_date = Input::get('start_date');
     $league->end_date = Input::get('end_date');
     $league->save();
     //}
     // redirect
     \Session::flash('message', 'Successfully created league!');
     return Redirect::route('tools.league');
 }
 public function insertLeague(Request $request)
 {
     $this->validate($request, ['date' => ['required', 'league_already_created'], 'league' => ['required'], 'users' => ['required']]);
     $input = $request->all();
     $date = explode('/', $input['date']);
     $month = $date[0];
     $year = $date[1];
     $league = new League();
     $league->leaguename_id = $input['league'];
     $league->year = $year;
     $league->month = $month;
     $league->users = json_encode($input['users']);
     $league->save();
     $players = $input['users'];
     $rounds = 9;
     $schedule = [];
     for ($leg = 0; $leg < 2; $leg++) {
         for ($round = 1; $round <= $rounds; $round++) {
             $realRound = $round + $leg * 10;
             $schedule[$realRound] = [];
             for ($game = 1; $game <= count($players) / 2; $game++) {
                 $pos1 = $game - 1;
                 $pos2 = count($players) - ($game - 1) - 1;
                 $schedule[$realRound][$game]['home'] = $players[$pos1];
                 $schedule[$realRound][$game]['away'] = $players[$pos2];
                 Game::create(['league_id' => $league->id, 'round' => $realRound, 'user_1_id' => $players[$pos1], 'user_2_id' => $players[$pos2]]);
             }
             // ROTATE ARRAY
             $playersTemp = $players;
             $top = array_shift($playersTemp);
             $last = array_pop($playersTemp);
             $players = [$last];
             foreach ($playersTemp as $value) {
                 $players[] = $value;
             }
             array_unshift($players, $top);
         }
     }
     return redirect()->route('admin.leagues');
 }