X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fadmin%2Fwhat-list_links.php;h=b0b5309e31be1d841e47d399626315a526407ecf;hb=7e770fcb12dae26af6fead2a4bf7ec29ffe36a7e;hp=5d7a1b02b50c6f977b1b4803f3b90eccadaa757e;hpb=bedf54b07b058a0b80f64c36e5a5a2df9404c0b4;p=mailer.git diff --git a/inc/modules/admin/what-list_links.php b/inc/modules/admin/what-list_links.php index 5d7a1b02b5..b0b5309e31 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 = 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 ($_GET['del'] == "all") { + if (getRequestElement('delete') == 'all') { // Delete all unconfirmed mails by this user - $result_del = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_user_links WHERE userid=%d LIMIT %s", - array(bigintval($_GET['u_id']), $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($_GET['u_id'])); - SEND_EMAIL($email, 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, 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)) { - // Load data from stats table... - $cat = ""; - switch ($type) - { - case "NORMAL": - $result_data = SQL_QUERY_ESC("SELECT subject, timestamp_ordered, cat_id FROM "._MYSQL_PREFIX."_user_stats WHERE id=%d 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=%d LIMIT 1", - array(bigintval($id2)), __FILE__, __LINE__); - $type = "bonusid"; $DATA = $id2; $PROBLEM = BONUS_MAIL_PROBLEM; - $LINK = "".$id2.""; - break; - } + while ($linkData = sqlFetchArray($result)) { + // Initializes all other elements + $linkData['mail_id'] = ''; + $linkData['problem'] = '{--ADMIN_GENERAL_MAIL_PROBLEM--}'; + $result_data = FALSE; - 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; + // Load data from stats table... + // @TODO Rewrite this to includes/filter + switch ($linkData['link_type']) { + case 'NORMAL': + $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 = 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! + 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)); + + // 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' => 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 + 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_VALUE' , $_GET['u_id']); + $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, 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] ?>