X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=leistungsschutzrecht%2Fleistungsschutzrecht.php;h=04bbd47417a2c7dccc90c9fe3911d45bd420ecb2;hb=4056a01f4707cdead153ad38795271937b4e044c;hp=0c3136a4c326d7a1a0da084594b7233637951a49;hpb=39dd3dffe07efd69fa1ac6d0bd243c7fc0e3a66f;p=friendica-addons.git diff --git a/leistungsschutzrecht/leistungsschutzrecht.php b/leistungsschutzrecht/leistungsschutzrecht.php index 0c3136a4..04bbd474 100644 --- a/leistungsschutzrecht/leistungsschutzrecht.php +++ b/leistungsschutzrecht/leistungsschutzrecht.php @@ -5,39 +5,41 @@ * Version: 0.1 * Author: Michael Vogel */ -use Friendica\Core\Addon; -use Friendica\Core\Config; -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\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"])) + if (!isset($siteinfo["url"]) || empty($siteinfo['type'])) { return; + } + + // Avoid any third party pictures, to avoid copyright issues + 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"]); + } - //$siteinfo["title"] = $siteinfo["url"]; - $siteinfo["text"] = leistungsschutzrecht_cuttext($siteinfo["text"]); - unset($siteinfo["image"]); - unset($siteinfo["images"]); unset($siteinfo["keywords"]); } function leistungsschutzrecht_cuttext($text) { - $text = str_replace(array("\r", "\n"), array(" ", " "), $text); + $text = str_replace(["\r", "\n"], [" ", " "], $text); do { $oldtext = $text; @@ -70,10 +72,10 @@ 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); + $sitelist = DI::httpRequest()->fetch($url); $siteurls = explode(',', $sitelist); - $whitelist = array('tagesschau.de', 'heute.de', 'wdr.de'); + $whitelist = ['tagesschau.de', 'heute.de', 'wdr.de']; $sites = []; foreach ($siteurls as $site) { @@ -117,12 +119,12 @@ function leistungsschutzrecht_fetchsites() */ if (sizeof($sites)) { - set_config('leistungsschutzrecht','sites',$sites); + DI::config()->set('leistungsschutzrecht','sites',$sites); } } function leistungsschutzrecht_is_member_site($url) { - $sites = get_config('leistungsschutzrecht','sites'); + $sites = DI::config()->get('leistungsschutzrecht','sites'); if ($sites == "") return(false); @@ -138,22 +140,30 @@ function leistungsschutzrecht_is_member_site($url) { $cleanedurlpart = explode("%", $urldata["host"]); $hostname = explode(".", $cleanedurlpart[0]); + if (empty($hostname)) { + return false; + } + + if (count($hostname) <= 2) { + return false; + } + $site = $hostname[sizeof($hostname) - 2].".".$hostname[sizeof($hostname) - 1]; return (isset($sites[$site])); } function leistungsschutzrecht_cron($a,$b) { - $last = get_config('leistungsschutzrecht','last_poll'); + $last = DI::config()->get('leistungsschutzrecht','last_poll'); if($last) { $next = $last + 86400; if($next > time()) { - logger('poll intervall not reached'); + Logger::log('poll intervall not reached'); return; } } leistungsschutzrecht_fetchsites(); - set_config('leistungsschutzrecht','last_poll', time()); + DI::config()->set('leistungsschutzrecht','last_poll', time()); } ?>