From 04f6df27b991f9811ab4ee1b79151f7c1667df36 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 25 Nov 2005 14:55:21 +0100 Subject: [PATCH] fix OPML import handling uncategorized feeds, misc OPML touch-ups --- opml.css | 22 +++++++++++++--------- opml.php | 34 ++++++++++++++++++++-------------- 2 files changed, 33 insertions(+), 23 deletions(-) diff --git a/opml.css b/opml.css index 52d4a270..de174239 100644 --- a/opml.css +++ b/opml.css @@ -7,23 +7,27 @@ body { h1 { font-size : 21pt; - background-color : #f0f0f0; - background-image : url("images/header.png"); - background-position : top left; - background-repeat : repeat-x; - height : 50px; - padding-left : 80px; - padding-top : 30px; font-weight : bold; + padding : 10px 0px 10px 30px; color : black; border-width : 0px 0px 1px 0px; border-color : #c0c0c0; border-style : solid; + background-color : white; + background-image : url("images/vgrad_light.png"); + background-position : bottom left; + background-repeat : repeat-x; +} +div.opmlBody { + margin : 30px; } -div { - margin : 30px; +div.error { + background : #fff0f0; + border : 1px solid #c0c0c0; + padding : 5px; + font-size : x-small; } a { diff --git a/opml.php b/opml.php index b7ad5225..b9986cda 100644 --- a/opml.php +++ b/opml.php @@ -83,8 +83,9 @@ -

Importing OPML...

-
"; + +

Importing OPML...

+
"; 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 "Done.
"; @@ -184,14 +190,14 @@ } } else { - print "Error: can't find body element."; + print "
Error: can't find body element.
"; } } else { - print "Error while parsing document."; + print "
Error while parsing document.
"; } } else { - print "Error: please upload OPML file."; + print "
Error: please upload OPML file.
"; } print "

-- 2.39.2