1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-08-01 17:38:38 +00:00

Merge branch 'Flattr' of git://github.com/tcitworld/poche into tcitworld-Flattr

Conflicts:
	inc/3rdparty/site_config
This commit is contained in:
Nicolas Lœuillet 2013-09-10 19:22:47 +02:00
commit 12d9cfbcaa
7 changed files with 71 additions and 4 deletions

49
inc/3rdparty/FlattrItem.class.php vendored Normal file
View file

@ -0,0 +1,49 @@
<?php
/*
* Class for Flattr querying
*/
class FlattrItem {
public $status;
public $urltoflattr;
public $flattrItemURL;
public $numflattrs;
public function checkItem($urltoflattr) {
$this->cacheflattrfile($urltoflattr);
$flattrResponse = file_get_contents(CACHE . "/flattr/".base64_encode($urltoflattr).".cache");
if($flattrResponse != FALSE) {
$result = json_decode($flattrResponse);
if (isset($result->message)){
if ($result->message == "flattrable") {
$this->status = FLATTRABLE;
}
}
elseif ($result->link) {
$this->status = FLATTRED;
$this->flattrItemURL = $result->link;
$this->numflattrs = $result->flattrs;
}
else {
$this->status = NOT_FLATTRABLE;
}
}
else {
$this->status = "FLATTR_ERR_CONNECTION";
}
}
private function cacheflattrfile($urltoflattr) {
if (!is_dir(CACHE . '/flattr')) {
mkdir(CACHE . '/flattr', 0777);
}
// 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
if ((!file_exists(CACHE . "/flattr/".base64_encode($urltoflattr).".cache")) || (time() - filemtime(CACHE . "/flattr/".base64_encode($urltoflattr).".cache") > 86400)) {
$askForFlattr = Tools::getFile(FLATTR_API . $urltoflattr);
$flattrCacheFile = fopen(CACHE . "/flattr/".base64_encode($urltoflattr).".cache", 'w+');
fwrite($flattrCacheFile, $askForFlattr);
fclose($flattrCacheFile);
}
}
}

View file

@ -247,17 +247,23 @@ class Poche
$tidy = tidy_parse_string($content, array('indent'=>true, 'show-body-only' => true), 'UTF8');
$tidy->cleanRepair();
$content = $tidy->value;
}
$tpl_vars = array(
# flattr checking
$flattr = new FlattrItem();
$flattr->checkItem($entry['url']);
$tpl_vars = array(
'entry' => $entry,
'content' => $content,
);
'flattr' => $flattr
);
}
}
else {
Tools::logm('error in view call : entry is null');
}
break;
default: # home, favorites and archive views
default: # home, favorites and archive views
$entries = $this->store->getEntriesByView($view, $this->user->getId());
$tpl_vars = array(
'entries' => '',

View file

@ -37,6 +37,7 @@ require_once __DIR__ . '/../../inc/3rdparty/humble-http-agent/CookieJar.php';
require_once __DIR__ . '/../../inc/3rdparty/feedwriter/FeedItem.php';
require_once __DIR__ . '/../../inc/3rdparty/feedwriter/FeedWriter.php';
require_once __DIR__ . '/../../inc/3rdparty/feedwriter/DummySingleItemFeed.php';
require_once __DIR__ . '/../../inc/3rdparty/FlattrItem.class.php';
if (DOWNLOAD_PICTURES) {
require_once __DIR__ . '/../../inc/poche/pochePictures.php';

View file

@ -22,6 +22,11 @@ define ('SHARE_TWITTER', TRUE);
define ('SHARE_MAIL', TRUE);
define ('SHARE_SHAARLI', FALSE);
define ('SHAARLI_URL', 'http://myshaarliurl.com');
define ('FLATTR', TRUE);
define ('FLATTR_API', 'https://api.flattr.com/rest/v2/things/lookup/?url=');
define ('NOT_FLATTRABLE', '0');
define ('FLATTRABLE', '1');
define ('FLATTRED', '2');
define ('ABS_PATH', 'assets/');
define ('TPL', __DIR__ . '/../../tpl');
define ('LOCALE', __DIR__ . '/../../locale');