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:----SeUdAvcMjDnkqzZWy0WruiKrqc3zqJZVC0HG0veL+f/NBBT1JhzdOlkGqf18V7tt24NdWb5GSfVsrMr4rnTTByItJP+D3x0J3r4n7yIse3p4dN2sECH7XojFXrsLCzJybrNw8cr62Ibg/i0GsRo55ldtRecvBipTAS7brLZgJ3Ffu3Ylr3udZmNUshU56G8SUdV8JPSl7SeIJFEN0YFApEU5fWD+S8oKjz7PVG3HjW72SN7CWXLzyKc/tSYBwWhbp7RZvByjdvleqxr1nnA4a1yHC+rZdZXyxyVUbnJTE5bdTb7JZLi3a9yIIiyQZLpCwS1K8TZsyHlv5Lzr455XM6kCPSeyeYgxl9H+knpPdkpxY9lXc147cgnOctw6EYa7GWyrSbRhAg0X+fBpweozW042lHZDYuXYzU4wjOgYiXXqh4eZ+3bx629H40h9K3dUiliRuHx6MI/ajUbHaXdhw742XyO+GJlt/+ZVB7TUeiktdviSJM+gyeKnzmdt3E9qmz39ltwOkq8c4ZHzgy0kmJUUuP2TbearRDYvXwGEBBpkYgrMsfBPOu0HaGC/oHsWPRs0l7YztWU2jcyl67w+xWNrkn1nSN1lvkeukzlot2vmdP0V0tW8IGddoEIIYtGXeklGWcSk4r47cnOWKauz9v33DXA7e0Q/Jf49+LOOY58=----ATTACHMENT:----MTEzMjUyNTk5NjA3MTIyOSA1MjgwNDYxNjE0MDA3MzMgNjE0MzcxNjcwMjg3NzAyOQ==