]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/admin-inc.php
A lot code rewritten:
[mailer.git] / inc / modules / admin / admin-inc.php
index b4b8d03dcdae100f9937b6398c3c4646163f7401..d455f6cc24b26c33ff02be1531959e2da40fbade 100644 (file)
@@ -77,29 +77,36 @@ function ifAdminLoginDataIsValid ($adminLogin, $adminPassword) {
        // First of all, no admin login is found
        $ret = '404';
 
-       // Then we need to lookup the login name by getting the admin hash
-       $adminHash = getAdminHash($adminLogin);
-
-       // If this is fine, we can continue
-       if ($adminHash != '-1') {
-               // Get admin id and set it as current
-               setCurrentAdminId(getAdminId($adminLogin));
-
-               // Now, we need to encode the password in the same way the one is encoded in database
-               $testHash = generateHash($adminPassword, $adminHash);
-
-               // If they both match, the login data is valid
-               if ($testHash == $adminHash) {
-                       // All fine
-                       $ret = 'done';
-               } else {
-                       // Set status
-                       $ret = 'pass';
-               }
+       // Get admin id from login
+       $adminId = getAdminId($adminLogin);
+
+       // Continue only with found admin ids
+       if ($adminId > 0) {
+               // Then we need to lookup the login name by getting the admin hash
+               $adminHash = getAdminHash($adminId);
+
+               // If this is fine, we can continue
+               if ($adminHash != '-1') {
+                       // Get admin id and set it as current
+                       setCurrentAdminId($adminId);
+
+                       // Now, we need to encode the password in the same way the one is encoded in database
+                       $testHash = generateHash($adminPassword, $adminHash);
+
+                       // If they both match, the login data is valid
+                       if ($testHash == $adminHash) {
+                               // All fine
+                               $ret = 'done';
+                       } else {
+                               // Set status
+                               $ret = 'pass';
+                       }
+               } // END - if
        } // END - if
 
        // Prepare data array
        $data = array(
+               'id'         => $adminId,
                'login'      => $adminLogin,
                'plain_pass' => $adminPassword,
                'pass_hash'  => $adminHash
@@ -124,7 +131,7 @@ function ifAdminCookiesAreValid ($adminLogin, $passHash) {
        if ($adminHash != '-1') {
                // Now, we need to encode the password in the same way the one is encoded in database
                $testHash = encodeHashForCookie($adminHash);
-               //* DEBUG: */ outputHtml('adminLogin='.$adminLogin.',<br />passHash='.$passHash.',<br />adminHash='.$adminHash.',<br />testHash='.$testHash.'<br />');
+               //* DEBUG: */ debugOutput('adminLogin=' . $adminLogin . ',passHash='.$passHash.',adminHash='.$adminHash.',testHash='.$testHash);
 
                // If they both match, the login data is valid
                if ($testHash == $passHash) {
@@ -137,7 +144,7 @@ function ifAdminCookiesAreValid ($adminLogin, $passHash) {
        } // END - if
 
        // Return status
-       //* DEBUG: */ outputHtml('ret='.$ret);
+       //* DEBUG: */ debugOutput('ret='.$ret);
        return $ret;
 }
 
@@ -146,7 +153,7 @@ function doAdminAction () {
        // Get default what
        $what = getWhat();
 
-       //* DEBUG: */ outputHtml(__LINE__.'*'.$what.'/'.getModule().'/'.getAction().'/'.getWhat().'*<br />');
+       //* DEBUG: */ debugOutput(__LINE__.'*'.$what.'/'.getModule().'/'.getAction().'/'.getWhat().'*');
 
        // Remove any spaces from variable
        if (empty($what)) {
@@ -161,7 +168,7 @@ function doAdminAction () {
        $action = getActionFromModuleWhat(getModule(), $what);
 
        // Define admin login name and id number
-       $content['login'] = getSession('admin_login');
+       $content['login'] = getAdminLogin(getSession('admin_id'));
        $content['id']    = getCurrentAdminId();
 
        // Preload templates
@@ -456,7 +463,7 @@ function adminMenuSelectionBox_DEPRECATED ($mode, $default = '', $defid = '') {
                $OUT .= '</select>';
        } else {
                // No menus???
-               $OUT = getMessage('ADMIN_PROBLEM_NO_MENU');
+               $OUT = '{--ADMIN_PROBLEM_NO_MENU--}';
        }
 
        // Return output
@@ -570,7 +577,7 @@ function adminSaveSettings (&$postData, $tableName = '_config', $whereStatement
        rebuildCache('config', 'config');
 
        // Settings saved, so display message?
-       if ($displayMessage === true) loadTemplate('admin_settings_saved', false, getMessage('SETTINGS_SAVED'));
+       if ($displayMessage === true) loadTemplate('admin_settings_saved', false, '{--SETTINGS_SAVED--}');
 
        // Return affected rows
        return $affected;
@@ -715,7 +722,7 @@ function adminChangeActivationStatus ($IDs, $table, $row, $idRow = 'id') {
                loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_STATUS_CHANGED'), $cnt, count($IDs)));
        } else {
                // Nothing selected!
-               loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NOTHING_SELECTED_CHANGE'));
+               loadTemplate('admin_settings_saved', false, '{--ADMIN_NOTHING_SELECTED_CHANGE--}');
        }
 }
 
@@ -733,7 +740,7 @@ function sendAdminBuildMails ($mode, $table, $content, $id, $subjectPart = '', $
        // Is the raw userid set?
        if (postRequestParameter($userid, $id) > 0) {
                // Generate subject
-               $subjectLine = getMessage('MEMBER_'.strtoupper($subject).'_'.strtoupper($table).'_SUBJECT');
+               $subject = '{--MEMBER_' . strtoupper($subject) . '_' . strtoupper($table) . '_SUBJECT--}';
 
                // Load email template
                if (!empty($subjectPart)) {
@@ -743,23 +750,23 @@ function sendAdminBuildMails ($mode, $table, $content, $id, $subjectPart = '', $
                }
 
                // Send email out
-               sendEmail(postRequestParameter($userid, $id), $subjectLine, $mail);
+               sendEmail(postRequestParameter($userid, $id), $subject, $mail);
        } // END - if
 
        // Generate subject
-       $subjectLine = getMessage('ADMIN_'.strtoupper($subject).'_'.strtoupper($table).'_SUBJECT');
+       $subject = '{--ADMIN_' . strtoupper($subject) . '_' . strtoupper($table) . '_SUBJECT--}';
 
        // Send admin notification out
        if (!empty($subjectPart)) {
-               sendAdminNotification($subjectLine, 'admin_' . $mode . '_' . strtolower($subjectPart) . '_' . $table, $content, postRequestParameter($userid, $id));
+               sendAdminNotification($subject, 'admin_' . $mode . '_' . strtolower($subjectPart) . '_' . $table, $content, postRequestParameter($userid, $id));
        } else {
-               sendAdminNotification($subjectLine, 'admin_' . $mode . '_' . $table, $content, postRequestParameter($userid, $id));
+               sendAdminNotification($subject, 'admin_' . $mode . '_' . $table, $content, postRequestParameter($userid, $id));
        }
 }
 
 // Build a special template list
 function adminListBuilder ($listType, $IDs, $table, $columns, $filterFunctions, $extraValues, $idColumn, $userIdColumn, $userid = 'userid') {
-       $OUT = ''; $SW = 2;
+       $OUT = '';
 
        // "Walk" through all entries
        foreach ($IDs as $id => $selected) {
@@ -787,29 +794,23 @@ function adminListBuilder ($listType, $IDs, $table, $columns, $filterFunctions,
                                } // END - if
 
                                // If the key matches the idColumn variable, we need to temporary remember it
-                               //* DEBUG: */ print 'key=' . $key . ',idColumn=' . $idColumn . ',value=' . $value . '<br />';
+                               //* DEBUG: */ debugOutput('key=' . $key . ',idColumn=' . $idColumn . ',value=' . $value);
                                if ($key == $idColumn) {
                                        // Found, so remember it
                                        $GLOBALS['admin_list_builder_id_value'] = $value;
                                } // END - if
 
                                // Handle the call in external function
-                               //* DEBUG: */ print 'key=' . $key . ',fucntion=' . $filterFunctions[$idx] . ',value=' . $value . '<br />';
+                               //* DEBUG: */ debugOutput('key=' . $key . ',fucntion=' . $filterFunctions[$idx] . ',value=' . $value);
                                $content[$key] = handleExtraValues($filterFunctions[$idx], $value, $extraValues[$idx]);
                        } // END - foreach
 
-                       // Add color switching
-                       $content['sw'] = $SW;
-
                        // Then list it
                        $OUT .= loadTemplate(sprintf("admin_%s_%s_row",
                                $listType,
                                $table
                                ), true, $content
                        );
-
-                       // Switch color
-                       $SW = 3 - $SW;
                } // END - if
 
                // Free the result
@@ -955,7 +956,7 @@ function adminDeleteEntriesConfirm ($IDs, $table, $columns = array(), $filterFun
                        // Was this fine?
                        if (SQL_AFFECTEDROWS() == count($IDs)) {
                                // All deleted
-                               loadTemplate('admin_settings_saved', false, getMessage('ADMIN_ALL_ENTRIES_REMOVED'));
+                               loadTemplate('admin_settings_saved', false, '{--ADMIN_ALL_ENTRIES_REMOVED--}');
                        } else {
                                // Some are still there :(
                                loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_DELETED'), SQL_AFFECTEDROWS(), count($IDs)));
@@ -1044,7 +1045,7 @@ function adminEditEntriesConfirm ($IDs, $table, $columns = array(), $filterFunct
                        // Was this fine?
                        if ($affected == count($IDs)) {
                                // All deleted
-                               loadTemplate('admin_settings_saved', false, getMessage('ADMIN_ALL_ENTRIES_EDITED'));
+                               loadTemplate('admin_settings_saved', false, '{--ADMIN_ALL_ENTRIES_EDITED--}');
                        } else {
                                // Some are still there :(
                                loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_EDITED'), $affected, count($IDs)));
@@ -1133,7 +1134,7 @@ function sendAdminPasswordResetLink ($email) {
        $mailText = loadEmailTemplate('admin_reset_password', $content);
 
        // Send it out
-       sendEmail($email, getMessage('ADMIN_RESET_PASS_LINK_SUBJ'), $mailText);
+       sendEmail($email, '{--ADMIN_RESET_PASS_LINK_SUBJECT--}', $mailText);
 
        // Prepare output
        return getMessage('ADMIN_RESET_LINK_SENT');
@@ -1346,12 +1347,89 @@ function doVerifyExpertSettings () {
        // Output message for other status than ask/agreed
        if (($return != 'ask') && ($return != 'agreed')) {
                // Output message
-               loadTemplate('admin_settings_saved', false, getMessage('ADMIN_EXPERT_SETTINGS_STATUS_' . strtoupper($return)));
+               loadTemplate('admin_settings_saved', false, '{--ADMIN_EXPERT_SETTINGS_STATUS_' . strtoupper($return) . '--}');
        } // END - if
 
        // Return status
        return $return;
 }
 
+// Generate link to unconfirmed mails for admin
+function generateUnconfirmedAdminLink ($id, $unconfirmed, $type = 'bid') {
+       // Init output
+       $OUT = $unconfirmed;
+
+       // Do we have unconfirmed mails?
+       if ($unconfirmed > 0) {
+               // Add link to list_unconfirmed what-file
+               $OUT = '<a href="{%url=modules.php?module=admin&amp;what=list_unconfirmed&amp;' . $type . '=' . $id . '%}">' . translateComma($unconfirmed) . '</a>';
+       } // END - if
+
+       // Return it
+       return $OUT;
+}
+
+// Generates a navigation row for listing emails
+function addEmailNavigation ($numPages, $offset, $show_form, $colspan, $return=false) {
+       // Don't do anything if $numPages is 1
+       if ($numPages == 1) {
+               // Abort here with empty content
+               return '';
+       } // END - if
+
+       $TOP = '';
+       if ($show_form === false) {
+               $TOP = ' top';
+       } // END - if
+
+       $NAV = '';
+       for ($page = 1; $page <= $numPages; $page++) {
+               // Is the page currently selected or shall we generate a link to it?
+               if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
+                       // Is currently selected, so only highlight it
+                       $NAV .= '<strong>-';
+               } else {
+                       // Open anchor tag and add base URL
+                       $NAV .= '<a href="{%url=modules.php?module=admin&amp;what=' . getWhat() . '&amp;page=' . $page . '&amp;offset=' . $offset;
+
+                       // Add userid when we shall show all mails from a single member
+                       if ((isGetRequestParameterSet('userid')) && (bigintval(getRequestParameter('userid')) > 0)) $NAV .= '&amp;userid=' . bigintval(getRequestParameter('userid'));
+
+                       // Close open anchor tag
+                       $NAV .= '%}">';
+               }
+               $NAV .= $page;
+               if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
+                       // Is currently selected, so only highlight it
+                       $NAV .= '-</strong>';
+               } else {
+                       // Close anchor tag
+                       $NAV .= '</a>';
+               }
+
+               // Add seperator if we have not yet reached total pages
+               if ($page < $numPages) {
+                       // Add it
+                       $NAV .= '|';
+               } // END - if
+       } // END - for
+
+       // Define constants only once
+       $content['nav']  = $NAV;
+       $content['span'] = $colspan;
+       $content['top']  = $TOP;
+
+       // Load navigation template
+       $OUT = loadTemplate('admin_email_nav_row', true, $content);
+
+       if ($return === true) {
+               // Return generated HTML-Code
+               return $OUT;
+       } else {
+               // Output HTML-Code
+               outputHtml($OUT);
+       }
+}
+
 // [EOF]
 ?>