* Author: Michael Vogel <https://pirati.ca/profile/heluecht>
*/
-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;
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::httpClient()->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;
}
$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);
*/
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);
$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::notice('poll intervall not reached');
return;
}
}
leistungsschutzrecht_fetchsites();
- set_config('leistungsschutzrecht','last_poll', time());
+ DI::config()->set('leistungsschutzrecht','last_poll', time());
}
-?>