}
}
-function addLabel() {
+function addLabel(select, callback) {
try {
var query = "?op=pref-labels&subop=add&caption=" +
param_escape(caption);
+ if (select)
+ query += "&output=select";
+
notify_progress("Loading, please wait...", true);
- if (inPreferences()) active_tab = "labelConfig";
+ if (inPreferences() && !select) active_tab = "labelConfig";
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
- if (inPreferences()) {
+ if (callback) {
+ callback(transport);
+ } else if (inPreferences()) {
infobox_submit_callback2(transport);
} else {
updateFeedList();
return false;
}
+function labelSelectOnChange(elem) {
+ try {
+ var value = elem[elem.selectedIndex].value;
+ var def = elem.getAttribute('default');
+
+ if (value == "ADD_LABEL") {
+
+ if (def)
+ dropboxSelect(elem, def);
+ else
+ elem.selectedIndex = 0;
+
+ addLabel(elem, function(transport) {
+ var response = transport.responseXML;
+
+ var payload = response.getElementsByTagName("payload")[0];
+
+ if (payload)
+ elem.innerHTML = payload.firstChild.nodeValue;
+ });
+ }
+
+ } catch (e) {
+ exception_error("catSelectOnChange", e);
+ }
+}
+
+
$result = db_query($link, "SELECT caption FROM ttrss_labels2
WHERE owner_uid = '".$_SESSION["uid"]."' ORDER BY caption");
- print "<select name=\"$name\" style=\"$style\">";
+ print "<select default=\"$value\" name=\"$name\" style=\"$style\"
+ onchange=\"labelSelectOnChange(this)\" >";
while ($line = db_fetch_assoc($result)) {
}
+ print "<option value=\"ADD_LABEL\">" .__("Add label...") . "</option>";
+
print "</select>";
}
if ($subop == "add") {
-
$caption = db_escape_string($_REQUEST["caption"]);
+ $output = db_escape_string($_REQUEST["output"]);
if ($caption) {
if (label_create($link, $caption)) {
- print T_sprintf("Created label <b>%s</b>", htmlspecialchars($caption));
+ if (!$output) {
+ print T_sprintf("Created label <b>%s</b>", htmlspecialchars($caption));
+ }
}
+ if ($output == "select") {
+ header("Content-Type: text/xml");
+
+ print "<rpc-reply><payload><![CDATA[";
+
+ print_label_select($link, "select_label",
+ $caption, "");
+
+ print "]]></payload></rpc-reply>";
+ }
}
return;