diff --git a/functions.php b/functions.php index 0c23e7ec7..02521b313 100644 --- a/functions.php +++ b/functions.php @@ -6316,4 +6316,31 @@ } } } + + function remove_feed($link, $id, $owner_uid) { + + if ($id > 0) { + db_query($link, "DELETE FROM ttrss_feeds + WHERE id = '$id' AND owner_uid = $owner_uid"); + + if (file_exists(ICONS_DIR . "/$id.ico")) { + unlink(ICONS_DIR . "/$id.ico"); + } + + ccache_remove($link, $id, $owner_uid); + + } else { + label_remove($link, -11-$id, $owner_uid); + ccache_remove($link, -11-$id, $owner_uid); + } + } + + function remove_feed_category($link, $id, $owner_uid) { + + db_query($link, "DELETE FROM ttrss_feed_categories + WHERE id = '$id' AND owner_uid = $owner_uid"); + + ccache_remove($link, $id, $owner_uid, true); + } + ?> diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index e8c6d8783..73fbe8079 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -729,24 +729,7 @@ $ids = split(",", db_escape_string($_GET["ids"])); foreach ($ids as $id) { - - if ($id > 0) { - - db_query($link, "DELETE FROM ttrss_feeds - WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); - - $icons_dir = ICONS_DIR; - - if (file_exists($icons_dir . "/$id.ico")) { - unlink($icons_dir . "/$id.ico"); - } - - ccache_remove($link, $id, $_SESSION["uid"]); - - } else { - label_remove($link, -11-$id, $_SESSION["uid"]); - ccache_remove($link, -11-$id, $_SESSION["uid"]); - } + remove_feed($link, $id, $_SESSION["uid"]); } } @@ -1017,34 +1000,10 @@ if ($action == "remove") { - if (!WEB_DEMO_MODE) { - - $ids = split(",", db_escape_string($_GET["ids"])); - - foreach ($ids as $id) { - - db_query($link, "BEGIN"); - - $result = db_query($link, - "SELECT count(id) as num_feeds FROM ttrss_feeds - WHERE cat_id = '$id'"); - - $num_feeds = db_fetch_result($result, 0, "num_feeds"); - - if ($num_feeds == 0) { - db_query($link, "DELETE FROM ttrss_feed_categories - WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]); - - ccache_remove($link, $id, $_SESSION["uid"], true); - - } else { - - print format_warning(__("Unable to delete non empty feed categories.")); - - } + $ids = split(",", db_escape_string($_GET["ids"])); - db_query($link, "COMMIT"); - } + foreach ($ids as $id) { + remove_feed_category($link, $id, $_SESSION["uid"]); } }