]> git.wh0rd.org - tt-rss.git/blobdiff - js/prefs.js
use position:fixed for notify
[tt-rss.git] / js / prefs.js
index 358625e933d86b8deddd18efcbbdb063dfc05548..67a4a378c57c9b1131c7027ebaf7516a1863b908 100644 (file)
@@ -83,17 +83,34 @@ function addUser() {
 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);
@@ -463,43 +480,6 @@ function purgeSelectedFeeds() {
        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();
 
@@ -573,17 +553,24 @@ function selectedUserDetails() {
                        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);
        }
@@ -852,6 +839,15 @@ function updatePrefsList() {
                } });
 }
 
+function updateSystemList() {
+       new Ajax.Request("backend.php", {
+               parameters: "?op=pref-system",
+               onComplete: function(transport) {
+                       dijit.byId('systemConfigTab').attr('content', transport.responseText);
+                       notify("");
+               } });
+}
+
 function selectTab(id, noupdate, method) {
        try {
                if (!noupdate) {
@@ -867,6 +863,8 @@ function selectTab(id, noupdate, method) {
                                updatePrefsList();
                        } else if (id == "userConfig") {
                                updateUsersList();
+                       } else if (id == "systemConfig") {
+                               updateSystemList();
                        }
 
                        var tab = dijit.byId(id + "Tab");
@@ -951,8 +949,11 @@ function init() {
                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);
                                } });
@@ -975,13 +976,8 @@ function validatePrefsReset() {
                        new Ajax.Request("backend.php", {
                                parameters: query,
                                onComplete: function(transport) {
-                                       var msg = transport.responseText;
-                                       if (msg.match("PREFS_THEME_CHANGED")) {
-                                               window.location.reload();
-                                       } else {
-                                               notify_info(msg);
-                                               selectTab();
-                                       }
+                                       updatePrefsList();
+                                       notify_info(transport.responseText);
                                } });
 
                }
@@ -1221,7 +1217,7 @@ function opmlRegenKey() {
 
                        notify_progress("Trying to change address...", true);
 
-                       var query = "?op=rpc&method=regenOPMLKey";
+                       var query = "?op=pref-feeds&method=regenOPMLKey";
 
                        new Ajax.Request("backend.php", {
                                parameters: query,
@@ -1521,7 +1517,7 @@ function clearFeedAccessKeys() {
        if (ok) {
                notify_progress("Clearing URLs...");
 
-               var query = "?op=rpc&method=clearKeys";
+               var query = "?op=pref-feeds&method=clearKeys";
 
                new Ajax.Request("backend.php", {
                        parameters: query,
@@ -1533,25 +1529,6 @@ function clearFeedAccessKeys() {
        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...");
@@ -1601,21 +1578,6 @@ function resetCatOrder() {
        }
 }
 
-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);
@@ -1824,3 +1786,21 @@ function clearPluginData(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();
+                       } });
+
+       }
+}
+
+