Renamed ifSqlHasZeroNums() to ifSqlHasZeroNumRows() and improved some queries.
[mailer.git] / inc / modules / admin / what-list_unconfirmed.php
index 0b9172531c70229e65399944e60d3ffb454373a4..897d760274220303bc3f42327274e27f79d7c862 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2015 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -49,26 +49,32 @@ if (!isExtensionActive('mailid')) {
 } // END - if
 
 // Don't load the admin_list_unconfirmed template by default
-$listed = false;
+$listed = FALSE;
 
 // Init query
 $sql = '';
 
 // List confirmation links from normal or bonus mails
-if (isGetRequestElementSet('mid')) {
+if ((isPostRequestElementSet('id')) && (isGetRequestElementSet('type')) && (postRequestElement('type') == 'normal')) {
        // SQL query for mail data
-       $sql = sprintf("SELECT
-       s.`id`, p.`sender`, p.`subject`, p.`text`, p.`url`, p.`timestamp`, s.`max_rec`
+       $sql = sprintf('SELECT
+       `s`.`id`,
+       `p`.`sender`,
+       `p`.`subject`,
+       `p`.`text`,
+       `p`.`url`,
+       `p`.`timestamp`,
+       `s`.`max_rec`
 FROM
-       `{?_MYSQL_PREFIX?}_pool` AS p
+       `{?_MYSQL_PREFIX?}_pool` AS `p`
 LEFT JOIN
-       `{?_MYSQL_PREFIX?}_user_stats` AS s
+       `{?_MYSQL_PREFIX?}_user_stats` AS `s`
 ON
-       p.id=s.pool_id
+       `p`.`id`=`s`.`pool_id`
 WHERE
-       p.`id`=%s
-LIMIT 1",
-               bigintval(getRequestElement('mid'))
+       `s`.`pool_id`=%s
+LIMIT 1',
+               bigintval(getRequestElement('id'))
        );
 
        // Column, type and id for member's mail
@@ -77,46 +83,48 @@ LIMIT 1",
        $ID = -1;
 
        // Load admin_list_unconfirmed template
-       $listed = true;
-       $DATA = getRequestElement('mid');
-       $mailType = 'mailid';
-} elseif ((isGetRequestElementSet('bid')) && (isExtensionActive('bonus'))) {
-       // @TODO This constant might be unused? define('__LIST_UNCON_TITLE', '{--ADMIN_LIST_UNCONFIRMED_BONUS_LINKS--}');
-
+       $listed = TRUE;
+       $DATA = getRequestElement('id');
+} elseif (((isPostRequestElementSet('id')) && (isGetRequestElementSet('type')) && (postRequestElement('type') == 'bonus')) && (isExtensionActive('bonus'))) {
        // SQL query for mail data (both ids are required for compatiblity to above normal mail
-       $sql = sprintf("SELECT
-       `id`,`id` AS `sender`,`subject`,`text`,`url`,`timestamp`,`mails_sent` AS `max_rec`
+       $sql = sprintf('SELECT
+       `id`,
+       NULL AS `sender`,
+       `subject`,
+       `text`,
+       `url`,
+       `timestamp`,
+       `mails_sent` AS `max_rec`
 FROM
        `{?_MYSQL_PREFIX?}_bonus`
 WHERE
        `id`=%s
-LIMIT 1",
-               bigintval(getRequestElement('bid'))
+LIMIT 1',
+               bigintval(getRequestElement('id'))
        );
 
        // Column, type and id for member's mail
        $col = 'bonus_id';
        $type = 'BONUS';
-       $ID = getRequestElement('bid');
+       $ID = getRequestElement('id');
 
        // Load admin_list_unconfirmed template
-       $listed = true;
+       $listed = TRUE;
        $DATA = $ID;
-       $mailType = 'bonusid';
 } else {
        // @TODO "Please do not call me directly." Should be rewritten to a nice selection depending on ext-bonus
        displayMessage('{--ADMIN_CALL_NOT_DIRECTLY--}');
 }
 
 // Shall I display links or not?
-if (($listed === true) && (!empty($sql))) {
+if (($listed === TRUE) && (!empty($sql))) {
        // Load mail data
-       $result_master = SQL_QUERY($sql, __FILE__, __LINE__);
+       $result_master = sqlQuery($sql, __FILE__, __LINE__);
 
-       // Do we have an entry?
-       if (SQL_NUMROWS($result_master) == 1) {
+       // Is there an entry?
+       if (sqlNumRows($result_master) == 1) {
                // Mail order / bonus mail found
-               $poolData = SQL_FETCHARRAY($result_master);
+               $poolData = sqlFetchArray($result_master);
 
                // If there is a pool id and $ID is not set, we take it
                if (($poolData['id'] > 0) && ($ID == '-1')) {
@@ -131,23 +139,23 @@ if (($listed === true) && (!empty($sql))) {
                // Load unconfirmed mail links. Hmmm, this select query is pretty cool
                // but it does only show unconfirmed mail links from existing user
                // accounts. So if you have delete one you did not see those links
-               $result = SQL_QUERY_ESC("SELECT
-       l.`userid`,
-       u.`status`,
-       u.`surname`,
-       u.`family`,
-       u.`gender`,
-       u.`email`
+               $result = sqlQueryEscaped("SELECT
+       `l`.`userid`,
+       `u`.`status`,
+       `u`.`surname`,
+       `u`.`family`,
+       `u`.`gender`,
+       `u`.`email`
 FROM
        `{?_MYSQL_PREFIX?}_user_links` AS `l`
 LEFT JOIN
        `{?_MYSQL_PREFIX?}_user_data` AS `u`
 ON
-       l.`userid`=u.`userid`
+       `l`.`userid`=`u`.`userid`
 WHERE
-       l.`%s`=%s
+       `l`.`%s`=%s
 ORDER BY
-       l.`userid` ASC
+       `l`.`userid` ASC
 LIMIT %s",
                        array(
                                $col,
@@ -155,67 +163,67 @@ LIMIT %s",
                                bigintval($poolData['max_rec'])
                        ),__FILE__, __LINE__);
 
-               // Do we have entries?
-               if (!SQL_HASZERONUMS($result)) {
+               // Are there entries?
+               if (!ifSqlHasZeroNumRows($result)) {
                        // At least one link left to confirm
                        $OUT = '';
-                       while ($row = SQL_FETCHARRAY($result)) {
+                       while ($row = sqlFetchArray($result)) {
                                // User data found? We can take any field of u.
                                if (!is_null($row['status'])) {
                                        // Prepare data for the row template
                                        $row = array(
                                                'userid' => $row['userid'],
-                                               'link'   => $mailType,
+                                               'type'   => getRequestElement('type'),
                                                'id'     => $ID,
                                                'email'  => '<a href="' . generateEmailLink($row['email'], 'user_data') . '">{%pipe,translateGender=' . $row['gender'] . '%} ' . $row['surname'] . ' ' . $row['family'] . '</a>',
                                                'status' => $row['status'],
                                        );
 
                                        // Load row template and switch colors
-                                       $OUT .= loadTemplate('admin_list_unconfirmed_row', true, $row);
+                                       $OUT .= loadTemplate('admin_list_unconfirmed_row', TRUE, $row);
                                } else {
                                        // No user data found
-                                       $OUT .= loadTemplate('admin_list_unconfirmed_row_404', true, $row);
+                                       $OUT .= loadTemplate('admin_list_unconfirmed_row_404', TRUE, $row);
                                }
                        } // END - while
 
                        // Render it in our new listing
-                       $OUT = loadTemplate('admin_list_unconfirmed_list', true, $OUT);
+                       $OUT = loadTemplate('admin_list_unconfirmed_list', TRUE, $OUT);
                } else {
                        // All links are confirmed... strange, you shall normally not get a link to this place in this scenario... hmmm.
-                       $OUT = displayMessage('{--ADMIN_UNCONFIRMED_NO_LINK_LEFT--}', true);
+                       $OUT = returnMessage('{--ADMIN_UNCONFIRMED_NO_LINK_LEFT--}');
                }
 
                // Prepare content
                $content                = $poolData;
-               $content['unconfirmed'] = SQL_NUMROWS($result);
+               $content['unconfirmed'] = sqlNumRows($result);
                $content['timestamp']   = generateDateTime($poolData['timestamp'], 2);
                $content['rows']        = $OUT;
 
                // Free memory
-               SQL_FREERESULT($result);
+               sqlFreeResult($result);
 
                // Load final template
-               loadTemplate('admin_list_unconfirmed', false, $content);
-       } elseif (getRequestElement('mid') > 0) {
+               loadTemplate('admin_list_unconfirmed', FALSE, $content);
+       } elseif (getRequestElement('id') > 0) {
                // Data in pool or in user_stats not found, so let's find out where data is missing
-               if (countSumTotalData(bigintval($ID), 'pool', 'id', 'id', true) == 1) {
+               if (countSumTotalData(bigintval($ID), 'pool', 'id', 'id', TRUE) == 1) {
                        // pool table
                        displayMessage('{%message,ADMIN_UNCONFIRMED_POOL_MISSING=' . $ID . '%}');
-               } elseif (countSumTotalData(bigintval($ID), 'user_stats', 'id', 'pool_id', true) == 1) {
+               } elseif (countSumTotalData(bigintval($ID), 'user_stats', 'id', 'pool_id', TRUE) == 1) {
                        // user_stats table
                        displayMessage('{%message,ADMIN_UNCONFIRMED_STATS_MISSING=' . $ID . '%}');
                } else {
                        // both or link is invalid
                        displayMessage('{--ADMIN_UNCONFIRMED_INVALID_LINK--}');
                }
-       } elseif (isGetRequestElementSet('bid')) {
+       } elseif ((isPostRequestElementSet('id')) && (isGetRequestElementSet('type')) && (postRequestElement('type') == 'bonus')) {
                // Data in bonus table not found
                displayMessage('{--ADMIN_UNCONFIRMED_INVALID_LINK--}');
        }
 
        // Free result
-       SQL_FREERESULT($result_master);
+       sqlFreeResult($result_master);
 } // END - if
 
 // [EOF]