X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-stats.php;h=ef5959e75020cb81ea7d71f36e450abe4f1eaf46;hb=a561ee57ede150edcf7fe57924ab0e60454aa642;hp=f71f622608a9edea7ec2d4fd77b677b1b73b329d;hpb=75ad748a68473ace540251427a74fb781b1145e9;p=mailer.git diff --git a/inc/modules/member/what-stats.php b/inc/modules/member/what-stats.php index f71f622608..ef5959e750 100644 --- a/inc/modules/member/what-stats.php +++ b/inc/modules/member/what-stats.php @@ -10,9 +10,14 @@ * -------------------------------------------------------------------- * * 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 * @@ -32,64 +37,115 @@ ************************************************************************/ // 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(); + +// 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 + $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'] + ); + + // 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')); +} + +// Free result +SQL_FREERESULT($result); -// 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 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) -{ +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: clix->clicks $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)."%", + '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)."%", ); // 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] ?>