Extension ext-earning introduced (unfinished), renamings:
[mailer.git] / inc / mysql-manager.php
index 48db0063ba2e835b4f1430f1cc3080cb469e0fd5..1a8ebe194ab92d561001406e4dd181168fe3f145 100644 (file)
@@ -46,7 +46,13 @@ function getTitleFromMenu ($mode, $what, $column = 'what', $ADD='') {
        // Fix empty 'what'
        if (empty($what)) {
                $what = getIndexHome();
-       } // END - if
+       } elseif ((isGetRequestElementSet('action')) && ($column == 'what')) {
+               // Get it from action
+               return getTitleFromMenu($mode, getAction(), 'action', $ADD);
+       } elseif ($what == 'overview') {
+               // Overview page
+               return '{--WHAT_IS_OVERVIEW--}';
+       }
 
        // Default is not found
        $data['title'] = '??? (' . $what . ')';
@@ -131,11 +137,12 @@ function addYouAreHereLink ($accessLevel, $FQFN, $return = false) {
                $GLOBALS['nav_depth'] = '0';
 
                // Run the pre-filter chain
-               $ret = runFilterChain('pre_youhere_line', array('access_level' => $accessLevel, 'type' => $type, 'content' => ''));
+               $ret = runFilterChain('pre_youhere_line', array('access_level' => $accessLevel, 'type' => $type, 'search' => $search, 'prefix' => $prefix, 'link_add' => $LINK_ADD, 'content' => '', 'add' => $ADD));
 
                // Add pre-content
                $prefix = $ret['content'];
 
+               // Add default content
                $prefix .= '<div class="you_are_here">{--YOU_ARE_HERE--}&nbsp;<strong><a class="you_are_here" href="{%url=modules.php?module=' . getModule() . $LINK_ADD . '%}">Home</a></strong>';
        } elseif ($return === false) {
                // Count depth
@@ -159,14 +166,16 @@ function addYouAreHereLink ($accessLevel, $FQFN, $return = false) {
                if (($type == 'what') || (($type == 'action') && ((!isWhatSet()) || (getWhat() == 'overview')))) {
                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'type=' . $type);
                        // Add closing div and br-tag
-                       $OUT .= '</div>';
                        $GLOBALS['nav_depth'] = '0';
 
                        // Run the post-filter chain
-                       $ret = runFilterChain('post_youhere_line', array('access_level' => $accessLevel, 'type' => $type, 'content' => ''));
+                       $ret = runFilterChain('post_youhere_line', array('access_level' => $accessLevel, 'type' => $type, 'search' => $search, 'prefix' => $prefix, 'link_add' => $LINK_ADD, 'content' => $OUT, 'add' => $ADD));
+
+                       // Get content from filter back
+                       $OUT = $ret['content'];
 
-                       // Add additional content
-                       $OUT .= $ret['content'];
+                       // Close div-tag, so not the filters have to do it
+                       $OUT .= '</div>';
                } // END - if
        } // END - if
 
@@ -184,7 +193,6 @@ function addYouAreHereLink ($accessLevel, $FQFN, $return = false) {
 function addMenu ($mode, $action, $what) {
        // Init some variables
        $main_cnt = '0';
-       $ADD = '';
 
        // is the menu action valid?
        if (!isMenuActionValid($mode, $action, $what, true)) {
@@ -192,13 +200,15 @@ function addMenu ($mode, $action, $what) {
        } // END - if
 
        // Non-admin shall not see all menus
-       if (!isAdmin()) {
-               $ADD = " AND `visible`='Y' AND `locked`='N'";
+       $ADD = " AND `visible`='Y' AND `locked`='N'";
+       if (isAdmin()) {
+               // Is admin, so make all visible
+               $ADD = '';
        } // END - if
 
        // Load SQL data and add the menu to the output stream...
        $result_main = SQL_QUERY_ESC("SELECT
-       `title`, `what`, `action`, `visible`, `locked`
+       `title`,`what`,`action`,`visible`,`locked`
 FROM
        `{?_MYSQL_PREFIX?}_%s_menu`
 WHERE
@@ -259,8 +269,14 @@ ORDER BY
                                                        $OUT = '<strong>';
                                                } // END - if
 
-                                               // Navigation link
-                                               $OUT .= '<a name="menu" class="menu_blur" href="{%url=modules.php?module=' . getModule() . '&amp;what=' . $content['sub_what'] . '%}" target="_self">';
+                                               // Is ext-sql_patches up-to-date, and display_home_in_index is Y?
+                                               if ((isExtensionInstalledAndNewer('sql_patches', '0.8.3')) && (isDisplayHomeInIndexEnabled()) && ($content['sub_what'] == getIndexHome())) {
+                                                       // Use index.php as link
+                                                       $OUT .= '<a name="menu" class="menu_blur" href="{%url=index.php%}" target="_self">';
+                                               } else {
+                                                       // Regular navigation link
+                                                       $OUT .= '<a name="menu" class="menu_blur" href="{%url=modules.php?module=' . getModule() . '&amp;what=' . $content['sub_what'] . '%}" target="_self">';
+                                               }
                                        } else {
                                                // Not found - open
                                                $OUT .= '<em style="cursor:help" class="notice" title="{%message,ADMIN_MENU_WHAT_404_TITLE=' . $content['sub_what'] . '%}">';
@@ -435,7 +451,10 @@ function fetchUserData ($value, $column = 'userid') {
        if (!isExtensionActive('user')) {
                // Absent ext-user is really not good
                return false;
-       } // END - if
+       } elseif (is_null($value)) {
+               // This shall never happen, so please report it
+               debug_report_bug(__FUNCTION__, __LINE__, 'value=NULL,column=' . $column . ' - value can never be NULL');
+       }
 
        // If we should look for userid secure&set it here
        if (substr($column, -2, 2) == 'id') {
@@ -488,7 +507,7 @@ function fetchUserData ($value, $column = 'userid') {
                if ((isExtensionInstalledAndNewer('user', '0.3.7')) && (isset($GLOBALS['user_data'][getCurrentUserId()]['last_failure']))) {
                        // Backup the raw one and zero it
                        $GLOBALS['user_data'][getCurrentUserId()]['last_failure_raw'] = $GLOBALS['user_data'][getCurrentUserId()]['last_failure'];
-                       $GLOBALS['user_data'][getCurrentUserId()]['last_failure'] = null;
+                       $GLOBALS['user_data'][getCurrentUserId()]['last_failure'] = NULL;
 
                        // Is it not zero?
                        if (!is_null($GLOBALS['user_data'][getCurrentUserId()]['last_failure_raw'])) {
@@ -594,13 +613,13 @@ function addMaxReceiveList ($mode, $default = '', $return = false) {
        switch ($mode) {
                case 'guest':
                        // Guests (in the registration form) are not allowed to select 0 mails per day.
-                       $result = SQL_QUERY('SELECT `value`, `comment` FROM `{?_MYSQL_PREFIX?}_max_receive` WHERE `value` > 0 ORDER BY `value` ASC',
+                       $result = SQL_QUERY('SELECT `value`,`comment` FROM `{?_MYSQL_PREFIX?}_max_receive` WHERE `value` > 0 ORDER BY `value` ASC',
                        __FUNCTION__, __LINE__);
                        break;
 
                case 'member':
                        // Members are allowed to set to zero mails per day (we will change this soon!)
-                       $result = SQL_QUERY('SELECT `value`, `comment` FROM `{?_MYSQL_PREFIX?}_max_receive` ORDER BY `value` ASC',
+                       $result = SQL_QUERY('SELECT `value`,`comment` FROM `{?_MYSQL_PREFIX?}_max_receive` ORDER BY `value` ASC',
                        __FUNCTION__, __LINE__);
                        break;
 
@@ -614,7 +633,7 @@ function addMaxReceiveList ($mode, $default = '', $return = false) {
                $OUT = '';
                while ($content = SQL_FETCHARRAY($result)) {
                        $OUT .= '      <option value="' . $content['value'] . '"';
-                       if (postRequestParameter('max_mails') == $content['value']) $OUT .= ' selected="selected"';
+                       if (postRequestElement('max_mails') == $content['value']) $OUT .= ' selected="selected"';
                        $OUT .= '>' . $content['value'] . ' {--PER_DAY--}';
                        if (!empty($content['comment'])) $OUT .= '(' . $content['comment'] . ')';
                        $OUT .= '</option>';
@@ -687,7 +706,7 @@ function isMenuActionValid ($mode, $action, $what, $updateEntry=false) {
                        ), __FUNCTION__, __LINE__, false);
        } elseif (($what != 'overview') && (!empty($what))) {
                // Other actions
-               $sql = SQL_QUERY_ESC("SELECT `id`, `what` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND `what`='%s'".$add." ORDER BY `action` DESC LIMIT 1",
+               $sql = SQL_QUERY_ESC("SELECT `id`,`what` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND `what`='%s'".$add." ORDER BY `action` DESC LIMIT 1",
                        array(
                                $mode,
                                $action,
@@ -695,7 +714,7 @@ function isMenuActionValid ($mode, $action, $what, $updateEntry=false) {
                        ), __FUNCTION__, __LINE__, false);
        } else {
                // Admin login overview
-               $sql = SQL_QUERY_ESC("SELECT `id`, `what` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND (`what`='' OR `what` IS NULL)".$add." ORDER BY `action` DESC LIMIT 1",
+               $sql = SQL_QUERY_ESC("SELECT `id`,`what` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND (`what`='' OR `what` IS NULL)".$add." ORDER BY `action` DESC LIMIT 1",
                        array(
                                $mode,
                                $action
@@ -749,9 +768,9 @@ function getActionFromModuleWhat ($module, $what) {
 
        if ($module == 'admin') {
                // Action value for admin area
-               if (isGetRequestParameterSet('action')) {
+               if (isGetRequestElementSet('action')) {
                        // Use from request!
-                       return getRequestParameter('action');
+                       return getRequestElement('action');
                } elseif (isActionSet()) {
                        // Get it directly from URL
                        return getAction();
@@ -771,11 +790,16 @@ function getActionFromModuleWhat ($module, $what) {
                $module = mapModuleToTable($module);
 
                // Guest and member menu is 'main' as the default
-               if (empty($data['action'])) $data['action'] = 'main';
+               if (empty($data['action'])) {
+                       $data['action'] = 'main';
+               } // END - if
 
                // Load from database
                $result = SQL_QUERY_ESC("SELECT `action` FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `what`='%s' LIMIT 1",
-                       array($module, $what), __FUNCTION__, __LINE__);
+                       array(
+                               $module,
+                               $what
+                       ), __FUNCTION__, __LINE__);
                if (SQL_NUMROWS($result) == 1) {
                        // Load action value and pray that this one is the right you want... ;-)
                        $data = SQL_FETCHARRAY($result);
@@ -827,7 +851,7 @@ function getPaymentTitlePrice ($pid, $full=false) {
        $ret = '{--_PAYMENT_404--}';
 
        // Load payment data
-       $result = SQL_QUERY_ESC("SELECT `mail_title`, `price` FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=%s LIMIT 1",
+       $result = SQL_QUERY_ESC("SELECT `mail_title`,`price` FROM `{?_MYSQL_PREFIX?}_payments` WHERE `id`=%s LIMIT 1",
                array(bigintval($pid)), __FUNCTION__, __LINE__);
 
        // Do we have an entry?
@@ -901,7 +925,7 @@ function removeReceiver (&$receivers, $key, $userid, $pool_id, $stats_id = 0, $i
                        // Was it *not* found?
                        if (SQL_HASZERONUMS($result)) {
                                // So we add one!
-                               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_links` (`%s`, `userid`, `link_type`) VALUES ('%s','%s','%s')",
+                               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_links` (`%s`,`userid`,`link_type`) VALUES ('%s','%s','%s')",
                                        array($rowName, $stats_id, bigintval($userid), $type), __FUNCTION__, __LINE__);
 
                                // Update 'mails_sent' if sql_patches is updated
@@ -1200,7 +1224,7 @@ function getAdminDefaultAcl ($adminId) {
 }
 
 // Generates an option list from various parameters
-function generateOptionList ($table, $id, $name, $default = '', $special = '', $where = '', $disabled = array(), $callback = '') {
+function generateOptionList ($table, $id, $name, $default = '', $special = '', $whereStatement = '', $disabled = array(), $callback = '') {
        $ret = '';
        if ($table == '/ARRAY/') {
                // Selection from array
@@ -1237,7 +1261,7 @@ function generateOptionList ($table, $id, $name, $default = '', $special = '', $
                } // END - if
 
                // Query the database
-               $result = SQL_QUERY_ESC("SELECT `%s`, `%s`".$SPEC." FROM `{?_MYSQL_PREFIX?}_%s` ".$where." ORDER BY `%s` ASC",
+               $result = SQL_QUERY_ESC("SELECT `%s`,`%s`".$SPEC." FROM `{?_MYSQL_PREFIX?}_%s` ".$whereStatement." ORDER BY `%s` ASC",
                        array(
                                $id,
                                $name,
@@ -1356,9 +1380,9 @@ LIMIT 1",
 // Gets the matching what name from module
 function getWhatFromModule ($modCheck) {
        // Is the request element set?
-       if (isGetRequestParameterSet('what')) {
+       if (isGetRequestElementSet('what')) {
                // Then return this!
-               return getRequestParameter('what');
+               return getRequestElement('what');
        } // END - if
 
        // Default is empty
@@ -1405,7 +1429,7 @@ function generateCategoryOptionsList ($mode) {
        );
 
        // Get categories
-       $result = SQL_QUERY('SELECT `id`, `cat` FROM `{?_MYSQL_PREFIX?}_cats`' . $whereStatement . ' ORDER BY `sort` ASC',
+       $result = SQL_QUERY('SELECT `id`,`cat` FROM `{?_MYSQL_PREFIX?}_cats`' . $whereStatement . ' ORDER BY `sort` ASC',
                __FUNCTION__, __LINE__);
 
        // Do we have entries?
@@ -1481,7 +1505,7 @@ function addBonusMailToQueue ($subject, $text, $receiverList, $points, $seconds,
 
                // Add HTML mail
                SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_bonus`
-(`subject`, `text`, `receivers`, `points`, `time`, `data_type`, `timestamp`, `url`, `cat_id`, `target_send`, `mails_sent`, `html_msg`)
+(`subject`,`text`,`receivers`,`points`,`time`,`data_type`,`timestamp`,`url`,`cat_id`,`target_send`,`mails_sent`,`html_msg`)
 VALUES ('%s','%s','%s',%s,%s,'NEW', UNIX_TIMESTAMP(),'%s',%s,%s,%s,'%s')",
                array(
                        $subject,
@@ -1498,7 +1522,7 @@ VALUES ('%s','%s','%s',%s,%s,'NEW', UNIX_TIMESTAMP(),'%s',%s,%s,%s,'%s')",
        } else {
                // Add regular mail
                SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_bonus`
-(`subject`, `text`, `receivers`, `points`, `time`, `data_type`, `timestamp`, `url`, `cat_id`, `target_send`, `mails_sent`)
+(`subject`,`text`,`receivers`,`points`,`time`,`data_type`,`timestamp`,`url`,`cat_id`,`target_send`,`mails_sent`)
 VALUES ('%s','%s','%s',%s,%s,'NEW', UNIX_TIMESTAMP(),'%s',%s,%s,%s)",
                array(
                        $subject,
@@ -1627,7 +1651,7 @@ function reduceRecipientReceivedMails ($column, $id, $count) {
 // Creates a new task
 function createNewTask ($subject, $notes, $taskType, $userid = NULL, $adminId = '0', $strip = true) {
        // Insert the task data into the database
-       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_task_system` (`assigned_admin`, `userid`, `status`, `task_type`, `subject`, `text`, `task_created`) VALUES (%s,%s,'NEW','%s','%s','%s', UNIX_TIMESTAMP())",
+       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_task_system` (`assigned_admin`,`userid`,`status`,`task_type`,`subject`,`text`,`task_created`) VALUES (%s,%s,'NEW','%s','%s','%s', UNIX_TIMESTAMP())",
                array(
                        $adminId,
                        $userid,