<?php
/************************************************************************
- * MXChange v0.2.1 Start: 11/09/2003 *
- * =============== Last change: 04/21/2004 *
+ * Mailer v0.2.1-FINAL Start: 11/09/2003 *
+ * =================== Last change: 04/21/2004 *
* *
* -------------------------------------------------------------------- *
* File : what-stats.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Statistik ueber gesendete Mails *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2011 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 *
************************************************************************/
// Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
-{
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
- elseif (!IS_LOGGED_IN())
-{
- LOAD_URL("modules.php?module=index");
+if (!defined('__SECURITY')) {
+ die();
+} elseif (!isMember()) {
+ redirectToIndexMemberOnlyModule();
}
// Add description as navigation point
-ADD_DESCR("member", basename(__FILE__));
+addYouAreHereLink('member', __FILE__);
+
+// Init output
+$main_content = array();
+
+// Load waiting/pending orders
+$result = SQL_QUERY_ESC("SELECT
+ `id`,`cat_id`,`payment_id`,`subject`,`url`,`timestamp`,`target_send`,`data_type`,`zip`
+FROM
+ `{?_MYSQL_PREFIX?}_pool`
+WHERE
+ `sender`=%s AND
+ `data_type` != 'SEND'
+ORDER BY
+ `timestamp` DESC",
+ array(getMemberId()), __FILE__, __LINE__);
-// 0 1 2 3 4 5 6 7 8
-$result = SQL_QUERY_ESC("SELECT id, cat_id, payment_id, subject, url, timestamp_ordered, max_rec, timestamp_send, clicks
-FROM "._MYSQL_PREFIX."_user_stats
-WHERE userid=%d ORDER BY timestamp_ordered DESC",
- array($GLOBALS['userid']), __FILE__, __LINE__);
+// Are there mails left in pool?
+if (!SQL_HASZERONUMS($result)) {
+ // Load all orders
+ $OUT = '';
+ while ($content = SQL_FETCHARRAY($result)) {
+ // Prepare content for output
+ $content['timestamp'] = generateDateTime($content['timestamp'], '2');
+
+ // Load template
+ $OUT .= loadTemplate('member_pool_row', true, $content);
+ } // END - if
+
+ // Load main template
+ $main_content['pool'] = loadTemplate('member_pool_table', true, $OUT);
+} else {
+ // No mails in pool!
+ $main_content['pool'] = displayMessage('{--MEMBER_NO_MAILS_IN_POOL--}', true);
+}
-if (SQL_NUMROWS($result) > 0)
-{
+// Free result
+SQL_FREERESULT($result);
+
+// Load sent orders
+$result = SQL_QUERY_ESC("SELECT
+ `id`,`cat_id`,`payment_id`,`subject`,`url`,`timestamp_ordered`,`max_rec`,`timestamp_send`,`clicks`
+FROM
+ `{?_MYSQL_PREFIX?}_user_stats`
+WHERE
+ `userid`=%s
+ORDER BY
+ `timestamp_ordered` DESC",
+ array(getMemberId()), __FILE__, __LINE__);
+
+if (!SQL_HASZERONUMS($result)) {
// Mail orders are in pool so we can display them
- $SW = 2; $OUT = "";
- while ($pool = SQL_FETCHROW($result))
- {
+ $OUT = '';
+ while ($content = SQL_FETCHARRAY($result)) {
// Prepare data for the template
- $content = array(
- 'sw' => $SW,
- 'cat' => GET_CATEGORY(bigintval($pool[1])),
- 'pay' => GET_PAYMENT(bigintval($pool[2])),
- 'subj' => COMPILE_CODE($pool[3]),
- 'url' => DEREFERER($pool[4]),
- 'stamp' => MAKE_DATETIME($pool[5], "0"),
- 'recs' => $pool[6],
- 'sent' => MAKE_DATETIME($pool[7], "0"),
- 'clix' => $pool[8],
- 'perc' => COMPILE_CODE($pool[8] / $pool[6] * 100)."%",
- );
+ $content['timestamp_ordered'] = generateDateTime($content['timestamp_ordered'], '2');
+ $content['timestamp_sent'] = generateDateTime($content['timestamp_send'], '2');
- // Load row template and switch colors
- $OUT .= LOAD_TEMPLATE("member_stats_row", true, $content);
- $SW = 3 - $SW;
- }
+ // Click rate
+ $content['click_rate'] = '0';
- // Free memory
- SQL_FREERESULT($result);
+ // Better protection against 'divison-by-zero'
+ if ($content['max_rec'] > 0) {
+ $content['click_rate'] = ($content['clicks'] / $content['max_rec'] * 100);
+ } // END - if
- // Remember rows in template
- define('__STATS_ROWS', $OUT);
+ // Load row template and switch colors
+ $OUT .= loadTemplate('member_stats_row', true, $content);
+ } // END - while
// Load main template
- LOAD_TEMPLATE("member_stats_table");
-}
- else
-{
+ $main_content['stats'] = loadTemplate('member_stats_table', true, $OUT);
+} else {
// No mail orders fond
- LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_NO_MAILS_IN_POOL);
+ $main_content['stats'] = displayMessage('{--MEMBER_NO_MAILS_IN_STATS--}', true);
}
-//
+// Free result
+SQL_FREERESULT($result);
+
+// Load main template
+loadTemplate('member_stats_pool', false, $main_content);
+
+// [EOF]
?>