]> git.mxchange.org Git - friendica-addons.git/blobdiff - leistungsschutzrecht/leistungsschutzrecht.php
audon/lang/C aktualisiert
[friendica-addons.git] / leistungsschutzrecht / leistungsschutzrecht.php
index b300fd655511011fa6147c6455bf0b4911400212..f6c65399525f8919fd380a1aa639fe45d4ce3359 100644 (file)
@@ -5,69 +5,67 @@
  * Version: 0.1
  * Author: Michael Vogel <https://pirati.ca/profile/heluecht>
  */
-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 (!in_array($siteinfo['type'], ['photo', 'video']) && 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());
 }
-?>