A lot has been rewritten, ext-teams added, ext-forced continued:
[mailer.git] / inc / modules / member / what-stats.php
index b72df1819658c270f48d0a751f3618219261103e..2dd4cfb4352b454eb5e51b3277977cb7dfb9a151 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 - 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,56 +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`
+       `id`,`cat_id`,`payment_id`,`subject`,`url`,`timestamp`,`target_send`,`data_type`,`zip`
 FROM
        `{?_MYSQL_PREFIX?}_pool`
 WHERE
-       `sender`=%s AND `data_type` != 'SEND'
+       `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
-               $content = array(
-                       'sw'          => $SW,
-                       'id'          => $data['id'],
-                       'cat'         => getCategory($data['cat_id']),
-                       'pay'         => getPaymentTitlePrice($data['payment_id']),
-                       'subject'     => $data['subject'],
-                       'url'         => generateDerefererUrl($data['url']),
-                       'timestamp'   => generateDateTime($data['timestamp'], 2),
-                       'target_send' => $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
@@ -101,7 +84,7 @@ 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
@@ -110,35 +93,31 @@ ORDER BY
        `timestamp_ordered` DESC",
        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: clix->clicks
-               $content = array(
-                       'sw'                => $SW,
-                       'cat'               => getCategory($content['cat_id']),
-                       'pay'               => getPaymentTitlePrice($content['payment_id']),
-                       'url'               => generateDerefererUrl($content['url']),
-                       'timestamp_ordered' => generateDateTime($content['timestamp_ordered'], 2),
-                       'target_send'       => $content['max_rec'],
-                       'sent'              => generateDateTime($content['timestamp_send'], 2),
-                       'clix'              => $content['clicks'],
-                       'subject'           => $content['subject'],
-                       'percents'          => translateComma($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