From e0abb8d7688551397c40b7bb2faf7ec0901a256b Mon Sep 17 00:00:00 2001 From: nhoening Date: Tue, 26 Feb 2013 11:42:46 +0100 Subject: [PATCH] Replace SQL query which led to problems for some, refactor a bit and document what this plugin cannot do if articles are not in the Flattr cataloge. --- plugins/flattr/init.php | 50 ++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/plugins/flattr/init.php b/plugins/flattr/init.php index 09796d86..d5e4ad02 100644 --- a/plugins/flattr/init.php +++ b/plugins/flattr/init.php @@ -11,41 +11,35 @@ class Flattr extends Plugin { } function about() { - return array(1.0, - "Share articles on Flattr", - "Nic Honing"); + return array(1.1, + "Share articles on Flattr (if they exist in their catalogue)", + "F. Eitel, N. Honing"); } function hook_article_button($line) { - $article_id = $line["id"]; + $rv = ""; + $article_link = $line['link']; - $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); + $encoded = urlencode($article_link); + $r = file_get_contents("https://api.flattr.com/rest/v2/things/lookup/?url=$encoded"); + $response = json_decode($r, true); + $image = "link, 'plugins/flattr/flattr.png')."\" + class='tagsPic' style=\"cursor : pointer\" + title='".__('Flattr this article.')."'>"; + // if Flattr has it in the catalogue, we display the button + if ($response and array_key_exists('link', $response)) { + $rv = " . $image . "; + } else { + // We can't submit a thing to the catalogue without giving a Flattr user id (who would be the owner) + // see http://developers.flattr.net/auto-submit + //$rv = "" . $image . ""; + $rv = ''; + // Another useful thing would be any rel=payment link (which would have the user id as well), + // but tt-rss is not checking that (yet), I believe. See http://developers.flattr.net/feed + } } - - $rv = null; - if ($response and array_key_exists('link', $response)) { - $rv = " - link, 'plugins/flattr/flattr.png')."\" - class='tagsPic' style=\"cursor : pointer\" - title='".__('Flattr article')."'> - "; - } else { - $rv = ""; - } - return $rv; } } -- 2.39.2