X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_unconfirmed.php;h=66bdca441a1ec7f18ae96523d903410fa810f301;hb=6b1e55213d76a67e9aa3d9f1e4dcb55e0bbf12ee;hp=5b7b11dcfee94a70e61683b51d8673250e41d999;hpb=963e55ca1ea79e255f235e359cde9f7862191dc5;p=mailer.git diff --git a/inc/modules/admin/what-list_unconfirmed.php b/inc/modules/admin/what-list_unconfirmed.php index 5b7b11dcfe..66bdca441a 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; - define('__LIST_UNCON_SENDER' , $sender); - define('__LIST_UNCON_SUBJECT', COMPILE_CODE($subj)); - define('__LIST_UNCON_TEXT' , COMPILE_CODE($text)); - define('__LIST_UNCON_URL' , urlencode(base64_encode($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); - 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 (!ifSqlHasZeroNums($result)) { // At least one link left to confirm - $OUT = LOAD_TEMPLATE("admin_list_unconfirmed_header", true); - $SW = 2; - while(list($uid, $status, $sname, $fname, $gender, $email) = SQL_FETCHROW($result)) - { - // Prepare data for the row template - $content = array( - 'sw' => $SW, - 'u_link' => ADMIN_USER_PROFILE_LINK($uid), - 'uid' => $uid, - 'link' => $LINK, - 'id' => $ID, - 'email' => "".TRANSLATE_GENDER($gender)." ".$sname." ".$fname."", - 'status' => TRANSLATE_STATUS($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); - } - else - { + $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, 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 ($_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, ADMIN_UNCONFIRMED_POOL_MISSING_1.$ID.ADMIN_UNCONFIRMED_POOL_MISSING_2); - } - 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, ADMIN_UNCONFIRMED_STATS_MISSING_1.$ID.ADMIN_UNCONFIRMED_STATS_MISSING_2); - } - else - { + displayMessage('{%message,ADMIN_UNCONFIRMED_STATS_MISSING=' . $ID . '%}'); + } else { // both or link is invalid - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_UNCONFIRMED_INVALID_LINK); + displayMessage('{--ADMIN_UNCONFIRMED_INVALID_LINK--}'); } - - // Free memory - SQL_FREERESULT($result1); - SQL_FREERESULT($result2); - } - elseif (!empty($_GET['bid'])) - { + } elseif ((isPostRequestElementSet('id')) && (isGetRequestElementSet('type')) && (postRequestElement('type') == 'bonus')) { // Data in bonus table not found - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_UNCONFIRMED_INVALID_LINK); + displayMessage('{--ADMIN_UNCONFIRMED_INVALID_LINK--}'); } -} -// + + // Free result + sqlFreeResult($result_master); +} // END - if + +// [EOF] ?>