This addon will replace "youtube.com" with the chosen Invidious instance

URL combine
This commit is contained in:
loma-one 2023-12-05 09:08:36 +01:00 committed by Hypolite Petovan
parent 668ea972cc
commit 90d897f4fa

View file

@ -2,7 +2,7 @@
/* /*
* Name: invidious * Name: invidious
* Description: Replaces links to youtube.com to an invidious instance in all displays of postings on a node. * Description: Replaces links to youtube.com to an invidious instance in all displays of postings on a node.
* Version: 0.1 * Version: 0.2
* Author: Matthias Ebers <@feb@loma.ml> * Author: Matthias Ebers <@feb@loma.ml>
* *
*/ */
@ -46,14 +46,19 @@ function invidious_render(array &$b)
// this needs to be a system setting // this needs to be a system setting
$replaced = false; $replaced = false;
$invidious = DI::config()->get('invidious', 'server', 'https://invidio.us'); $invidious = DI::config()->get('invidious', 'server', 'https://invidio.us');
if (strstr($b['html'], 'https://www.youtube.com')) {
$b['html'] = str_replace('https://www.youtube.com', $invidious, $b['html']); $youtubeUrls = [
$replaced = true; 'https://www.youtube.com',
} 'https://youtube.com',
if (strstr($b['html'], 'https://youtube.com')) { ];
$b['html'] = str_replace('https://youtube.com', $invidious, $b['html']);
$replaced = true; foreach ($youtubeUrls as $youtubeUrl) {
if (strstr($b['html'], $youtubeUrl)) {
$b['html'] = str_replace($youtubeUrl, $invidious, $b['html']);
$replaced = true;
}
} }
if ($replaced) { if ($replaced) {
$b['html'] .= '<hr><p><small>' . DI::l10n()->t('(Invidious addon enabled: YouTube links via %s)', $invidious) . '</small></p>'; $b['html'] .= '<hr><p><small>' . DI::l10n()->t('(Invidious addon enabled: YouTube links via %s)', $invidious) . '</small></p>';
} }