public function indexAction() { // Get all champions in database, don't need champion ids $results = Champion::find(array("columns" => "champion_name", "order" => "champion_name")); // Make array for champion list $champions = array(); // Push each champion onto array foreach ($results as $result) { array_push($champions, $result->champion_name); } $this->view->setVar('champions', $champions); }
public function updateChampionVSAction() { print "Finding champions: "; $champion_list = Champion::find(array("columns" => "champion_id"))->toArray(); $vs_list = Champion::find(array("columns" => "champion_id"))->toArray(); print "Champion list: " . $champion_list; print "VS Champion list: " . $vs_list; foreach ($champion_list as $champion) { $champion_id = $champion["champion_id"]; foreach ($vs_list as $vs_champion) { $vs_id = $vs_champion["champion_id"]; $vs_phql = "SELECT c1.id as matchId, c1.assigned_id as assignedId, CONCAT(IFNULL(stat.item0,''),' ',IFNULL(stat.item1,''),' ',IFNULL(stat.item2,''),' ',IFNULL(stat.item3,''),' ',IFNULL(stat.item4,''),' ',IFNULL(stat.item5,'')) AS items\n FROM MatchParticipant c1 \n JOIN MatchParticipant c2 ON c1.id = c2.id\n JOIN ParticipantStats stat ON c1.id = stat.id AND c1.player_id = stat.player_id WHERE c1.champion_id = :champion_id: AND c2.champion_id = :vs_id: AND c1.team_id != c2.team_id AND stat.winner = 1"; print "Executing query for" . $champion_id . "and" . $vs_id . ": "; print $vs_phql; $games = $this->modelsManager->executeQuery($vs_phql, array("champion_id" => $champion_id, "vs_id" => $vs_id)); $all_item_sets = array(); print "Analyzing "; foreach ($games as $game) { // Gets item list and sorts $items_as_array = explode(' ', $game->items); sort($items_as_array, SORT_NUMERIC); $game_items = implode(' ', $items_as_array); // If item set exists then increment, otherwise add in item set if (array_key_exists($game_items, $all_item_sets)) { $all_item_sets[$game_items] += 1; } else { $all_item_sets += array($game_items => 1); } } // Get item set with most wins $winningest_item_set = array_search(max($all_item_sets), $all_item_sets); print $winningest_item_set; $vs_item_set = new CachedData(); $vs_item_set->save(array("type" => "vs_item_set", "conditionals" => json_encode(array("champion_id" => $champion_id, "vs_id" => $vs_id)), "value" => $winningest_item_set, "updated_at" => date("Y-m-d H:I:s"))); /** print("Inserting vs skill set into CachedData"); $vs_skill_set = new CachedData(); $vs_skill_set->save( array( "type" => "vs_skill_set", "conditionals" => json_encode(array("champion_id" => $champion_id, "vs_id" => $vs_id)), "value" => "", "updated_at" => time() ) ); **/ } } }
public function setAction($champion_name, $set_location, $json_string) { // Try to find if $chamion_name exists in our list of champions $champion_exists = Champion::find(array("columns" => "champion_name", "conditions" => "champion_name = '" . $champion_name . "'")); // Make array for option selection list, prepending the "Overall" option $option_list = Champion::find(array("columns" => "champion_name", "order" => "champion_name"))->toArray(); array_unshift($option_list, array("champion_name" => "Overall")); $option_list = array_values($option_list); // Make associative array with all keys == values for dropdown list $combined_list = array(); foreach ($option_list as $option) { array_push($combined_list, $option["champion_name"]); } $combined_list = array_combine($combined_list, $combined_list); // If valid champion name, show page. If not then redirect to home if (count($champion_exists) == 1) { $this->view->setVar('json_content', $json_string); $this->view->setVar('filename', $set_location); $this->view->setVar('champion', $champion_name); $this->view->setVar('option_list', $combined_list); } else { $this->response->redirect('../'); } }
$this->get('', function ($req, $res, $args) { $champions = \Champion::all(); if ($champions) { return $res->withStatus(200)->write($champions->toJson()); } else { return $res->withStatus(400)->write($e->getMessage()); } })->setName('champions'); /** * @api {get} /champions/:id Get the champion with the provided id * @apiName GetChampion * @apiVersion 1.0.0 * @apiSuccess {Object} champion Champion infos */ $this->get('/{id}', function ($req, $res, $args) { $champion = \Champion::find($args['id']); if ($champion) { return $res->withStatus(200)->write($champion->toJson()); } else { return $res->withStatus(400)->write($e->getMessage()); } }); /** * @api {post} /champions Create a new champion * @apiName PostChampion * @apiVersion 1.0.0 * @apiSuccess {Object} champion Champion created */ $this->post('', function ($req, $res, $args) { $champion = new \Champion(); $body = $req->getParsedBody();