]>
git.immae.eu Git - github/wallabag/wallabag.git/blob - inc/3rdparty/FlattrItem.class.php
3 * Class for Flattr querying
12 public function checkItem($urltoflattr,$id) {
13 $this->cacheflattrfile($urltoflattr, $id);
14 $flattrResponse = file_get_contents(CACHE
. "/flattr/".$id.".cache");
15 if($flattrResponse != FALSE) {
16 $result = json_decode($flattrResponse);
17 if (isset($result->message
)){
18 if ($result->message
== "flattrable") {
19 $this->status
= FLATTRABLE
;
22 elseif (is_object($result) && $result->link
) {
23 $this->status
= FLATTRED
;
24 $this->flattrItemURL
= $result->link
;
25 $this->numflattrs
= $result->flattrs
;
28 $this->status
= NOT_FLATTRABLE
;
32 $this->status
= "FLATTR_ERR_CONNECTION";
36 private function cacheflattrfile($urltoflattr, $id) {
37 if (!is_dir(CACHE
. '/flattr')) {
38 mkdir(CACHE
. '/flattr', 0777);
41 // if a cache flattr file for this url already exists and it's been less than one day than it have been updated, see in /cache
42 if ((!file_exists(CACHE
. "/flattr/".$id.".cache")) || (time() - filemtime(CACHE
. "/flattr/".$id.".cache") > 86400)) {
43 $askForFlattr = Tools
::getFile(FLATTR_API
. $urltoflattr);
44 $flattrCacheFile = fopen(CACHE
. "/flattr/".$id.".cache", 'w+');
45 fwrite($flattrCacheFile, $askForFlattr);
46 fclose($flattrCacheFile);