X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_unconfirmed.php;h=897d760274220303bc3f42327274e27f79d7c862;hp=9dd067d1b1d3142137c0357cb933274898e85b19;hb=49acdb7a7adbcf25a8e8683b5581bfcec72b23bd;hpb=508228c85fba8448d00865b1639cb8cd7a69e457 diff --git a/inc/modules/admin/what-list_unconfirmed.php b/inc/modules/admin/what-list_unconfirmed.php index 9dd067d1b1..897d760274 100644 --- a/inc/modules/admin/what-list_unconfirmed.php +++ b/inc/modules/admin/what-list_unconfirmed.php @@ -1,7 +1,7 @@ 0) && ($ID == "-1")) $ID = $stats_id; - if ($col == "bonus_id") $sender = 0; - - // @TODO Rewrite these constants - define('__LIST_UNCON_SENDER' , $sender); - define('__LIST_UNCON_SUBJECT', COMPILE_CODE($subj)); - define('__LIST_UNCON_TEXT' , COMPILE_CODE($text)); - define('__LIST_UNCON_URL' , encodeString($url)); - define('__LIST_UNCON_STAMP' , MAKE_DATETIME($stamp, "2")); + $result_master = sqlQuery($sql, __FILE__, __LINE__); + + // Is there an entry? + if (sqlNumRows($result_master) == 1) { + // Mail order / bonus mail found + $poolData = sqlFetchArray($result_master); + + // If there is a pool id and $ID is not set, we take it + if (($poolData['id'] > 0) && ($ID == '-1')) { + $ID = $poolData['id']; + } // END - if + + // Bonus mails do always have a sender 'NULL' + if ($col == 'bonus_id') { + $poolData['sender'] = NULL; + } // END - if // 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 DISTINCT 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 -WHERE l.%s='%s' ORDER BY l.userid LIMIT %s", - array($col, $ID, bigintval($max)),__FILE__, __LINE__); - $unconfirmed = SQL_NUMROWS($result); - - // @TODO Rewrite this constant - define('__LIST_UNCO_UNCONFIRMED', $unconfirmed); - - if ($unconfirmed > 0) { + $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` +WHERE + `l`.`%s`=%s +ORDER BY + `l`.`userid` ASC +LIMIT %s", + array( + $col, + $ID, + bigintval($poolData['max_rec']) + ),__FILE__, __LINE__); + + // Are there entries? + if (!ifSqlHasZeroNumRows($result)) { // At least one link left to confirm - $OUT = LOAD_TEMPLATE("admin_list_unconfirmed_header", true); - $SW = 2; - while ($content = SQL_FETCHARRAY($result)) { - // Prepare data for the row template - // @TODO Rewritings: uid->userid - $content = array( - 'sw' => $SW, - 'u_link' => ADMIN_USER_PROFILE_LINK($content['userid']), - 'uid' => $content['userid'], - 'link' => $LINK, - 'id' => $ID, - 'email' => "".TRANSLATE_GENDER($content['gender'])." ".$content['surname']." ".$content['family']."", - 'status' => TRANSLATE_STATUS($content['status']), - ); - - // Load row template and switch colors - $OUT .= LOAD_TEMPLATE("admin_list_unconfirmed_row", true, $content); - $SW = 3 - $SW; - } - $OUT .= "\n"; - - // Free memory - SQL_FREERESULT($result); - - // Store table rows in a constant - define('__LIST_UNCON_LISTING', $OUT); + $OUT = ''; + 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'], + 'type' => getRequestElement('type'), + 'id' => $ID, + 'email' => '{%pipe,translateGender=' . $row['gender'] . '%} ' . $row['surname'] . ' ' . $row['family'] . '', + 'status' => $row['status'], + ); + + // Load row template and switch colors + $OUT .= loadTemplate('admin_list_unconfirmed_row', TRUE, $row); + } else { + // No user data found + $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); } else { // All links are confirmed... strange, you shall normally not get a link to this place in this scenario... hmmm. - define('__LIST_UNCON_LISTING', LOAD_TEMPLATE("admin_settings_saved", true, getMessage('ADMIN_UNCONFIRMED_NO_LINK_LEFT'))); + $OUT = returnMessage('{--ADMIN_UNCONFIRMED_NO_LINK_LEFT--}'); } + // Prepare content + $content = $poolData; + $content['unconfirmed'] = sqlNumRows($result); + $content['timestamp'] = generateDateTime($poolData['timestamp'], 2); + $content['rows'] = $OUT; + + // Free memory + sqlFreeResult($result); + // Load final template - LOAD_TEMPLATE("admin_list_unconfirmed"); - } elseif (REQUEST_GET('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 - $result1 = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_pool` WHERE id=%s LIMIT 1", - array(bigintval($ID)), __FILE__, __LINE__); - $result2 = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_user_stats` WHERE pool_id=%s LIMIT 1", - array(bigintval($ID)), __FILE__, __LINE__); - if (SQL_NUMROWS($result1) == 1) { + if (countSumTotalData(bigintval($ID), 'pool', 'id', 'id', TRUE) == 1) { // pool table - LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_UNCONFIRMED_POOL_MISSING', $ID))); - } elseif (SQL_NUMROWS($result2) == 1) { + displayMessage('{%message,ADMIN_UNCONFIRMED_POOL_MISSING=' . $ID . '%}'); + } elseif (countSumTotalData(bigintval($ID), 'user_stats', 'id', 'pool_id', TRUE) == 1) { // user_stats table - LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_UNCONFIRMED_STATS_MISSING', $ID))); + displayMessage('{%message,ADMIN_UNCONFIRMED_STATS_MISSING=' . $ID . '%}'); } else { // both or link is invalid - LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_UNCONFIRMED_INVALID_LINK')); + displayMessage('{--ADMIN_UNCONFIRMED_INVALID_LINK--}'); } - - // Free memory - SQL_FREERESULT($result1); - SQL_FREERESULT($result2); - } elseif (REQUEST_ISSET_GET(('bid'))) { + } elseif ((isPostRequestElementSet('id')) && (isGetRequestElementSet('type')) && (postRequestElement('type') == 'bonus')) { // Data in bonus table not found - LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_UNCONFIRMED_INVALID_LINK')); + displayMessage('{--ADMIN_UNCONFIRMED_INVALID_LINK--}'); } -} -// + // Free result + sqlFreeResult($result_master); +} // END - if + +// [EOF] ?>