summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend.php2
-rw-r--r--functions.php36
2 files changed, 23 insertions, 15 deletions
diff --git a/backend.php b/backend.php
index 2dac4205f..eed068709 100644
--- a/backend.php
+++ b/backend.php
@@ -15,7 +15,7 @@
if ($op == "feeds") {
- if ($fetch) update_all_feeds($link);
+ if ($fetch) update_all_feeds($link, $fetch);
$result = pg_query("SELECT *,
(SELECT count(id) FROM ttrss_entries
diff --git a/functions.php b/functions.php
index cbaefa503..0d28016fa 100644
--- a/functions.php
+++ b/functions.php
@@ -1,12 +1,19 @@
<?
require_once 'config.php';
- function update_all_feeds($link) {
+ function update_all_feeds($link, $fetch) {
- $result = pg_query($link, "SELECT feed_url,id FROM ttrss_feeds WHERE
- last_updated is null OR title = '' OR
- EXTRACT(EPOCH FROM NOW()) - EXTRACT(EPOCH FROM last_updated) > " .
- MIN_UPDATE_TIME);
+ if (!$fetch) {
+
+ $result = pg_query($link, "SELECT feed_url,id FROM ttrss_feeds WHERE
+ last_updated is null OR title = '' OR
+ EXTRACT(EPOCH FROM NOW()) - EXTRACT(EPOCH FROM last_updated) > " .
+ MIN_UPDATE_TIME);
+
+ } else {
+
+ $result = pg_query($link, "SELECT feed_url,id FROM ttrss_feeds");
+ }
$num_unread = 0;
@@ -41,15 +48,16 @@
if (!$entry_guid) $entry_guid = $item["guid"];
if (!$entry_guid) $entry_guid = $item["link"];
- $entry_timestamp = $item["pubdate"];
- if (!$entry_timestamp) $entry_timestamp = $item["modified"];
- if (!$entry_timestamp) $entry_timestamp = $item["updated"];
-
- if (!$entry_timestamp) continue;
-
- $entry_timestamp = strtotime($entry_timestamp);
-
- if (!$entry_timestamp) continue;
+ $entry_timestamp = "";
+
+ $rss_2_date = $item['pubdate'];
+ $rss_1_date = $item['dc']['date'];
+ $atom_date = $item['issued'];
+
+ if ($atom_date != "") $entry_timestamp = parse_w3cdtf($atom_date);
+ if ($rss_1_date != "") $entry_timestamp = parse_w3cdtf($rss_1_date);
+ if ($rss_2_date != "") $entry_timestamp = strtotime($rss_2_date);
+ if ($entry_timestamp == "") $entry_timestamp = time();
$entry_title = $item["title"];
$entry_link = $item["link"];