]> git.wh0rd.org - tt-rss.git/commitdiff
add nsfw plugin
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 23 Feb 2013 12:02:29 +0000 (16:02 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Sat, 23 Feb 2013 12:02:29 +0000 (16:02 +0400)
plugins/nsfw/init.js [new file with mode: 0644]
plugins/nsfw/init.php [new file with mode: 0644]

diff --git a/plugins/nsfw/init.js b/plugins/nsfw/init.js
new file mode 100644 (file)
index 0000000..40ad2b0
--- /dev/null
@@ -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 (file)
index 0000000..fd274ea
--- /dev/null
@@ -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;
+       }
+
+}
+?>