public function createAction() { $Game = new Game(); $data = array('user_id' => $this->sessionUserId, 'title' => $this->_request->title, 'description' => $this->_request->description, 'price' => $this->_request->price, 'genre_id' => implode(',', $this->_request->genre_id), 'no_times_played' => $this->_request->no_times_played, 'purchase_date' => $this->_request->purchase_date); $Game->insert($data); $this->_redirect('main/index'); }
public static function create($m_id, $g_name, $access_key) { F::i(_DBMS_SYS)->exec('INSERT INTO !prefix_games (g_id, m_id, g_name, g_access_key) VALUES (NULL, ?, ?, ?)', array($m_id, $g_name, $access_key)); $game = new Game(F::i(_DBMS_SYS)->getInsertId()); $game->insert($m_id); return $game; }
public function getView($params, $synchrone) { $search_form = new Form($this->search_fields, $params); $access_form = new Form($this->access_fields, $params); $title = ''; $insert = TRUE; try { if (!isset($params['game'])) { throw new Exception('No Game given'); } $game = new Game($params['game']); if ($game->isIn(F::i('Session')->getMid())) { throw new Exception('Already In'); } } catch (Exception $e) { $insert = FALSE; } if ($insert) { if ($game->g_access_key == 'NULL' || $access_form->isSubmitting() && Tools::isEmpty($access_form->getErrors()) && $game->g_access_key == Tools::saltHash($params['access_key'])) { $game->insert(F::i('Session')->getMid()); Tools::redirect('?action=wait_game&game=' . $game->g_id); } else { // CHECK if ($access_form->isSubmitting()) { // Error die('bad access key'); } else { $view = View::setFile('formular', View::HTML_FILE); $errors = $access_form->getErrors(); // Errors in the filling if (!empty($errors)) { $view->setSwitch('form_errors', TRUE); foreach ($errors as $field => $error) { $view->setGroupValues('form_errors', array('error' => F::i('Lang')->getKey('error_' . $field . '_' . $error))); } } $view->setValue('form', $access_form->getHTML(F::i('Lang')->getKey('access_key'), '#', 'POST', 'tabbed_form')); } } } else { $sql = 'SELECT g.g_id, g_name, TIMESTAMPDIFF(HOUR, g_start, NOW()) AS lifetime, COUNT(*) AS g_total_players, m_login AS g_owner FROM !prefix_members m, !prefix_games AS g, !prefix_players AS p WHERE g.m_id = m.m_id AND p.g_id = g.g_id AND g.g_id NOT IN ( SELECT g_id FROM !prefix_players WHERE m_id = ? )'; $array = array(F::i('Session')->getMid()); // If search is defined, add condition if (isset($params['search'])) { $sql .= ' AND g_name LIKE ?'; $array[] = '%' . $params['search'] . '%'; } $sql .= ' GROUP BY g.g_id ORDER BY g_start DESC'; // Get all the games $result = F::i(_DBMS_SYS)->query($sql, $array); $view = View::setFile('list_games', View::HTML_FILE); $view->setValue('form', $search_form->getHTML('', '#', 'POST', 'inline')); if ($result->getNumRows() == 0) { $view->setSwitch('no_games', TRUE); } for ($i = 0; $i < $result->getNumRows(); $i++) { $obj = $result->getObject(); $view->setGroupValues('games', array('link' => '?action=join_game&game=' . $obj->g_id, 'name' => stripslashes($obj->g_name), 'total_players' => $obj->g_total_players, 'owner' => $obj->g_owner, 'lifetime' => $obj->lifetime)); } $title = F::i('Lang')->getKey('title_join_game'); } return parent::setBody($view); }
$apiKeys = json_decode($config["fantasyData"]); $opts = array('http' => array('method' => "GET", 'header' => "Content-Type: application/json\r\nOcp-Apim-Subscription-key: " . $apiKeys->NFL, 'content' => "{body}")); $context = stream_context_create($opts); // response from api $seasoning = ["2015", "2016"]; foreach ($seasoning as $season) { $response = file_get_contents("https://api.fantasydata.net/nfl/v2/JSON/Schedules/{$season}", false, $context); $data = json_decode($response); foreach ($data as $game) { $badDate = str_replace("T", " ", $game->Date); if (empty($badDate) === false) { $teamChavez = Team::getTeamByTeamApiId($pdo, $game->AwayTeam); $teamPaul = Team::getTeamByTeamApiId($pdo, $game->HomeTeam); if ($teamChavez !== null && $teamPaul !== null) { $gameToInsert = new Game(null, $teamChavez->getTeamId(), $teamPaul->getTeamId(), $badDate); $gameToInsert->insert($pdo); } else { echo "<p>* * * SIX OF THIRTEEN SKIPPED THIS GAME * * *</p>" . PHP_EOL; } } } } } catch (Exception $exception) { echo "Something went wrong: " . $exception->getMessage() . PHP_EOL; } catch (TypeError $typeError) { echo "Something went wrong: " . $typeError->getMessage() . PHP_EOL; } //downloader for players NFL try { $seasoning = ["2015", "2016"]; foreach ($seasoning as $season) {
function getGames(string $league) { try { // grab the db connection $pdo = connectToEncryptedMySQL("/etc/apache2/capstone-mysql/sprots.ini"); $config = readConfig("/etc/apache2/capstone-mysql/sprots.ini"); $apiKeys = json_decode($config["fantasyData"]); $opts = array('http' => array('method' => "GET", 'header' => "Content-Type: application/json\r\nOcp-Apim-Subscription-key: " . $apiKeys->{$league}, 'content' => "{body}")); $context = stream_context_create($opts); // response from api $seasoning = ["2015", "2016"]; foreach ($seasoning as $season) { $response = file_get_contents("https://api.fantasydata.net/{$league}/v2/JSON/Games/{$season}", false, $context); $data = json_decode($response); foreach ($data as $game) { $badDate = str_replace("T", " ", $game->DateTime); if (empty($badDate) === false) { $teamChavez = Team::getTeamByTeamApiId($pdo, $game->AwayTeamID); $teamPaul = Team::getTeamByTeamApiId($pdo, $game->HomeTeamID); if ($teamChavez !== null && $teamPaul !== null) { $gameToInsert = new Game(null, $teamChavez->getTeamId(), $teamPaul->getTeamId(), $badDate); $gameToInsert->insert($pdo); } else { echo "<p>* * * SIX OF THIRTEEN SKIPPED THIS GAME * * *</p>" . PHP_EOL; } } } } } catch (Exception $exception) { echo "Something went wrong: " . $exception->getMessage() . PHP_EOL; } catch (TypeError $typeError) { echo "Something went wrong: " . $typeError->getMessage() . PHP_EOL; } }
/** * test inserting a valid Game and regrabbing it from mySQL **/ public function testGetValidGameByGameId() { // count the number of rows and save it for later $numRows = $this->getConnection()->getRowCount("game"); // create a new Game and insert to into mySQL $game = new Game(null, $this->game->getGameId(), $this->VALID_GAME); $game->insert($this->getPDO()); // grab the data from mySQL and enforce the fields match our expectations $pdoGame = Game::getGameByGameId($this->getPDO(), $game->getGameId()); $this->assertEquals($numRows + 1, $this->getConnection()->getRowCount("game")); $this->assertEquals($pdoGame->getGameId(), $this->game->getGameId()); }