summaryrefslogtreecommitdiff
path: root/plugins/nsfw
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-02-23 16:02:29 +0400
committerAndrew Dolgov <[email protected]>2013-02-23 16:02:29 +0400
commit1b9f9925cfc501828335efa17ae70fd0ac907d2c (patch)
tree4233859ae78853f14739be01332d4375857b64be /plugins/nsfw
parent32c399b1bfdb1446a0ee9a78ad746f078b3d5605 (diff)
add nsfw plugin
Diffstat (limited to 'plugins/nsfw')
-rw-r--r--plugins/nsfw/init.js12
-rw-r--r--plugins/nsfw/init.php47
2 files changed, 59 insertions, 0 deletions
diff --git a/plugins/nsfw/init.js b/plugins/nsfw/init.js
new file mode 100644
index 000000000..40ad2b0ba
--- /dev/null
+++ b/plugins/nsfw/init.js
@@ -0,0 +1,12 @@
+function nsfwShow(elem) {
+ try {
+ content = elem.parentNode.getElementsBySelector("div.nswf.content")[0];
+
+ if (content) {
+ Element.toggle(content);
+ }
+
+ } catch (e) {
+ exception_error("nswfSHow", e);
+ }
+}
diff --git a/plugins/nsfw/init.php b/plugins/nsfw/init.php
new file mode 100644
index 000000000..fd274eada
--- /dev/null
+++ b/plugins/nsfw/init.php
@@ -0,0 +1,47 @@
+<?php
+class NSFW extends Plugin {
+
+ private $link;
+ private $host;
+
+ function about() {
+ return array(1.0,
+ "Hide article content if tags contain \"nsfw\"",
+ "fox",
+ false);
+ }
+
+ function init($host) {
+ $this->link = $host->get_link();
+ $this->host = $host;
+
+ $host->add_hook($host::HOOK_RENDER_ARTICLE, $this);
+ $host->add_hook($host::HOOK_RENDER_ARTICLE_CDM, $this);
+
+ }
+
+ function get_js() {
+ return file_get_contents(dirname(__FILE__) . "/init.js");
+ }
+
+ function hook_render_article($article) {
+
+ if (array_search("nsfw", $article["tags"]) !== FALSE) {
+ $article["content"] = "<div class='nswf wrapper'><button onclick=\"nsfwShow(this)\">".__("Not work safe (click to toggle)")."</button>
+ <div class='nswf content' style='display : none'>".$article["content"]."</div></div>";
+ }
+
+ return $article;
+ }
+
+ function hook_render_article_cdm($article) {
+ if (array_search("nsfw", $article["tags"]) !== FALSE) {
+ $article["content"] = "<div class='nswf wrapper'><button onclick=\"nsfwShow(this)\">".__("Not work safe (click to toggle)")."</button>
+ <div class='nswf content' style='display : none'>".$article["content"]."</div></div>";
+ }
+
+ return $article;
+ }
+
+}
+?>