X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Floader%2Fload-admins.php;h=c34f9585bed3616ce8d942263334b8de87321a47;hp=f769d6b98cfa4cd42a03e121d53393d36cb9d2d1;hb=8fad776382e63b3f73f8dbe289f229d79cfc2c22;hpb=6a0c39a390c28999679d84a7ae5264363b0054dc diff --git a/inc/loader/load-admins.php b/inc/loader/load-admins.php index f769d6b98c..c34f9585be 100644 --- a/inc/loader/load-admins.php +++ b/inc/loader/load-admins.php @@ -16,8 +16,8 @@ * $Author:: $ * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009 - 2011 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://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 * @@ -57,7 +57,7 @@ if (($GLOBALS['cache_instance']->loadCacheFile('admin')) && ($GLOBALS['cache_ins foreach ($GLOBALS['cache_array']['admin']['login'] as $idx => $admin) { // Rewrite all entries foreach ($GLOBALS['cache_array']['admin'] as $key => $entry) { - // Do we have login or regular entries? + // Is there login or regular entries? if ($key == 'admin_id') { // Admin id, so use login $admins[$key][$GLOBALS['cache_array']['admin']['login'][$idx]] = $entry[$idx]; @@ -90,14 +90,18 @@ if (($GLOBALS['cache_instance']->loadCacheFile('admin')) && ($GLOBALS['cache_ins // Query the database about this $result = SQL_QUERY('SELECT - `id` AS admin_id, `login`, `password`, `email`' . $add . ' + `id` AS `admin_id`, + `login`, + `password`, + `email` + ' . $add . ' FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `login` ASC', __FILE__, __LINE__); - while ($dummy = SQL_FETCHARRAY($result)) { + while ($row = SQL_FETCHARRAY($result)) { // Save row - $GLOBALS['cache_instance']->addRow($dummy); + $GLOBALS['cache_instance']->addRow($row); } // END - while // Free memory @@ -112,7 +116,7 @@ ORDER BY if (isExtensionInstalledAndNewer('admins', '0.3')) { // Check for cache file if (($GLOBALS['cache_instance']->loadCacheFile('admin_acls')) && ($GLOBALS['cache_instance']->extensionVersionMatches('admins'))) { - // Load referal system from cache + // Load admin ACLs from cache $GLOBALS['cache_array']['admin_acls'] = $GLOBALS['cache_instance']->getArrayFromCache(); // Check if valid @@ -124,10 +128,10 @@ if (isExtensionInstalledAndNewer('admins', '0.3')) { foreach ($GLOBALS['cache_array']['admin_acls']['admin_id'] as $idx => $admin) { // Rewrite all entries foreach ($GLOBALS['cache_array']['admin_acls'] as $key => $entry) { - // Do we have 'admin_id' or regular entries? + // Is there 'admin_id' or regular entries? if ($key != 'admin_id') { // Regular entry so use id - $admins[$key][$GLOBALS['cache_array']['admin_acls']['admin_id'][$idx]][] = $entry[$idx]; + array_push($admins[$key][$GLOBALS['cache_array']['admin_acls']['admin_id'][$idx]], $entry[$idx]); } // END - if } // END - foreach } // END - foreach @@ -140,17 +144,20 @@ if (isExtensionInstalledAndNewer('admins', '0.3')) { $GLOBALS['cache_instance']->removeCacheFile(); unset($GLOBALS['cache_array']['admin_acls']); } - } else { + } elseif (count($GLOBALS['cache_array']['admin_acls']) > 0) { // Nope, cache file is corrupted! $GLOBALS['cache_instance']->removeCacheFile(); unset($GLOBALS['cache_array']['admin_acls']); + } elseif (isDebugModeEnabled()) { + // This may drive a lot messages to the logfile + //* DEBUG: */ logDebugMessage(__FILE__, __LINE__, 'No entry found in admin_acls to rewrite.'); } } elseif (isHtmlOutputMode()) { // Create cache file here $GLOBALS['cache_instance']->init(); - // Load all modules and their data (column 'id' is no longer required) - $result = SQL_QUERY('SELECT `admin_id`, `action_menu`, `what_menu`, `access_mode` FROM `{?_MYSQL_PREFIX?}_admins_acls` ORDER BY `admin_id` ASC, `action_menu` ASC, `what_menu` ASC', __FILE__, __LINE__); + // Load all admins and their data + $result = SQL_QUERY('SELECT * FROM `{?_MYSQL_PREFIX?}_admins_acls` ORDER BY `admin_id` ASC,`action_menu` ASC,`what_menu` ASC', __FILE__, __LINE__); // Add all rows while ($content = SQL_FETCHARRAY($result)) {