. */ namespace Source; use \Game; class Gamejolt extends Source { public $title = "GameJolt"; protected function parse_tag($url) { $data = json_decode($this->get_text($url)); if (empty($data) or !isset($data->payload)) { echo 'GameJolt data empty'; return; } $games = $data->payload->games; if (count($games) > 0) { foreach ($games as $gameData) { $descUrl = 'https://gamejolt.com/site-api/web/discover/games/overview/'.$gameData->id; $descData = json_decode($this->get_text($descUrl)); $game = new Game; $game->title = $gameData->title; $game->author = $gameData->developer->display_name; $game->date = $gameData->published_on / 1000; $game->description = $descData->payload->metaDescription; $game->url = 'https://gamejolt.com/games/'.$gameData->slug.'/'.$gameData->id; if ($game->date < $this->period) { continue; } $this->output .= $game->print(); } } } protected function parse() { try { $this->parse_tag("https://gamejolt.com/site-api/web/library/games/tag/twine"); $this->parse_tag("https://gamejolt.com/site-api/web/library/games/tag/renpy"); $this->parse_tag("https://gamejolt.com/site-api/web/library/games/tag/text"); $this->parse_tag("https://gamejolt.com/site-api/web/library/games/tag/ascii"); } catch (\Exception $e) {} } }