diff options
author | Andrew Dolgov <[email protected]> | 2005-11-25 14:55:21 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2005-11-25 14:55:21 +0100 |
commit | 04f6df27b991f9811ab4ee1b79151f7c1667df36 (patch) | |
tree | 0b66d757a3e6d0e793c9dd24109aa1603b61e3b6 /opml.php | |
parent | bc15240d8108842df7cdca1d280f27a9fd9c3335 (diff) |
fix OPML import handling uncategorized feeds, misc OPML touch-ups
Diffstat (limited to 'opml.php')
-rw-r--r-- | opml.php | 34 |
1 files changed, 20 insertions, 14 deletions
@@ -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\"> |