예제 #1
0
 public function getGamesWithLocations($latitude, $longitude, $boolIncludeDevGames = 0)
 {
     $games = array();
     if ($boolIncludeDevGames) {
         $query = "SELECT game_id, name FROM games WHERE is_locational = 1";
     } else {
         $query = "SELECT game_id, name FROM games WHERE ready_for_public = 1 AND is_locational = 1";
     }
     $idResult = Module::query($query);
     while ($gameId = mysql_fetch_assoc($idResult)) {
         $game = new stdClass();
         $game->game_id = $gameId['game_id'];
         $game->name = $gameId['name'];
         $query = "SELECT AVG(rating) AS rating FROM game_comments WHERE game_id = {$gameId['game_id']}";
         $ratingResult = Module::query($query);
         $rating = mysql_fetch_assoc($ratingResult);
         if ($rating['rating'] != NULL) {
             $query = "SELECT rating FROM game_comments WHERE game_id = {$gameId['game_id']}";
             $result = Module::query($query);
             $game->rating = $rating['rating'];
             $game->calculatedScore = ($rating['rating'] - 3) * mysql_num_rows($result);
         } else {
             $game->rating = 0;
             $game->calculatedScore = 0;
         }
         //Get locations
         $nearestLocation = Games::getNearestLocationOfGameToUser($latitude, $longitude, $gameId['game_id']);
         $game->latitude = $nearestLocation->latitude;
         $game->longitude = $nearestLocation->longitude;
         if ($game->latitude != NULL) {
             $games[] = $game;
         }
     }
     return new returnData(0, $games);
 }