diff options
author | nhoening <[email protected]> | 2013-02-26 11:42:46 +0100 |
---|---|---|
committer | nhoening <[email protected]> | 2013-02-26 11:42:46 +0100 |
commit | e0abb8d7688551397c40b7bb2faf7ec0901a256b (patch) | |
tree | b2e3cd3d766ecbf43038b64a2c071ecf94c0cc33 | |
parent | cfe6d444a99beb9085036374adfbd6dd5886f8bf (diff) |
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.
-rw-r--r-- | plugins/flattr/init.php | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/plugins/flattr/init.php b/plugins/flattr/init.php index 09796d862..d5e4ad025 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 = "<img src=\"".theme_image($this->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 = "<a id='flattr' target='_blank' href='" . $response['link'] . "'> . $image . </a>"; + } 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 = "<a id='flattr' href='https://flattr.com/submit/auto?url=" . $encoded . "'>" . $image . "</a>"; + $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 = "<a id='flattr' target='_blank' 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; } } |