--- /dev/null
--- /dev/null
++<?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);
++ }
++ }
++}
$tidy = tidy_parse_string($content, array('indent'=>true, 'show-body-only' => true), 'UTF8');
$tidy->cleanRepair();
$content = $tidy->value;
- }
- $tpl_vars = array(
+
- // flattr checking
++ # flattr checking
+ $flattr = new FlattrItem();
- $flattr->checkitem($entry['url']);
++ $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
++ default: # home, favorites and archive views
$entries = $this->store->getEntriesByView($view, $this->user->getId());
$tpl_vars = array(
'entries' => '',
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';
define ('DOWNLOAD_PICTURES', FALSE);
define ('SHARE_TWITTER', TRUE);
define ('SHARE_MAIL', TRUE);
-define ('SHARE_SHAARLI', 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');
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
{% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
- {% if constant('FLATTR') == 1 %}{% if flattr.status == "flattrable" %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" title="flattr"><span>flattr</span></a></li>{% elseif flattr.status == "flattred" %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr"><span>flattr</span>{{ flattr.numflattrs }}</a></li>{% else %}{% endif %}{% endif %}
++ {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>flattr</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>flattr</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %}
</ul>
</div>
<header class="mbm">
{% if constant('SHARE_TWITTER') == 1 %}<li><a href="https://twitter.com/home?status={{entry.title|url_encode}}%20{{ entry.url|url_encode }}%20via%20@getpoche" target="_blank" class="tool twitter" title="{% trans "tweet" %}"><span>{% trans "tweet" %}</span></a></li>{% endif %}
{% if constant('SHARE_MAIL') == 1 %}<li><a href="mailto:?subject={{ entry.title|url_encode }}&body={{ entry.url|url_encode }}%20via%20@getpoche" class="tool email" title="{% trans "email" %}"><span>{% trans "email" %}</span></a></li>{% endif %}
{% if constant('SHARE_SHAARLI') == 1 %}<li><a href="{{ constant('SHAARLI_URL') }}/index.php?post={{ entry.url|url_encode }}&title={{ entry.title|url_encode }}" target="_blank" class="tool shaarli" title="{% trans "shaarli" %}"><span>{% trans "shaarli" %}</span></a></li>{% endif %}
- {% if constant('FLATTR') == 1 %}{% if flattr.status == "flattrable" %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" title="flattr"><span>flattr</span></a></li>{% elseif flattr.status == "flattred" %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr"><span>flattr</span>{{ flattr.numflattrs }}</a></li>{% else %}{% endif %}{% endif %}
++ {% if constant('FLATTR') == 1 %}{% if flattr.status == constant('FLATTRABLE') %}<li><a href="http://flattr.com/submit/auto?url={{ entry.url }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>flattr</span></a></li>{% elseif flattr.status == constant('FLATTRED') %}<li><a href="{{ flattr.flattrItemURL }}" class="tool flattr" target="_blank" title="{% trans "flattr" %}"><span>flattr</span>{{ flattr.numflattrs }}</a></li>{% endif %}{% endif %}
</ul>
<p>{% trans "this article appears wrong?" %} <a href="https://github.com/inthepoche/poche/issues/new">{% trans "create an issue" %}</a> {% trans "or" %} <a href="mailto:support@inthepoche.com?subject=Wrong%20display%20in%20poche&body={{ entry.url|url_encode }}">{% trans "contact us by mail" %}</a></p>
</div>