win32 to unix line delimiters changed
[mailer.git] / 0.2.1 / inc / modules / admin / what-config_admins.php
index d1ccc43f7edcf4f6743610820bdbbb755d8c3ff6..27cce72684dee52926a0c39401fd58583488d008 100644 (file)
-<?php\r
-/************************************************************************\r
- * MXChange v0.2.1                                    Start: 06/30/2004 *\r
- * ================                             Last change: 07/02/2004 *\r
- *                                                                      *\r
- * -------------------------------------------------------------------- *\r
- * File: what-config_admins.php                                         *\r
- * -------------------------------------------------------------------- *\r
- * Short description : Configure admin ACLs                             *\r
- * -------------------------------------------------------------------- *\r
- * Kurzbeschreibung  : Admin-ACLs einstellen                            *\r
- * -------------------------------------------------------------------- *\r
- *                                                                      *\r
- * -------------------------------------------------------------------- *\r
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *\r
- * For more information visit: http://www.mxchange.org                  *\r
- *                                                                      *\r
- * This program is free software; you can redistribute it and/or modify *\r
- * it under the terms of the GNU General Public License as published by *\r
- * the Free Software Foundation; either version 2 of the License, or    *\r
- * (at your option) any later version.                                  *\r
- *                                                                      *\r
- * This program is distributed in the hope that it will be useful,      *\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of       *\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *\r
- * GNU General Public License for more details.                         *\r
- *                                                                      *\r
- * You should have received a copy of the GNU General Public License    *\r
- * along with this program; if not, write to the Free Software          *\r
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *\r
- * MA  02110-1301  USA                                                  *\r
- ************************************************************************/\r
-\r
-// Some security stuff...\r
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))\r
-{\r
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";\r
-       require($INC);\r
-}\r
-// Add description as navigation point\r
-ADD_DESCR("admin", basename(__FILE__));\r
-\r
-$SEL = 0;\r
-if (!empty($_POST['sel'])) $SEL = SELECTION_COUNT($_POST['sel']);\r
-\r
-if ((isset($_POST['edit'])) && ($SEL > 0))\r
-{\r
-       // Edit ACLs\r
-       $SW = 2; $OUT = "";\r
-       foreach ($_POST['sel'] as $id=>$sel)\r
-       {\r
-               // Load data for the ID\r
-               $result = SQL_QUERY_ESC("SELECT admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls WHERE id=%d LIMIT 1",\r
-                array(bigintval($id)), __FILE__, __LINE__);\r
-               list($aid, $act, $wht, $mode) = SQL_FETCHROW($result);\r
-               SQL_FREERESULT($result);\r
-\r
-               // Prepare data for the row template\r
-               $content = array(\r
-                       'sw'               => $SW,\r
-                       'id'               => $id,\r
-                       'admins_selection' => ADD_OPTION_LINES("admins", "id", "login", $aid, "default_acl"),\r
-                       'action_selection' => ADMIN_MENU_SELECTION("action", $act, $id),\r
-                       'what_selection'   => ADMIN_MENU_SELECTION("what", $wht, $id),\r
-                       'mode_options'     => ADD_OPTION_LINES(\r
-                               "/ARRAY/",\r
-                               array("allow", "deny"),\r
-                               array(ADMINS_ALLOW_MODE, ADMINS_DENY_MODE),\r
-                               $mode\r
-                       ),\r
-               );\r
-\r
-               // Load row template\r
-               $OUT .= LOAD_TEMPLATE("admin_config_admins_edit_row", true, $content);\r
-               $SW = 3 - $SW;\r
-       }\r
-       define('__ACL_ROWS', $OUT);\r
-\r
-       // Load main template\r
-       LOAD_TEMPLATE("admin_config_admins_edit");\r
-}\r
- elseif ((isset($_POST['change'])) && ($SEL > 0))\r
-{\r
-       // Change entries\r
-       foreach ($_POST['sel'] as $id=>$sel)\r
-       {\r
-               // Secure ID\r
-               $id = bigintval($id);\r
-\r
-               // Update entries\r
-               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins_acls SET admin_id=%d, action_menu='%s', what_menu='%s', access_mode='%s' WHERE id=%d LIMIT 1",\r
-                array($_POST['admin'][$id], $_POST['action_menu'][$id], $_POST['what_menu'][$id], $_POST['mode'][$id], $id),__FILE__, __LINE__);\r
-       }\r
-\r
-       // Update cache when installed\r
-       if (EXT_IS_ACTIVE("cache"))\r
-       {\r
-               if ($CACHE->cache_file("admins_acls", true) == true) $CACHE->cache_destroy();\r
-       }\r
-\r
-       // Entries changed\r
-       LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ADMINS_ENTRIES_CHANGED);\r
-}\r
- elseif ((isset($_POST['del'])) && ($SEL > 0))\r
-{\r
-       // Delete ACLs\r
-       $SW = 2; $OUT = "";\r
-       foreach ($_POST['sel'] as $id=>$sel)\r
-       {\r
-               // Load data for the ID\r
-               $result = SQL_QUERY_ESC("SELECT admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls WHERE id=%d LIMIT 1",\r
-                array(bigintval($id)), __FILE__, __LINE__);\r
-               list($admin, $act, $wht, $mode) = SQL_FETCHROW($result);\r
-               SQL_FREERESULT($result);\r
-\r
-               // Prepare variables\r
-               if (empty($act)) $act = "---";\r
-               if (empty($wht))   $wht   = "---";\r
-               $eval = "\$mode = ADMINS_".strtoupper($mode)."_MODE;";\r
-               eval($eval);\r
-\r
-               // Load admin's data\r
-               $login = GET_ADMIN_LOGIN($admin);\r
-               if ($login != "***")\r
-               {\r
-                       // Admin found\r
-                       $admin = "<A href=\"".URL."/modules.php?module=admin&amp;what=admins_contct&amp;admin=".$admin."\">".$login."</A>";\r
-               }\r
-                else\r
-               {\r
-                       // Maybe deleted?\r
-                       $admin = "<FONT class=\"admin_note\">".ADMIN_ID_404_1.$admin.ADMIN_ID_404_2."</FONT>";\r
-               }\r
-\r
-               // Prepare data for the row template\r
-               $content = array(\r
-                       'sw'     => $SW,\r
-                       'id'     => $id,\r
-                       'admin'  => $admin,\r
-                       'action' => $act,\r
-                       'what'   => $wht,\r
-                       'mode'   => $mode,\r
-               );\r
-\r
-               // Load row template and switch colors\r
-               $OUT .= LOAD_TEMPLATE("admin_config_admins_del_row", true, $content);\r
-               $SW = 3 - $SW;\r
-       }\r
-       define('__ACL_ROWS', $OUT);\r
-\r
-       // Load main template\r
-       LOAD_TEMPLATE("admin_config_admins_del");\r
-}\r
- elseif ((isset($_POST['remove'])) && ($SEL > 0))\r
-{\r
-       // Remove entries\r
-       foreach ($_POST['sel'] as $id=>$sel)\r
-       {\r
-               $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admins_acls WHERE id=%d LIMIT 1",\r
-                array(bigintval($id)),__FILE__, __LINE__);\r
-       }\r
-\r
-       // Update cache when installed\r
-       if (EXT_IS_ACTIVE("cache"))\r
-       {\r
-               if ($CACHE->cache_file("admins_acls", true) == true) $CACHE->cache_destroy();\r
-       }\r
-\r
-       // Entries deleted\r
-       LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ADMINS_ENTRIES_DELETED);\r
-}\r
- elseif (isset($_POST['add']))\r
-{\r
-       // Check if everything is fine...\r
-       $result = SQL_QUERY_ESC("SELECT default_acl FROM "._MYSQL_PREFIX."_admins WHERE id=%d LIMIT 1",\r
-        array(bigintval($_POST['admin_id'])), __FILE__, __LINE__);\r
-       list($mode) = SQL_FETCHROW($result);\r
-       SQL_FREERESULT($result);\r
-\r
-       // Default ACL is false\r
-       $ACL = false;\r
-       if (!empty($_POST['what_menu']))\r
-       {\r
-               // Check parent ACL\r
-               $ACL = ADMINS_CHECK_ACL(GET_ACTION("admin", $_POST['what_menu']), "");\r
-       }\r
-\r
-       if ($mode != $_POST['mode'] || ($ACL))\r
-       {\r
-               // Mode is fine\r
-               $BOTH = ((!empty($_POST['action_menu'])) && (!empty($_POST['what_menu'])));\r
-               if (((!empty($_POST['action_menu'])) || (!empty($_POST['what_menu']))) && (!$BOTH))\r
-               {\r
-                       // Main or sub menu selected\r
-                       $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_admins_acls WHERE admin_id=%d AND action_menu='%s' AND what_menu='%s' LIMIT 1",\r
-                        array(bigintval($_POST['admin_id']), $_POST['action_menu'], $_POST['what_menu']), __FILE__, __LINE__);\r
-                       if (SQL_NUMROWS($result) == 0)\r
-                       {\r
-                               // Finally add the new ACL\r
-                               $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins_acls (admin_id, action_menu, what_menu, access_mode)\r
-VALUES ('%s', '%s', '%s', '%s')",\r
- array(\r
-       $_POST['admin_id'],\r
-       $_POST['action_menu'],\r
-       $_POST['what_menu'],\r
-       $_POST['mode']\r
-), __FILE__, __LINE__);\r
-                               $content = ADMIN_ADMINS_ACL_SAVED;\r
-\r
-                               // Update cache when installed\r
-                               if (EXT_IS_ACTIVE("cache"))\r
-                               {\r
-                                       if ($CACHE->cache_file("admins_acls", true) == true) $CACHE->cache_destroy();\r
-                               }\r
-                       }\r
-                        else\r
-                       {\r
-                               // ACL does already exist!\r
-                               $content = ADMIN_ADMINS_ACL_ALREADY_ADDED;\r
-                       }\r
-\r
-                       // Free memory\r
-                       SQL_FREERESULT($result);\r
-               }\r
-                else\r
-               {\r
-                       // No menu selected makes also no sence...\r
-                       $content = ADMIN_ADMINS_SELECT_ACTION_WHAT;\r
-               }\r
-       }\r
-        else\r
-       {\r
-               // Same mode makes no sence...\r
-               $content = ADMIN_ADMINS_SAME_MODE_SELECTED;\r
-       }\r
-\r
-       // Display message\r
-       LOAD_TEMPLATE("admin_settings_saved", false, $content);\r
-}\r
- else\r
-{\r
-       // List all ACLs\r
-       $result_acls = SQL_QUERY("SELECT id, admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls ORDER BY admin_id, id", __FILE__, __LINE__);\r
-       if (SQL_NUMROWS($result_acls) > 0)\r
-       {\r
-               // List ACLs\r
-               $SW = 2; $OUT = "";\r
-               while(list($id, $admin, $act, $wht, $mode) = SQL_FETCHROW($result_acls))\r
-               {\r
-                       // Prepare variables\r
-                       if (empty($act)) $act = "---";\r
-                       if (empty($wht))   $wht   = "---";\r
-                       $eval = "\$mode = ADMINS_".strtoupper($mode)."_MODE;";\r
-                       eval($eval);\r
-\r
-                       // Load admin's data\r
-                       $login = GET_ADMIN_LOGIN($admin);\r
-                       if ($login != "***")\r
-                       {\r
-                               // Admin found\r
-                               $admin = "<A href=\"".URL."/modules.php?module=admin&amp;what=admins_contct&amp;admin=".$admin."\">".$login."</A>";\r
-                       }\r
-                        else\r
-                       {\r
-                               // Maybe deleted?\r
-                               $admin = "<FONT class=\"admin_note\">".ADMIN_ID_404_1.$admin.ADMIN_ID_404_2."</FONT>";\r
-                       }\r
-\r
-                       // Prepare data for the row template\r
-                       $content = array(\r
-                               'sw'     => $SW,\r
-                               'id'     => $id,\r
-                               'admin'  => $admin,\r
-                               'action' => $act,\r
-                               'what'   => $wht,\r
-                               'mode'   => $mode,\r
-                       );\r
-\r
-                       // Load row template and switch colors\r
-                       $OUT .= LOAD_TEMPLATE("admin_config_admins_row", true, $content);\r
-                       $SW = 3 - $SW;\r
-               }\r
-\r
-               // Free memory\r
-               SQL_FREERESULT($result);\r
-               define('__ACL_ROWS', $OUT);\r
-\r
-               // Load main template\r
-               LOAD_TEMPLATE("admin_config_admins");\r
-       }\r
-\r
-       // Prepare some constants for the template\r
-       define('_ADMINS_SELECTION', ADD_OPTION_LINES("admins", "id", "login", "", "default_acl"));\r
-       define('_ACTION_SELECTION', ADMIN_MENU_SELECTION("action"));\r
-       define('_WHAT_SELECTION'  , ADMIN_MENU_SELECTION("what"));\r
-       define('_MODE_OPTIONS'    , ADD_OPTION_LINES("/ARRAY/", array("allow", "deny"), array(ADMINS_ALLOW_MODE, ADMINS_DENY_MODE)));\r
-\r
-       // Load template for adding new ACL\r
-       LOAD_TEMPLATE("admin_admins_add_acl");\r
-}\r
-//\r
-?>\r
+<?php
+/************************************************************************
+ * MXChange v0.2.1                                    Start: 06/30/2004 *
+ * ================                             Last change: 07/02/2004 *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * File: what-config_admins.php                                         *
+ * -------------------------------------------------------------------- *
+ * Short description : Configure admin ACLs                             *
+ * -------------------------------------------------------------------- *
+ * Kurzbeschreibung  : Admin-ACLs einstellen                            *
+ * -------------------------------------------------------------------- *
+ *                                                                      *
+ * -------------------------------------------------------------------- *
+ * Copyright (c) 2003 - 2008 by Roland Haeder                           *
+ * For more information visit: http://www.mxchange.org                  *
+ *                                                                      *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or    *
+ * (at your option) any later version.                                  *
+ *                                                                      *
+ * This program is distributed in the hope that it will be useful,      *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
+ * GNU General Public License for more details.                         *
+ *                                                                      *
+ * You should have received a copy of the GNU General Public License    *
+ * along with this program; if not, write to the Free Software          *
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
+ * MA  02110-1301  USA                                                  *
+ ************************************************************************/
+
+// Some security stuff...
+if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
+{
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+       require($INC);
+}
+// Add description as navigation point
+ADD_DESCR("admin", basename(__FILE__));
+
+$SEL = 0;
+if (!empty($_POST['sel'])) $SEL = SELECTION_COUNT($_POST['sel']);
+
+if ((isset($_POST['edit'])) && ($SEL > 0))
+{
+       // Edit ACLs
+       $SW = 2; $OUT = "";
+       foreach ($_POST['sel'] as $id=>$sel)
+       {
+               // Load data for the ID
+               $result = SQL_QUERY_ESC("SELECT admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls WHERE id=%d LIMIT 1",
+                array(bigintval($id)), __FILE__, __LINE__);
+               list($aid, $act, $wht, $mode) = SQL_FETCHROW($result);
+               SQL_FREERESULT($result);
+
+               // Prepare data for the row template
+               $content = array(
+                       'sw'               => $SW,
+                       'id'               => $id,
+                       'admins_selection' => ADD_OPTION_LINES("admins", "id", "login", $aid, "default_acl"),
+                       'action_selection' => ADMIN_MENU_SELECTION("action", $act, $id),
+                       'what_selection'   => ADMIN_MENU_SELECTION("what", $wht, $id),
+                       'mode_options'     => ADD_OPTION_LINES(
+                               "/ARRAY/",
+                               array("allow", "deny"),
+                               array(ADMINS_ALLOW_MODE, ADMINS_DENY_MODE),
+                               $mode
+                       ),
+               );
+
+               // Load row template
+               $OUT .= LOAD_TEMPLATE("admin_config_admins_edit_row", true, $content);
+               $SW = 3 - $SW;
+       }
+       define('__ACL_ROWS', $OUT);
+
+       // Load main template
+       LOAD_TEMPLATE("admin_config_admins_edit");
+}
+ elseif ((isset($_POST['change'])) && ($SEL > 0))
+{
+       // Change entries
+       foreach ($_POST['sel'] as $id=>$sel)
+       {
+               // Secure ID
+               $id = bigintval($id);
+
+               // Update entries
+               $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins_acls SET admin_id=%d, action_menu='%s', what_menu='%s', access_mode='%s' WHERE id=%d LIMIT 1",
+                array($_POST['admin'][$id], $_POST['action_menu'][$id], $_POST['what_menu'][$id], $_POST['mode'][$id], $id),__FILE__, __LINE__);
+       }
+
+       // Update cache when installed
+       if (EXT_IS_ACTIVE("cache"))
+       {
+               if ($CACHE->cache_file("admins_acls", true) == true) $CACHE->cache_destroy();
+       }
+
+       // Entries changed
+       LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ADMINS_ENTRIES_CHANGED);
+}
+ elseif ((isset($_POST['del'])) && ($SEL > 0))
+{
+       // Delete ACLs
+       $SW = 2; $OUT = "";
+       foreach ($_POST['sel'] as $id=>$sel)
+       {
+               // Load data for the ID
+               $result = SQL_QUERY_ESC("SELECT admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls WHERE id=%d LIMIT 1",
+                array(bigintval($id)), __FILE__, __LINE__);
+               list($admin, $act, $wht, $mode) = SQL_FETCHROW($result);
+               SQL_FREERESULT($result);
+
+               // Prepare variables
+               if (empty($act)) $act = "---";
+               if (empty($wht))   $wht   = "---";
+               $eval = "\$mode = ADMINS_".strtoupper($mode)."_MODE;";
+               eval($eval);
+
+               // Load admin's data
+               $login = GET_ADMIN_LOGIN($admin);
+               if ($login != "***")
+               {
+                       // Admin found
+                       $admin = "<A href=\"".URL."/modules.php?module=admin&amp;what=admins_contct&amp;admin=".$admin."\">".$login."</A>";
+               }
+                else
+               {
+                       // Maybe deleted?
+                       $admin = "<FONT class=\"admin_note\">".ADMIN_ID_404_1.$admin.ADMIN_ID_404_2."</FONT>";
+               }
+
+               // Prepare data for the row template
+               $content = array(
+                       'sw'     => $SW,
+                       'id'     => $id,
+                       'admin'  => $admin,
+                       'action' => $act,
+                       'what'   => $wht,
+                       'mode'   => $mode,
+               );
+
+               // Load row template and switch colors
+               $OUT .= LOAD_TEMPLATE("admin_config_admins_del_row", true, $content);
+               $SW = 3 - $SW;
+       }
+       define('__ACL_ROWS', $OUT);
+
+       // Load main template
+       LOAD_TEMPLATE("admin_config_admins_del");
+}
+ elseif ((isset($_POST['remove'])) && ($SEL > 0))
+{
+       // Remove entries
+       foreach ($_POST['sel'] as $id=>$sel)
+       {
+               $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admins_acls WHERE id=%d LIMIT 1",
+                array(bigintval($id)),__FILE__, __LINE__);
+       }
+
+       // Update cache when installed
+       if (EXT_IS_ACTIVE("cache"))
+       {
+               if ($CACHE->cache_file("admins_acls", true) == true) $CACHE->cache_destroy();
+       }
+
+       // Entries deleted
+       LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ADMINS_ENTRIES_DELETED);
+}
+ elseif (isset($_POST['add']))
+{
+       // Check if everything is fine...
+       $result = SQL_QUERY_ESC("SELECT default_acl FROM "._MYSQL_PREFIX."_admins WHERE id=%d LIMIT 1",
+        array(bigintval($_POST['admin_id'])), __FILE__, __LINE__);
+       list($mode) = SQL_FETCHROW($result);
+       SQL_FREERESULT($result);
+
+       // Default ACL is false
+       $ACL = false;
+       if (!empty($_POST['what_menu']))
+       {
+               // Check parent ACL
+               $ACL = ADMINS_CHECK_ACL(GET_ACTION("admin", $_POST['what_menu']), "");
+       }
+
+       if ($mode != $_POST['mode'] || ($ACL))
+       {
+               // Mode is fine
+               $BOTH = ((!empty($_POST['action_menu'])) && (!empty($_POST['what_menu'])));
+               if (((!empty($_POST['action_menu'])) || (!empty($_POST['what_menu']))) && (!$BOTH))
+               {
+                       // Main or sub menu selected
+                       $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_admins_acls WHERE admin_id=%d AND action_menu='%s' AND what_menu='%s' LIMIT 1",
+                        array(bigintval($_POST['admin_id']), $_POST['action_menu'], $_POST['what_menu']), __FILE__, __LINE__);
+                       if (SQL_NUMROWS($result) == 0)
+                       {
+                               // Finally add the new ACL
+                               $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins_acls (admin_id, action_menu, what_menu, access_mode)
+VALUES ('%s', '%s', '%s', '%s')",
+ array(
+       $_POST['admin_id'],
+       $_POST['action_menu'],
+       $_POST['what_menu'],
+       $_POST['mode']
+), __FILE__, __LINE__);
+                               $content = ADMIN_ADMINS_ACL_SAVED;
+
+                               // Update cache when installed
+                               if (EXT_IS_ACTIVE("cache"))
+                               {
+                                       if ($CACHE->cache_file("admins_acls", true) == true) $CACHE->cache_destroy();
+                               }
+                       }
+                        else
+                       {
+                               // ACL does already exist!
+                               $content = ADMIN_ADMINS_ACL_ALREADY_ADDED;
+                       }
+
+                       // Free memory
+                       SQL_FREERESULT($result);
+               }
+                else
+               {
+                       // No menu selected makes also no sence...
+                       $content = ADMIN_ADMINS_SELECT_ACTION_WHAT;
+               }
+       }
+        else
+       {
+               // Same mode makes no sence...
+               $content = ADMIN_ADMINS_SAME_MODE_SELECTED;
+       }
+
+       // Display message
+       LOAD_TEMPLATE("admin_settings_saved", false, $content);
+}
+ else
+{
+       // List all ACLs
+       $result_acls = SQL_QUERY("SELECT id, admin_id, action_menu, what_menu, access_mode FROM "._MYSQL_PREFIX."_admins_acls ORDER BY admin_id, id", __FILE__, __LINE__);
+       if (SQL_NUMROWS($result_acls) > 0)
+       {
+               // List ACLs
+               $SW = 2; $OUT = "";
+               while(list($id, $admin, $act, $wht, $mode) = SQL_FETCHROW($result_acls))
+               {
+                       // Prepare variables
+                       if (empty($act)) $act = "---";
+                       if (empty($wht))   $wht   = "---";
+                       $eval = "\$mode = ADMINS_".strtoupper($mode)."_MODE;";
+                       eval($eval);
+
+                       // Load admin's data
+                       $login = GET_ADMIN_LOGIN($admin);
+                       if ($login != "***")
+                       {
+                               // Admin found
+                               $admin = "<A href=\"".URL."/modules.php?module=admin&amp;what=admins_contct&amp;admin=".$admin."\">".$login."</A>";
+                       }
+                        else
+                       {
+                               // Maybe deleted?
+                               $admin = "<FONT class=\"admin_note\">".ADMIN_ID_404_1.$admin.ADMIN_ID_404_2."</FONT>";
+                       }
+
+                       // Prepare data for the row template
+                       $content = array(
+                               'sw'     => $SW,
+                               'id'     => $id,
+                               'admin'  => $admin,
+                               'action' => $act,
+                               'what'   => $wht,
+                               'mode'   => $mode,
+                       );
+
+                       // Load row template and switch colors
+                       $OUT .= LOAD_TEMPLATE("admin_config_admins_row", true, $content);
+                       $SW = 3 - $SW;
+               }
+
+               // Free memory
+               SQL_FREERESULT($result);
+               define('__ACL_ROWS', $OUT);
+
+               // Load main template
+               LOAD_TEMPLATE("admin_config_admins");
+       }
+
+       // Prepare some constants for the template
+       define('_ADMINS_SELECTION', ADD_OPTION_LINES("admins", "id", "login", "", "default_acl"));
+       define('_ACTION_SELECTION', ADMIN_MENU_SELECTION("action"));
+       define('_WHAT_SELECTION'  , ADMIN_MENU_SELECTION("what"));
+       define('_MODE_OPTIONS'    , ADD_OPTION_LINES("/ARRAY/", array("allow", "deny"), array(ADMINS_ALLOW_MODE, ADMINS_DENY_MODE)));
+
+       // Load template for adding new ACL
+       LOAD_TEMPLATE("admin_admins_add_acl");
+}
+//
+?>