diff -u b/simpleads.stat.inc b/simpleads.stat.inc --- b/simpleads.stat.inc +++ b/simpleads.stat.inc @@ -312,116 +312,70 @@ */ function _simpleads_get_statistics($table, $nid) { $stats = array(); + $type = substr($table, 10); + $unique = $type . '_unique'; - $stats['Last Hour'] = db_select($table, 'sc') - ->where("FROM_UNIXTIME(sc.timestamp) <= NOW() AND FROM_UNIXTIME(sc.timestamp) >= SUBDATE(NOW(), INTERVAL 1 HOUR)")->condition("sc.nid", $nid) - ->countQuery()->execute()->fetchField() . '/' . db_select($table, 'sc') - ->where("FROM_UNIXTIME(sc.timestamp) <= NOW() AND FROM_UNIXTIME(sc.timestamp) >= SUBDATE(NOW(), INTERVAL 1 HOUR)")->condition("sc.nid", $nid)->groupBy('sc.ip_address') - ->countQuery()->execute()->fetchField(); - - $stats['Today'] = db_select($table, 'sc') - ->where("FROM_UNIXTIME(sc.timestamp, '%d%m%Y') = FROM_UNIXTIME(UNIX_TIMESTAMP(), '%d%m%Y')")->condition("sc.nid", $nid) - ->countQuery()->execute()->fetchField() . '/' . db_select($table, 'sc') - ->where("FROM_UNIXTIME(sc.timestamp, '%d%m%Y') = FROM_UNIXTIME(UNIX_TIMESTAMP(), '%d%m%Y')")->condition("sc.nid", $nid)->groupBy('sc.ip_address') - ->countQuery()->execute()->fetchField(); - - $stats['Yesterday'] = db_select($table, 'sc') - ->where("FROM_UNIXTIME(sc.timestamp) <= NOW() AND FROM_UNIXTIME(sc.timestamp) >= SUBDATE(NOW(), INTERVAL 1 DAY)")->condition("sc.nid", $nid) - ->countQuery()->execute()->fetchField() . '/' . db_select($table, 'sc') - ->where("FROM_UNIXTIME(sc.timestamp) <= NOW() AND FROM_UNIXTIME(sc.timestamp) >= SUBDATE(NOW(), INTERVAL 1 DAY)")->condition("sc.nid", $nid)->groupBy('sc.ip_address') - ->countQuery()->execute()->fetchField(); - - if ( $table == 'simpleads_clicks' ) { - - $stats['Last Week'] = db_query("SELECT IFNULL(SUM(sc.clicks), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 WEEK) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.clicks_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 WEEK) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['Last Month'] = db_query("SELECT IFNULL(SUM(sc.clicks), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.clicks_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['3 Months'] = db_query("SELECT IFNULL(SUM(sc.clicks), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 3 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.clicks_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 3 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['6 Months'] = db_query("SELECT IFNULL(SUM(sc.clicks), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 6 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.clicks_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 6 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['1 year'] = db_query("SELECT IFNULL(SUM(sc.clicks), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 YEAR) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.clicks_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 YEAR) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['All Time'] = db_query("SELECT IFNULL(SUM(sc.clicks), 0) FROM {simpleads_stats} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.clicks_unique), 0) FROM {simpleads_stats} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField(); - - } - - if ( $table == 'simpleads_impressions' ) { - - $stats['Last Week'] = db_query("SELECT IFNULL(SUM(sc.impressions), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 WEEK) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.impressions_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 WEEK) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['Last Month'] = db_query("SELECT IFNULL(SUM(sc.impressions), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.impressions_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['3 Months'] = db_query("SELECT IFNULL(SUM(sc.impressions), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 3 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.impressions_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 3 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['6 Months'] = db_query("SELECT IFNULL(SUM(sc.impressions), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 6 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.impressions_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 6 MONTH) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); - - $stats['1 year'] = db_query("SELECT IFNULL(SUM(sc.impressions), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 YEAR) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.impressions_unique), 0) FROM {simpleads_stats} sc - WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 YEAR) - AND sc.nid = :nid", array(':nid' => $nid)) - ->fetchField(); + $stats['Last Hour'] = db_query("SELECT IFNULL(COUNT(sc.nid), 0) FROM {$table} sc + WHERE FROM_UNIXTIME(sc.timestamp) <= NOW() AND FROM_UNIXTIME(sc.timestamp) >= SUBDATE(NOW(), INTERVAL 1 HOUR) + AND sc.nid = :nid", array(':nid' => $nid))->fetchField() . '/' . db_query("SELECT COUNT(DISTINCT(sc.ip_address)) FROM {$table} sc + WHERE FROM_UNIXTIME(sc.timestamp) <= NOW() AND FROM_UNIXTIME(sc.timestamp) >= SUBDATE(NOW(), INTERVAL 1 HOUR) + AND sc.nid = :nid", array(':nid' => $nid))->fetchField(); + + $today_all = db_query("SELECT IFNULL(COUNT(sc.nid), 0) FROM {$table} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField(); + $today_unique = db_query("SELECT COUNT(DISTINCT(sc.ip_address)) FROM {$table} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField(); + + $stats['Today'] = $today_all. '/' . $today_unique; + + $stats['Yesterday'] = db_query("SELECT IFNULL(SUM(sc.$type), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= DATE_FORMAT(SUBDATE(NOW(), INTERVAL 1 DAY), '%Y-%m-%d') + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.$unique), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= DATE_FORMAT(SUBDATE(NOW(), INTERVAL 1 DAY), '%Y-%m-%d') + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField(); + + $stats['Last Week'] = db_query("SELECT IFNULL(SUM(sc.$type), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 WEEK) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_all . '/' . (db_query("SELECT IFNULL(SUM(sc.$unique), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 WEEK) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_unique); + + $stats['Last Month'] = db_query("SELECT IFNULL(SUM(sc.$type), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 MONTH) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_all . '/' . (db_query("SELECT IFNULL(SUM(sc.$unique), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 MONTH) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_unique); + + $stats['3 Months'] = db_query("SELECT IFNULL(SUM(sc.$type), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 3 MONTH) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_all . '/' . (db_query("SELECT IFNULL(SUM(sc.$unique), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 3 MONTH) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_unique); + + $stats['6 Months'] = db_query("SELECT IFNULL(SUM(sc.$type), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 6 MONTH) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_all . '/' . (db_query("SELECT IFNULL(SUM(sc.$unique), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 6 MONTH) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_unique); + + $stats['1 year'] = db_query("SELECT IFNULL(SUM(sc.$type), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 YEAR) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_all . '/' . (db_query("SELECT IFNULL(SUM(sc.$unique), 0) FROM {simpleads_stats} sc + WHERE STR_TO_DATE(sc.date, '%Y%m%d') <= NOW() AND STR_TO_DATE(sc.date, '%Y%m%d') >= SUBDATE(NOW(), INTERVAL 1 YEAR) + AND sc.nid = :nid", array(':nid' => $nid)) + ->fetchField() + $today_unique); - $stats['All Time'] = db_query("SELECT IFNULL(SUM(sc.impressions), 0) FROM {simpleads_stats} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField() . '/' . db_query("SELECT IFNULL(SUM(sc.impressions_unique), 0) FROM {simpleads_stats} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField(); + $stats['All Time'] = db_query("SELECT IFNULL(SUM(sc.$type), 0) FROM {simpleads_stats} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField() + $today_all . '/' . (db_query("SELECT IFNULL(SUM(sc.$unique), 0) FROM {simpleads_stats} sc WHERE sc.nid = :nid", array(':nid' => $nid))->fetchField() + $today_unique); - } t('Last Hour'); t('Today'); t('Yesterday'); @@ -437 +390,0 @@ -