summaryrefslogtreecommitdiff
path: root/plugins/flattr/init.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/flattr/init.php')
-rw-r--r--plugins/flattr/init.php52
1 files changed, 52 insertions, 0 deletions
diff --git a/plugins/flattr/init.php b/plugins/flattr/init.php
new file mode 100644
index 000000000..86f21fa13
--- /dev/null
+++ b/plugins/flattr/init.php
@@ -0,0 +1,52 @@
+<?php
+class Flattr extends Plugin {
+ private $link;
+ private $host;
+
+ function init($host) {
+ $this->link = $host->get_link();
+ $this->host = $host;
+
+ $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
+ }
+
+ function about() {
+ return array(1.0,
+ "Share articles on Flattr",
+ "Nic Honing");
+ }
+
+ function hook_article_button($line) {
+
+ $article_id = $line["id"];
+
+ $result = db_query($this->link, "SELECT link
+ FROM ttrss_entries, ttrss_user_entries
+ WHERE id = '$article_id' AND ref_id = id AND owner_uid = " .$_SESSION['uid']);
+
+ if (db_num_rows($result) != 0) {
+ $article_link = db_fetch_result($result, 0, 'link');
+ }
+
+ $response = null;
+ if ($article_link) {
+ $encoded = urlencode($article_link);
+ $r = file_get_contents("https://api.flattr.com/rest/v2/things/lookup/?url=$encoded");
+ $response = json_decode($r, true);
+ }
+
+ $rv = null;
+ if ($response and array_key_exists('link', $response)) {
+ $rv = "<a id='flattr' href='" . $response['link'] . "'>
+ <img src=\"".theme_image($this->link, 'plugins/flattr/flattr.png')."\"
+ class='tagsPic' style=\"cursor : pointer\"
+ title='".__('Flattr article')."'>
+ </a>";
+ } else {
+ $rv = "";
+ }
+
+ return $rv;
+ }
+}
+?>