]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/admin/admin-inc.php
Extension ext-admins improved:
[mailer.git] / inc / modules / admin / admin-inc.php
index 850cc853ebc094011b4c1d25285170f7ef9d0d7a..a3f48e84807e750c7f283eb3606d99ae961abf23 100644 (file)
@@ -17,7 +17,7 @@
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
  * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
- * For more information visit: http://www.mxchange.org                  *
+ * 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 *
@@ -389,7 +389,7 @@ ORDER BY
                // Free memory
                SQL_FREERESULT($result_main);
                $OUT .= '</ul>';
-       }
+       } // END - if
 
        // Is there a cache instance again?
        // Return or output content?
@@ -400,21 +400,68 @@ ORDER BY
        }
 }
 
-// Create member selection box
-function addMemberSelectionBox ($def = 0, $add_all = false, $return = false, $none = false, $field = 'userid') {
+// Create an admin selection box form
+function addAdminSelectionBox ($adminId = NULL, $special = '') {
+       // Default is email as "special column"
+       $ADD = ',`email` AS `special`';
+
+       // Is a special column given?
+       if (!empty($special)) {
+               // Additional column for SQL query
+               $ADD = ',`' . $special . '` AS `special`';
+       } // END - if
+
+       // Query all entries
+       $result = SQL_QUERY('SELECT
+       `id`,`login`' . $ADD . '
+FROM
+       `{?_MYSQL_PREFIX?}_admins`
+ORDER BY
+       `login` ASC', __FUNCTION__, __LINE__);
+
+       // Init output
+       $OUT = '';
+
+       // Load all entries
+       while ($content = SQL_FETCHARRAY($result)) {
+               // Add the entry
+               $OUT .= loadTemplate('select_admins_option', true, $content);
+       } // END - if
+
+       // Free memory
+       SQL_FREERESULT($result);
+
+       // Add form to content
+       $content['form_selection'] = $OUT;
+
+       // Output form
+       loadTemplate('select_admins_box', false, $content);
+}
+
+// Create a member selection box
+function addMemberSelectionBox ($userid = NULL, $add_all = false, $return = false, $none = false, $field = 'userid') {
        // Output selection form with all confirmed user accounts listed
-       $result = SQL_QUERY("SELECT `userid`,`surname`,`family` FROM `{?_MYSQL_PREFIX?}_user_data` ORDER BY `userid` ASC", __FUNCTION__, __LINE__);
+       $result = SQL_QUERY('SELECT
+       `userid`,`surname`,`family`
+FROM
+       `{?_MYSQL_PREFIX?}_user_data`
+ORDER BY
+       `userid` ASC', __FUNCTION__, __LINE__);
 
        // Default output
        $OUT = '';
 
        // USe this only for adding points (e.g. adding refs really makes no sence ;-) )
-       if ($add_all === true)   $OUT = '      <option value="all">{--ALL_MEMBERS--}</option>';
-        elseif ($none === true) $OUT = '      <option value="0">{--SELECT_NONE--}</option>';
+       if ($add_all === true) {
+               $OUT = '      <option value="all">{--ALL_MEMBERS--}</option>';
+       } elseif ($none === true) {
+               $OUT = '      <option value="0">{--SELECT_NONE--}</option>';
+       }
 
+       // Load all entries
        while ($content = SQL_FETCHARRAY($result)) {
                $OUT .= '<option value="' . bigintval($content['userid']) . '"';
-               if ($def == $content['userid']) $OUT .= ' selected="selected"';
+               if ($userid == $content['userid']) $OUT .= ' selected="selected"';
                $OUT .= '>' . $content['surname'] . ' ' . $content['family'] . ' (' . bigintval($content['userid']) . ')</option>';
        } // END - while
 
@@ -424,7 +471,7 @@ function addMemberSelectionBox ($def = 0, $add_all = false, $return = false, $no
        if ($return === false) {
                // Remeber options in constant
                $content['form_selection'] = $OUT;
-               $content['what']             = getWhat();
+               $content['what']           = '{%pipe,getWhat%}';
 
                // Load template
                loadTemplate('admin_form_selection_box', false, $content);
@@ -771,7 +818,7 @@ function sendAdminBuildMails ($mode, $tableName, $content, $id, $subjectPart = '
        } // END - if
 
        // Is the raw userid set?
-       if (postRequestParameter($userIdColumn[0], $id) > 0) {
+       if (postRequestElement($userIdColumn[0], $id) > 0) {
                // Load email template
                if (!empty($subjectPart)) {
                        $mail = loadEmailTemplate('member_' . $mode . '_' . strtolower($subjectPart) . '_' . $tableName[0], $content);
@@ -780,7 +827,7 @@ function sendAdminBuildMails ($mode, $tableName, $content, $id, $subjectPart = '
                }
 
                // Send email out
-               sendEmail(postRequestParameter($userIdColumn[0], $id), strtoupper('{--MEMBER_' . $subject . '_' . $tableName[0] . '_SUBJECT--}'), $mail);
+               sendEmail(postRequestElement($userIdColumn[0], $id), strtoupper('{--MEMBER_' . $subject . '_' . $tableName[0] . '_SUBJECT--}'), $mail);
        } // END - if
 
        // Generate subject
@@ -788,9 +835,9 @@ function sendAdminBuildMails ($mode, $tableName, $content, $id, $subjectPart = '
 
        // Send admin notification out
        if (!empty($subjectPart)) {
-               sendAdminNotification($subject, 'admin_' . $mode . '_' . strtolower($subjectPart) . '_' . $tableName[0], $content, postRequestParameter($userIdColumn[0], $id));
+               sendAdminNotification($subject, 'admin_' . $mode . '_' . strtolower($subjectPart) . '_' . $tableName[0], $content, postRequestElement($userIdColumn[0], $id));
        } else {
-               sendAdminNotification($subject, 'admin_' . $mode . '_' . $tableName[0], $content, postRequestParameter($userIdColumn[0], $id));
+               sendAdminNotification($subject, 'admin_' . $mode . '_' . $tableName[0], $content, postRequestElement($userIdColumn[0], $id));
        }
 }
 
@@ -813,7 +860,7 @@ function adminListBuilder ($listType, $tableName, $columns, $filterFunctions, $e
 
        // "Walk" through all entries
        //* DEBUG: */ debug_report_bug(__FUNCTION__, __LINE__, 'listType=<pre>'.print_r($listType,true).'</pre>,tableName<pre>'.print_r($tableName,true).'</pre>,columns=<pre>'.print_r($columns,true).'</pre>,filterFunctions=<pre>'.print_r($filterFunctions,true).'</pre>,extraValues=<pre>'.print_r($extraValues,true).'</pre>,idColumn=<pre>'.print_r($idColumn,true).'</pre>,userIdColumn=<pre>'.print_r($userIdColumn,true).'</pre>,rawUserId=<pre>'.print_r($rawUserId,true).'</pre>');
-       foreach (postRequestParameter($idColumn[0]) as $id => $selected) {
+       foreach (postRequestElement($idColumn[0]) as $id => $selected) {
                // Secure id number
                $id = bigintval($id);
 
@@ -892,7 +939,7 @@ function adminBuilderStatusHandler ($mode, $tableName, $columns, $filterFunction
        // All valid entries? (We hope so here!)
        if ((count($columns) == count($filterFunctions)) && (count($columns) == count($extraValues)) && (count($statusArray) > 0)) {
                // "Walk" through all entries
-               foreach (postRequestParameter($idColumn[0]) as $id => $sel) {
+               foreach (postRequestElement($idColumn[0]) as $id => $sel) {
                        // Construct SQL query
                        $sql = sprintf("UPDATE `{?_MYSQL_PREFIX?}_%s` SET", SQL_ESCAPE($tableName[0]));
 
@@ -1006,9 +1053,9 @@ function adminDeleteEntriesConfirm ($tableName, $columns = array(), $filterFunct
 
                        // Delete them all
                        $idList = '';
-                       foreach (postRequestParameter($idColumn[0]) as $id => $sel) {
+                       foreach (postRequestElement($idColumn[0]) as $id => $sel) {
                                // Is there a userid?
-                               if (isPostRequestParameterSet($rawUserId[0], $id)) {
+                               if (isPostRequestElementSet($rawUserId[0], $id)) {
                                        // Load all data from that id
                                        $result = SQL_QUERY_ESC("SELECT * FROM `{?_MYSQL_PREFIX?}_%s` WHERE `%s`=%s LIMIT 1",
                                                array(
@@ -1035,12 +1082,12 @@ function adminDeleteEntriesConfirm ($tableName, $columns = array(), $filterFunct
                        SQL_QUERY_ESC($sql, array($tableName[0], $idColumn[0], substr($idList, 0, -1)), __FUNCTION__, __LINE__);
 
                        // Was this fine?
-                       if (SQL_AFFECTEDROWS() == count(postRequestParameter($idColumn[0]))) {
+                       if (SQL_AFFECTEDROWS() == count(postRequestElement($idColumn[0]))) {
                                // All deleted
                                displayMessage('{--ADMIN_ALL_ENTRIES_REMOVED--}');
                        } else {
                                // Some are still there :(
-                               displayMessage(sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_DELETED'), SQL_AFFECTEDROWS(), count(postRequestParameter($idColumn[0]))));
+                               displayMessage(sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_DELETED'), SQL_AFFECTEDROWS(), count(postRequestElement($idColumn[0]))));
                        }
                } else {
                        // List for deletion confirmation
@@ -1073,7 +1120,7 @@ function adminEditEntriesConfirm ($tableName, $columns = array(), $filterFunctio
                if ($editNow[0] === true) {
                        // Change them all
                        $affected = '0';
-                       foreach (postRequestParameter($idColumn[0]) as $id => $sel) {
+                       foreach (postRequestElement($idColumn[0]) as $id => $sel) {
                                // Prepare content array (new values)
                                $content = array();
 
@@ -1144,12 +1191,12 @@ function adminEditEntriesConfirm ($tableName, $columns = array(), $filterFunctio
                        } // END - foreach
 
                        // Was this fine?
-                       if ($affected == count(postRequestParameter($idColumn[0]))) {
+                       if ($affected == count(postRequestElement($idColumn[0]))) {
                                // All deleted
                                displayMessage('{--ADMIN_ALL_ENTRIES_EDITED--}');
                        } else {
                                // Some are still there :(
-                               displayMessage(sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_EDITED'), $affected, count(postRequestParameter($idColumn[0]))));
+                               displayMessage(sprintf(getMessage('ADMIN_SOME_ENTRIES_NOT_EDITED'), $affected, count(postRequestElement($idColumn[0]))));
                        }
                } else {
                        // List for editing
@@ -1235,7 +1282,7 @@ function adminAddEntries ($tableName, $columns = array(), $filterFunctions = arr
        foreach ($columns as $key=>$columnName) {
                // Copy entry to final arrays
                $sqlColumns[$key] = $columnName;
-               $sqlValues[$key]  = postRequestParameter($columnName);
+               $sqlValues[$key]  = postRequestElement($columnName);
                //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'key='.$key.',columnName='.$columnName.',filterFunctions='.$filterFunctions[$key].',extraValues='.intval(isset($extraValues[$key])).',extraValuesName='.intval(isset($extraValues[$columnName . '_list'])).'<br />');
 
                // Send data through the filter function if found
@@ -1389,7 +1436,7 @@ function doAdminListEntries ($SQL, $tableTemplate, $noEntryMessageId, $rowTempla
        SQL_FREERESULT($result);
 }
 
-// Checks proxy settins by fetching check-updates3.php from www.mxchange.org
+// Checks proxy settins by fetching check-updates3.php from mxchange.org
 function adminTestProxySettings ($settingsArray) {
        // Set temporary the new settings
        mergeConfig($settingsArray);
@@ -1614,7 +1661,7 @@ function doVerifyExpertSettings () {
                                // Ask for them
                                if (isFormSent()) {
                                        // Is the element set, then we need to change the admin
-                                       if (isPostRequestParameterSet('expert_settings')) {
+                                       if (isPostRequestElementSet('expert_settings')) {
                                                // Get it and prepare final post data array
                                                $postData['login'][getCurrentAdminId()] = getCurrentAdminLogin();
                                                $postData['expert_warning'][getCurrentAdminId()] = 'N';
@@ -1623,7 +1670,7 @@ function doVerifyExpertSettings () {
                                                adminsChangeAdminAccount($postData, 'expert_warning');
 
                                                // Clear form
-                                               unsetPostRequestParameter('ok');
+                                               unsetPostRequestElement('ok');
                                        } // END - if
 
                                        // All fine!
@@ -1689,7 +1736,7 @@ function addEmailNavigation ($numPages, $offset, $show_form, $colspan, $return=f
        $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))) {
+               if (($page == getRequestElement('page')) || ((!isGetRequestElementSet('page')) && ($page == 1))) {
                        // Is currently selected, so only highlight it
                        $NAV .= '<strong>-';
                } else {
@@ -1697,13 +1744,13 @@ 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')) && (isValidUserId(getRequestParameter('userid')))) $NAV .= '&amp;userid=' . bigintval(getRequestParameter('userid'));
+                       if ((isGetRequestElementSet('userid')) && (isValidUserId(getRequestElement('userid')))) $NAV .= '&amp;userid=' . bigintval(getRequestElement('userid'));
 
                        // Close open anchor tag
                        $NAV .= '%}">';
                }
                $NAV .= $page;
-               if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
+               if (($page == getRequestElement('page')) || ((!isGetRequestElementSet('page')) && ($page == 1))) {
                        // Is currently selected, so only highlight it
                        $NAV .= '-</strong>';
                } else {
@@ -1738,7 +1785,7 @@ function addEmailNavigation ($numPages, $offset, $show_form, $colspan, $return=f
 // Process menu editing form
 function adminProcessMenuEditForm ($type, $subMenu) {
        // An action is done...
-       foreach (postRequestParameter('sel') as $sel => $menu) {
+       foreach (postRequestElement('sel') as $sel => $menu) {
                $AND = "(`what` = '' OR `what` IS NULL)";
 
                $sel = bigintval($sel);
@@ -1747,15 +1794,15 @@ function adminProcessMenuEditForm ($type, $subMenu) {
                        $AND = "`action`='" . $subMenu . "'";
                } // END - if
 
-               switch (postRequestParameter('ok')) {
+               switch (postRequestElement('ok')) {
                        case 'edit': // Edit menu
-                               if (postRequestParameter('sel_what', $sel) == '') {
+                               if (postRequestElement('sel_what', $sel) == '') {
                                        // Update with 'what'=null
                                        SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_%s_menu` SET `title`='%s', `action`='%s', `what`=NULL WHERE ".$AND." AND `id`=%s LIMIT 1",
                                                array(
                                                        $type,
                                                        $menu,
-                                                       postRequestParameter('sel_action', $sel),
+                                                       postRequestElement('sel_action', $sel),
                                                        $sel
                                                ), __FILE__, __LINE__);
                                } else {
@@ -1764,8 +1811,8 @@ function adminProcessMenuEditForm ($type, $subMenu) {
                                                array(
                                                        $type,
                                                        $menu,
-                                                       postRequestParameter('sel_action', $sel),
-                                                       postRequestParameter('sel_what', $sel),
+                                                       postRequestElement('sel_action', $sel),
+                                                       postRequestElement('sel_what', $sel),
                                                        $sel
                                                ), __FILE__, __LINE__);
                                }
@@ -1778,12 +1825,12 @@ function adminProcessMenuEditForm ($type, $subMenu) {
 
                        case 'status': // Change status of menus
                                SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_%s_menu` SET `visible`='%s', `locked`='%s' WHERE ".$AND." AND `id`=%s LIMIT 1",
-                                       array($type, postRequestParameter('visible', $sel), postRequestParameter('locked', $sel), $sel), __FILE__, __LINE__);
+                                       array($type, postRequestElement('visible', $sel), postRequestElement('locked', $sel), $sel), __FILE__, __LINE__);
                                break;
 
                        default: // Unexpected action
-                               logDebugMessage(__FILE__, __LINE__, sprintf("Unsupported action %s detected.", postRequestParameter('ok')));
-                               displayMessage('{%message,ADMIN_UNKNOWN_OKAY=' . postRequestParameter('ok') . '%}');
+                               logDebugMessage(__FILE__, __LINE__, sprintf("Unsupported action %s detected.", postRequestElement('ok')));
+                               displayMessage('{%message,ADMIN_UNKNOWN_OKAY=' . postRequestElement('ok') . '%}');
                                break;
                } // END - switch
        } // END - foreach
@@ -1795,26 +1842,26 @@ function adminProcessMenuEditForm ($type, $subMenu) {
 // Handle weightning
 function doAdminProcessMenuWeightning ($type, $AND) {
        // Are there all required (generalized) GET parameter?
-       if ((isGetRequestParameterSet('act')) && (isGetRequestParameterSet('tid')) && (isGetRequestParameterSet('fid'))) {
+       if ((isGetRequestElementSet('act')) && (isGetRequestElementSet('tid')) && (isGetRequestElementSet('fid'))) {
                // Init variables
                $tid = ''; $fid = '';
 
                // Get ids
-               if (isGetRequestParameterSet('w')) {
+               if (isGetRequestElementSet('w')) {
                        // Sub menus selected
                        $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND `sort`=%s LIMIT 1",
                                array(
                                        $type,
-                                       getRequestParameter('act'),
-                                       bigintval(getRequestParameter('tid'))
+                                       getRequestElement('act'),
+                                       bigintval(getRequestElement('tid'))
                                ), __FILE__, __LINE__);
                        list($tid) = SQL_FETCHROW($result);
                        SQL_FREERESULT($result);
                        $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND `sort`=%s LIMIT 1",
                                array(
                                        $type,
-                                       getRequestParameter('act'),
-                                       bigintval(getRequestParameter('fid'))
+                                       getRequestElement('act'),
+                                       bigintval(getRequestElement('fid'))
                                ), __FILE__, __LINE__);
                        list($fid) = SQL_FETCHROW($result);
                        SQL_FREERESULT($result);
@@ -1823,14 +1870,14 @@ function doAdminProcessMenuWeightning ($type, $AND) {
                        $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE (`what`='' OR `what` IS NULL) AND `sort`=%s LIMIT 1",
                                array(
                                        $type,
-                                       bigintval(getRequestParameter('tid'))
+                                       bigintval(getRequestElement('tid'))
                                ), __FILE__, __LINE__);
                        list($tid) = SQL_FETCHROW($result);
                        SQL_FREERESULT($result);
                        $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE (`what`='' OR `what` IS NULL) AND `sort`=%s LIMIT 1",
                                array(
                                        $type,
-                                       bigintval(getRequestParameter('fid'))
+                                       bigintval(getRequestElement('fid'))
                                ), __FILE__, __LINE__);
                        list($fid) = SQL_FETCHROW($result);
                        SQL_FREERESULT($result);
@@ -1841,13 +1888,13 @@ function doAdminProcessMenuWeightning ($type, $AND) {
                        SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_%s_menu` SET `sort`=%s WHERE ".$AND." AND `id`=%s LIMIT 1",
                                array(
                                        $type,
-                                       bigintval(getRequestParameter('tid')),
+                                       bigintval(getRequestElement('tid')),
                                        bigintval($fid)
                                ), __FILE__, __LINE__);
                        SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_%s_menu` SET `sort`=%s WHERE ".$AND." AND `id`=%s LIMIT 1",
                                array(
                                        $type,
-                                       bigintval(getRequestParameter('fid')),
+                                       bigintval(getRequestElement('fid')),
                                        bigintval($tid)
                                ), __FILE__, __LINE__);
                } // END - if