A lot has been rewritten, ext-teams added, ext-forced continued:
[mailer.git] / inc / modules / member / what-stats.php
index 510dc049db5133f7cd5c7b3eb687bf4b1f32f4f1..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, 2010 by Mailer Developer Team                    *
+ * 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 *
@@ -45,14 +43,14 @@ 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
@@ -63,12 +61,12 @@ ORDER BY
        array(getMemberId()), __FILE__, __LINE__);
 
 // Are there mails left in pool?
-if (SQL_NUMROWS($result) > 0) {
+if (!SQL_HASZERONUMS($result)) {
        // Load all orders
        $OUT = '';
        while ($content = SQL_FETCHARRAY($result)) {
                // Prepare content for output
-               $content['timestamp'] = generateDateTime($content['timestamp'], 2);
+               $content['timestamp'] = generateDateTime($content['timestamp'], '2');
 
                // Load template
                $OUT .= loadTemplate('member_pool_row', true, $content);
@@ -78,7 +76,7 @@ if (SQL_NUMROWS($result) > 0) {
        $main_content['pool'] = loadTemplate('member_pool_table', true, $OUT);
 } else {
        // No mails in pool!
-       $main_content['pool'] = loadTemplate('admin_settings_saved', true, '{--MEMBER_NO_MAILS_IN_POOL--}');
+       $main_content['pool'] = displayMessage('{--MEMBER_NO_MAILS_IN_POOL--}', true);
 }
 
 // Free result
@@ -86,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
@@ -95,32 +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 = '';
        while ($content = SQL_FETCHARRAY($result)) {
                // Prepare data for the template
-               $content = array(
-                       'cat_id'            => $content['cat_id'],
-                       'payment_id'        => $content['payment_id'],
-                       'url'               => $content['url'],
-                       'timestamp_ordered' => generateDateTime($content['timestamp_ordered'], 2),
-                       'max_rec'           => $content['max_rec'],
-                       'timestamp_sent'    => generateDateTime($content['timestamp_send'], 2),
-                       'clicks'            => $content['clicks'],
-                       'subject'           => $content['subject'],
-                       'percents'          => ($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);
-       } // END - if
+       } // 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, '{--MEMBER_NO_MAILS_IN_STATS--}');
+       $main_content['stats'] = displayMessage('{--MEMBER_NO_MAILS_IN_STATS--}', true);
 }
 
 // Free result