X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_links.php;h=1b024ace196fc6e2c152c9256ffeaba00bd40c5c;hp=18848922d90c9bc32a64f4bc639ae786b32ca2a9;hb=8fad776382e63b3f73f8dbe289f229d79cfc2c22;hpb=27f65d023a3388a8bd85be8ee5991f776f541847 diff --git a/inc/modules/admin/what-list_links.php b/inc/modules/admin/what-list_links.php index 18848922d9..1b024ace19 100644 --- a/inc/modules/admin/what-list_links.php +++ b/inc/modules/admin/what-list_links.php @@ -1,19 +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 ($_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($_GET['u_id']), $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($_GET['u_id'])); - SEND_EMAIL($email, 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, ADMIN_LINKS_DELETED); + displayMessage('{--ADMIN_LINKS_DELETED--}'); } else { + // Init variables + $OUT = ''; + // List all unconfirmed mails - $SW = 2; $OUT = ""; - while (list($id, $id2, $type) = SQL_FETCHROW($result)) { - // Initializes some variables - $cat = ""; - $DATA = ""; - $PROBLEM = 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 = 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 = 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 = 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($_GET['u_id'])); + $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, ADMIN_MEMBER_LINKS_1.$_GET['u_id'].ADMIN_MEMBER_LINKS_2); + displayMessage('{%message,ADMIN_NO_UNCONFIRMED_MAILS_LEFT=' . bigintval(getRequestElement('userid')) . '%}'); } } else { // User not found - LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_MEMBER_404_1.$_GET['u_id'].ADMIN_MEMBER_404_2); + displayMessage('{%message,ADMIN_MEMBER_404=' . bigintval(getRequestElement('userid')) . '%}'); } } else { // Output selection form with all confirmed user accounts listed - ADD_MEMBER_SELECTION_BOX(); + addMemberSelectionBox(); } -// +// [EOF] ?>