http://magpierss.sourceforge.net/
Moodle's rss_client block uses these libraries to download, parse and cache remote new feeds.
-Magpie version 0.72 added to Moodle 1.6dev on 20051213
\ No newline at end of file
+Magpie version 0.72 added to Moodle 1.6dev on 20051213
+
+=============================================================
+Changes - see MDL-7045:
+* ETag and Last-Modified http field names are not case sensitive anymore - should improve caching
+* Fixed some minor undefined warnings
+* Tralining newlines are stripped from ETag and Last-Modified headers (discovered by Matthew Bockol),
+ we should be sending valid headers when fetching feed updates now, yay!
+
+
+Fixes not reported upstream yet.
+
+skodak
+16 October 2006
\ No newline at end of file
// setup headers
if ( $cache_status == 'STALE' ) {
$rss = $cache->get( $cache_key );
- if ( $rss and $rss->etag and $rss->last_modified ) {
+ if ( $rss and !empty($rss->etag) and !empty($rss->last_modified) ) { // moodle fixes
$request_headers['If-None-Match'] = $rss->etag;
$request_headers['If-Last-Modified'] = $rss->last_modified;
}
$field = $h;
$val = "";
}
-
- if ( $field == 'ETag' ) {
- $rss->etag = $val;
+// start of moodle modification
+ if ( strtolower($field) == 'etag' ) { // field names are case insensitive - sites are sending Etag, ETag, etc.
+ $rss->etag = rtrim($val); // trailing newline problem discovered by Matthew Bockol
}
- if ( $field == 'Last-Modified' ) {
- $rss->last_modified = $val;
+ if ( strtolower($field) == 'last-modified' ) { // field names are case insensitive
+ $rss->last_modified = rtrim($val); // we do not want any whitespace after it
}
+// end of moodle modification
}
return $rss;