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.
This commit is contained in:
parent
cfe6d444a9
commit
e0abb8d768
|
@ -11,41 +11,35 @@ class Flattr extends Plugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
function about() {
|
function about() {
|
||||||
return array(1.0,
|
return array(1.1,
|
||||||
"Share articles on Flattr",
|
"Share articles on Flattr (if they exist in their catalogue)",
|
||||||
"Nic Honing");
|
"F. Eitel, N. Honing");
|
||||||
}
|
}
|
||||||
|
|
||||||
function hook_article_button($line) {
|
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) {
|
if ($article_link) {
|
||||||
$encoded = urlencode($article_link);
|
$encoded = urlencode($article_link);
|
||||||
$r = file_get_contents("https://api.flattr.com/rest/v2/things/lookup/?url=$encoded");
|
$r = file_get_contents("https://api.flattr.com/rest/v2/things/lookup/?url=$encoded");
|
||||||
$response = json_decode($r, true);
|
$response = json_decode($r, true);
|
||||||
}
|
$image = "<img src=\"".theme_image($this->link, 'plugins/flattr/flattr.png')."\"
|
||||||
|
|
||||||
$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\"
|
class='tagsPic' style=\"cursor : pointer\"
|
||||||
title='".__('Flattr article')."'>
|
title='".__('Flattr this article.')."'>";
|
||||||
</a>";
|
// 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 {
|
} else {
|
||||||
$rv = "";
|
// 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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $rv;
|
return $rv;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue