/*
* Name: invidious
* Description: Replaces links to youtube.com to an invidious instance in all displays of postings on a node.
- * Version: 0.1
- * Author: Matthias Ebers <@feb@loma.ml>
+ * Version: 0.2
+ * Author: Matthias Ebers <https://loma.ml/profile/feb>
*
*/
// this needs to be a system setting
$replaced = false;
$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']);
- $replaced = true;
- }
- if (strstr($b['html'], 'https://youtube.com')) {
- $b['html'] = str_replace('https://youtube.com', $invidious, $b['html']);
- $replaced = true;
- }
- if (strstr($b['html'], 'https://youtu.be')) {
- $b['html'] = str_replace('https://youtu.be', $invidious, $b['html']);
- $replaced = true;
+ if (strpos($b['html'], 'https://www.youtube.com/') !== false || strpos($b['html'], 'https://youtube.com/') !== false || strpos($b['html'], 'https://youtu.be/') !== false) {
+ $b['html'] = str_replace('https://youtu.be/', $invidious . '/watch?v=', $b['html']);
+ $b['html'] = str_replace(['https://www.youtube.com/', 'https://youtube.com/'], $invidious . '/', $b['html']);
}
if ($replaced) {
$b['html'] .= '<hr><p><small>' . DI::l10n()->t('(Invidious addon enabled: YouTube links via %s)', $invidious) . '</small></p>';