summaryrefslogtreecommitdiff
path: root/opml.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-11-25 14:55:21 +0100
committerAndrew Dolgov <[email protected]>2005-11-25 14:55:21 +0100
commit04f6df27b991f9811ab4ee1b79151f7c1667df36 (patch)
tree0b66d757a3e6d0e793c9dd24109aa1603b61e3b6 /opml.php
parentbc15240d8108842df7cdca1d280f27a9fd9c3335 (diff)
fix OPML import handling uncategorized feeds, misc OPML touch-ups
Diffstat (limited to 'opml.php')
-rw-r--r--opml.php34
1 files changed, 20 insertions, 14 deletions
diff --git a/opml.php b/opml.php
index b7ad52252..b9986cda6 100644
--- a/opml.php
+++ b/opml.php
@@ -83,8 +83,9 @@
<head>
<link rel=\"stylesheet\" href=\"opml.css\" type=\"text/css\">
</head>
- <body><h1>Importing OPML...</h1>
- <div>";
+ <body>
+ <h1>Importing OPML...</h1>
+ <div class=\"opmlBody\">";
if (WEB_DEMO_MODE) {
print "OPML import is disabled in demo-mode.";
@@ -107,15 +108,12 @@
$outlines = $body->get_elements_by_tagname('outline');
- $active_category = '';
-
foreach ($outlines as $outline) {
- $feed_title = $outline->get_attribute('text');
- $cat_title = $outline->get_attribute('title');
- $feed_url = $outline->get_attribute('xmlUrl');
+ $feed_title = db_escape_string($outline->get_attribute('text'));
+ $cat_title = db_escape_string($outline->get_attribute('title'));
+ $feed_url = db_escape_string($outline->get_attribute('xmlUrl'));
if ($cat_title) {
- $active_category = $cat_title;
db_query($link, "BEGIN");
@@ -142,10 +140,18 @@
$cat_id = null;
- if ($active_category) {
+ $parent_node = $outline->parent_node();
+
+ if ($parent_node && $parent_node->node_name() == "outline") {
+ $element_category = $parent_node->get_attribute('title');
+ } else {
+ $element_category = '';
+ }
+
+ if ($element_category) {
$result = db_query($link, "SELECT id FROM
- ttrss_feed_categories WHERE title = '$active_category' AND
+ ttrss_feed_categories WHERE title = '$element_category' AND
owner_uid = '$owner_uid' LIMIT 1");
if (db_num_rows($result) == 1) {
@@ -174,7 +180,7 @@
('$feed_title', '$feed_url', '$owner_uid')";
}
-
+
db_query($link, $add_query);
print "<b>Done.</b><br>";
@@ -184,14 +190,14 @@
}
} else {
- print "Error: can't find body element.";
+ print "<div class=\"error\">Error: can't find body element.</div>";
}
} else {
- print "Error while parsing document.";
+ print "<div class=\"error\">Error while parsing document.</div>";
}
} else {
- print "Error: please upload OPML file.";
+ print "<div class=\"error\">Error: please upload OPML file.</div>";
}
print "<p><a class=\"button\" href=\"prefs.php\">