properly handle on-the-fly adding of categories
This commit is contained in:
parent
10249c41b7
commit
c00907f2ed
3 changed files with 24 additions and 11 deletions
20
functions.js
20
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -3047,17 +3047,19 @@
|
|||
WHERE owner_uid = ".$_SESSION["uid"]." ORDER BY title");
|
||||
|
||||
if (db_num_rows($result) > 0 && $include_all_cats) {
|
||||
print "<option disabled>--------</option>";
|
||||
print "<option disabled=\"1\">--------</option>";
|
||||
}
|
||||
|
||||
while ($line = db_fetch_assoc($result)) {
|
||||
if ($line["id"] == $default_id) {
|
||||
$is_selected = "selected=\"1\"";
|
||||
} else {
|
||||
$is_selected = "";
|
||||
$is_selected = "";
|
||||
}
|
||||
printf("<option $is_selected value='%d'>%s</option>",
|
||||
$line["id"], htmlspecialchars($line["title"]));
|
||||
|
||||
if ($line["title"])
|
||||
printf("<option $is_selected value='%d'>%s</option>",
|
||||
$line["id"], htmlspecialchars($line["title"]));
|
||||
}
|
||||
|
||||
print "<option value=\"ADD_CAT\">" .__("Add category...") . "</option>";
|
||||
|
@ -6609,6 +6611,9 @@
|
|||
}
|
||||
|
||||
function add_feed_category($link, $feed_cat) {
|
||||
|
||||
if (!$feed_cat) return false;
|
||||
|
||||
db_query($link, "BEGIN");
|
||||
|
||||
$result = db_query($link,
|
||||
|
|
|
@ -1108,9 +1108,7 @@
|
|||
$id = 0;
|
||||
}
|
||||
|
||||
print "<payload><![CDATA[";
|
||||
print_feed_cat_select($link, "cat_id", $id);
|
||||
print "]]></payload>";
|
||||
|
||||
print "</rpc-reply>";
|
||||
|
||||
|
|
Loading…
Reference in a new issue