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:----Y7ISubBNhtm9l9M9/yMS7B/gb/Z7XOSqfGvPuVQCiBHHWR70YFUgCHzR3RNcUJ2bdrR/wXLAO89I99ffdBfq2UVzfZlyQKNRaF8zRUjPXQjt3ipxN+lVh0upxvr9dDfqs+82NcX9hikoyroo5/6QK7gwZS/eRq53IKDNw1MShZ3zzoV+1nNh0n00Wj5tVsqOjHPVv8G3UWoK1eCHcBDq1fQjHgcYmXkg8VkV50RS4p8RZJmxrxNhbronT2IE5xKZwgMbezuG3Ma5Ajby7Z7kugmD+IOhIPF5mZH2iD2S79/aFQvHAR3ALnxMT81FsJyf09RsTExyH/efKCQStgWoz8WnIgW4ouWmNZ7/hw1cHRbC95hc4HSM+tlOpPm6wD/h/PeUJJ3vYxt/uJ2Uo6oN7uVOHp2I+XSqbQ5LYQQJnUfOCTla2OV6iO/A/gyAcYg/kGER8CQtyLBGNXiJb5xIBd/ABoT+ajUy9xTlh3PKOLmAXKAgkasdqlAWvf+sabUhhu2WfX7lUdgchkAFI4BkiYKDWruy0g8JTPhdDhUlpn+bV9RxiUjeZE1a1LXJ6slUfS7bCR9YE+27hX1vvza9CSpeEtRZj7bbs501/T66a6POZppiHZz1C9UBcHSQyqk3bOGvT5DcTdM/yU2ahxVBfmn2U9rdClNs4mg19bznvAo=----ATTACHMENT:----NDExNjMxNDgwODQwNDUwMiAyOTUxMDA2MTU3MTk2OTI2IDUxMTEzMTExNTk5MzY0NzA=