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); }