X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_links.php;h=1b024ace196fc6e2c152c9256ffeaba00bd40c5c;hp=3fe8031108deaa70e04820e6bc83407baa79d947;hb=8fad776382e63b3f73f8dbe289f229d79cfc2c22;hpb=508228c85fba8448d00865b1639cb8cd7a69e457 diff --git a/inc/modules/admin/what-list_links.php b/inc/modules/admin/what-list_links.php index 3fe8031108..1b024ace19 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 = 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 (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__); + SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_links` WHERE `userid`=%s LIMIT %s", + array(bigintval(getRequestElement('userid')), SQL_NUMROWS($result)), __FILE__, __LINE__); // Prepare mail and send it away - $msg = LOAD_EMAIL_TEMPLATE("admin-del_links", $nums, bigintval(REQUEST_GET('uid'))); - SEND_EMAIL($email, getMessage('ADMIN_DEL_LINK_SUBJ'), $msg); + $message = loadEmailTemplate('member_delete_links', SQL_NUMROWS($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 = SQL_FETCHARRAY($result)) { + // Initializes all other elements + $linkData['mail_id'] = ''; + $linkData['problem'] = '{--ADMIN_GENERAL_MAIL_PROBLEM--}'; + $result_data = false; // Load data from stats table... - switch ($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.""; - 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.""; - break; - - default: // Problem in application detected! - // Log the error - DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid email type %s detected.", $type)); - break; - } - + // @TODO Rewrite this to includes/filter + 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($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($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! + 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! - list($subject, $timestamp, $cat) = SQL_FETCHROW($result_data); - SQL_FREERESULT($result_data); - if (empty($subject)) $subject = getMessage('DEFAULT_SUBJECT_LINE'); + // Mail was found + $mailData = merge_array($linkData, SQL_FETCHARRAY($result_data)); + + // Fix empty subject + 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, - 'subj' => $subject, - 'stamp' => MAKE_DATETIME($timestamp, "0"), - 'cat' => GET_CATEGORY($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 + SQL_FREERESULT($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' => SQL_NUMROWS($result), + 'userid' => bigintval(getRequestElement('userid')), + ); + + // Free memory + SQL_FREERESULT($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] ?>