X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=leistungsschutzrecht%2Fleistungsschutzrecht.php;h=f6c65399525f8919fd380a1aa639fe45d4ce3359;hb=9786b605b62abcfa4add190f98346150d1846229;hp=3c9090a1be41862c56740bbc48ac0b7999f2559a;hpb=9a06c525e9de8f0024a23e37420cb3e82a366322;p=friendica-addons.git diff --git a/leistungsschutzrecht/leistungsschutzrecht.php b/leistungsschutzrecht/leistungsschutzrecht.php index 3c9090a1..f6c65399 100644 --- a/leistungsschutzrecht/leistungsschutzrecht.php +++ b/leistungsschutzrecht/leistungsschutzrecht.php @@ -5,69 +5,67 @@ * Version: 0.1 * Author: Michael Vogel */ -use Friendica\Core\Addon; -use Friendica\Core\Config; -use Friendica\Core\Logger; -use Friendica\Util\Network; - -function leistungsschutzrecht_install() { - Addon::registerHook('cron', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_cron'); - Addon::registerHook('getsiteinfo', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); - Addon::registerHook('page_info_data', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); -} +use Friendica\App; +use Friendica\Core\Hook; +use Friendica\Core\Logger; +use Friendica\DI; -function leistungsschutzrecht_uninstall() { - Addon::unregisterHook('cron', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_cron'); - Addon::unregisterHook('getsiteinfo', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); - Addon::unregisterHook('page_info_data', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); +function leistungsschutzrecht_install() +{ + Hook::register('cron', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_cron'); + Hook::register('getsiteinfo', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); + Hook::register('page_info_data', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); } -function leistungsschutzrecht_getsiteinfo($a, &$siteinfo) { - if (!isset($siteinfo["url"]) || empty($siteinfo['type'])) { +function leistungsschutzrecht_getsiteinfo(array &$siteinfo) { + if (!isset($siteinfo['url']) || empty($siteinfo['type'])) { return; } // Avoid any third party pictures, to avoid copyright issues - if (($siteinfo['type'] != 'photo') && Config::get('leistungsschutzrecht', 'suppress_photos', false)) { - unset($siteinfo["image"]); - unset($siteinfo["images"]); + if (!in_array($siteinfo['type'], ['photo', 'video']) && DI::config()->get('leistungsschutzrecht', 'suppress_photos', false)) { + unset($siteinfo['image']); + unset($siteinfo['images']); } - if (!leistungsschutzrecht_is_member_site($siteinfo["url"])) { + if (!leistungsschutzrecht_is_member_site($siteinfo['url'])) { return; } - if (!empty($siteinfo["text"])) { - $siteinfo["text"] = leistungsschutzrecht_cuttext($siteinfo["text"]); + if (!empty($siteinfo['text'])) { + $siteinfo['text'] = leistungsschutzrecht_cuttext($siteinfo['text']); } - unset($siteinfo["keywords"]); + unset($siteinfo['keywords']); } -function leistungsschutzrecht_cuttext($text) { - $text = str_replace(["\r", "\n"], [" ", " "], $text); +function leistungsschutzrecht_cuttext(string $text): string +{ + $text = str_replace(["\r", "\n"], [' ', ' '], $text); do { $oldtext = $text; - $text = str_replace(" ", " ", $text); + $text = str_replace(' ', ' ', $text); } while ($oldtext != $text); - $words = explode(" ", $text); + $words = explode(' ', $text); - $text = ""; + $text = ''; $count = 0; $limit = 7; foreach ($words as $word) { - if ($text != "") - $text .= " "; + if ($text != '') { + $text .= ' '; + } $text .= $word; if (++$count >= $limit) { - if (sizeof($words) > $limit) - $text .= " ..."; + if (sizeof($words) > $limit) { + $text .= ' ...'; + } break; } @@ -78,8 +76,8 @@ function leistungsschutzrecht_cuttext($text) { function leistungsschutzrecht_fetchsites() { // This list works - but question is how current it is - $url = "http://leistungsschutzrecht-stoppen.d-64.org/blacklist.txt"; - $sitelist = Network::fetchUrl($url); + $url = 'https://leistungsschutzrecht-stoppen.d-64.org/blacklist.txt'; + $sitelist = DI::httpClient()->fetch($url); $siteurls = explode(',', $sitelist); $whitelist = ['tagesschau.de', 'heute.de', 'wdr.de']; @@ -126,27 +124,31 @@ function leistungsschutzrecht_fetchsites() */ if (sizeof($sites)) { - Config::set('leistungsschutzrecht','sites',$sites); + DI::config()->set('leistungsschutzrecht', 'sites',$sites); } } -function leistungsschutzrecht_is_member_site($url) { - $sites = Config::get('leistungsschutzrecht','sites'); +function leistungsschutzrecht_is_member_site(string $url): bool +{ + $sites = DI::config()->get('leistungsschutzrecht', 'sites'); - if ($sites == "") - return(false); + if ($sites == '') { + return false; + } - if (sizeof($sites) == 0) - return(false); + if (sizeof($sites) == 0) { + return false; + } $urldata = parse_url($url); - if (!isset($urldata["host"])) - return(false); + if (!isset($urldata['host'])) { + return false; + } - $cleanedurlpart = explode("%", $urldata["host"]); + $cleanedurlpart = explode('%', $urldata['host']); - $hostname = explode(".", $cleanedurlpart[0]); + $hostname = explode('.', $cleanedurlpart[0]); if (empty($hostname)) { return false; } @@ -155,22 +157,22 @@ function leistungsschutzrecht_is_member_site($url) { return false; } - $site = $hostname[sizeof($hostname) - 2].".".$hostname[sizeof($hostname) - 1]; + $site = $hostname[sizeof($hostname) - 2] . '.' . $hostname[sizeof($hostname) - 1]; - return (isset($sites[$site])); + return isset($sites[$site]); } -function leistungsschutzrecht_cron($a,$b) { - $last = Config::get('leistungsschutzrecht','last_poll'); +function leistungsschutzrecht_cron($b) +{ + $last = DI::keyValue()->get('leistungsschutzrecht_last_poll'); - if($last) { + if ($last) { $next = $last + 86400; - if($next > time()) { - Logger::log('poll intervall not reached'); + if ($next > time()) { + Logger::notice('poll intervall not reached'); return; } } leistungsschutzrecht_fetchsites(); - Config::set('leistungsschutzrecht','last_poll', time()); + DI::keyValue()->set('leistungsschutzrecht_last_poll', time()); } -?>