public function getPopularGames($playerId, $time, $includeGamesinDevelopment) { if ($time == 0) { $queryInterval = '1 DAY'; } else { if ($time == 1) { $queryInterval = '7 DAY'; } else { if ($time == 2) { $queryInterval = '1 MONTH'; } } } if ($includeGamesinDevelopment) { $query = "SELECT media.file_path as file_path, temp.game_id, temp.name, temp.description, temp.count FROM (SELECT games.game_id, games.name, games.description, games.icon_media_id, COUNT(DISTINCT player_id) AS count FROM games INNER JOIN player_log ON games.game_id = player_log.game_id WHERE player_log.timestamp BETWEEN DATE_SUB(NOW(), INTERVAL " . $queryInterval . ") AND NOW() GROUP BY games.game_id HAVING count > 1) as temp LEFT JOIN media ON temp.icon_media_id = media.media_id GROUP BY game_id HAVING count > 1 ORDER BY count DESC LIMIT 20"; } else { $query = "SELECT media.file_path as file_path, temp.game_id, temp.name, temp.description, temp.count FROM (SELECT games.game_id, games.name, games.description, games.icon_media_id, COUNT(DISTINCT player_id) AS count FROM games INNER JOIN player_log ON games.game_id = player_log.game_id WHERE ready_for_public = TRUE AND player_log.timestamp BETWEEN DATE_SUB(NOW(), INTERVAL " . $queryInterval . ") AND NOW() GROUP BY games.game_id HAVING count > 1) as temp LEFT JOIN media ON temp.icon_media_id = media.media_id GROUP BY game_id HAVING count > 1 ORDER BY count DESC LIMIT 20"; } $gamesRs = Module::query($query); $games = array(); while ($game = @mysql_fetch_object($gamesRs)) { $gameObj = new stdClass(); $gameObj = Games::getFullGameObject($game->game_id, $playerId, 0, 9999999999, 0, 0); if ($gameObj != NULL) { $gameObj->count = $game->count; $games[] = $gameObj; } } return new returnData(0, $games, NULL); }