X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fadmins_functions.php;h=e81d6a13894c10fa0445d82050399f8149f69ce9;hp=62de1cab3763327df4434fd8e8dca67068d63e0d;hb=05ac410a5adaa49c99b6eeae4bef60f2994f1575;hpb=d6417790061e18fc1a9770ff93bb4e9d106b2f6e diff --git a/inc/libs/admins_functions.php b/inc/libs/admins_functions.php index 62de1cab37..e81d6a1389 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 @@ -442,6 +463,8 @@ 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')",