Rewrote 'we' word a little, rewrote mail order to use SQL_INSERTID() instead of anoth...
[mailer.git] / inc / modules / admin / what-list_links.php
index 60b4e041b6240e0ab516bcc214c331397f6d8811..1b024ace196fc6e2c152c9256ffeaba00bd40c5c 100644 (file)
  * $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                           *
- * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
- * 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 *
@@ -43,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 (isGetRequestParameterSet('userid')) {
+if (isGetRequestElementSet('userid')) {
        // Check if the user already exists
-       if (fetchUserData(getRequestParameter('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` ASC",
-                               array(bigintval(getRequestParameter('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(getRequestParameter('userid'))), __FILE__, __LINE__);
-               }
+       if (fetchUserData(getRequestElement('userid'))) {
+               // 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 (getRequestParameter('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(getRequestParameter('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(getRequestParameter('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 = '<a href="{%url=mailid.php?userid=' . getRequestParameter('userid') . '&amp;mailid=' . $id . '%}" target="_blank">' . $id . '</a>';
+                                                               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 = '<a href="{%url=mailid.php?userid=' . getRequestParameter('userid') . '&amp;bonusid=' . $id2 . '%}" target="_blank">' . $id2 . '</a>';
+                                                               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', true,
-                                                       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'   => '<a href="' . generateEmailLink(getUserData('email'), 'user_data') . '">' . getUserData('email') . '</a>',
+                                       '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']   = '<a href="' . generateEmailLink(getUserData('email'), 'user_data') . '">' . getUserData('email') . '</a>';
-                               $content['rows']    = $OUT;
-                               $content['nums']    = $nums;
-                               $content['userid']  = bigintval(getRequestParameter('userid'));
-
                                // Load final template
                                loadTemplate('admin_list_links', false, $content);
                        }
                } else {
                        // No mails left to confirm
-                       loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_MEMBER_LINKS', getRequestParameter('userid')));
+                       displayMessage('{%message,ADMIN_NO_UNCONFIRMED_MAILS_LEFT=' . bigintval(getRequestElement('userid')) . '%}');
                }
        } else {
                // User not found
-               loadTemplate('admin_settings_saved', false, getMaskedMessage('ADMIN_MEMBER_404', getRequestParameter('userid')));
+               displayMessage('{%message,ADMIN_MEMBER_404=' . bigintval(getRequestElement('userid')) . '%}');
        }
 } else {
        // Output selection form with all confirmed user accounts listed