fix OPML import handling uncategorized feeds, misc OPML touch-ups
This commit is contained in:
parent
bc15240d81
commit
04f6df27b9
2 changed files with 34 additions and 24 deletions
24
opml.css
24
opml.css
|
@ -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 {
|
||||||
|
|
34
opml.php
34
opml.php
|
@ -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\">
|
||||||
|
|
Loading…
Reference in a new issue