diff --git a/bridges/PokemonTVBridge.php b/bridges/PokemonTVBridge.php new file mode 100644 index 00000000..276171fe --- /dev/null +++ b/bridges/PokemonTVBridge.php @@ -0,0 +1,144 @@ + array( + 'name' => 'Language', + 'type' => 'list', + 'title' => 'Select your language', + 'values' => array( + 'Danish' => 'dk', + 'Dutch' => 'nl', + 'English (UK)' => 'uk', + 'English (US)' => 'us', + 'Finish' => 'fi', + 'French' => 'fr', + 'German' => 'de', + 'Italian' => 'it', + 'Latin America' => 'el', + 'Norwegian' => 'no', + 'Portoguese' => 'br', + 'Russian' => 'ru', + 'Spanish' => 'es', + 'Swedish' => 'se' + ), + 'defaultValue' => 'English (US)' + ), + 'filtername' => array( + 'name' => 'Series Name Filter', + 'exampleValue' => 'Ultra', + 'required' => false + ), + 'filterseason' => array( + 'name' => 'Series Season Filter', + 'exampleValue' => '5', + 'required' => false + ) + )); + + public function collectData(){ + $link = 'https://www.pokemon.com/api/pokemontv/v2/channels/' . $this->getInput('language'); + + $html = getSimpleHTMLDOM($link) + or returnServerError('Could not request Channels for : ' . $link); + $parsed_json = json_decode($html); + + $filtername = $this->getInput('filtername'); + $filterseason = $this->getInput('filterseason'); + + foreach($parsed_json as $element) { + if(strlen($filtername) >= 1) { + if (!(stristr($element->{'channel_name'}, $filtername) !== false)) { + continue; + } + } + foreach($element->{'media'} as $mediaelement) { + if(strlen($filterseason) >= 1) { + if ($mediaelement->{'season'} != $filterseason) { + continue; + } + } + switch($element->{'media_type'}) { + case 'movie': + $itemtitle = $element->{'channel_name'}; + break; + case 'episode': + $season = str_pad($mediaelement->{'season'}, 2, '0', STR_PAD_LEFT); + $episode = str_pad($mediaelement->{'episode'}, 2, '0', STR_PAD_LEFT); + $itemtitle = $element->{'channel_name'} . ' - S' . $season . 'E' . $episode; + break; + } + $streamurl = 'https://watch.pokemon.com/' . $this->getCountryCode() . '/#/player?id=' . $mediaelement->{'id'}; + $item = array(); + $item['uri'] = $streamurl; + $item['title'] = $itemtitle; + $item['timestamp'] = $mediaelement->{'last_modified'}; + $item['content'] = '