summaryrefslogtreecommitdiff
path: root/plugins/flattr/flattr.php
blob: 3bc42721156f871a0c57398ec1842aa0ece9fdfc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
class Flattr extends Plugin {
	private $link;
	private $host;

	function __construct($host) {
		$this->link = $host->get_link();
		$this->host = $host;

		$host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
	}

  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;
  }
}
?>