Some marjor bugfixes and little improvements
[mailer.git] / inc / libs / admins_functions.php
index 403c32150ce7d1f047e1f9968965bf8d41f75341..251e2a4e072ba86d7a30936c55a6f0f590f6177c 100644 (file)
@@ -53,7 +53,6 @@ function ADMINS_CHECK_ACL($act, $wht) {
        // Get admin's defult access right
        $default = GET_ADMIN_DEFAULT_ACL($aid);
 
-
        if (!empty($wht)) {
                // Check for parent menu:
                // First get it's action value
@@ -259,6 +258,9 @@ WHERE id=%s LIMIT 1",
 
 // Make admin accounts editable
 function ADMINS_EDIT_ADMIN_ACCOUNTS ($POST) {
+       // "Resolve" current's admin access mode
+       $currMode = GET_ADMIN_DEFAULT_ACL(GET_CURRENT_ADMIN_ID());
+
        // Begin the edit loop
        $SW = 2; $OUT = "";
        foreach ($POST['sel'] as $id => $sel) {
@@ -267,7 +269,7 @@ function ADMINS_EDIT_ADMIN_ACCOUNTS ($POST) {
 
                // Get the admin's data
                $result = SQL_QUERY_ESC("SELECT login, email, default_acl AS mode, la_mode FROM "._MYSQL_PREFIX."_admins WHERE id=%s LIMIT 1",
-                array($id), __FILE__, __LINE__);
+                       array($id), __FILE__, __LINE__);
                if ((SQL_NUMROWS($result) == 1) && ($sel == 1)) {
                        // Entry found
                        $content = SQL_FETCHARRAY($result);
@@ -278,7 +280,7 @@ function ADMINS_EDIT_ADMIN_ACCOUNTS ($POST) {
                        $content['id'] = $id;
 
                        // Shall we allow changing default ACL?
-                       if ($content['mode'] == "allow") {
+                       if ($currMode == "allow") {
                                // Allow chaning it
                                $content['mode']    = ADD_OPTION_LINES("/ARRAY/", array("allow", "deny"), array(ADMINS_ALLOW_MODE, ADMINS_DENY_MODE), $content['mode']);
                        } else {
@@ -396,10 +398,7 @@ function ADMINS_LIST_ADMIN_ACCOUNTS() {
 }
 
 // Filter for adding extra data to the query
-function FILTER_ADD_EXTRA_SQL_DATA () {
-       // Init extra data
-       $ADD = "";
-
+function FILTER_ADD_EXTRA_SQL_DATA ($ADD = "") {
        // Is the admins extension updated? (should be!)
        if (GET_EXT_VERSION("admins") >= "0.3")   $ADD .= ", default_acl AS def_acl";
        if (GET_EXT_VERSION("admins") >= "0.6.7") $ADD .= ", la_mode";