diff options
-rw-r--r-- | functions.php | 3 | ||||
-rw-r--r-- | modules/opml_domdoc.php | 51 | ||||
-rw-r--r-- | opml.php | 29 |
3 files changed, 68 insertions, 15 deletions
diff --git a/functions.php b/functions.php index 7320f0fac..4bf9cee4c 100644 --- a/functions.php +++ b/functions.php @@ -824,10 +824,11 @@ $rss_1_date = $item['dc']['date']; $atom_date = $item['issued']; if (!$atom_date) $atom_date = $item['updated']; - + 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 == -1 || !$entry_timestamp) { diff --git a/modules/opml_domdoc.php b/modules/opml_domdoc.php index 51b771337..72eeeb1d6 100644 --- a/modules/opml_domdoc.php +++ b/modules/opml_domdoc.php @@ -1,6 +1,8 @@ <?php function opml_import_domdoc($link, $owner_uid) { + $_FILES['opml_file']['tmp_name'] = '/home/fox/opml.php'; + if (is_file($_FILES['opml_file']['tmp_name'])) { $doc = DOMDocument::load($_FILES['opml_file']['tmp_name']); @@ -39,27 +41,50 @@ $feed_url = db_escape_string($outline->attributes->getNamedItem('xmlUrl')->nodeValue); $site_url = db_escape_string($outline->attributes->getNamedItem('htmlUrl')->nodeValue); + $pref_name = db_escape_string($outline->attributes->getNamedItem('pref-name')->nodeValue); + if ($cat_title && !$feed_url) { - db_query($link, "BEGIN"); + if ($cat_title != "tt-rss-prefs") { + + db_query($link, "BEGIN"); + + $result = db_query($link, "SELECT id FROM + ttrss_feed_categories WHERE title = '$cat_title' AND + owner_uid = '$owner_uid' LIMIT 1"); + + if (db_num_rows($result) == 0) { + + printf(__("<li>Adding category <b>%s</b>.</li>"), $cat_title); + + db_query($link, "INSERT INTO ttrss_feed_categories + (title,owner_uid) + VALUES ('$cat_title', '$owner_uid')"); + } + + db_query($link, "COMMIT"); + } + } - $result = db_query($link, "SELECT id FROM - ttrss_feed_categories WHERE title = '$cat_title' AND - owner_uid = '$owner_uid' LIMIT 1"); + // print "$active_category : $feed_title : $feed_url<br>"; - if (db_num_rows($result) == 0) { + if ($pref_name) { + $parent_node = $outline->parentNode; - printf(__("<li>Adding category <b>%s</b>.</li>"), $cat_title); + if ($parent_node && $parent_node->nodeName == "outline") { + $cat_check = $parent_node->attributes->getNamedItem('title')->nodeValue; + if ($cat_check == "tt-rss-prefs") { + $pref_value = db_escape_string($outline->attributes->getNamedItem('value')->nodeValue); - db_query($link, "INSERT INTO ttrss_feed_categories - (title,owner_uid) - VALUES ('$cat_title', '$owner_uid')"); - } + printf("<li>". + __("Setting preference key %s to %s")."</li>", + $pref_name, $pref_value); - db_query($link, "COMMIT"); - } + set_pref($link, $pref_name, $pref_value); - // print "$active_category : $feed_title : $feed_url<br>"; + } + } + } if (!$feed_title || !$feed_url) continue; @@ -13,7 +13,11 @@ init_connection($link); function opml_export($link, $owner_uid, $hide_private_feeds=False) { - header("Content-type: application/xml+opml"); + if (!$_REQUEST["debug"]) { + header("Content-type: application/xml+opml"); + } else { + header("Content-type: text/xml"); + } print "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; print "<opml version=\"1.0\">"; @@ -88,6 +92,26 @@ print "</outline>\n"; } + # export tt-rss settings + + print "<outline title=\"tt-rss-prefs\" schema-version=\"".SCHEMA_VERSION."\">"; + + $result = db_query($link, "SELECT pref_name, value FROM ttrss_user_prefs WHERE + profile IS NULL AND owner_uid = " . $_SESSION["uid"]); + + while ($line = db_fetch_assoc($result)) { + + $name = $line["pref_name"]; + $value = htmlspecialchars($line["value"]); + + print "<outline pref-name=\"$name\" value=\"$value\">"; + + print "</outline>"; + + } + + print "</outline>"; + print "</body></opml>"; } @@ -125,10 +149,13 @@ login_sequence($link); $owner_uid = $_SESSION["uid"]; + header('Content-Type: text/html; charset=utf-8'); + print "<html> <head> <link rel=\"stylesheet\" href=\"utility.css\" type=\"text/css\"> <title>".__("OPML Utility")."</title> + <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/> </head> <body> <div class=\"floatingLogo\"><img src=\"images/ttrss_logo.png\"></div> |