} });
}
+function checkInactiveFeeds() {
+ try {
+ new Ajax.Request("backend.php", {
+ parameters: "?op=pref-feeds&method=getinactivefeeds",
+ onComplete: function(transport) {
+ if (parseInt(transport.responseText) > 0) {
+ Element.show(dijit.byId("pref_feeds_inactive_btn").domNode);
+ }
+ } });
+
+ } catch (e) {
+ exception_error("checkInactiveFeeds", e);
+ }
+}
function updateUsersList(sort_key) {
try {
function editUser(id, event) {
try {
- notify_progress("Loading, please wait...");
-
- var query = "?op=pref-users&method=edit&id=" +
+ var query = "backend.php?op=pref-users&method=edit&id=" +
param_escape(id);
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- infobox_callback2(transport, __("User Editor"));
- document.forms['user_edit_form'].login.focus();
- } });
+ if (dijit.byId("userEditDlg"))
+ dijit.byId("userEditDlg").destroyRecursive();
+
+ dialog = new dijit.Dialog({
+ id: "userEditDlg",
+ title: __("User Editor"),
+ style: "width: 600px",
+ execute: function() {
+ if (this.validate()) {
+ notify_progress("Saving data...", true);
+
+ var query = dojo.formToQuery("user_edit_form");
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ dialog.hide();
+ updateUsersList();
+ }});
+ }
+ },
+ href: query});
+
+ dialog.show();
} catch (e) {
exception_error("editUser", e);
}
+function editFilterTest(query) {
+ try {
+
+ if (dijit.byId("filterTestDlg"))
+ dijit.byId("filterTestDlg").destroyRecursive();
+
+ var test_dlg = new dijit.Dialog({
+ id: "filterTestDlg",
+ title: "Test Filter",
+ style: "width: 600px",
+ results: 0,
+ limit: 100,
+ max_offset: 10000,
+ getTestResults: function(query, offset) {
+ var updquery = query + "&offset=" + offset + "&limit=" + test_dlg.limit;
+
+ console.log("getTestResults:" + offset);
+
+ new Ajax.Request("backend.php", {
+ parameters: updquery,
+ onComplete: function (transport) {
+ try {
+ var result = JSON.parse(transport.responseText);
+
+ if (result && dijit.byId("filterTestDlg") && dijit.byId("filterTestDlg").open) {
+ test_dlg.results += result.size();
+
+ console.log("got results:" + result.size());
+
+ $("prefFilterProgressMsg").innerHTML = __("Looking for articles (%d processed, %f found)...")
+ .replace("%f", test_dlg.results)
+ .replace("%d", offset);
+
+ console.log(offset + " " + test_dlg.max_offset);
+
+ for (var i = 0; i < result.size(); i++) {
+ var tmp = new Element("table");
+ tmp.innerHTML = result[i];
+ dojo.parser.parse(tmp);
+
+ $("prefFilterTestResultList").innerHTML += tmp.innerHTML;
+ }
+
+ if (test_dlg.results < 30 && offset < test_dlg.max_offset) {
+
+ // get the next batch
+ window.setTimeout(function () {
+ test_dlg.getTestResults(query, offset + test_dlg.limit);
+ }, 0);
+
+ } else {
+ // all done
+
+ Element.hide("prefFilterLoadingIndicator");
+
+ if (test_dlg.results == 0) {
+ $("prefFilterTestResultList").innerHTML = "<tr><td align='center'>No recent articles matching this filter have been found.</td></tr>";
+ $("prefFilterProgressMsg").innerHTML = "Articles matching this filter:";
+ } else {
+ $("prefFilterProgressMsg").innerHTML = __("Found %d articles matching this filter:")
+ .replace("%d", test_dlg.results);
+ }
+
+ }
+
+ } else if (!result) {
+ console.log("getTestResults: can't parse results object");
+
+ Element.hide("prefFilterLoadingIndicator");
+
+ notify_error("Error while trying to get filter test results.");
+
+ } else {
+ console.log("getTestResults: dialog closed, bailing out.");
+ }
+ } catch (e) {
+ exception_error("editFilterTest/inner", e);
+ }
+
+ } });
+ },
+ href: query});
+
+ dojo.connect(test_dlg, "onLoad", null, function(e) {
+ test_dlg.getTestResults(query, 0);
+ });
+
+ test_dlg.show();
+
+ } catch (e) {
+ exception_error("editFilterTest", e);
+ }
+}
+
function editFilter(id) {
try {
id: "filterEditDlg",
title: __("Edit Filter"),
style: "width: 600px",
+
test: function() {
var query = "backend.php?" + dojo.formToQuery("filter_edit_form") + "&savemode=test";
- if (dijit.byId("filterTestDlg"))
- dijit.byId("filterTestDlg").destroyRecursive();
-
- var test_dlg = new dijit.Dialog({
- id: "filterTestDlg",
- title: "Test Filter",
- style: "width: 600px",
- href: query});
-
- test_dlg.show();
+ editFilterTest(query);
},
selectRules: function(select) {
$$("#filterDlg_Matches input[type=checkbox]").each(function(e) {
return false;
}
-function userEditCancel() {
- closeInfoBox();
- return false;
-}
-
-function userEditSave() {
-
- try {
-
- var login = document.forms["user_edit_form"].login.value;
-
- if (login.length == 0) {
- alert(__("Login field cannot be blank."));
- return;
- }
-
- notify_progress("Saving user...");
-
- closeInfoBox();
-
- var query = Form.serialize("user_edit_form");
-
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- updateUsersList();
- } });
-
- } catch (e) {
- exception_error("userEditSave", e);
- }
-
- return false;
-
-}
-
-
function editSelectedUser() {
var rows = getSelectedUsers();
return;
}
- notify_progress("Loading, please wait...");
-
var id = rows[0];
- var query = "?op=pref-users&method=userdetails&id=" + id;
+ var query = "backend.php?op=pref-users&method=userdetails&id=" + id;
+
+ if (dijit.byId("userDetailsDlg"))
+ dijit.byId("userDetailsDlg").destroyRecursive();
+
+ dialog = new dijit.Dialog({
+ id: "userDetailsDlg",
+ title: __("User details"),
+ style: "width: 600px",
+ execute: function() {
+ dialog.hide();
+ },
+ href: query});
+
+ dialog.show();
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- infobox_callback2(transport, __("User details"));
- } });
} catch (e) {
exception_error("selectedUserDetails", e);
}
dojo.addOnLoad(function() {
loading_set_progress(50);
+ var clientTzOffset = new Date().getTimezoneOffset() * 60;
+
new Ajax.Request("backend.php", {
- parameters: {op: "rpc", method: "sanityCheck"},
+ parameters: {op: "rpc", method: "sanityCheck",
+ clientTzOffset: clientTzOffset },
onComplete: function(transport) {
backend_sanity_check_callback(transport);
} });
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&method=clearArticleKeys";
-
- new Ajax.Request("backend.php", {
- parameters: query,
- onComplete: function(transport) {
- notify_info("Shared URLs cleared.");
- } });
- }
-
- return false;
-}
-
function resetFilterOrder() {
try {
notify_progress("Loading, please wait...");
}
}
-function toggleHiddenFeedCats() {
- try {
- notify_progress("Loading, please wait...");
-
- new Ajax.Request("backend.php", {
- parameters: "?op=pref-feeds&method=togglehiddenfeedcats",
- onComplete: function(transport) {
- updateFeedList();
- } });
-
- } catch (e) {
- exception_error("toggleHiddenFeedCats");
- }
-}
-
function editCat(id, item, event) {
try {
var new_name = prompt(__('Rename category to:'), item.name);
exception_error("clearPluginData", e);
}
}
+
+function clearSqlLog() {
+
+ if (confirm(__("Clear all messages in the error log?"))) {
+
+ notify_progress("Loading, please wait...");
+ var query = "?op=pref-system&method=clearLog";
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ updateSystemList();
+ } });
+
+ }
+}
+
+