diff --git a/serendipity_event_flattr/UTF-8/lang_de.inc.php b/serendipity_event_flattr/UTF-8/lang_de.inc.php index c98f2959..79e79cc7 100644 --- a/serendipity_event_flattr/UTF-8/lang_de.inc.php +++ b/serendipity_event_flattr/UTF-8/lang_de.inc.php @@ -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'); diff --git a/serendipity_event_flattr/lang_de.inc.php b/serendipity_event_flattr/lang_de.inc.php index 3894cc39..358c6eed 100644 --- a/serendipity_event_flattr/lang_de.inc.php +++ b/serendipity_event_flattr/lang_de.inc.php @@ -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.'); \ No newline at end of file +@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.'); diff --git a/serendipity_event_flattr/lang_en.inc.php b/serendipity_event_flattr/lang_en.inc.php index a8a97766..d0193d42 100644 --- a/serendipity_event_flattr/lang_en.inc.php +++ b/serendipity_event_flattr/lang_en.inc.php @@ -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'); diff --git a/serendipity_event_flattr/serendipity_event_flattr.php b/serendipity_event_flattr/serendipity_event_flattr.php index cc47ccc9..5fcd085d 100644 --- a/serendipity_event_flattr/serendipity_event_flattr.php +++ b/serendipity_event_flattr/serendipity_event_flattr.php @@ -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'] .= ' + '; + } + 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'] .= ' + '; + } + return true; + break; + } } } \ No newline at end of file