예제 #1
0
 function getPitchers()
 {
     $players = Player::where(function ($query) {
         $query->whereRaw('id in (select player_id from player_positions where position_id = 1)');
         $query->orWhereRaw('id not in (select player_id from player_positions)');
     })->whereRaw('name like ?', array('%' . Input::get('q') . '%'))->orderBy('name')->limit(50)->get();
     return array('items' => $players, 'total_count' => count($players));
 }
 /**
  * Retrieves a list of player names based on a set of criteria
  * @return json
  */
 public function search()
 {
     $query = request()->query('q');
     $players = Player::where('playerName', 'like', '%' . trim($query) . '%')->where('isActive', true)->limit(20)->lists('playerName');
     $cl = new \stdClass();
     $cl->search_results = $players;
     return response()->json($cl);
 }
 public function edit(Training $training)
 {
     $team = Team::find(config('mls.team_id'));
     $playerList = Player::where('team_id', $team->id)->get();
     $visitMap = ['' => ''] + Stat::$visitList;
     $visitList = TrainingVisitRepository::getActiveTrainingVisits($training->id);
     $visitList = $visitList->lists('visit', 'player_id');
     return view('backend.training_visits.edit')->with('playerList', $playerList)->with('visitList', $visitList)->with('training', $training)->with('visitMap', $visitMap);
 }
예제 #4
0
 public function edit(Game $game)
 {
     $team = Team::find(config('mls.team_id'));
     $playerList = Player::where('team_id', $team->id)->get();
     $visitMap = ['' => ''] + Stat::$visitList;
     $visitList = StatRepository::getActiveVisitsForGame($game->id);
     $visitList = $visitList->lists(Stat::VISIT, 'player_id');
     return view('backend.visits.edit')->with('playerList', $playerList)->with('visitList', $visitList)->with('visitMap', $visitMap)->with('game', $game);
 }
예제 #5
0
 public static function checkTextureOccupied($tid)
 {
     $skin_type_map = ["steve", "alex", "cape"];
     for ($i = 0; $i <= 2; $i++) {
         if (Player::where('tid_' . $skin_type_map[$i], $tid)->count() > 0) {
             return true;
         }
     }
     return false;
 }
 public function rename(Request $request)
 {
     $this->validate($request, ['new_player_name' => 'required|' . (option('allow_chinese_playername') ? 'pname_chinese' : 'playername')]);
     $new_name = $request->input('new_player_name');
     if (!Player::where('player_name', $new_name)->get()->isEmpty()) {
         return json(trans('user.player.rename.repeated'), 6);
     }
     $old_name = $this->player->player_name;
     $this->player->rename($new_name);
     return json(trans('user.player.rename.success', ['old' => $old_name, 'new' => $new_name]), 0);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // Read the database of allied awards
     $csv = Reader::createFromPath(storage_path('app/csv/issued_allied_awards.csv'));
     // This will read the CSV as set of data into the listed array keys
     $data = $csv->fetchAssoc(['playerName', 'playerLabel', 'awardName', 'campaign_id', 'awardedAt', 'submitterName', 'cincName', 'forumSource'], function ($row) {
         // manipulate the incoming data as it is read. This is turn it into
         // a set of data which can be immediately added to our awards table
         $drow = [];
         $drow['playerName'] = trim(strtolower($row[1]));
         $drow['playerLabel'] = trim($row[1]);
         // case as it appears in csv
         $drow['awardName'] = snake_case(strtolower(trim($row[2])));
         $drow['campaign_id'] = trim($row[3]) == '' ? null : trim($row[3]);
         $drow['awardedAt'] = trim($row[6]);
         $drow['submitterName'] = trim(strtolower($row[7]));
         $drow['cincName'] = trim(strtolower($row[8]));
         $drow['forumSource'] = trim(strtolower($row[9]));
         return $drow;
     });
     Player::unguard();
     foreach ($data as $item) {
         $award = Award::where('key', $item['awardName'])->first();
         if ($award == null) {
             Log::info(sprintf('Could not find an award with key %s', $item['awardName']));
             continue;
         }
         $submitter = Player::where('playerName', $item['submitterName'])->first();
         if ($submitter == null) {
             $submitter = Player::create(['playerName' => $item['submitterName'], 'isActive' => true]);
         }
         $cinc = Player::where('playerName', $item['cincName'])->first();
         if ($cinc == null) {
             $cinc = Player::create(['playerName' => $item['cincName'], 'isActive' => true]);
         }
         // check the rype of award we are presenting. If it's a squad award, find the squad and apply it
         // also, if there is a space in the name, its not a player name
         if ($award->awardedTo == 'squad' || preg_match('/\\s/', $item['playerName']) > 0) {
             $squad = Squad::where('key', snake_case($item['playerName']))->first();
             if ($squad == null) {
                 $squad = Squad::create(['key' => snake_case($item['playerName']), 'label' => $item['playerLabel'], 'isActive' => true]);
             }
             $squad->awards()->save($award, ['awardedBy_id' => $submitter->id, 'cinc_id' => $cinc->id, 'campaign_id' => $item['campaign_id'], 'awardedAt' => Carbon\Carbon::createFromFormat('d/m/Y', $item['awardedAt']), 'forumLink' => $item['forumSource']]);
         } else {
             $player = Player::where('playerName', $item['playerName'])->first();
             if ($player == null) {
                 $player = Player::create(['playerName' => $item['playerName'], 'isActive' => true]);
             }
             $player->awards()->save($award, ['awardedBy_id' => $submitter->id, 'cinc_id' => $cinc->id, 'campaign_id' => $item['campaign_id'], 'awardedAt' => Carbon\Carbon::createFromFormat('d/m/Y', $item['awardedAt']), 'forumLink' => $item['forumSource']]);
         }
     }
     Player::reguard();
 }
 /**
  * Get a user from repository and cache it.
  *
  * @param  string  $identification
  * @param  string  $type
  * @return mixed
  */
 public function get($identification, $type = 'uid')
 {
     if (!$this->has($identification, $type)) {
         if ($type == "username") {
             $player = Player::where('player_name', $identification)->first();
             if ($player) {
                 $identification = $player->uid;
                 $type = "uid";
             } else {
                 return null;
             }
         }
         $user = User::where($type, $identification)->first();
         if ($user) {
             $this->set($user->uid, $user);
             return $user;
         }
     }
     return Arr::get($this->items, $identification, null);
 }
 public function handle($request, \Closure $next)
 {
     if (stripos($request->getUri(), '.json') != false) {
         preg_match('/\\/([^\\/]*)\\.json/', $request->getUri(), $matches);
     } else {
         preg_match('/\\/([^\\/]*)\\.png/', $request->getUri(), $matches);
     }
     $player_name = urldecode($matches[1]);
     $responses = Event::fire(new CheckPlayerExists($player_name));
     foreach ($responses as $r) {
         if ($r) {
             return $next($request);
         }
     }
     if (!Player::where('player_name', $player_name)->get()->isEmpty()) {
         return $next($request);
     }
     if (option('return_200_when_notfound')) {
         return json(['player_name' => $player_name, 'errno' => 404, 'msg' => 'Player Not Found.'])->header('Cache-Control', 'public, max-age=' . option('cache_expire_time'));
     } else {
         abort(404, trans('general.unexistent-player'));
     }
 }
예제 #10
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $this->startLog();
     $team = Team::find(self::TEAM_ID);
     if ($team == null) {
         $this->error('Team with id: ' . self::TEAM_ID . ' not found');
         exit;
     }
     $html = new Htmldom($team->link);
     $team_table = $html->find('table.team-list', 0);
     if ($team_table == null) {
         $this->error('Team table not found on this page: ' . $team->link);
         exit;
     }
     $player_links = [];
     foreach ($team_table->find('p.player-name a') as $link) {
         if (isset($link->href)) {
             array_push($player_links, $link->href);
         }
     }
     if (count($player_links) < 1) {
         $this->error('No players found');
         exit;
     }
     $this->comment('Found players: ' . count($player_links));
     $bar = $this->output->createProgressBar(count($player_links));
     foreach ($player_links as $link) {
         if (strpos($link, self::DOMAIN) === false) {
             $link = self::DOMAIN . $link;
         }
         $player = new Player();
         $player->team_id = self::TEAM_ID;
         $player->mls_id = $this->parseIdFromUrl($link);
         $player_html = new Htmldom($link);
         if ($player_html == null) {
             continue;
         }
         $player_table = $player_html->find('table.adf-fields-table', 0);
         if ($player_table == null) {
             continue;
         }
         foreach ($player_table->find('tr') as $row) {
             $td1 = $row->find('td', 0);
             $td2 = $row->find('td', 1);
             if ($td1 != null && strpos($td1->innertext, 'Полное имя') !== false) {
                 $player->name = $td2->plaintext;
             }
             if ($td1 != null && strpos($td1->innertext, 'Дата рождения') !== false) {
                 $player->date_of_birth = Carbon::parse($td2->plaintext);
             }
         }
         $check_player = Player::where('mls_id', $player->mls_id)->where('name', $player->name)->where('team_id', $player->team_id)->where('date_of_birth', $player->date_of_birth)->first();
         if ($check_player) {
             $player->id = $check_player->id;
             $player->update();
         } else {
             $player->save();
         }
         $img = $player_html->find('div#etab_player_div div.gray-box img', 0);
         if ($img != null && $img->src != null && strpos($img->src, self::DEFAULT_IMG) === false) {
             $src = $img->src;
             if (strpos($src, self::DOMAIN) === false) {
                 $src = self::DOMAIN . $src;
             }
             copy($src, public_path() . '/img/avatars/players/' . $player->id . '.jpg');
         }
         $bar->advance();
     }
     $bar->finish();
     $this->endLog();
 }
 /**
  * Removes the specified player.
  *
  * @param str $nickname
  *
  * @throws ModelNotFoundException
  *
  * @return bool
  */
 public function removePlayer($nickname)
 {
     return Player::where('nickname', $nickname)->firstOrFail()->delete();
 }
 /**
  * Show Manage Page of Players.
  *
  * @param  Request $request
  * @return \Illuminate\Http\Response
  */
 public function players(Request $request)
 {
     $page = $request->input('page', 1);
     $filter = $request->input('filter', '');
     $q = $request->input('q', '');
     if ($filter == "") {
         $players = Player::orderBy('uid');
     } elseif ($filter == "player_name") {
         $players = Player::like('player_name', $q)->orderBy('uid');
     } elseif ($filter == "uid") {
         $players = Player::where('uid', $q)->orderBy('uid');
     }
     $total_pages = ceil($players->count() / 30);
     $players = $players->skip(($page - 1) * 30)->take(30)->get();
     return view('admin.players')->with('players', $players)->with('filter', $filter)->with('q', $q)->with('page', $page)->with('total_pages', $total_pages);
 }
 private function getPlayerInstance($player_name)
 {
     $player = Player::where('player_name', $player_name)->first();
     if (!$player) {
         abort(404, '角色不存在');
     }
     if ($player->isBanned()) {
         abort(404, '该角色拥有者已被本站封禁。');
     }
     return $player;
 }
예제 #14
0
 private function reformatStats(array $stats)
 {
     $formated = [];
     foreach ($stats as $stat) {
         $player = Player::where('name', 'like', '%' . $stat['player'] . '%')->first();
         if (!$player || empty($stat['player'])) {
             continue;
         }
         if (isset($formated[$stat['parameter']][$player->id])) {
             $formated[$stat['parameter']][$player->id]['value']++;
         } else {
             $formated[$stat['parameter']][$player->id] = ['value' => 1, 'player_id' => $player->id, 'parameter' => $stat['parameter']];
         }
     }
     $result = [];
     foreach ($formated as $subarr) {
         foreach ($subarr as $arr) {
             array_push($result, $arr);
         }
     }
     return $result;
 }
예제 #15
0
 public function run()
 {
     $there_is_more = RawDatum::select('id')->whereNull('processed_utc')->first();
     if ($there_is_more) {
         $raw_data = RawDatum::whereNull('processed_utc')->take(4000)->get();
         foreach ($raw_data as $raw_datum) {
             $batter = Player::where('mlb_id', $raw_datum->batter_id)->first();
             if (!$batter) {
                 $batter = new Player();
                 $batter->mlb_id = $raw_datum->batter_id;
                 $batter->name = $raw_datum->batter;
             }
             $batter->batter_hand = $raw_datum->batter_hand;
             $batter->timestamp_utc = time();
             $batter->save();
             $pitcher = Player::where('mlb_id', $raw_datum->pitcher_id)->first();
             if (!$pitcher) {
                 $pitcher = new Player();
                 $pitcher->mlb_id = $raw_datum->pitcher_id;
                 $pitcher->name = $raw_datum->pitcher;
             }
             $pitcher->pitcher_hand = $raw_datum->pitcher_hand;
             $pitcher->timestamp_utc = time();
             $pitcher->save();
             $catcher = Player::where('mlb_id', $raw_datum->catcher_id)->first();
             if (!$catcher) {
                 $catcher = new Player();
                 $catcher->mlb_id = $raw_datum->catcher_id;
                 $catcher->name = $raw_datum->catcher;
             }
             $catcher->timestamp_utc = time();
             $catcher->save();
             $pitch_result = PitchResult::where('slug', $raw_datum->pitch_result)->first();
             if (!$pitch_result) {
                 $pitch_result = new PitchResult();
                 $pitch_result->slug = $raw_datum->pitch_result;
                 $pitch_result->timestamp_utc = time();
                 $pitch_result->save();
             }
             $pitch_type = PitchType::where('slug', $raw_datum->pitch_type)->first();
             if (!$pitch_type) {
                 $pitch_type = new PitchType();
                 $pitch_type->slug = $raw_datum->pitch_type;
                 $pitch_type->timestamp_utc = time();
                 $pitch_type->save();
             }
             $plate_appearance_result = PlateAppearanceResult::where('slug', $raw_datum->pa_result)->first();
             if (!$plate_appearance_result) {
                 $plate_appearance_result = new PlateAppearanceResult();
                 $plate_appearance_result->slug = $raw_datum->pa_result;
                 $plate_appearance_result->timestamp_utc = time();
                 $plate_appearance_result->save();
             }
             $batted_ball_type = BattedBallType::where('slug', $raw_datum->batted_ball_type)->first();
             if (!$batted_ball_type) {
                 $batted_ball_type = new BattedBallType();
                 $batted_ball_type->slug = $raw_datum->batted_ball_type;
                 $batted_ball_type->timestamp_utc = time();
                 $batted_ball_type->save();
             }
             $pitch = Pitch::where('raw_data_id', $raw_datum->id)->first();
             if (!$pitch) {
                 $pitch = new Pitch();
                 $pitch->raw_data_id = $raw_datum->id;
             }
             $pitch->season_year = $raw_datum->season_year;
             $pitch->game_string = $raw_datum->game_string;
             $pitch->game_date = $raw_datum->game_date;
             $pitch->game_type = $raw_datum->game_type;
             $pitch->visitor = $raw_datum->visitor;
             $pitch->home = $raw_datum->home;
             $pitch->visiting_team_final_runs = $raw_datum->visiting_team_final_runs;
             $pitch->home_team_final_runs = $raw_datum->home_team_final_runs;
             $pitch->inning = $raw_datum->inning;
             $pitch->side = $raw_datum->side;
             if ($batter->id == 0 || $pitcher->id == 0) {
                 dd(array('raw_data' => $raw_datum, 'batter' => $batter, 'pitcher' => $pitcher));
             }
             $pitch->batter_id = $batter->id;
             $pitch->pitcher_id = $pitcher->id;
             $pitch->inning = $raw_datum->inning;
             $pitch->catcher_id = $catcher->id;
             $pitch->times_faced = $raw_datum->times_faced;
             $pitch->batter_pos = $raw_datum->batter_pos;
             $position = Position::where('abbr', $raw_datum->batter_pos)->first();
             if ($position) {
                 $player_position = PlayerPosition::where('player_id', $batter->id)->where('position_id', $position->id)->first();
                 if (!$player_position) {
                     $player_position = new PlayerPosition();
                     $player_position->player_id = $batter->id;
                     $player_position->position_id = $position->id;
                     $player_position->save();
                 }
             }
             $pitch->balls = $raw_datum->balls;
             $pitch->strikes = $raw_datum->strikes;
             $pitch->outs = $raw_datum->outs;
             $pitch->man_on_first = $raw_datum->man_on_first == "TRUE";
             $pitch->man_on_second = $raw_datum->man_on_second == "TRUE";
             $pitch->man_on_third = $raw_datum->man_on_third == "TRUE";
             $pitch->end_man_on_first = $raw_datum->end_man_on_first == "TRUE";
             $pitch->end_man_on_second = $raw_datum->end_man_on_second == "TRUE";
             $pitch->end_man_on_third = $raw_datum->end_man_on_third == "TRUE";
             $pitch->visiting_team_current_runs = $raw_datum->visiting_team_current_runs;
             $pitch->home_team_current_runs = $raw_datum->home_team_current_runs;
             $pitch->pitch_result_id = $pitch_result->id;
             $pitch->pitch_type_id = $pitch_type->id;
             $pitch->release_velocity = $raw_datum->release_velocity;
             $pitch->spin_rate = $raw_datum->spin_rate;
             $pitch->spin_direction = $raw_datum->spin_direction;
             $pitch->px = $raw_datum->px;
             $pitch->pz = $raw_datum->pz;
             $pitch->szt = $raw_datum->szt;
             $pitch->szb = $raw_datum->szb;
             $pitch->x0 = $raw_datum->x0;
             $pitch->y0 = $raw_datum->y0;
             $pitch->z0 = $raw_datum->z0;
             $pitch->vx0 = $raw_datum->vx0;
             $pitch->vy0 = $raw_datum->vy0;
             $pitch->vz0 = $raw_datum->vz0;
             $pitch->ax = $raw_datum->ax;
             $pitch->ay = $raw_datum->ay;
             $pitch->az = $raw_datum->az;
             $pitch->pa_result_id = $plate_appearance_result->id;
             $pitch->runs_home = $raw_datum->runsHome;
             $pitch->batted_ball_type_id = $batted_ball_type->id;
             $pitch->batted_ball_angle = $raw_datum->batted_ball_angle;
             $pitch->batted_ball_distance = $raw_datum->batted_ball_distance;
             $pitch->atbat_desc = $raw_datum->atbat_desc;
             $pitch->timestamp_utc = time();
             if (!$pitch->save()) {
                 dd($raw_datum);
             }
             if ($raw_datum->id % 1000 == 0) {
                 echo "Processed record number " . $raw_datum->id . "\n\r";
             }
             $raw_datum->processed_utc = time();
             $raw_datum->save();
         }
     }
 }
예제 #16
0
 public static function getActiveListByTeamId($teamId)
 {
     return Player::where('team_id', $teamId)->active()->get();
 }
예제 #17
0
 /**
  * Delete the user.
  *
  * @return bool
  */
 public function delete()
 {
     // delete the players he owned
     Player::where('uid', $this->uid)->delete();
     // delete his closet
     DB::table('closets')->where('uid', $this->uid)->delete();
     return parent::delete();
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $player_position = PlayerPosition::findOrFail($id);
     $Player = Player::where('POZYCJA_ID_POZYCJA', $id)->get();
     if (!empty($Player)) {
         return redirect()->route('player_positions.index')->with('message', 'Nie mozna usunac -  posiada przypisanego piłkarza.');
     }
     $player_position->delete();
     return redirect()->route('player_positions.index')->with('message', 'Item deleted successfully.');
 }