public function delete($id)
 {
     parent::verifyIsAdminOrExit();
     $this->logger->info('TournamentController: Delete tournament called by ' . $_SESSION[parent::SESSION_USERNAME]);
     $this->logger->info("({$id}, {$name}, {$date})");
     $res = parent::getDBHandler()->deleteTournament($id);
     $this->logger->debug('TournamentController: Delete result: ' . $res);
     return parent::createResponseJSONObject($res);
 }
 public function registerLocalPlayer($subtournamentId, $player, $club, $nation)
 {
     parent::verifyIsUserOrExit();
     $subtournamentId = parent::cleanInput($subtournamentId);
     $player = parent::cleanInput($player);
     $club = parent::cleanInput($club);
     $nation = parent::cleanInput($nation);
     $this->logger->info("PlayersController: Registering local player: ({$subtournamentId}, {$player}, {$club}, {$nation})");
     $res = parent::getDBHandler()->registerLocalPlayer($subtournamentId, $player, $club, $nation);
     return parent::createResponseJSONObject($res);
 }
 public function registerTeam5($subtournamentId, $name, $player1, $player2, $player3, $player4, $player5)
 {
     parent::verifyIsUserOrExit();
     $subtournamentId = parent::cleanInput($subtournamentId);
     $name = parent::cleanInput($name);
     $player1 = parent::cleanInput($player1);
     $player2 = parent::cleanInput($player2);
     $player3 = parent::cleanInput($player3);
     $player4 = parent::cleanInput($player4);
     $player5 = parent::cleanInput($player5);
     $this->logger->info("TeamsController: Registering Team5: ({$subtournamentId}, {$name}, {$player1}, {$player2}, {$player3}, {$player4}, {$player5}).");
     $res = parent::getDBHandler()->registerTeam5($subtournamentId, $name, $player1, $player2, $player3, $player4, $player5);
     return parent::createResponseJSONObject($res);
 }
 public function login($username, $password)
 {
     parent::verifyIsUserOrExit();
     $username = parent::cleanInput($username);
     $password = parent::cleanInput($password);
     $pw = parent::getDBHandler()->getHashedPasswordFor($username);
     if (password_verify($password, $pw)) {
         $_SESSION[parent::ADMIN] = true;
         $_SESSION[parent::SESSION_USERNAME] = $username;
         $this->logger->info('AuthenticationController: Successfully logged in user ' . $username);
         return parent::createSuccessJSONObject();
     }
     $this->logger->info('AuthenticationController: Failed login attempt for ' . $username);
     return parent::createErrorJSONObject('Bad username / password combination');
 }
 public function updateIthfTable()
 {
     $this->logger->info('IthfController: updateITHFTable called.');
     $ithfDataUrl = "http://ithf.info/stiga/ithf/ranking/ranking.txt";
     $ithfData = file_get_contents($ithfDataUrl);
     $ithfDataArr = explode("\n", $ithfData);
     array_shift($ithfDataArr);
     // remove first lines from file, this is not a player
     array_shift($ithfDataArr);
     // remove first lines from file, this is not a player
     array_pop($ithfDataArr);
     // remove the last line from file, this line is empty!
     $now = microtime();
     $success = parent::getDBHandler()->updateITHFTable($ithfDataArr, 200);
     echo microtime() - $now . '<hr>';
     if ($success) {
         $this->logger->info('IthfController: WR successfully updated!');
     } else {
         $this->logger->error('IthfController: WR update failed!');
         parent::failAndExit();
     }
     return $success;
 }