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('../');
     }
 }
Example #4
0
 $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();