fix OPML import handling uncategorized feeds, misc OPML touch-ups

This commit is contained in:
Andrew Dolgov 2005-11-25 14:55:21 +01:00
parent bc15240d81
commit 04f6df27b9
2 changed files with 34 additions and 24 deletions

View file

@ -7,23 +7,27 @@ body {
h1 { h1 {
font-size : 21pt; 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; font-weight : bold;
padding : 10px 0px 10px 30px;
color : black; color : black;
border-width : 0px 0px 1px 0px; border-width : 0px 0px 1px 0px;
border-color : #c0c0c0; border-color : #c0c0c0;
border-style : solid; border-style : solid;
background-color : white;
background-image : url("images/vgrad_light.png");
background-position : bottom left;
background-repeat : repeat-x;
} }
div { div.opmlBody {
margin : 30px; margin : 30px;
}
div.error {
background : #fff0f0;
border : 1px solid #c0c0c0;
padding : 5px;
font-size : x-small;
} }
a { a {

View file

@ -83,8 +83,9 @@
<head> <head>
<link rel=\"stylesheet\" href=\"opml.css\" type=\"text/css\"> <link rel=\"stylesheet\" href=\"opml.css\" type=\"text/css\">
</head> </head>
<body><h1>Importing OPML...</h1> <body>
<div>"; <h1>Importing OPML...</h1>
<div class=\"opmlBody\">";
if (WEB_DEMO_MODE) { if (WEB_DEMO_MODE) {
print "OPML import is disabled in demo-mode."; print "OPML import is disabled in demo-mode.";
@ -107,15 +108,12 @@
$outlines = $body->get_elements_by_tagname('outline'); $outlines = $body->get_elements_by_tagname('outline');
$active_category = '';
foreach ($outlines as $outline) { foreach ($outlines as $outline) {
$feed_title = $outline->get_attribute('text'); $feed_title = db_escape_string($outline->get_attribute('text'));
$cat_title = $outline->get_attribute('title'); $cat_title = db_escape_string($outline->get_attribute('title'));
$feed_url = $outline->get_attribute('xmlUrl'); $feed_url = db_escape_string($outline->get_attribute('xmlUrl'));
if ($cat_title) { if ($cat_title) {
$active_category = $cat_title;
db_query($link, "BEGIN"); db_query($link, "BEGIN");
@ -142,10 +140,18 @@
$cat_id = null; $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 $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"); owner_uid = '$owner_uid' LIMIT 1");
if (db_num_rows($result) == 1) { if (db_num_rows($result) == 1) {
@ -174,7 +180,7 @@
('$feed_title', '$feed_url', '$owner_uid')"; ('$feed_title', '$feed_url', '$owner_uid')";
} }
db_query($link, $add_query); db_query($link, $add_query);
print "<b>Done.</b><br>"; print "<b>Done.</b><br>";
@ -184,14 +190,14 @@
} }
} else { } else {
print "Error: can't find body element."; print "<div class=\"error\">Error: can't find body element.</div>";
} }
} else { } else {
print "Error while parsing document."; print "<div class=\"error\">Error while parsing document.</div>";
} }
} else { } 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\"> print "<p><a class=\"button\" href=\"prefs.php\">