X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin.php;h=d416353943a48b21069446b62bd7d3bfbfd76d22;hb=dfc74ff226d77b6e659866111e86a56ee2596d83;hp=7578e6c7d582c34c36c21f59b84888d217df7b57;hpb=e6e3183f794b385f5acc38b371c220cc35cdac38;p=mailer.git diff --git a/inc/modules/admin.php b/inc/modules/admin.php index 7578e6c7d5..d416353943 100644 --- a/inc/modules/admin.php +++ b/inc/modules/admin.php @@ -41,7 +41,7 @@ if (!defined('__SECURITY')) { if ((empty($GLOBALS['action'])) && ($check == "admin_only")) { // Redirect to right URL LOAD_URL("modules.php?module=admin&action=login"); -} +} // END - if // Load include file require_once(PATH."inc/modules/admin/admin-inc.php"); @@ -49,7 +49,7 @@ require_once(PATH."inc/modules/admin/admin-inc.php"); // Fix "deleted" cookies in PHP4 (PHP5 does remove them, PHP4 sets them to deleted!) FIX_DELETED_COOKIES(array('admin_login', 'admin_md5', 'admin_last', 'admin_to')); -if (!defined('admin_registered')) { +if (!isBooleanConstantAndTrue('admin_registered')) { // Admin is not registered so we have to inform the user if ((isset($_POST['ok'])) && ((empty($_POST['login'])) || (empty($_POST['pass'])) || (strlen($_POST['pass']) < 4))) $_POST['ok'] = "***"; if ((isset($_POST['ok'])) && ($_POST['ok'] != "***")) { @@ -90,14 +90,15 @@ if (!defined('admin_registered')) { $ret = "done"; } - if (!defined('admin_registered')) { + // Admin still not registered? + if (!isBooleanConstantAndTrue('admin_registered')) { // Write to config that registration is done admin_WriteData(PATH."inc/config.php", "ADMIN-SETUP", "define('admin_registered', ", ");", "true", 0); // Load URL for login $URL = URL."/modules.php?module=admin&action=login"; LOAD_URL($URL); - } + } // END - if break; } } @@ -203,6 +204,8 @@ if (!defined('admin_registered')) { if ((isset($_POST['ok'])) && ($_POST['ok'] != "***")) { // All required data was entered so we check his account $ret = CHECK_ADMIN_LOGIN($_POST['login'], $_POST['pass']); + + // Which status do we have? switch ($ret) { case "done": // Admin and password are okay, so we log in now @@ -226,11 +229,13 @@ if (!defined('admin_registered')) { case "404": // Administrator login not found $_POST['ok'] = $ret; $ret = ADMIN_NOT_FOUND; + DESTROY_ADMIN_SESSION(); break; case "pass": // Wrong password $_POST['ok'] = $ret; $ret = WRONG_PASS." [".ADMIN_RESET_PASS."]\n"; + DESTROY_ADMIN_SESSION(); break; } } @@ -297,16 +302,7 @@ if (!defined('admin_registered')) { } } elseif (isset($_GET['logout'])) { // Only try to remove cookies - if (set_session("admin_login", "") && set_session("admin_md5", "") && set_session("admin_last", "") && set_session("admin_to", "")) { - // Also remove array elements - set_session('admin_login', ""); - set_session('admin_md5' , ""); - set_session('admin_last' , ""); - set_session('admin_to' , ""); - - // Destroy session - @session_destroy(); - + if (DESTROY_ADMIN_SESSION()) { // Load logout template if (isset($_GET['register'])) { // Secure input @@ -359,15 +355,15 @@ if (!defined('admin_registered')) { if (empty($_CONFIG['admin_menu'])) $_CONFIG['admin_menu'] = "OLD"; // Check for version and switch between old menu system and new "intelligent menu system" - if ((ADMIN_CHECK_MENU_MODE() == "NEW") && (FILE_READABLE(PATH."inc/modules/admin/la_sys-inc.php"))) { + if ((ADMIN_CHECK_MENU_MODE() == "NEW") && (FILE_READABLE(PATH."inc/modules/admin/lasys-inc.php"))) { // Default area is the entrance, of course $area = "entrance"; // Check for similar URL variable - if (!empty($_GET['area'])) $area = $_GET['area']; + if (!empty($_GET['area'])) $area = SQL_ESCAPE($_GET['area']); // Load "logical-area menu-system" file - require_once(PATH."inc/modules/admin/la_sys-inc.php"); + require_once(PATH."inc/modules/admin/lasys-inc.php"); // Create new-style menu system will "logical areas" ADMIN_LOGICAL_AREA_SYSTEM($area, $act, $GLOBALS['what']); @@ -385,20 +381,17 @@ if (!defined('admin_registered')) { case "404": // Administrator login not found $_POST['ok'] = $ret; + DESTROY_ADMIN_SESSION(); ADD_FATAL(ADMIN_NOT_FOUND); break; case "pass": // Wrong password $_POST['ok'] = $ret; + DESTROY_ADMIN_SESSION(); ADD_FATAL(WRONG_PASS); break; } } -if (isBooleanConstantAndTrue('admin_registered')) { - // Check config.php and inc directory for right access rights - if (is_INCWritable("config")) ADD_FATAL(FATAL_CONFIG_WRITABLE); - if (is_INCWritable("dummy")) ADD_FATAL(FATAL_INC_WRITABLE); -} // ?>