X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_links.php;h=b0b5309e31be1d841e47d399626315a526407ecf;hp=aa10df751a7c18ab0ec1d80597fa449c074cef1e;hb=49acdb7a7adbcf25a8e8683b5581bfcec72b23bd;hpb=3f51c40f4fede87228216f9285b745a339e3891d diff --git a/inc/modules/admin/what-list_links.php b/inc/modules/admin/what-list_links.php index aa10df751a..b0b5309e31 100644 --- a/inc/modules/admin/what-list_links.php +++ b/inc/modules/admin/what-list_links.php @@ -1,24 +1,23 @@ 0) { + if (fetchUserData(getRequestElement('userid'))) { + // Default is ext-bonus is not installed + $rowName = 'stats_id'; + + // Is ext-bonus installed? + if (isExtensionActive('bonus')) { + // Use bonus_id + $linkDataName = 'bonus_id'; + } // END - if + + // Load user links data + $result = sqlQueryEscaped("SELECT `userid`, `stats_id`, `%s`, `link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s ORDER BY `id` ASC", + array( + $linkDataName, + bigintval(getRequestElement('userid')) + ), __FILE__, __LINE__); + + // Are there some entries? + if (!ifSqlHasZeroNumRows($result)) { // Some unconfirmed mails left - if (REQUEST_GET('del') == "all") { + if (getRequestElement('delete') == 'all') { // Delete all unconfirmed mails by this user - SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_user_links` WHERE userid=%s LIMIT %s", - array(bigintval(REQUEST_GET('uid')), $nums), __FILE__, __LINE__); + sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s LIMIT %s", + array(bigintval(getRequestElement('userid')), sqlNumRows($result)), __FILE__, __LINE__); // Prepare mail and send it away - $msg = LOAD_EMAIL_TEMPLATE("admin-del_links", $nums, bigintval(REQUEST_GET('uid'))); - sendEmail($email, getMessage('ADMIN_DEL_LINK_SUBJ'), $msg); + $message = loadEmailTemplate('member_delete_links', sqlNumRows($result), bigintval(getRequestElement('userid'))); + sendEmail(getUserData('userid'), '{--ADMIN_DELETE_LINK_SUBJECT--}', $message); // Display message - LOAD_TEMPLATE('admin_settings_saved', false, getMessage('ADMIN_LINKS_DELETED')); + displayMessage('{--ADMIN_LINKS_DELETED--}'); } else { // Init variables - $OUT = ''; $SW = 2; + $OUT = ''; // List all unconfirmed mails - // @TODO Find a way to rewrite this. See some lines above for different queries - while (list($id, $id2, $type) = SQL_FETCHROW($result)) { - // Initializes some variables - $cat = ''; - $DATA = ''; - $PROBLEM = getMessage('GENERAL_MAIL_PROBLEM'); - $result_data = false; // Closes Bug #58 + while ($linkData = sqlFetchArray($result)) { + // Initializes all other elements + $linkData['mail_id'] = ''; + $linkData['problem'] = '{--ADMIN_GENERAL_MAIL_PROBLEM--}'; + $result_data = FALSE; // Load data from stats table... // @TODO Rewrite this to includes/filter - switch ($type) { + switch ($linkData['link_type']) { case 'NORMAL': - $result_data = SQL_QUERY_ESC("SELECT subject, timestamp_ordered, cat_id FROM `{!_MYSQL_PREFIX!}_user_stats` WHERE `id`=%s LIMIT 1", - array(bigintval($id)), __FILE__, __LINE__); - $type = 'mailid'; $DATA = $id; $PROBLEM = getMessage('NORMAL_MAIL_PROBLEM'); - $LINK = "".$id.""; + $result_data = sqlQueryEscaped("SELECT `subject`, `timestamp_ordered` AS `timestamp`, `cat_id` FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `id`=%s LIMIT 1", + array(bigintval($linkData['stats_id'])), __FILE__, __LINE__); + $linkData['link_type'] = 'mailid'; + $linkData['mail_id'] = $linkData['stats_id']; + $linkData['problem'] = '{--NORMAL_MAIL_PROBLEM--}'; break; case 'BONUS': - $result_data = SQL_QUERY_ESC("SELECT subject, timestamp, cat_id FROM `{!_MYSQL_PREFIX!}_bonus` WHERE `id`=%s LIMIT 1", - array(bigintval($id2)), __FILE__, __LINE__); - $type = 'bonusid'; $DATA = $id2; $PROBLEM = getMessage('BONUS_MAIL_PROBLEM'); - $LINK = "".$id2.""; + $result_data = sqlQueryEscaped("SELECT `subject`, `timestamp`, `cat_id` FROM `{?_MYSQL_PREFIX?}_bonus` WHERE `id`=%s LIMIT 1", + array(bigintval($linkData['bonus_id'])), __FILE__, __LINE__); + $linkData['link_type'] = 'bonusid'; + $linkData['mail_id'] = $linkData['bonus_id']; + $linkData['problem'] = '{--BONUS_MAIL_PROBLEM--}'; break; default: // Problem in application detected! - // Log the error - DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid email type %s detected.", $type)); + reportBug(__FILE__, __LINE__, sprintf('Invalid email type %s detected.', $linkData['link_type'])); break; - } + } // END - switch + + // Is there an entry? + if (sqlNumRows($result_data) == 1) { + // Mail was found + $mailData = merge_array($linkData, sqlFetchArray($result_data)); - if (SQL_NUMROWS($result_data) == 1) { - // Mail was found! - list($subject, $timestamp, $cat) = SQL_FETCHROW($result_data); - SQL_FREERESULT($result_data); - if (empty($subject)) $subject = getMessage('DEFAULT_SUBJECT_LINE'); + // Fix empty subject + if (empty($mailData['subject'])) { + // The subject line is empty so we use the default + $mailData['subject'] = '{--DEFAULT_SUBJECT--}'; + } // END - if // Prepare data for the row template - $content = array( - 'sw' => $SW, - 'link' => $LINK, - 'subj' => $subject, - 'stamp' => generateDateTime($timestamp, '0'), - 'cat' => getCategory($cat), - ); + $mailData['timestamp'] = generateDateTime($mailData['timestamp'], 0); // Load row template - $OUT .= LOAD_TEMPLATE('admin_list_links_row', true, $content); + $OUT .= loadTemplate('admin_list_links_row', TRUE, $mailData); } else { // Load template for error - $OUT .= LOAD_TEMPLATE('admin_list_links_problem', - array( - 'sw' => $SW, - 'problem' => $PROBLEM, - 'data' => $DATA - ) - ); + $OUT .= loadTemplate('admin_list_links_problem', TRUE, $linkData); } - $SW = 3 - $SW; - } - // Free memory - SQL_FREERESULT($result); + // Free result + sqlFreeResult($result_data); + } // END - while // Remember list in constant for the template - define('__SNAME_VALUE', $sname); - define('__FNAME_VALUE', $fname); - define('__EMAIL_VALUE', "".$email.""); - define('__EMAIL_LIST' , $OUT); - define('__NUMS_VALUE' , $nums); - define('__UID' , bigintval(REQUEST_GET('uid'))); + $content = array( + 'email' => '' . getUserData('email') . '', + 'rows' => $OUT, + 'nums' => sqlNumRows($result), + 'userid' => bigintval(getRequestElement('userid')), + ); + + // Free memory + sqlFreeResult($result); // Load final template - LOAD_TEMPLATE('admin_list_links'); + loadTemplate('admin_list_links', FALSE, $content); } } else { // No mails left to confirm - LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('ADMIN_MEMBER_LINKS'), REQUEST_GET('uid'))); + displayMessage('{%message,ADMIN_NO_UNCONFIRMED_MAILS_LEFT=' . bigintval(getRequestElement('userid')) . '%}'); } } else { // User not found - LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('ADMIN_MEMBER_404'), REQUEST_GET('uid'))); + displayMessage('{%message,ADMIN_MEMBER_404=' . bigintval(getRequestElement('userid')) . '%}'); } } else { // Output selection form with all confirmed user accounts listed - ADD_MEMBER_SELECTION_BOX(); + addMemberSelectionBox(); } -// +// [EOF] ?>