1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-16 02:05:57 +00:00

refactor opml import/export code

fix opml to properly handle nested categories
allow creating categories with same name in different parent categories
This commit is contained in:
Andrew Dolgov
2012-08-15 15:03:40 +04:00
parent 3a9d5c6e88
commit d2a317e3c8
2 changed files with 281 additions and 316 deletions

View File

@@ -4293,21 +4293,49 @@
}
}
function add_feed_category($link, $feed_cat) {
function get_feed_category($link, $feed_cat, $parent_cat_id = false) {
if ($parent_cat_id) {
$parent_qpart = "parent_cat = '$parent_cat_id'";
$parent_insert = "'$parent_cat_id'";
} else {
$parent_qpart = "parent_cat IS NULL";
$parent_insert = "NULL";
}
$result = db_query($link,
"SELECT id FROM ttrss_feed_categories
WHERE $parent_qpart AND title = '$feed_cat' AND owner_uid = ".$_SESSION["uid"]);
if (db_num_rows($result) == 0) {
return false;
} else {
return db_fetch_result($result, 0, "id");
}
}
function add_feed_category($link, $feed_cat, $parent_cat_id = false) {
if (!$feed_cat) return false;
db_query($link, "BEGIN");
if ($parent_cat_id) {
$parent_qpart = "parent_cat = '$parent_cat_id'";
$parent_insert = "'$parent_cat_id'";
} else {
$parent_qpart = "parent_cat IS NULL";
$parent_insert = "NULL";
}
$result = db_query($link,
"SELECT id FROM ttrss_feed_categories
WHERE title = '$feed_cat' AND owner_uid = ".$_SESSION["uid"]);
WHERE $parent_qpart AND title = '$feed_cat' AND owner_uid = ".$_SESSION["uid"]);
if (db_num_rows($result) == 0) {
$result = db_query($link,
"INSERT INTO ttrss_feed_categories (owner_uid,title)
VALUES ('".$_SESSION["uid"]."', '$feed_cat')");
"INSERT INTO ttrss_feed_categories (owner_uid,title,parent_cat)
VALUES ('".$_SESSION["uid"]."', '$feed_cat', $parent_insert)");
db_query($link, "COMMIT");