A lot has been rewritten, ext-teams added, ext-forced continued:
[mailer.git] / inc / modules / member / what-stats.php
index 14178a2238bed72f8e46d0904c68accaa7d6cf1a..2dd4cfb4352b454eb5e51b3277977cb7dfb9a151 100644 (file)
@@ -1,7 +1,7 @@
 <?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                                   *
  * $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 - 2011 by Mailer Developer Team                   *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -44,53 +43,40 @@ if (!defined('__SECURITY')) {
 }
 
 // Add description as navigation point
-addMenuDescription('member', __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(getUserId()), __FILE__, __LINE__);
+$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__);
 
 // Are there mails left in pool?
-if (SQL_NUMROWS($result) > 0) {
+if (!SQL_HASZERONUMS($result)) {
        // 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'] =  '---';
-
+       $OUT = '';
+       while ($content = SQL_FETCHARRAY($result)) {
                // 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']
-               );
+               $content['timestamp'] = generateDateTime($content['timestamp'], '2');
 
                // Load template
                $OUT .= loadTemplate('member_pool_row', true, $content);
-
-               // Switch color
-               $SW = 3 - $SW;
        } // END - if
 
        // 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'));
+       $main_content['pool'] = displayMessage('{--MEMBER_NO_MAILS_IN_POOL--}', true);
 }
 
 // Free result
@@ -98,43 +84,40 @@ 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`
+       `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__);
+       array(getMemberId()), __FILE__, __LINE__);
 
-if (SQL_NUMROWS($result) > 0) {
+if (!SQL_HASZERONUMS($result)) {
        // Mail orders are in pool so we can display them
-       $OUT = ''; $SW = 2;
+       $OUT = '';
        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'   => 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)."%",
-               );
+               $content['timestamp_ordered'] = generateDateTime($content['timestamp_ordered'], '2');
+               $content['timestamp_sent']    = generateDateTime($content['timestamp_send'], '2');
+
+               // Click rate
+               $content['click_rate'] = '0';
+
+               // Better protection against 'divison-by-zero'
+               if ($content['max_rec'] > 0) {
+                       $content['click_rate'] = ($content['clicks'] / $content['max_rec'] * 100);
+               } // END - if
 
                // Load row template and switch colors
                $OUT .= loadTemplate('member_stats_row', true, $content);
-               $SW = 3 - $SW;
-       }
+       } // END - while
 
        // Load main template
        $main_content['stats'] = loadTemplate('member_stats_table', true, $OUT);
 } else {
        // No mail orders fond
-       $main_content['stats'] = loadTemplate('admin_settings_saved', true, getMessage('MEMBER_NO_MAILS_IN_STATS'));
+       $main_content['stats'] = displayMessage('{--MEMBER_NO_MAILS_IN_STATS--}', true);
 }
 
 // Free result