Added Flattr to feeds (issue #11)
This commit is contained in:
parent
887b85cfac
commit
02965f1adf
|
@ -20,6 +20,7 @@
|
|||
@define('PLUGIN_FLATTR_DSC', 'Flattr-Beschreibung (standardmäßig Artikeltext)');
|
||||
@define('PLUGIN_FLATTR_TAG', 'Flattr-Schlagwörter (standardmäßig vom Artikel-Tags-Plugin, falls verwendet)');
|
||||
@define('PLUGIN_FLATTR_POPOUT', 'Popout anzeigen, wenn die Maus über den Flattr-Button fährt');
|
||||
@define('PLUGIN_FLATTR_ADD_TO_FEED', 'Flattr-Button zum RSS-/ATOM-Feed hinzufügen?');
|
||||
|
||||
@define('PLUGIN_FLATTR_ACTIVE', 'Flattr aktivieren');
|
||||
|
||||
|
|
|
@ -19,8 +19,9 @@
|
|||
@define('PLUGIN_FLATTR_LANG', 'Flattr-Sprache');
|
||||
@define('PLUGIN_FLATTR_DSC', 'Flattr-Beschreibung (standardmäßig Artikeltext)');
|
||||
@define('PLUGIN_FLATTR_TAG', 'Flattr-Schlagwörter (standardmäßig vom Artikel-Tags-Plugin, falls verwendet)');
|
||||
@define('PLUGIN_FLATTR_ADD_TO_FEED', 'Flattr-Button zum RSS-/ATOM-Feed hinzufügen?');
|
||||
|
||||
@define('PLUGIN_FLATTR_ACTIVE', 'Flattr aktivieren');
|
||||
|
||||
// Next lines were translated on 2011/11/22
|
||||
@define('PLUGIN_FLATTR_BUTTON_DESC', 'Wird etwas anderes als "default" oder "compact" eingetragen, dann wird dieser Text für den Button verwendet. Z.B. kann hier "Klicke hier um zu Flattern" eingetragen werden.');
|
||||
@define('PLUGIN_FLATTR_BUTTON_DESC', 'Wird etwas anderes als "default" oder "compact" eingetragen, dann wird dieser Text für den Button verwendet. Z.B. kann hier "Klicke hier um zu Flattern" eingetragen werden.');
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
@define('PLUGIN_FLATTR_DSC', 'Flattr posting description (defaults to entry body)');
|
||||
@define('PLUGIN_FLATTR_TAG', 'Flattr posting tags (defaults to freetag plugin, if used)');
|
||||
@define('PLUGIN_FLATTR_POPOUT', 'Show popout when hovering mouse over Flattr button');
|
||||
@define('PLUGIN_FLATTR_ADD_TO_FEED', 'Add Flattr button to RSS-/ATOM-Feed?');
|
||||
|
||||
@define('PLUGIN_FLATTR_ACTIVE', 'Enable flattr');
|
||||
|
||||
|
|
|
@ -40,6 +40,11 @@ class serendipity_event_flattr extends serendipity_event {
|
|||
'backend_publish' => true,
|
||||
'backend_save' => true,
|
||||
'frontend_header' => true,
|
||||
'frontend_display:rss-2.0:per_entry' => true,
|
||||
'frontend_display:rss-2.0:namespace' => true,
|
||||
'frontend_display:rss-1.0:per_entry' => true,
|
||||
'frontend_display:rss-1.0:namespace' => true,
|
||||
'frontend_display:atom-1.0:per_entry' => true,
|
||||
);
|
||||
$propbag->add('name', PLUGIN_FLATTR_NAME);
|
||||
$propbag->add('description', PLUGIN_FLATTR_DESC);
|
||||
|
@ -52,6 +57,7 @@ class serendipity_event_flattr extends serendipity_event {
|
|||
'flattr_cat',
|
||||
'flattr_lng',
|
||||
'flattr_pop',
|
||||
'add_to_feed',
|
||||
));
|
||||
$propbag->add('author', 'Garvin Hicking, Joachim Breitner', 'Matthias Gutjahr');
|
||||
$propbag->add('version', '1.10');
|
||||
|
@ -211,6 +217,13 @@ class serendipity_event_flattr extends serendipity_event {
|
|||
$propbag->add('description', '');
|
||||
$propbag->add('default', false);
|
||||
break;
|
||||
|
||||
case 'add_to_feed':
|
||||
$propbag->add('type', 'boolean');
|
||||
$propbag->add('name', PLUGIN_FLATTR_ADD_TO_FEED);
|
||||
$propbag->add('description', '');
|
||||
$propbag->add('default', false);
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -223,7 +236,7 @@ class serendipity_event_flattr extends serendipity_event {
|
|||
* @param mixed $addData
|
||||
* @return bool
|
||||
*/
|
||||
function event_hook($event, &$bag, &$eventData, $addData = null) {
|
||||
function event_hook($event, &$bag, &$eventData, &$addData) {
|
||||
global $serendipity;
|
||||
|
||||
switch ($event) {
|
||||
|
@ -404,6 +417,40 @@ class serendipity_event_flattr extends serendipity_event {
|
|||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 'frontend_display:rss-1.0:namespace':
|
||||
case 'frontend_display:rss-2.0:namespace':
|
||||
if ($this->get_config('add_to_feed')) {
|
||||
$eventData['display_dat'] .= '
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"';
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 'frontend_display:rss-1.0:per_entry':
|
||||
case 'frontend_display:rss-2.0:per_entry':
|
||||
if ($this->get_config('add_to_feed')) {
|
||||
$flattr_uid = $this->_addslashes($this->get_config('userid'));
|
||||
$flattr_uid = substr($flattr_uid, 0, 500);
|
||||
$flattr_url = $this->_addslashes(serendipity_archiveURL($eventData['id'], $eventData['title'], 'baseURL', true, array('timestamp' => $eventData['timestamp'])));
|
||||
$flattr_url = substr($flattr_url, 0, 2048);
|
||||
$eventData['display_dat'] .= '
|
||||
<atom:link rel="payment" href="https://flattr.com/submit/auto?url=' . urlencode($flattr_url) . '&user_id=' . $flattr_uid . '" type="text/html" />';
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
|
||||
case 'frontend_display:atom-1.0:per_entry':
|
||||
if ($this->get_config('add_to_feed')) {
|
||||
$flattr_uid = $this->_addslashes($this->get_config('userid'));
|
||||
$flattr_uid = substr($flattr_uid, 0, 500);
|
||||
$flattr_url = $this->_addslashes(serendipity_archiveURL($eventData['id'], $eventData['title'], 'baseURL', true, array('timestamp' => $eventData['timestamp'])));
|
||||
$flattr_url = substr($flattr_url, 0, 2048);
|
||||
$eventData['display_dat'] .= '
|
||||
<link rel="payment" href="https://flattr.com/submit/auto?url=' . $flattr_url . '&user_id=' . $flattr_uid . '" type="text/html" />';
|
||||
}
|
||||
return true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue