diff --git a/functions.js b/functions.js
index a9d90f1aa..09582feaf 100644
--- a/functions.js
+++ b/functions.js
@@ -2166,7 +2166,7 @@ function catSelectOnChange(elem) {
}
}
-function quickAddCat(select) {
+function quickAddCat(elem) {
try {
var cat = prompt(__("Please enter category title:"));
@@ -2174,15 +2174,18 @@ function quickAddCat(select) {
var query = "?op=rpc&subop=quickAddCat&cat=" + param_escape(cat);
+ notify_progress("Loading, please wait...", true);
+
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function (transport) {
var response = transport.responseXML;
+ var select = response.getElementsByTagName("select")[0];
+ var options = select.getElementsByTagName("option");
- var payload = response.getElementsByTagName("payload")[0];
+ dropbox_replace_options(elem, options);
- if (payload)
- select.innerHTML = payload.firstChild.nodeValue;
+ notify('');
} });
@@ -2283,7 +2286,14 @@ function dropbox_replace_options(elem, options) {
var text = options[i].firstChild.nodeValue;
var value = options[i].getAttribute("value");
var issel = options[i].getAttribute("selected") == "1";
- elem.insert(new Option(text, value, issel));
+
+ var option = new Option(text, value, issel);
+
+ if (options[i].getAttribute("disabled"))
+ option.setAttribute("disabled", true);
+
+ elem.insert(option);
+
if (issel) sel_idx = i;
}
diff --git a/functions.php b/functions.php
index f9de0622f..d9754a2f7 100644
--- a/functions.php
+++ b/functions.php
@@ -3047,17 +3047,19 @@
WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title");
if (db_num_rows($result) > 0 && $include_all_cats) {
- print "";
+ print "";
}
while ($line = db_fetch_assoc($result)) {
if ($line["id"] == $default_id) {
$is_selected = "selected=\"1\"";
} else {
- $is_selected = "";
+ $is_selected = "";
}
- printf("",
- $line["id"], htmlspecialchars($line["title"]));
+
+ if ($line["title"])
+ printf("",
+ $line["id"], htmlspecialchars($line["title"]));
}
print "";
@@ -6609,6 +6611,9 @@
}
function add_feed_category($link, $feed_cat) {
+
+ if (!$feed_cat) return false;
+
db_query($link, "BEGIN");
$result = db_query($link,
diff --git a/modules/backend-rpc.php b/modules/backend-rpc.php
index 54d636d18..8f31cd748 100644
--- a/modules/backend-rpc.php
+++ b/modules/backend-rpc.php
@@ -1108,9 +1108,7 @@
$id = 0;
}
- print "";
print "";