From 30c8d75f1bb2b0baf713743bb80d957b9e33a64d Mon Sep 17 00:00:00 2001 From: Tobias Diekershoff Date: Wed, 22 Jul 2020 09:50:35 +0200 Subject: [PATCH] added v1.0 of the addon --- invidious.php | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 invidious.php diff --git a/invidious.php b/invidious.php new file mode 100644 index 0000000..754c822 --- /dev/null +++ b/invidious.php @@ -0,0 +1,56 @@ + + * + * Copyright (c) 2020 Tobias Diekershoff + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT + * NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +use Friendica\Core\Addon; +use Friendica\DI; + +function invidious_install() { + Addon::registerHook ('prepare_body', 'addon/invidious/invidious.php', 'invidious_render'); +} + +/* + * replace "youtube.com" with "invidio.us" + */ +function invidious_render(&$a, &$o) { + // this needs to be a system setting + $invidious = 'https://invidio.us'; + $replaced = false; + if (strstr($o[html],'https://www.youtube.com')) { + $o['html'] = str_replace('https://www.youtube.com', $invidious, $o[html]); + $replaced = true; + } + if (strstr($o[html],'https://youtube.com')) { + $o['html'] = str_replace('https://youtube.com', $invidious, $o[html]); + $replaced = true; + } + if (strstr($o[html],'https://youtu.be')) { + $o['html'] = str_replace('https://youtu.be', $invidious, $o[html]); + $replaced = true; + } + // add a note about the replacement + if ($replaced) { + $o['html'] .= '

'.DI::l10n()->t('Links to Youtube in this posting were replaced by links to the Nitter instance at %s', $invidious).'

'; + } +}