X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=leistungsschutzrecht%2Fleistungsschutzrecht.php;h=04bbd47417a2c7dccc90c9fe3911d45bd420ecb2;hb=4056a01f4707cdead153ad38795271937b4e044c;hp=c58c707f0275647b29f426dcbcf03f4fda670bb5;hpb=403114fd3587f642ebf099449223c26e5edf58da;p=friendica-addons.git diff --git a/leistungsschutzrecht/leistungsschutzrecht.php b/leistungsschutzrecht/leistungsschutzrecht.php index c58c707f..04bbd474 100644 --- a/leistungsschutzrecht/leistungsschutzrecht.php +++ b/leistungsschutzrecht/leistungsschutzrecht.php @@ -6,35 +6,40 @@ * Author: Michael Vogel */ -function leistungsschutzrecht_install() { - register_hook('cron', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_cron'); - register_hook('getsiteinfo', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); - register_hook('page_info_data', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); -} +use Friendica\Core\Hook; +use Friendica\Core\Logger; +use Friendica\DI; - -function leistungsschutzrecht_uninstall() { - unregister_hook('cron', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_cron'); - unregister_hook('getsiteinfo', 'addon/leistungsschutzrecht/leistungsschutzrecht.php', 'leistungsschutzrecht_getsiteinfo'); - unregister_hook('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; @@ -63,18 +68,17 @@ function leistungsschutzrecht_cuttext($text) { return $text; } -function leistungsschutzrecht_fetchsites() { - require_once("include/network.php"); - +function leistungsschutzrecht_fetchsites() +{ // This list works - but question is how current it is $url = "http://leistungsschutzrecht-stoppen.d-64.org/blacklist.txt"; - $sitelist = fetch_url($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 = array(); - foreach ($siteurls AS $site) { + $sites = []; + foreach ($siteurls as $site) { if (!in_array($site, $whitelist)) { $sites[$site] = $site; } @@ -87,7 +91,7 @@ function leistungsschutzrecht_fetchsites() { $url = "http://www.vg-media.de/lizenzen/digitale-verlegerische-angebote/wahrnehmungsberechtigte-digitale-verlegerische-angebote.html"; - $site = fetch_url($url); + $site = Network::fetchUrl($url); $doc = new DOMDocument(); @$doc->loadHTML($site); @@ -115,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); @@ -136,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()); } ?>