X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Fadmins_functions.php;h=2b7c2de65247a1b10f0f0f6fc061e4be88451a49;hb=00e734ff1236dc875952f5b34dada9892568e7cd;hp=62de1cab3763327df4434fd8e8dca67068d63e0d;hpb=d6417790061e18fc1a9770ff93bb4e9d106b2f6e;p=mailer.git diff --git a/inc/libs/admins_functions.php b/inc/libs/admins_functions.php index 62de1cab37..2b7c2de652 100644 --- a/inc/libs/admins_functions.php +++ b/inc/libs/admins_functions.php @@ -169,12 +169,15 @@ LIMIT 1", } // Change a lot admin account -function adminsChangeAdminAccount ($postData, $element = '') { +function adminsChangeAdminAccount ($postData, $element = '', $displayMessage = true) { // Begin the update $cache_update = '0'; + $message = ''; + foreach ($postData['login'] as $id => $login) { // Secure id number $id = bigintval($id); + /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'id=' . $id . ',login=' . $login); // When both passwords match update admin account if ((!empty($element)) && (isset($postData[$element]))) { @@ -184,7 +187,7 @@ function adminsChangeAdminAccount ($postData, $element = '') { // Admin account saved $message = '{--ADMIN_ACCOUNT_SAVED--}'; - } elseif ((isset($postData['pass1'])) && (isset($postData['pass2']))) { + } elseif ((!empty($postData['pass1'])) && (!empty($postData['pass2']))) { // Update only if both passwords match if (($postData['pass1'][$id] == $postData['pass2'][$id])) { // Save only when both passwords are the same (also when they are empty) @@ -194,7 +197,9 @@ function adminsChangeAdminAccount ($postData, $element = '') { $hash = generateHash($postData['pass1'][$id]); // Save password when set - if (!empty($postData['pass1'][$id])) $add = sprintf(", `password`='%s'", SQL_ESCAPE($hash)); + if (!empty($postData['pass1'][$id])) { + $add = sprintf(", `password`='%s'", SQL_ESCAPE($hash)); + } // END - if // Get admin's id $adminId = getCurrentAdminId(); @@ -272,7 +277,9 @@ LIMIT 1", $SQL = 'UPDATE `{?_MYSQL_PREFIX?}_admins` SET '; foreach ($postData as $entry => $value) { // Skip login/id entry - if (in_array($entry, array('login', 'id'))) continue; + if (in_array($entry, array('login', 'id'))) { + continue; + } // END - if // Do we have a non-string (e.g. number, NULL, NOW() or back-tick at the beginning? if (is_null($value[$id])) { @@ -292,16 +299,30 @@ LIMIT 1", // Run it SQL_QUERY_ESC($SQL, array(bigintval($id)), __FUNCTION__, __LINE__); + + // Was it updated? + if (SQL_AFFECTEDROWS() == 1) { + // Admin account saved + $message = '{--ADMIN_ACCOUNT_SAVED--}'; + } else { + // Passwords did not match + $message = '{--ADMIN_ADMINS_ERROR_PASS_MISMATCH--}'; + } } } // END - foreach // Display message if (!empty($message)) { - displayMessage($message); + if ($displayMessage === true) { + displayMessage($message); + } // END - if } // END - if // Remove cache file runFilterChain('post_form_submited', postRequestArray()); + + // Return message + return $message; } // Make admin accounts editable @@ -316,7 +337,7 @@ function adminsEditAdminAccount ($postData) { $id = bigintval($id); // 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", + $result = SQL_QUERY_ESC("SELECT `login`,`email`,`default_acl` AS mode, `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1", array($id), __FUNCTION__, __LINE__); if ((SQL_NUMROWS($result) == 1) && ($selected == 1)) { // Entry found @@ -356,7 +377,7 @@ function adminsDeleteAdminAccount ($postData) { $id = bigintval($id); // 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", + $result = SQL_QUERY_ESC("SELECT `login`,`email`,`default_acl` AS `mode`,`la_mode` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1", array($id), __FUNCTION__, __LINE__); // Do we have an entry? @@ -412,7 +433,7 @@ function adminsRemoveAdminAccount ($postData) { // List all admin accounts function adminsListAdminAccounts() { // Select all admin accounts - $result = SQL_QUERY('SELECT `id`, `login`, `email`, `default_acl` AS mode, `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `login` ASC', __FUNCTION__, __LINE__); + $result = SQL_QUERY('SELECT `id`,`login`,`email`,`default_acl` AS mode, `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` ORDER BY `login` ASC', __FUNCTION__, __LINE__); $OUT = ''; while ($content = SQL_FETCHARRAY($result)) { // Compile some variables @@ -442,9 +463,11 @@ function sendAdminsEmails ($subj, $template, $content, $userid) { // Check which admin shall receive this mail $result = SQL_QUERY_ESC("SELECT `admin_id` FROM `{?_MYSQL_PREFIX?}_admins_mails` WHERE `mail_template`='%s' ORDER BY `admin_id` ASC", array($template), __FUNCTION__, __LINE__); + + // No entries found? if (SQL_HASZERONUMS($result)) { // Create new entry (to all admins) - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_admins_mails` (`admin_id`, `mail_template`) VALUES (0, '%s')", + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_admins_mails` (`admin_id`,`mail_template`) VALUES (0, '%s')", array($template), __FUNCTION__, __LINE__); } else { // Load admin ids...