* -------------------------------------------------------------------- *
* Kurzbeschreibung : Statistik ueber gesendete Mails *
* -------------------------------------------------------------------- *
- * *
+ * $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']))
-{
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
- elseif (!IS_LOGGED_IN())
-{
- LOAD_URL(URL."/modules.php?module=index");
+if (!defined('__SECURITY')) {
+ die();
+} elseif (!isMember()) {
+ redirectToIndexMemberOnlyModule();
}
// Add description as navigation point
-ADD_DESCR("member", basename(__FILE__));
+addMenuDescription('member', __FILE__);
+
+// Init output
+$main_content = array();
-// 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__);
+// 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(getUserId()), __FILE__, __LINE__);
+
+// Are there mails left in pool?
+if (SQL_NUMROWS($result) > 0) {
+ // Load all orders
+ $OUT = ''; $SW = 2;
+ while ($data = SQL_FETCHARRAY($result)) {
+ // Is the ZIP code set? If not, set dashes
+ if (empty($data['zip'])) $data['zip'] = '---';
+
+ // Prepare content for output
+ // @TODO Rewrite in template subj->subject,stamp->timestamp,recs->target_send
+ $content = array(
+ 'sw' => $SW,
+ 'id' => $data['id'],
+ 'cat' => getCategory($data['cat_id']),
+ 'pay' => getPaymentTitlePrice($data['payment_id']),
+ 'subj' => $data['subject'],
+ 'url' => generateDerefererUrl($data['url']),
+ 'stamp' => generateDateTime($data['timestamp'], '2'),
+ 'recs' => $data['target_send'],
+ 'type' => translatePoolType($data['data_type']),
+ 'zip' => $data['zip']
+ );
+
+ // Load template
+ $OUT .= loadTemplate('member_pool_row', true, $content);
+
+ // Switch color
+ $SW = 3 - $SW;
+ } // END - if
-if (SQL_NUMROWS($result) > 0)
-{
+ // Load main template
+ $main_content['pool'] = loadTemplate('member_pool_table', true, $OUT);
+} else {
+ // No mails in pool!
+ $main_content['pool'] = loadTemplate('admin_settings_saved', true, getMessage('MEMBER_NO_MAILS_IN_POOL'));
+}
+
+// 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(getUserId()), __FILE__, __LINE__);
+
+if (SQL_NUMROWS($result) > 0) {
// Mail orders are in pool so we can display them
- $SW = 2; $OUT = "";
- while ($pool = SQL_FETCHROW($result))
- {
+ $OUT = ''; $SW = 2;
+ while ($content = SQL_FETCHARRAY($result)) {
// Prepare data for the template
+ // @TODO Rewrite in template: stamp->timestamp_ordered,recs->max_rec,clix->clicks,perc->percents
$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)."%",
+ 'cat' => getCategory($content['cat_id']),
+ 'pay' => getPaymentTitlePrice($content['payment_id']),
+ 'url' => generateDerefererUrl($content['url']),
+ 'stamp' => generateDateTime($content['timestamp_ordered'], '2'),
+ 'recs' => $content['max_rec'],
+ 'sent' => generateDateTime($content['timestamp_send'], '2'),
+ 'clix' => $content['clicks'],
+ 'perc' => ($content['clicks'] / $content['max_rec'] * 100)."%",
);
// Load row template and switch colors
- $OUT .= LOAD_TEMPLATE("member_stats_row", true, $content);
+ $OUT .= loadTemplate('member_stats_row', true, $content);
$SW = 3 - $SW;
}
- // Free memory
- SQL_FREERESULT($result);
-
- // Remember rows in template
- define('__STATS_ROWS', $OUT);
-
// 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'] = loadTemplate('admin_settings_saved', true, getMessage('MEMBER_NO_MAILS_IN_STATS'));
}
-//
+// Free result
+SQL_FREERESULT($result);
+
+// Load main template
+loadTemplate('member_stats_pool', false, $main_content);
+
+// [EOF]
?>