Renamed ifSqlHasZeroNums() to ifSqlHasZeroNumRows() and improved some queries.
[mailer.git] / inc / modules / admin / what-list_unconfirmed.php
index 53de7682da4a1022b4c0066103b0e2221ae083ac..897d760274220303bc3f42327274e27f79d7c862 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2012 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 *
@@ -55,26 +55,26 @@ $listed = FALSE;
 $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`,
+       $sql = sprintf('SELECT
+       `s`.`id`,
        `p`.`sender`,
        `p`.`subject`,
        `p`.`text`,
        `p`.`url`,
        `p`.`timestamp`,
-       s.`max_rec`
+       `s`.`max_rec`
 FROM
        `{?_MYSQL_PREFIX?}_pool` AS `p`
 LEFT JOIN
        `{?_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
@@ -84,16 +84,12 @@ LIMIT 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--}');
-
+       $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
-       // @TODO `id` has been used two times???
-       $sql = sprintf("SELECT
+       $sql = sprintf('SELECT
        `id`,
-       `id` AS `sender`,
+       NULL AS `sender`,
        `subject`,
        `text`,
        `url`,
@@ -103,19 +99,18 @@ 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;
        $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--}');
@@ -124,12 +119,12 @@ LIMIT 1",
 // Shall I display links or not?
 if (($listed === TRUE) && (!empty($sql))) {
        // Load mail data
-       $result_master = SQL_QUERY($sql, __FILE__, __LINE__);
+       $result_master = sqlQuery($sql, __FILE__, __LINE__);
 
        // Is there an entry?
-       if (SQL_NUMROWS($result_master) == 1) {
+       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')) {
@@ -144,8 +139,8 @@ 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`,
+               $result = sqlQueryEscaped("SELECT
+       `l`.`userid`,
        `u`.`status`,
        `u`.`surname`,
        `u`.`family`,
@@ -156,11 +151,11 @@ FROM
 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,
@@ -169,16 +164,16 @@ LIMIT %s",
                        ),__FILE__, __LINE__);
 
                // Are there entries?
-               if (!SQL_HASZERONUMS($result)) {
+               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'],
@@ -196,21 +191,21 @@ LIMIT %s",
                        $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) {
+       } 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) {
                        // pool table
@@ -222,13 +217,13 @@ LIMIT %s",
                        // 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]