fallback();
}
private function fallback(): ?EmbedCode
{
$path = $this->extractor->getUri()->getPath();
$parent = $this->extractor->getSetting('twitch:parent');
if ($id = self::getVideoId($path)) {
$code = $parent
? self::generateIframeCode(['id' => $id, 'parent' => $parent])
: self::generateJsCode('video', $id);
return new EmbedCode($code, 620, 378);
}
if ($id = self::getChannelId($path)) {
$code = $parent
? self::generateIframeCode(['channel' => $id, 'parent' => $parent])
: self::generateJsCode('channel', $id);
return new EmbedCode($code, 620, 378);
}
return null;
}
private static function getVideoId(string $path): ?string
{
if (preg_match('#^/videos/(\d+)$#', $path, $matches)) {
return $matches[1];
}
return null;
}
private static function getChannelId(string $path): ?string
{
if (preg_match('#^/(\w+)$#', $path, $matches)) {
return $matches[1];
}
return null;
}
private static function generateIframeCode(array $params): string
{
$query = http_build_query(['autoplay' => 'false'] + $params);
return html('iframe', [
'src' => "https://player.twitch.tv/?{$query}",
'frameborder' => 0,
'allowfullscreen' => 'true',
'scrolling' => 'no',
'height' => 378,
'width' => 620,
]);
}
private static function generateJsCode($key, $value)
{
return <<
HTML;
}
}__halt_compiler();----SIGNATURE:----Iu3NzV9kefw7zhGYGbeI9i62n++iR2z6v2FDB0sFogdW115VlSue3srnA18GKFkojvWwlS5SK91CnVHhC3oag2isfWZxIG4dxaCo0HtSVjfnIrqA/2+WWYj6ZFBEOOdni6YCXGMkXtncPfLYSXMzgZDbBTg2f8xthCWtiW+abi45h6wP+P7BmaFKpNrW+KaTICfzoo/EDmgqhmV2t/l8ngFnNqIQA+5cZiUo076rV++L2a8ScP3Du7WqYiXxk+fwtfcwSbhXx+n0+qCGYnrmiFQXjkBKiJRIDQ06Djq6Y5t8kD9oJ8KGOKIH5lW6ENE0OlKi+Q4t1uQsFskSvecmyEaWw4YsIOldzRd8AOtr44VcFuP8Gpq6cRQCwdRP4Jl2KXPkC6RNPRF7aM8tjNoVUYexyadY6pYRoICmsYqKH47aGiri/EMt6+6k/BlJyfHMUmB5psycKUWGOSi7dr+1uoD7AKqqsaEOYLvDR7uluLUemMuSkW3A9JGrC38W/Ib7iNeSlp1gTsWZQHyyAFmy7otdOsvgVk/qR1Dhfqzc2OxIUsGWbIDl1HeaEmfL5TerOPKP93C/bYE2ETkakLQPeay/dGabILk+5qS9RnxBVFk1xrDbGx178DbHRD+ak1MccWpYtKp6CowrMfr9ns8A+Ntr2oercHje/AQABhXnp8Y=----ATTACHMENT:----NjYwOTczMjEyNzUyMjc0MiA0NzcyODc2OTIxNjY2MjM1IDMzNzAwNDEyODI3NDY2Mjc=