]> git.mxchange.org Git - mailer.git/blobdiff - inc/modules/member/what-stats.php
A lot fixes to templates and missing functions added, more rewrites
[mailer.git] / inc / modules / member / what-stats.php
index 5ffeb58d6d81abfb6bbc785e9c84fc72b1a329e3..2c000bc97910e0b5ccbead4381d725a21c8f2518 100644 (file)
  ************************************************************************/
 
 // Some security stuff...
-if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
-{
+if (!defined('__SECURITY')) {
        $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
        require($INC);
-}
- elseif (!IS_LOGGED_IN())
-{
+} elseif (!IS_MEMBER()) {
        LOAD_URL("modules.php?module=index");
 }
 
 // Add description as navigation point
-ADD_DESCR("member", basename(__FILE__));
+ADD_DESCR("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($GLOBALS['userid']), __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
+               $content = array(
+                       'sw'    => $SW,
+                       'id'    => $data['id'],
+                       'cat'   => GET_CATEGORY($data['cat_id']),
+                       'pay'   => GET_PAYMENT($data['payment_id']),
+                       'subj'  => COMPILE_CODE($data['subject']),
+                       'url'   => DEREFERER($data['url']),
+                       'stamp' => MAKE_DATETIME($data['timestamp'], "2"),
+                       'recs'  => $data['target_send'],
+                       'type'  => TRANSLATE_POOL_TYPE($data['data_type']),
+                       'zip'   => $data['zip']
+               );
+
+               // Load template
+               $OUT .= LOAD_TEMPLATE("member_pool_row", true, $content);
+
+               // Switch color
+               $SW = 3 - $SW;
+       } // END - if
+
+       // Load main template
+       $main_content['pool'] = LOAD_TEMPLATE("member_pool_table", true, $OUT);
+} else {
+       // No mails in pool!
+       $main_content['pool'] = LOAD_TEMPLATE("admin_settings_saved", true, getMessage('MEMBER_NO_MAILS_IN_POOL'));
+}
+
+// Free result
+SQL_FREERESULT($result);
 
+// Load sent orders
 //                               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__);
+FROM `{!_MYSQL_PREFIX!}_user_stats`
+WHERE userid=%s
+ORDER BY timestamp_ordered DESC",
+       array($GLOBALS['userid']), __FILE__, __LINE__);
 
-if (SQL_NUMROWS($result) > 0)
-{
+if (SQL_NUMROWS($result) > 0) {
        // Mail orders are in pool so we can display them
        $SW = 2; $OUT = "";
-       while ($pool = SQL_FETCHROW($result))
-       {
+       while ($data = SQL_FETCHROW($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)."%",
+                       'cat'   => GET_CATEGORY($data[1]),
+                       'pay'   => GET_PAYMENT($data[2]),
+                       'subj'  => COMPILE_CODE($data[3]),
+                       'url'   => DEREFERER($data[4]),
+                       'stamp' => MAKE_DATETIME($data[5], "2"),
+                       'recs'  => $data[6],
+                       'sent'  => MAKE_DATETIME($data[7], "2"),
+                       'clix'  => $data[8],
+                       'perc'  => COMPILE_CODE($data[8] / $data[6] * 100)."%",
                );
 
                // Load row template and switch colors
@@ -76,20 +122,18 @@ if (SQL_NUMROWS($result) > 0)
                $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'] = LOAD_TEMPLATE("member_stats_table", true, $OUT);
+} else {
        // No mail orders fond
-       LOAD_TEMPLATE("admin_settings_saved", false, MEMBER_NO_MAILS_IN_POOL);
+       $main_content['stats'] = LOAD_TEMPLATE("admin_settings_saved", true, getMessage('MEMBER_NO_MAILS_IN_STATS'));
 }
 
+// Free result
+SQL_FREERESULT($result);
+
+// Load main template
+LOAD_TEMPLATE("member_stats_pool", false, $main_content);
+
 //
 ?>