]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/admin-inc.php
Naming convention applied to language strings, new API function added:
[mailer.git] / inc / modules / admin / admin-inc.php
index ed8d5e956d15860b662c3d86f9c129e9fcdac906..7638b2fc067c98e0dd2b0ae7e9fa1ba180398ac4 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 = 'password';
+                       }
+               } // END - if
        } // END - if
 
        // Prepare data array
        $data = array(
+               'id'         => $adminId,
                'login'      => $adminLogin,
                'plain_pass' => $adminPassword,
                'pass_hash'  => $adminHash
@@ -132,7 +139,7 @@ function ifAdminCookiesAreValid ($adminLogin, $passHash) {
                        $ret = 'done';
                } else {
                        // Set status
-                       $ret = 'pass';
+                       $ret = 'password';
                }
        } // END - if
 
@@ -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
@@ -249,7 +256,7 @@ ORDER BY
        `id` DESC", __FUNCTION__, __LINE__);
 
        // Do we have entries?
-       if (SQL_NUMROWS($result_main) > 0) {
+       if (!SQL_HASZERONUMS($result_main)) {
                $OUT .= '<ul class="admin_menu_main">';
                // @TODO Rewrite this to $content = SQL_FETCHARRAY()
                while (list($menu, $title, $descr) = SQL_FETCHROW($result_main)) {
@@ -282,7 +289,7 @@ ORDER BY
                                                $OUT .= '[<a href="{%url=modules.php?module=admin&amp;action=' . $menu . '%}">';
                                        }
                                } else {
-                                       $OUT .= '<em style="cursor:help" class="admin_note" title="{--MENU_ACTION_404--}">';
+                                       $OUT .= '<em style="cursor:help" class="notice" title="{%message,MENU_ACTION_404=' . $menu . '}">';
                                }
 
                                $OUT .= $title;
@@ -315,10 +322,10 @@ ORDER BY
                                        array($menu), __FUNCTION__, __LINE__);
 
                                // Remember the count for later checks
-                               setAdminMenuHasEntries($menu, ((SQL_NUMROWS($result_what) > 0) && ($action == $menu)));
+                               setAdminMenuHasEntries($menu, ((!SQL_HASZERONUMS($result_what)) && ($action == $menu)));
 
                                // Do we have entries?
-                               if ((ifAdminMenuHasEntries($menu)) && (SQL_NUMROWS($result_what) > 0)) {
+                               if ((ifAdminMenuHasEntries($menu)) && (!SQL_HASZERONUMS($result_what))) {
                                        $GLOBALS['menu']['description'] = array();
                                        $GLOBALS['menu']['title'] = array(); $SUB = true;
                                        $OUT .= '<li class="admin_menu_sub"><ul class="admin_menu_sub">';
@@ -352,7 +359,7 @@ ORDER BY
                                                                        $OUT .= '[<a href="{%url=modules.php?module=admin&amp;what=' . $what_sub . '%}">';
                                                                }
                                                        } else {
-                                                               $OUT .= '<em style="cursor:help" class="admin_note" title="{--MENU_WHAT_404--}">';
+                                                               $OUT .= '<em style="cursor:help" class="notice" title="{%message,MENU_WHAT_404=' . $what_sub . '%}">';
                                                        }
 
                                                        $OUT .= $title_what;
@@ -416,14 +423,14 @@ function addMemberSelectionBox ($def = 0, $add_all = false, $return = false, $no
 
        if ($return === false) {
                // Remeber options in constant
-               $content['member_selection'] = $OUT;
+               $content['form_selection'] = $OUT;
                $content['what']             = getWhat();
 
                // Load template
-               loadTemplate('admin_member_selection_box', false, $content);
+               loadTemplate('admin_form_selection_box', false, $content);
        } else {
                // Return content in selection frame
-               return '<select class="admin_select" name="' . handleFieldWithBraces($field) . '" size="1">' . $OUT . '</select>';
+               return '<select class="form_select" name="' . handleFieldWithBraces($field) . '" size="1">' . $OUT . '</select>';
        }
 }
 
@@ -436,11 +443,11 @@ function adminMenuSelectionBox_DEPRECATED ($mode, $default = '', $defid = '') {
 
        $result = SQL_QUERY_ESC("SELECT `%s` AS `menu`, `title` FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE ".$what." ORDER BY `sort` ASC",
                array($mode), __FUNCTION__, __LINE__);
-       if (SQL_NUMROWS($result) > 0) {
+       if (!SQL_HASZERONUMS($result)) {
                // Load menu as selection
                $OUT = '<select name="' . $mode . '_menu';
                if ((!empty($defid)) || ($defid == '0')) $OUT .= '[' . $defid . ']';
-               $OUT .= '" size="1" class="admin_select">
+               $OUT .= '" size="1" class="form_select">
        <option value="">{--SELECT_NONE--}</option>';
                // Load all entries
                while ($content = SQL_FETCHARRAY($result)) {
@@ -582,7 +589,7 @@ function adminAddMenuSelectionBox ($menu, $type, $name, $default = '') {
        $menuArray = getArrayFromDirectory(sprintf("inc/modules/%s/", $menu), '', false, false);
 
        // Init the selection box
-       $OUT = '<select name="' . $name . '" class="admin_select" size="1"><option value="">{--IS_TOP_MENU--}</option>';
+       $OUT = '<select name="' . $name . '" class="form_select" size="1"><option value="">{--ADMIN_IS_TOP_MENU--}</option>';
 
        // Walk through all files
        foreach ($menuArray as $file) {
@@ -616,7 +623,7 @@ function adminAddMenuSelectionBox ($menu, $type, $name, $default = '') {
 
 // Creates a user-profile link for the admin. This function can also be used for many other purposes
 function generateUserProfileLink ($userid, $title = '', $what = 'list_user') {
-       if (($title == '') && ($userid > 0)) {
+       if (($title == '') && (isValidUserId($userid))) {
                // Set userid as title
                $title = $userid;
        } elseif ($userid == 0) {
@@ -655,7 +662,7 @@ function adminGetMenuMode () {
                incrementStatsEntry('cache_hits');
        } elseif (isExtensionInstalledAndNewer('admins', '0.6.7')) {
                // Load from database when version of 'admins' is enough
-               $result = SQL_QUERY_ESC("SELECT la_mode FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
+               $result = SQL_QUERY_ESC("SELECT `la_mode` FROM `{?_MYSQL_PREFIX?}_admins` WHERE `id`=%s LIMIT 1",
                        array($adminId), __FUNCTION__, __LINE__);
 
                // Do we have an entry?
@@ -732,9 +739,6 @@ function sendAdminBuildMails ($mode, $table, $content, $id, $subjectPart = '', $
 
        // Is the raw userid set?
        if (postRequestParameter($userid, $id) > 0) {
-               // Generate subject
-               $subject = '{--MEMBER_' . strtoupper($subject) . '_' . strtoupper($table) . '_SUBJECT--}';
-
                // Load email template
                if (!empty($subjectPart)) {
                        $mail = loadEmailTemplate('member_' . $mode . '_' . strtolower($subjectPart) . '_' . $table, $content);
@@ -743,11 +747,11 @@ function sendAdminBuildMails ($mode, $table, $content, $id, $subjectPart = '', $
                }
 
                // Send email out
-               sendEmail(postRequestParameter($userid, $id), $subject, $mail);
+               sendEmail(postRequestParameter($userid, $id), strtoupper('{--MEMBER_' . $subject . '_' . $table . '_SUBJECT--}'), $mail);
        } // END - if
 
        // Generate subject
-       $subject = '{--ADMIN_' . strtoupper($subject) . '_' . strtoupper($table) . '_SUBJECT--}';
+       $subject = strtoupper('{--ADMIN_' . $subject . '_' . $table . '_SUBJECT--}');
 
        // Send admin notification out
        if (!empty($subjectPart)) {
@@ -759,7 +763,7 @@ function sendAdminBuildMails ($mode, $table, $content, $id, $subjectPart = '', $
 
 // 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) {
@@ -798,18 +802,12 @@ function adminListBuilder ($listType, $IDs, $table, $columns, $filterFunctions,
                                $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
@@ -862,7 +860,7 @@ function adminBuilderStatusHandler ($mode, $IDs, $table, $columns, $filterFuncti
                                        } // END - if
                                } elseif (isset($content[$column])) {
                                        // Unfinished!
-                                       debug_report_bug(__FUNCTION__, __LINE__, ":UNFINISHED: id={$id}/{$column}[".gettype($statusInfo)."] = {$content[$column]}");
+                                       debug_report_bug(__FUNCTION__, __LINE__, ':UNFINISHED: id=' . $id . ',column=' . $column . '[' . gettype($statusInfo) . '] = ' . $content[$column]);
                                }
                        } // END - foreach
 
@@ -1113,7 +1111,7 @@ function sendAdminPasswordResetLink ($email) {
        // Is there an account?
        if (SQL_HASZERONUMS($result)) {
                // No account found!
-               return getMessage('ADMIN_NO_LOGIN_WITH_EMAIL');
+               return '{--ADMIN_NO_LOGIN_WITH_EMAIL--}';
        } // END - if
 
        // Load all data
@@ -1123,20 +1121,20 @@ function sendAdminPasswordResetLink ($email) {
        SQL_FREERESULT($result);
 
        // Generate hash for reset link
-       $content['hash'] = generateHash(getConfig('URL') . ':' . $content['id'] . ':' . $content['login'] . ':' . $content['password'], substr($content['password'], 10));
+       $content['hash'] = generateHash(getUrl() . ':' . $content['id'] . ':' . $content['login'] . ':' . $content['password'], substr($content['password'], 10));
 
        // Remove some data
        unset($content['id']);
        unset($content['password']);
 
        // Prepare email
-       $mailText = loadEmailTemplate('admin_reset_password', $content);
+       $mailText = loadEmailTemplate('form_reset_password', $content);
 
        // Send it out
-       sendEmail($email, '{--ADMIN_RESET_PASS_LINK_SUBJ--}', $mailText);
+       sendEmail($email, '{--ADMIN_RESET_PASS_LINK_SUBJECT--}', $mailText);
 
        // Prepare output
-       return getMessage('ADMIN_RESET_LINK_SENT');
+       return '{--ADMIN_RESET_LINK_SENT--}';
 }
 
 // Validate hash and login for password reset
@@ -1154,7 +1152,7 @@ function adminResetValidateHashLogin ($hash, $login) {
                $content = SQL_FETCHARRAY($result);
 
                // Generate hash again
-               $hashFromData = generateHash(getConfig('URL') . ':' . $content['id'] . ':' . $login . ':' . $content['password'], substr($content['password'], 10));
+               $hashFromData = generateHash(getUrl() . ':' . $content['id'] . ':' . $login . ':' . $content['password'], substr($content['password'], 10));
 
                // Does both match?
                $valid = ($hash == $hashFromData);
@@ -1177,10 +1175,10 @@ function doResetAdminPassword ($login, $password) {
                array($passHash, $login), __FUNCTION__, __LINE__);
 
        // Run filters
-       runFilterChain('post_admin_reset_pass', array('login' => $login, 'hash' => $passHash));
+       runFilterChain('post_form_reset_pass', array('login' => $login, 'hash' => $passHash));
 
        // Return output
-       return getMessage('ADMIN_PASSWORD_RESET_DONE');
+       return '{--ADMIN_PASSWORD_RESET_DONE--}';
 }
 
 // Solves a task by given id number
@@ -1246,7 +1244,7 @@ function setAdminMenuHasEntries ($action, $hasEntries) {
 // Creates a link to the user's admin-profile
 function adminCreateUserLink ($userid) {
        // Is the userid set correctly?
-       if ($userid > 0) {
+       if (isValidUserId($userid)) {
                // Create a link to that profile
                return '{%url=modules.php?module=admin&amp;what=list_user&amp;userid=' . bigintval($userid) . '%}';
        } // END - if
@@ -1258,7 +1256,7 @@ function adminCreateUserLink ($userid) {
 // Generate a "link" for the given admin id (admin_id)
 function generateAdminLink ($adminId) {
        // No assigned admin is default
-       $adminLink = '<span class="admin_note">{--ADMIN_NO_ADMIN_ASSIGNED--}</span>';
+       $adminLink = '<span class="notice">{--ADMIN_NO_ADMIN_ASSIGNED--}</span>';
 
        // Zero? = Not assigned
        if (bigintval($adminId) > 0) {
@@ -1273,11 +1271,11 @@ function generateAdminLink ($adminId) {
                                $adminLink = '<a href="' . generateEmailLink(getAdminEmail($adminId), 'admins') . '" title="{--ADMIN_CONTACT_LINK_TITLE--}">' . $login . '</a>';
                        } else {
                                // Extension not found
-                               $adminLink = getMaskedMessage('EXTENSION_PROBLEM_EXTENSION_NOT_INSTALLED', 'admins');
+                               $adminLink = getMaskedMessage('ADMIN_TASK_ROW_EXTENSION_NOT_INSTALLED', 'admins');
                        }
                } else {
                        // Maybe deleted?
-                       $adminLink = '<div class="admin_note">' . getMaskedMessage('ADMIN_ID_404', $adminId) . '</div>';
+                       $adminLink = '<div class="notice">' . getMaskedMessage('ADMIN_ID_404', $adminId) . '</div>';
                }
        } // END - if
 
@@ -1392,7 +1390,7 @@ function addEmailNavigation ($numPages, $offset, $show_form, $colspan, $return=f
                        $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'));
+                       if ((isGetRequestParameterSet('userid')) && (isValidUserId(getRequestParameter('userid')))) $NAV .= '&amp;userid=' . bigintval(getRequestParameter('userid'));
 
                        // Close open anchor tag
                        $NAV .= '%}">';