var seq = "";
+function instancelist_callback2(transport) {
+ try {
+ dijit.byId('instanceConfigTab').attr('content', transport.responseText);
+ selectTab("instanceConfig", true);
+ notify("");
+ } catch (e) {
+ exception_error("instancelist_callback2", e);
+ }
+}
+
function feedlist_callback2(transport) {
try {
dijit.byId('feedConfigTab').attr('content', transport.responseText);
}
function updateFeedList(sort_key) {
+
+ var user_search = $("feed_search");
+ var search = "";
+ if (user_search) { search = user_search.value; }
+
new Ajax.Request("backend.php", {
- parameters: "?op=pref-feeds",
+ parameters: "?op=pref-feeds&search=" + param_escape(search),
onComplete: function(transport) {
feedlist_callback2(transport);
} });
}
+function updateInstanceList(sort_key) {
+ new Ajax.Request("backend.php", {
+ parameters: "?op=pref-instances&sort=" + param_escape(sort_key),
+ onComplete: function(transport) {
+ instancelist_callback2(transport);
+ } });
+}
+
function updateUsersList(sort_key) {
try {
onComplete: function(transport) {
dialog.hide();
updateFilterList();
- }})
+ }});
}
}
}});
var rv = [];
items.each(function(item) {
- rv.push(tree.model.store.getValue(item, 'bare_id'));
+ if (item.id[0].match("FEED:"))
+ rv.push(tree.model.store.getValue(item, 'bare_id'));
});
return rv;
return;
}
- notify("");
+ notify_progress("Loading, please wait...");
var query = "backend.php?op=pref-feeds&subop=editfeeds&ids=" +
param_escape(rows.toString());
+ console.log(query);
+
if (dijit.byId("feedEditDlg"))
dijit.byId("feedEditDlg").destroyRecursive();
- dialog = new dijit.Dialog({
- id: "feedEditDlg",
- title: __("Edit Multiple Feeds"),
- style: "width: 600px",
- getChildByName: function (name) {
- var rv = null
- this.getChildren().each(
- function(child) {
- if (child.name == name) {
- rv = child;
- return;
- }
- });
- return rv;
- },
- toggleField: function (checkbox, elem, label) {
- this.getChildByName(elem).attr('disabled', !checkbox.checked);
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
- if ($(label))
- if (checkbox.checked)
- $(label).removeClassName('insensitive');
- else
- $(label).addClassName('insensitive');
+ notify("");
+
+ var dialog = new dijit.Dialog({
+ id: "feedEditDlg",
+ title: __("Edit Multiple Feeds"),
+ style: "width: 600px",
+ getChildByName: function (name) {
+ var rv = null;
+ this.getChildren().each(
+ function(child) {
+ if (child.name == name) {
+ rv = child;
+ return;
+ }
+ });
+ return rv;
+ },
+ toggleField: function (checkbox, elem, label) {
+ this.getChildByName(elem).attr('disabled', !checkbox.checked);
+
+ if ($(label))
+ if (checkbox.checked)
+ $(label).removeClassName('insensitive');
+ else
+ $(label).addClassName('insensitive');
+
+ },
+ execute: function() {
+ if (this.validate() && confirm(__("Save changes to selected feeds?"))) {
+ var query = dojo.objectToQuery(this.attr('value'));
+
+ /* Form.serialize ignores unchecked checkboxes */
+
+ if (!query.match("&rtl_content=") &&
+ this.getChildByName('rtl_content').attr('disabled') == false) {
+ query = query + "&rtl_content=false";
+ }
- },
- execute: function() {
- if (this.validate() && confirm(__("Save changes to selected feeds?"))) {
- var query = dojo.objectToQuery(this.attr('value'));
+ if (!query.match("&private=") &&
+ this.getChildByName('private').attr('disabled') == false) {
+ query = query + "&private=false";
+ }
- /* Form.serialize ignores unchecked checkboxes */
+ try {
+ if (!query.match("&cache_images=") &&
+ this.getChildByName('cache_images').attr('disabled') == false) {
+ query = query + "&cache_images=false";
+ }
+ } catch (e) { }
- if (!query.match("&rtl_content=") &&
- this.getChildByName('rtl_content').attr('disabled') == false) {
- query = query + "&rtl_content=false";
- }
+ if (!query.match("&include_in_digest=") &&
+ this.getChildByName('include_in_digest').attr('disabled') == false) {
+ query = query + "&include_in_digest=false";
+ }
- if (!query.match("&private=") &&
- this.getChildByName('private').attr('disabled') == false) {
- query = query + "&private=false";
- }
+ if (!query.match("&always_display_enclosures=") &&
+ this.getChildByName('always_display_enclosures').attr('disabled') == false) {
+ query = query + "&always_display_enclosures=false";
+ }
- if (!query.match("&cache_images=") &&
- this.getChildByName('cache_images').attr('disabled') == false) {
- query = query + "&cache_images=false";
- }
+ if (!query.match("&mark_unread_on_update=") &&
+ this.getChildByName('mark_unread_on_update').attr('disabled') == false) {
+ query = query + "&mark_unread_on_update=false";
+ }
- if (!query.match("&include_in_digest=") &&
- this.getChildByName('include_in_digest').attr('disabled') == false) {
- query = query + "&include_in_digest=false";
- }
+ if (!query.match("&update_on_checksum_change=") &&
+ this.getChildByName('update_on_checksum_change').attr('disabled') == false) {
+ query = query + "&update_on_checksum_change=false";
+ }
- console.log(query);
+ console.log(query);
- notify_progress("Saving data...", true);
+ notify_progress("Saving data...", true);
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- dialog.hide();
- updateFeedList();
- }})
- }
- },
- href: query});
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ dialog.hide();
+ updateFeedList();
+ }});
+ }
+ },
+ content: transport.responseText});
- dialog.show();
+ dialog.show();
+
+ } });
} catch (e) {
exception_error("editSelectedFeeds", e);
try {
if (e.target.nodeName == "INPUT") return;
- var keycode;
+ var keycode = false;
var shift_key = false;
var cmdline = $('cmdline');
if ((keycode == 191 || keychar == '?') && shift_key) { // ?
if (!Element.visible("hotkey_help_overlay")) {
//Element.show("hotkey_help_overlay");
- Effect.Appear("hotkey_help_overlay", {duration : 0.3});
+ Effect.Appear("hotkey_help_overlay", {duration : 0.3, to: 0.9});
} else {
Element.hide("hotkey_help_overlay");
}
return false;
}
+function clearArticleAccessKeys() {
+
+ var ok = confirm(__("This will invalidate all previously shared article URLs. Continue?"));
+
+ if (ok) {
+ notify_progress("Clearing URLs...");
+
+ var query = "?op=rpc&subop=clearArticleKeys";
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ notify_info("Shared URLs cleared.");
+ } });
+ }
+
+ return false;
+}
function resetFeedOrder() {
try {
notify_progress("Loading, please wait...");
},
execute: function() {
if (this.validate()) {
- var caption = this.attr('value').id;
var caption = this.attr('value').caption;
var fg_color = this.attr('value').fg_color;
var bg_color = this.attr('value').bg_color;
exception_error("insertSSLcerial", e);
}
}
+
+function getSelectedInstances() {
+ return getSelectedTableRowIds("prefInstanceList");
+}
+
+function addInstance() {
+ try {
+ var query = "backend.php?op=dlg&id=addInstance";
+
+ if (dijit.byId("instanceAddDlg"))
+ dijit.byId("instanceAddDlg").destroyRecursive();
+
+ dialog = new dijit.Dialog({
+ id: "instanceAddDlg",
+ title: __("Link Instance"),
+ style: "width: 600px",
+ regenKey: function() {
+ new Ajax.Request("backend.php", {
+ parameters: "?op=rpc&subop=genHash",
+ onComplete: function(transport) {
+ var reply = JSON.parse(transport.responseText);
+ if (reply)
+ dijit.byId('instance_add_key').attr('value', reply.hash);
+
+ } });
+ },
+ execute: function() {
+ if (this.validate()) {
+ console.warn(dojo.objectToQuery(this.attr('value')));
+
+ notify_progress('Saving data...', true);
+ new Ajax.Request("backend.php", {
+ parameters: dojo.objectToQuery(this.attr('value')),
+ onComplete: function(transport) {
+ dialog.hide();
+ notify('');
+ updateInstanceList();
+ } });
+ }
+ },
+ href: query,
+ });
+
+ dialog.show();
+
+ } catch (e) {
+ exception_error("addInstance", e);
+ }
+}
+
+function editInstance(id, event) {
+ try {
+ if (!event || !event.ctrlKey) {
+
+ selectTableRows('prefInstanceList', 'none');
+ selectTableRowById('LIRR-'+id, 'LICHK-'+id, true);
+
+ var query = "backend.php?op=pref-instances&subop=edit&id=" +
+ param_escape(id);
+
+ if (dijit.byId("instanceEditDlg"))
+ dijit.byId("instanceEditDlg").destroyRecursive();
+
+ dialog = new dijit.Dialog({
+ id: "instanceEditDlg",
+ title: __("Edit Instance"),
+ style: "width: 600px",
+ regenKey: function() {
+ new Ajax.Request("backend.php", {
+ parameters: "?op=rpc&subop=genHash",
+ onComplete: function(transport) {
+ var reply = JSON.parse(transport.responseText);
+ if (reply)
+ dijit.byId('instance_edit_key').attr('value', reply.hash);
+
+ } });
+ },
+ execute: function() {
+ if (this.validate()) {
+// console.warn(dojo.objectToQuery(this.attr('value')));
+
+ notify_progress('Saving data...', true);
+ new Ajax.Request("backend.php", {
+ parameters: dojo.objectToQuery(this.attr('value')),
+ onComplete: function(transport) {
+ dialog.hide();
+ notify('');
+ updateInstanceList();
+ } });
+ }
+ },
+ href: query,
+ });
+
+ dialog.show();
+
+ } else if (event.ctrlKey) {
+ var cb = $('LICHK-' + id);
+ cb.checked = !cb.checked;
+ toggleSelectRow(cb);
+ }
+
+
+ } catch (e) {
+ exception_error("editInstance", e);
+ }
+}
+
+function removeSelectedInstances() {
+ try {
+ var sel_rows = getSelectedInstances();
+
+ if (sel_rows.length > 0) {
+
+ var ok = confirm(__("Remove selected instances?"));
+
+ if (ok) {
+ notify_progress("Removing selected instances...");
+
+ var query = "?op=pref-instances&subop=remove&ids="+
+ param_escape(sel_rows.toString());
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ notify('');
+ updateInstanceList();
+ } });
+ }
+
+ } else {
+ alert(__("No instances are selected."));
+ }
+
+ } catch (e) {
+ exception_error("removeInstance", e);
+ }
+}
+
+function editSelectedInstance() {
+ var rows = getSelectedInstances();
+
+ if (rows.length == 0) {
+ alert(__("No instances are selected."));
+ return;
+ }
+
+ if (rows.length > 1) {
+ alert(__("Please select only one instance."));
+ return;
+ }
+
+ notify("");
+
+ editInstance(rows[0]);
+}
+