diff options
author | Andrew Dolgov <[email protected]> | 2023-06-13 21:14:34 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2023-06-13 21:14:34 +0300 |
commit | 94cf638799dfce6fe746aa84ac4a698aebf38828 (patch) | |
tree | 0e9c45e481c7f8fa24572b3e75dadb4e8708341c | |
parent | d0cf7b8172e016caa61b5114a96235527384d784 (diff) |
whitelist all lemmy. domains
-rw-r--r-- | init.php | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -5,7 +5,7 @@ class Af_Lemmy extends Plugin { private $host; /** @var array<string> */ - private $lemmy_domains = ["lemmy.ml", "beehaw.org", "feddit.de", "sh.itjust.works", "lemmygrad.ml", "lemmy.one", "lemmy.world"]; + private $lemmy_domains = ["beehaw.org", "feddit.de", "sh.itjust.works", "lemmygrad.ml"]; /** @var array<int, array<int, string|null>> */ private $generated_enclosures = []; @@ -31,7 +31,7 @@ class Af_Lemmy extends Plugin { $origin_domain = parse_url($url, PHP_URL_HOST); - if (in_array($origin_domain, $this->lemmy_domains)) { + if (strpos($origin_domain, "lemmy.") !== FALSE || in_array($origin_domain, $this->lemmy_domains)) { $content = UrlHelper::fetch(["url" => $url, "login" => $auth_login, "pass" => $auth_pass, @@ -268,7 +268,9 @@ class Af_Lemmy extends Plugin { $origin_domain = parse_url($article["feed"]["site_url"] ?? '', PHP_URL_HOST); - if (in_array($origin_domain, $this->lemmy_domains) && preg_match("/\/post\/[0-9]{1,}$/", $article['link']) && !empty($article["content"])) { + if ((strpos($origin_domain, "lemmy.") !== FALSE || in_array($origin_domain, $this->lemmy_domains)) && + preg_match("/\/post\/[0-9]{1,}$/", $article['link']) && !empty($article["content"])) { + $doc = new DOMDocument(); if (@$doc->loadHTML($article["content"])) { @@ -361,6 +363,9 @@ class Af_Lemmy extends Plugin { $origin_domain = parse_url($url, PHP_URL_HOST); + if (strpos($origin_domain, "lemmy.") !== FALSE) + return true; + return !in_array($origin_domain, $this->lemmy_domains); } |