X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_links.php;h=4a94c12924c919dbd581f63b634b6fb478b33dfd;hp=43eda25e790f61211c3bf1eade6b030048b911cf;hb=596c8ab32594401ca84abfbfe35513ddfff31bec;hpb=e2148142f8b1a8f40fd6e7ca32185569c5a9083e diff --git a/inc/modules/admin/what-list_links.php b/inc/modules/admin/what-list_links.php index 43eda25e79..4a94c12924 100644 --- a/inc/modules/admin/what-list_links.php +++ b/inc/modules/admin/what-list_links.php @@ -14,11 +14,10 @@ * $Date:: $ * * $Tag:: 0.2.1-FINAL $ * * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2012 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * @@ -42,135 +41,127 @@ if ((!defined('__SECURITY')) || (!isAdmin())) { } // END - if // Add description as navigation point -addMenuDescription('admin', __FILE__); +addYouAreHereLink('admin', __FILE__); if (!isExtensionActive('mailid')) { - loadTemplate('admin_settings_saved', false, generateExtensionInactiveNotInstalledMessage('mailid')); + displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=mailid%}'); return; } // END - if if (isGetRequestElementSet('userid')) { // Check if the user already exists if (fetchUserData(getRequestElement('userid'))) { - // Grab user's all unconfirmed mails - // @TODO Try to rewrite this to a filter - if (isExtensionActive('bonus')) { - // Load bonus id - $result = SQL_QUERY_ESC("SELECT `stats_id`, `bonus_id`, `link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s ORDER BY `id`", - array(bigintval(getRequestElement('userid'))), __FILE__, __LINE__); - } else { - // Load stats id (2nd will be ignored later! But it is needed for the same fetchrow command) - $result = SQL_QUERY_ESC("SELECT `stats_id`, `stats_id`, `link_type` FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s ORDER BY `id` ASC", - array(bigintval(getRequestElement('userid'))), __FILE__, __LINE__); - } + // Default is ext-bonus is not installed + $rowName = 'stats_id'; - // Get number of rows from the query - $nums = SQL_NUMROWS($result); - - if ($nums > 0) { + // Is ext-bonus installed? + if (isExtensionActive('bonus')) { + // Use bonus_id + $linkDataName = 'bonus_id'; + } // END - if + + // Load user links data + $result = SQL_QUERY_ESC("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 (!SQL_HASZERONUMS($result)) { // Some unconfirmed mails left - if (getRequestElement('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(getRequestElement('userid')), $nums), __FILE__, __LINE__); + array(bigintval(getRequestElement('userid')), SQL_NUMROWS($result)), __FILE__, __LINE__); // Prepare mail and send it away - $message = loadEmailTemplate('admin-del_links', $nums, bigintval(getRequestElement('userid'))); - sendEmail(getUserData('email'), getMessage('ADMIN_DEL_LINK_SUBJ'), $message); + $message = loadEmailTemplate('member_delete_links', SQL_NUMROWS($result), bigintval(getRequestElement('userid'))); + sendEmail(getUserData('userid'), '{--ADMIN_DELETE_LINK_SUBJECT--}', $message); // Display message - loadTemplate('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 = SQL_FETCHARRAY($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` AS `timestamp`, `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.""; + 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.""; + 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 - logDebugMessage(__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 (SQL_NUMROWS($result_data) == 1) { - // Mail was found! - $content = SQL_FETCHARRAY($result_data); + // Mail was found + $mailData = merge_array($linkData, SQL_FETCHARRAY($result_data)); // Fix empty subject - if (empty($content['subject'])) $content['subject'] = getMessage('DEFAULT_SUBJECT_LINE'); + if (empty($mailData['subject'])) { + // The subject line is empty so we use the default + $mailData['subject'] = '{--DEFAULT_SUBJECT_LINE--}'; + } // END - if // Prepare data for the row template - $content = array( - 'sw' => $SW, - 'link' => $LINK, - 'subject' => $content['subject'], - 'timestamp' => generateDateTime($content['timestamp'], 0), - 'cat' => getCategory($content['cat_id']), - ); + $mailData['timestamp'] = generateDateTime($mailData['timestamp'], 0); // Load row template - $OUT .= loadTemplate('admin_list_links_row', true, $content); + $OUT .= loadTemplate('admin_list_links_row', TRUE, $mailData); } else { // Load template for error - $OUT .= loadTemplate('admin_list_links_problem', - array( - 'sw' => $SW, - 'problem' => $PROBLEM, - 'data' => $DATA - ) - ); + $OUT .= loadTemplate('admin_list_links_problem', TRUE, $linkData); } - // Switch color and free result - $SW = 3 - $SW; + // Free result SQL_FREERESULT($result_data); } // END - while + // Remember list in constant for the template + $content = array( + 'email' => '' . getUserData('email') . '', + 'rows' => $OUT, + 'nums' => SQL_NUMROWS($result), + 'userid' => bigintval(getRequestElement('userid')), + ); + // Free memory SQL_FREERESULT($result); - // Remember list in constant for the template - $content['surname'] = getUserData('surname'); - $content['family'] = getUserData('family'); - $content['email'] = "".getUserData('email').""; - $content['rows'] = $OUT; - $content['nums'] = $nums; - $content['userid'] = bigintval(getRequestElement('userid')); - // Load final template - loadTemplate('admin_list_links', false, $content); + loadTemplate('admin_list_links', FALSE, $content); } } else { // No mails left to confirm - loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_MEMBER_LINKS'), getRequestElement('userid'))); + displayMessage('{%message,ADMIN_NO_UNCONFIRMED_MAILS_LEFT=' . bigintval(getRequestElement('userid')) . '%}'); } } else { // User not found - loadTemplate('admin_settings_saved', false, sprintf(getMessage('ADMIN_MEMBER_404'), getRequestElement('userid'))); + displayMessage('{%message,ADMIN_MEMBER_404=' . bigintval(getRequestElement('userid')) . '%}'); } } else { // Output selection form with all confirmed user accounts listed