summaryrefslogtreecommitdiff
path: root/functions.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-11-27 19:31:20 +0100
committerAndrew Dolgov <[email protected]>2005-11-27 19:31:20 +0100
commitddb68b812c500db7029aba8656e41b880db6e6c9 (patch)
tree872be00ace4f50c4f46be8d6672833226abcf82d /functions.php
parentbd34c528229a47369a2789cdec855131e77b118b (diff)
weird magpie Atom parse workaround, feed is always updated when added (to get title, etc.) even if DAEMON_REFRESH_ONLY is set
Diffstat (limited to 'functions.php')
-rw-r--r--functions.php17
1 files changed, 13 insertions, 4 deletions
diff --git a/functions.php b/functions.php
index a4156651e..a0feae47e 100644
--- a/functions.php
+++ b/functions.php
@@ -160,11 +160,11 @@
}
}
- function update_rss_feed($link, $feed_url, $feed) {
+ function update_rss_feed($link, $feed_url, $feed, $ignore_daemon = false) {
if (WEB_DEMO_MODE) return;
- if (DAEMON_REFRESH_ONLY && !$_GET["daemon"]) {
+ if (DAEMON_REFRESH_ONLY && !$_GET["daemon"] && !$ignore_daemon) {
return;
}
@@ -232,7 +232,12 @@
array_push($filters[$line["name"]], $line["reg_exp"]);
}
- foreach ($rss->items as $item) {
+ $iterator = $rss->items;
+
+ if (!$iterator) $iterator = $rss->entries;
+ if (!$iterator) $iterator = $rss;
+
+ foreach ($iterator as $item) {
$entry_guid = $item["id"];
@@ -261,13 +266,17 @@
$entry_timestamp_fmt = strftime("%Y/%m/%d %H:%M:%S", $entry_timestamp);
$entry_title = $item["title"];
- $entry_link = $item["link"];
+
+ // strange Magpie workaround
+ $entry_link = $item["link_"];
+ if (!$entry_link) $entry_link = $item["link"];
if (!$entry_title) continue;
if (!$entry_link) continue;
$entry_content = $item["content:escaped"];
+ if (!$entry_content) $entry_content = $item["summary"];
if (!$entry_content) $entry_content = $item["content:encoded"];
if (!$entry_content) $entry_content = $item["content"];
if (!$entry_content) $entry_content = $item["description"];