Huge rewrite of default parameters, ext-network continued:
[mailer.git] / inc / modules / admin / what-email_details.php
index afe6ac45435ce9d4bc8154585a0ce97c145bc384..dd35fd9979ac405f937cf5c2e1e15cfc7684c5c0 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Alle Details einer gebuchten Mail ansehen        *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $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 - 2008 by Roland Haeder                           *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  ************************************************************************/
 
 // Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
-       require($INC);
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+       die();
 }
 
 // Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+addMenuDescription('admin', __FILE__);
 
 // Normal mails ordered by your members
 //              0     1       2       3       4           5          6          7       8        9          10
-$SQL = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id
- FROM "._MYSQL_PREFIX."_pool
- WHERE data_type IN('ADMIN', 'TEMP', 'NEW', 'ACTIVE')
- ORDER BY timestamp DESC";
-$WHO = _ALL;
-$SQL2 = "";
-
-if (!empty($_GET['mid']))
-{
+$sql = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id
+FROM `{?_MYSQL_PREFIX?}_pool`
+WHERE data_type IN('ADMIN','TEMP','NEW','ACTIVE')
+ORDER BY timestamp DESC";
+
+$WHO = getMessage('_ALL');
+$SQL2 = '';
+
+if (isGetRequestElementSet(('mid'))) {
        // Only a specific mail shall be displayed
        //              0     1       2       3       4           5          6          7       8        9          10
-       $SQL = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id
-        FROM "._MYSQL_PREFIX."_pool
-        WHERE id='".bigintval($_GET['mid'])."'
+       $sql = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id
+        FROM `{?_MYSQL_PREFIX?}_pool`
+        WHERE `id`='".bigintval(getRequestElement('mid'))."'
         LIMIT 1";
-       $WHO = MAIL_ID.": ".$_GET['mid'];
-}
- elseif (!empty($_GET['u_id']))
-{
+       $WHO = getMessage('MAIL_ID').": ".getRequestElement('mid');
+} elseif (isGetRequestElementSet('userid')) {
        // All mails by a specific member shall be displayed
        //              0     1       2       3       4           5          6          7       8        9          10
-       $SQL = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id
-        FROM "._MYSQL_PREFIX."_pool
-        WHERE sender='".bigintval($_GET['u_id'])."'
-        ORDER by timestamp DESC";
-       $WHO = USER_ID.": ".$_GET['u_id'];
+       $sql = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id
+FROM `{?_MYSQL_PREFIX?}_pool`
+WHERE sender='".bigintval(getRequestElement('userid'))."'
+ORDER by timestamp DESC";
+       $WHO = getMessage('USER_ID').": ".getRequestElement('userid');
 }
 
-if ((EXT_IS_ACTIVE("bonus")) && ($WHO == _ALL))
-{
+if ((isExtensionActive('bonus')) && ($WHO == getMessage('_ALL'))) {
        // Bonus mails sent by you
        //               0     1       2        3        4      5       6          7       8      9         10          11        12
        $SQL2 = "SELECT id, subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, mails_sent, clicks
-        FROM "._MYSQL_PREFIX."_bonus
-        ORDER BY timestamp DESC";
+FROM `{?_MYSQL_PREFIX?}_bonus`
+WHERE is_notify='N'
+ORDER BY timestamp DESC";
 
        // Check for maximum pages
        $result_bonus = SQL_QUERY($SQL2, __FILE__, __LINE__);
 }
 
 // Check for maximum pages
-$result_normal = SQL_QUERY($SQL, __FILE__, __LINE__);
+$result_normal = SQL_QUERY($sql, __FILE__, __LINE__);
 
 // Set offset an current page to default values
-if (empty($_GET['page']))   $_GET['page']   = "1";
-if (empty($_GET['offset'])) $_GET['offset'] = $_CONFIG['mails_page'];
+if (!isGetRequestElementSet('page')) setRequestGetElement('page', 1);
+
+if (!isGetRequestElementSet('offset')) {
+       if (isConfigEntrySet('mails_page')) {
+               // Set config entry
+               setRequestGetElement('offset', getConfig('mails_page'));
+       } else {
+               // Set default one
+               setRequestGetElement('offset', 10);
+       }
+} // END - if
 
 // Add limitation to SQL string
-if (empty($_GET['mid']))
-{
+if (!isGetRequestElementSet(('mid'))) {
        // Create limitation line
-       $ADD = " LIMIT ".(bigintval($_GET['offset']) * bigintval($_GET['page']) - bigintval($_GET['offset'])).", ".bigintval($_GET['offset']);
+       $add = " LIMIT ".(bigintval(getRequestElement('offset')) * bigintval(getRequestElement('page')) - bigintval(getRequestElement('offset'))).", ".bigintval(getRequestElement('offset'));
 
        // For normal mails
-       $SQL .= $ADD;
+       $sql .= $add;
 
        // For bonus mails
-       if (!empty($SQL2)) $SQL2 .= $ADD;
-}
+       if (!empty($SQL2)) $SQL2 .= $add;
+} // END - if
 
 // Run SQL query for normal mails
-$result_list = SQL_QUERY($SQL, __FILE__, __LINE__);
-if ((!empty($SQL2)) && ($WHO == _ALL)) $result_bonus = SQL_QUERY($SQL2, __FILE__, __LINE__);
+$result_list = SQL_QUERY($sql, __FILE__, __LINE__);
+if ((!empty($SQL2)) && ($WHO == getMessage('_ALL'))) $result_bonus = SQL_QUERY($SQL2, __FILE__, __LINE__);
 
 // Calculate pages
-$PAGES = round(SQL_NUMROWS($result_normal) / $_CONFIG['mails_page'] + 0.3);
+$PAGES = '0';
+if (isConfigEntrySet('mails_page')) {
+       $PAGES = round(SQL_NUMROWS($result_normal) / getConfig('mails_page') + 0.3);
+} // END - if
+
+// Free result
 SQL_FREERESULT($result_normal);
 
 $MAIL = false;
-if (SQL_NUMROWS($result_list) > 0)
-{
-       // Mail orders are in pool so we can display them
-       OUTPUT_HTML("<DIV align=\"center\">
-<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_table dashed\" width=\"99%\">
-<TR>
-  <TD colspan=\"3\" align=\"center\" height=\"25\" class=\"admin_title\">
-    <STRONG class=\"admin_done\">".ADMIN_POOL_CONTENT." (".$WHO.")</STRONG>
-  </TD>
-</TR>");
-
-       // Add navigation (with change box and colspan=3)
-       if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $_CONFIG['mails_page'], false, "3");
+if (SQL_NUMROWS($result_list) > 0) {
+       // Init rows
+       $OUT = ''; $content = array();
 
-       while ($pool = SQL_FETCHROW($result_list))
-       {
+       // Walk through all entries
+       while ($pool = SQL_FETCHARRAY($result_list)) {
                // Unconfirmed mails and sent mails
-               $result_uncon = SQL_QUERY_ESC("SELECT max_rec, clicks FROM "._MYSQL_PREFIX."_user_stats WHERE pool_id=%s LIMIT 1",
-                array(bigintval($pool[0])), __FILE__, __LINE__);
-               list($sent, $clicks) = SQL_FETCHROW($result_uncon);
+               $result_uncon = SQL_QUERY_ESC("SELECT max_rec, clicks FROM `{?_MYSQL_PREFIX?}_user_stats` WHERE `pool_id`=%s LIMIT 1",
+               array(bigintval($pool['id'])), __FILE__, __LINE__);
+               list($pool['sent_email'], $pool['clicks']) = SQL_FETCHROW($result_uncon);
                SQL_FREERESULT($result_uncon);
 
                // Unconfirmed mails
-               $unconfirmed = $sent - $clicks;
-               if ($unconfirmed > 0)
-               {
+               $pool['unconfirmed'] = $pool['sent_email'] - $pool['clicks'];
+               if ($pool['unconfirmed'] > 0) {
                        // Add link to list_unconfirmed what-file
-                       $unconfirmed = "<STRONG><A href=\"".URL."/modules.php?module=admin&amp;what=list_unconfirmed&amp;mid=".$pool[0]."\">".$unconfirmed."</A></STRONG>";
-               }
-                elseif ($unconfirmed < 0)
-               {
+                       $pool['unconfirmed'] = "<strong><a href=\"{?URL?}/modules.php?module=admin&amp;what=list_unconfirmed&amp;mid=".$pool['id']."\">".$pool['unconfirmed']."</a></strong>";
+               } elseif ($pool['unconfirmed'] < 0) {
                        // Sometimes rarely displayed minus values will be "fixed" to zero
-                       $unconfirmed = 0;
+                       $pool['unconfirmed'] = '0';
                }
 
-               // List mail
-               OUTPUT_HTML("<TR>
-  <TD class=\"bottom top2 right\" width=\"23%\" align=\"center\">
-    ".EMAIL_SENDER.":<br />
-    <STRONG class=\"admin_misc\">".ADMIN_USER_PROFILE_LINK($pool[1])."</STRONG>
-  </TD>
-  <TD class=\"bottom top2 right\" width=\"23%\" align=\"center\">
-    ".EMAIL_SUBJECT.":<br />
-    <STRONG class=\"admin_misc\">".COMPILE_CODE($pool[2])."</STRONG>
-  </TD>
-  <TD class=\"bottom top2\" width=\"54%\" align=\"center\">
-    ".EMAIL_TEXT.":<br />
-    <STRONG class=\"admin_misc\">".COMPILE_CODE($pool[3])."</STRONG>
-  </TD>
-</TR>
-<TR><TD height=\"5\" colspan=\"3\"></TD></TR>
-<TR>
-  <TD colspan=\"2\" align=\"center\" class=\"top bottom right\">
-    ".EMAIL_PAYMENT.":<br />
-    <STRONG class=\"admin_misc\">".GET_PAYMENT($pool[5])."
-  </TD>
-  <TD align=\"center\" class=\"top bottom\">
-    ".EMAIL_CATEGORY.":<br />
-    <STRONG class=\"admin_misc\">".GET_CATEGORY($pool[10])."
-  </TD>
-</TR>
-<TR><TD height=\"5\" colspan=\"3\"></TD></TR>
-<TR>
-  <TD align=\"center\" class=\"top bottom right\">
-    ".EMAIL_RECEIVERS.":<br />
-    <STRONG class=\"admin_misc\">".$sent."</STRONG> (".EMAIL_RUIDS.": <STRONG class=\"admin_misc\">".str_replace(";", ", ", $pool[4])."</STRONG>)
-  </TD>
-  <TD align=\"center\" class=\"top bottom right\">
-    ".USERS_LINKS.":<br />
-    <STRONG class=\"admin_misc\">".$unconfirmed."</STRONG>
-  </TD>
-  <TD align=\"center\" class=\"top bottom\">
-    ".EMAIL_POOL_TYPE.":<br />
-    <STRONG class=\"admin_misc\">".GET_POOL_TYPE($pool[6])."</STRONG>
-  </TD>
-</TR>
-<TR><TD height=\"5\" colspan=\"3\"></TD></TR>
-<TR>
-  <TD align=\"center\" class=\"top right\">
-    ".EMAIL_TSEND.":<br />
-    <STRONG class=\"admin_misc\">".$pool[9]."</STRONG>
-  </TD>
-  <TD align=\"center\" class=\"top right\">
-    ".EMAIL_URL.":<br />
-    <STRONG class=\"admin_misc\"><A href=\"".FRAMETESTER($pool[8])."\" target=\"_blank\">".ADMIN_TEST_URL."</A></STRONG>
-  </TD>
-  <TD align=\"center\" class=\"top\">
-    ".EMAIL_TIMESTAMP.":<br />
-    <STRONG class=\"admin_misc\">".MAKE_DATETIME($pool[7], "0")."</STRONG>
-  </TD>
-</TR>
-<TR>
-  <TD align=\"center\" class=\"top2 admin_del_link\" colspan=\"3\">
-    <A href=\"".URL."/modules.php?module=admin&amp;what=del_email&amp;mid=".$pool[0]."\">".ADMIN_DELETE_NORMAL_MAIL."</A>
-  </TD>
-</TR>");
-       }
+               // Prepare content
+               $content = $pool;
+               $content['sender_link'] = generateUserProfileLink($pool['sender']);
+               $content['payment']     = getPaymentTitlePrice($pool['payment_id']);
+               $content['category']    = getCategory($pool['cat_id']);
+               $content['receivers']   = convertReceivers($pool['receivers']);
+               $content['type']        = translatePoolType($pool['data_type']);
+               $content['frametester'] = generateFrametesterUrl($pool['url']);
+               $content['timestamp']   = generateDateTime($pool['timestamp'], 0);
+
+               // Load row template
+               $OUT .= loadTemplate('admin_list_emails_row', true, $content);
+       } // END - while
 
        // Free memory
        SQL_FREERESULT($result_list);
 
-       // Add navigation (without change box but with colspan=3)
-       if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $_CONFIG['mails_page'], false, "3");
+       // Add navigation (with change box and colspan=3)
+       $content['nav'] = '';
+       if ($PAGES > 1) $content['nav'] = addEmailNavigation($PAGES, getConfig('mails_page'), false, 3, true);
+
+       // Prepare content
+       $content['rows'] = $OUT;
+       $content['who'] = $WHO;
+
+       // Mail orders are in pool so we can display them
+       loadTemplate('admin_list_emails', false, $content);
 
-       // Output footer
-       OUTPUT_HTML("</TABLE>
-</DIV>");
        $MAIL = true;
-       if ((EXT_IS_ACTIVE("bonus")) && ($WHO == _ALL))
-       {
+       if ((isExtensionActive('bonus')) && ($WHO == getMessage('_ALL'))) {
                // Check only if bonus extension is active
-               if (SQL_NUMROWS($result_bonus) > 0) OUTPUT_HTML("<br /><br />");
-       }
+               if (SQL_NUMROWS($result_bonus) > 0) outputHtml('<br /><br />');
+       } // END - if
 }
 
-if ((EXT_IS_ACTIVE("bonus")) && ($WHO == _ALL))
-{
+if ((isExtensionActive('bonus')) && ($WHO == getMessage('_ALL'))) {
        // Load bonus mails only when extension is active
-       if (SQL_NUMROWS($result_bonus) > 0)
-       {
-               // Mail orders are in pool so we can display them
-               OUTPUT_HTML("<DIV align=\"center\">
-<TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_table dashed\" width=\"99%\">
-<TR>
-  <TD colspan=\"3\" align=\"center\" height=\"25\" class=\"admin_title\">
-    <STRONG class=\"admin_done\">".ADMIN_BONUS_CONTENT."</STRONG>
-  </TD>
-</TR>");
+       if (SQL_NUMROWS($result_bonus) > 0) {
                // Calculate pages
-               $PAGES = round(SQL_NUMROWS($result_bonus) / $_CONFIG['mails_page'] + 0.5);
-
-               // Add navigation (with change box and colspan=3)
-               if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $_CONFIG['mails_page'], true, "3");
+               $PAGES = round(SQL_NUMROWS($result_bonus) / getConfig('mails_page') + 0.5);
 
                // List emails
-               while ($bonus = SQL_FETCHROW($result_bonus))
-               {
-                       // Unconfirmed mails
-                       $unconfirmed = $bonus[11] - $bonus[12];
-                       if ($unconfirmed > 0)
-                       {
+               $OUT = ''; $content = array();
+               while ($bonus = SQL_FETCHARRAY($result_bonus)) {
+                       // Calculate unconfirmed emails
+                       $bonus['unconfirmed'] = $bonus['mails_sent'] - $bonus['clicks'];
+
+                       // Add link?
+                       if ($bonus['unconfirmed'] > 0) {
                                // Add link to list_unconfirmed what-file
-                               $unconfirmed = "<STRONG><A href=\"".URL."/modules.php?module=admin&amp;what=list_unconfirmed&amp;bid=".$bonus[0]."\">".$unconfirmed."</A></STRONG>";
-                       }
-
-                       OUTPUT_HTML("<TR>
-  <TD class=\"bottom top2 right\" colspan=\"2\" width=\"46%\" align=\"center\">
-    ".EMAIL_SUBJECT.":<br />
-    <STRONG class=\"admin_misc\">".$bonus[1]."</STRONG>
-  </TD>
-  <TD class=\"bottom top2\" width=\"54%\" align=\"center\">
-    ".EMAIL_TEXT.":<br />
-    <STRONG class=\"admin_misc\">".$bonus[2]."</STRONG>
-  </TD>
-</TR>
-<TR><TD height=\"5\" colspan=\"3\"></TD></TR>
-<TR>
-  <TD align=\"center\" class=\"top bottom right\" width=\"23%\">
-    ".EMAIL_POINTS.":<br />
-    <STRONG class=\"admin_misc\">".$bonus[4]." ".POINTS."
-  </TD>
-  <TD align=\"center\" class=\"top bottom right\" width=\"23%\">
-    ".EMAIL_SECONDS.":<br />
-    <STRONG class=\"admin_misc\">".$bonus[5]." "._SECONDS."
-  </TD>
-  <TD align=\"center\" class=\"top bottom\">
-    ".EMAIL_CATEGORY.":<br />
-    <STRONG class=\"admin_misc\">".GET_CATEGORY($bonus[9])."
-  </TD>
-</TR>
-<TR><TD height=\"5\" colspan=\"3\"></TD></TR>
-<TR>
-  <TD align=\"center\" class=\"top bottom right\">
-    ".EMAIL_RECEIVERS.":<br />
-    <STRONG class=\"admin_misc\">".$bonus[11]."</STRONG> (".EMAIL_RUIDS.": <STRONG class=\"admin_misc\">".str_replace(";", ", ", $bonus[3])."</STRONG>)
-  </TD>
-  <TD align=\"center\" class=\"top bottom right\">
-    ".USERS_LINKS.":<br />
-    <STRONG class=\"admin_misc\">".$unconfirmed."</STRONG>
-  </TD>
-  <TD align=\"center\" class=\"top bottom\">
-    ".EMAIL_POOL_TYPE.":<br />
-    <STRONG class=\"admin_misc\">".GET_POOL_TYPE($bonus[6])."</STRONG>
-  </TD>
-</TR>
-<TR><TD height=\"5\" colspan=\"3\"></TD></TR>
-<TR>
-  <TD align=\"center\" class=\"top right\">
-    ".EMAIL_TSEND.":<br />
-    <STRONG class=\"admin_misc\">".$bonus[10]."</STRONG>
-  </TD>
-  <TD align=\"center\" class=\"top right\">
-    ".EMAIL_URL.":<br />
-    <STRONG class=\"admin_misc\"><A href=\"".FRAMETESTER($bonus[8])."\" target=\"_blank\">".ADMIN_TEST_URL."</A></STRONG>
-  </TD>
-  <TD align=\"center\" class=\"top\">
-    ".EMAIL_TIMESTAMP.":<br />
-    <STRONG class=\"admin_misc\">".MAKE_DATETIME($bonus[7], "0")."</STRONG>
-  </TD>
-</TR>
-<TR>
-  <TD align=\"center\" class=\"top2 admin_del_link\" colspan=\"3\">
-    <A href=\"".URL."/modules.php?module=admin&amp;what=del_email&amp;bid=".$bonus[0]."\">".ADMIN_DELETE_BONUS_MAIL."</A>
-  </TD>
-</TR>");
-               }
+                               $bonus['unconfirmed'] = "<strong><a href=\"{?URL?}/modules.php?module=admin&amp;what=list_unconfirmed&amp;bid=".$bonus['id']."\">".$bonus['unconfirmed']."</a></strong>";
+                       } // END - if
+
+                       // Prepare content
+                       $content = $bonus;
+                       $content['time']        = createFancyTime($content['time']);
+                       $content['category']    = getCategory($content['cat_id']);
+                       $content['receivers']   = convertReceivers($content['receivers']);
+                       $content['type']        = translatePoolType($content['data_type']);
+                       $content['frametester'] = generateFrametesterUrl($content['url']);
+                       $content['timestamp']   = generateDateTime($content['timestamp'], 0);
+
+                       // Load row template
+                       $OUT .= loadTemplate('admin_list_bonus_emails_row', true, $content);
+               } // END - while
 
                // Add navigation (without change box but with colspan=3)
-               if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $_CONFIG['mails_page'], false, "3");
+               $content['nav'] = '';
+               if ($PAGES > 1) $content['nav'] = addEmailNavigation($PAGES, getConfig('mails_page'), false, 3, true);
+
+               // Prepare content
+               $content['rows'] = $OUT;
 
-               // Output footer
-               OUTPUT_HTML("</TABLE>
-</DIV>");
+               // Load main template
+               loadTemplate('admin_list_bonus_emails', false, $content);
                $MAIL = true;
-       }
-}
+       } // END - if
+} // END - if
 
-if (!$MAIL)
-{
+if ($MAIL === false) {
        // No mail orders fond
-       OUTPUT_HTML("<SPAN class=\"admin_failed\">".ADMIN_NO_MAILS_IN_POOL."</SPAN>");
-}
+       loadTemplate('admin_settings_saved', false, getMessage('ADMIN_NO_MAILS_IN_POOL'));
+} // END - if
+
 //
 ?>