]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
RSS patch for Thunderbird (and some RSS clients).
authorSébastien SAUVAGE <sebsauvage@sebsauvage.net>
Thu, 28 Feb 2013 13:48:11 +0000 (14:48 +0100)
committerSébastien SAUVAGE <sebsauvage@sebsauvage.net>
Thu, 28 Feb 2013 13:48:11 +0000 (14:48 +0100)
In the RSS specifications, the "link" tags contains the URL to follow,
and the "guid" contains a unique identifier (which may or may not be an
URL).
RSS clients should always use "link" to follow the link (and most do),
but Thunderbird uses the "guid" if it find a valid URL inside (and only
falls back to "link" if "guid" is not an URL).

I have patched the RSS feed so that Thunderbird ignores the URL in guid.

index.php

index d66da41e96875cc0e16265fd3ed2028dd1b2f032..afe2d039a37e6a8e9fa551a4ec7980173e140d33 100644 (file)
--- a/index.php
+++ b/index.php
@@ -904,9 +904,9 @@ function showRSS()
         $absurl = htmlspecialchars($link['url']);
         if (startsWith($absurl,'?')) $absurl=$pageaddr.$absurl;  // make permalink URL absolute
         if ($usepermalinks===true)
-            echo '<item><title>'.htmlspecialchars($link['title']).'</title><guid>'.$guid.'</guid><link>'.$guid.'</link>';
+            echo '<item><title>'.htmlspecialchars($link['title']).'</title><guid isPermaLink="false">'.$guid.'</guid><link>'.$guid.'</link>';
         else
-            echo '<item><title>'.htmlspecialchars($link['title']).'</title><guid>'.$guid.'</guid><link>'.$absurl.'</link>';
+            echo '<item><title>'.htmlspecialchars($link['title']).'</title><guid isPermaLink="false">'.$guid.'</guid><link>'.$absurl.'</link>';
         if (!$GLOBALS['config']['HIDE_TIMESTAMPS'] || isLoggedIn()) echo '<pubDate>'.htmlspecialchars($rfc822date)."</pubDate>\n";
         if ($link['tags']!='') // Adding tags to each RSS entry (as mentioned in RSS specification)
         {