host = $host; $host->add_hook(PluginHost::HOOK_RENDER_ARTICLE, $this); $host->add_hook(PluginHost::HOOK_RENDER_ARTICLE_CDM, $this); $host->add_hook(PluginHost::HOOK_RENDER_ARTICLE_API, $this); $host->add_hook(PluginHost::HOOK_ARTICLE_IMAGE, $this); $host->add_hook(PluginHost::HOOK_PREFS_TAB, $this); } function get_js() { return file_get_contents(__DIR__ . "/init.js"); } function hook_article_image($enclosures, $content, $site_url, $article) { $tags = explode(",", $this->host->get($this, "tags")); $article_tags = $article["tags"]; if (count(array_intersect($tags, $article_tags)) > 0) { return [Config::get_self_url() . "/plugins/nsfw/nsfw.png", "", "nsfw", []]; } else { return ["", "", $content]; } } private function rewrite_contents($article, bool $add_api_js = false) { $tags = explode(",", $this->host->get($this, "tags")); $article_tags = $article["tags"]; if (count(array_intersect($tags, $article_tags)) > 0) { $article["content"] = "
". \Controls\button_tag(__("Not work safe (click to toggle)"), '', ['onclick' => 'Plugins.NSFW.toggle(this)']). "
"; if ($add_api_js) { $article["content"] .= ""; } } return $article; } function hook_render_article_api($row) { $article = isset($row['headline']) ? $row['headline'] : $row['article']; return $this->rewrite_contents($article, true); } function hook_render_article($article) { return $this->rewrite_contents($article); } function hook_render_article_cdm($article) { return $this->rewrite_contents($article); } function hook_prefs_tab($args) { if ($args != "prefPrefs") return; $tags = $this->host->get($this, "tags"); ?>
">

host->set($this, "tags", $tags); echo __("Configuration saved."); } function api_version() { return 2; } }