summaryrefslogtreecommitdiff
path: root/modules/statistics/statistics.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/statistics/statistics.module')
-rw-r--r--modules/statistics/statistics.module60
1 files changed, 42 insertions, 18 deletions
diff --git a/modules/statistics/statistics.module b/modules/statistics/statistics.module
index 01a3be06e..57407872f 100644
--- a/modules/statistics/statistics.module
+++ b/modules/statistics/statistics.module
@@ -65,16 +65,18 @@ function statistics_exit() {
}
if (variable_get('statistics_enable_access_log', 0)) {
// Log this page access.
- db_insert('accesslog')->fields(array(
- 'title' => strip_tags(drupal_get_title()),
- 'path' => $_GET['q'],
- 'url' => $_SERVER['HTTP_REFERER'],
- 'hostname' => ip_address(),
- 'uid' => $user->uid,
- 'sid' => session_id(),
- 'timer' => (int) timer_read('page'),
- 'timestamp' => REQUEST_TIME,
- ))->execute();
+ db_insert('accesslog')
+ ->fields(array(
+ 'title' => strip_tags(drupal_get_title()),
+ 'path' => $_GET['q'],
+ 'url' => $_SERVER['HTTP_REFERER'],
+ 'hostname' => ip_address(),
+ 'uid' => $user->uid,
+ 'sid' => session_id(),
+ 'timer' => (int) timer_read('page'),
+ 'timestamp' => REQUEST_TIME,
+ ))
+ ->execute();
}
}
@@ -189,11 +191,16 @@ function statistics_menu() {
function statistics_user_cancel($edit, $account, $method) {
switch ($method) {
case 'user_cancel_reassign':
- db_update('accesslog')->fields(array('uid' => 0))->condition('uid', $account->uid)->execute();
+ db_update('accesslog')
+ ->fields(array('uid' => 0))
+ ->condition('uid', $account->uid)
+ ->execute();
break;
case 'user_cancel_delete':
- db_delete('accesslog')->condition('uid', $account->uid)->execute();
+ db_delete('accesslog')
+ ->condition('uid', $account->uid)
+ ->execute();
break;
}
}
@@ -206,12 +213,16 @@ function statistics_cron() {
if ((REQUEST_TIME - $statistics_timestamp) >= 86400) {
// Reset day counts.
- db_query('UPDATE {node_counter} SET daycount = 0');
+ db_update('node_counter')
+ ->fields(array('daycount' => 0))
+ ->execute();
variable_set('statistics_day_timestamp', REQUEST_TIME);
}
// Clean up expired access logs.
- db_query('DELETE FROM {accesslog} WHERE timestamp < %d', REQUEST_TIME - variable_get('statistics_flush_accesslog_timer', 259200));
+ db_delete('accesslog')
+ ->condition('timestamp', REQUEST_TIME - variable_get('statistics_flush_accesslog_timer', 259200), '<')
+ ->execute();
}
/**
@@ -232,7 +243,19 @@ function statistics_cron() {
*/
function statistics_title_list($dbfield, $dbrows) {
if (in_array($dbfield, array('totalcount', 'daycount', 'timestamp'))) {
- return db_query_range(db_rewrite_sql("SELECT n.nid, n.title, u.uid, u.name FROM {node} n INNER JOIN {node_counter} s ON n.nid = s.nid INNER JOIN {users} u ON n.uid = u.uid WHERE s." . $dbfield . " != 0 AND n.status = 1 ORDER BY s." . $dbfield . " DESC"), 0, $dbrows);
+ $query = db_select('node', 'n');
+ $query->addTag('node_access');
+ $query->join('node_counter', 's', 'n.nid = s.nid');
+ $query->join('users', 'u', 'n.uid = u.uid');
+
+ return $query
+ ->fields('n', array('nid', 'title'))
+ ->fields('u', array('uid', 'name'))
+ ->condition($dbfield, 0, '<>')
+ ->condition('n.status', 1)
+ ->orderBy($dbfield, 'DESC')
+ ->range(0, $dbrows)
+ ->execute();
}
return FALSE;
}
@@ -255,8 +278,7 @@ function statistics_get($nid) {
if ($nid > 0) {
// Retrieve an array with both totalcount and daycount.
- $statistics = db_fetch_array(db_query('SELECT totalcount, daycount, timestamp FROM {node_counter} WHERE nid = %d', $nid));
- return $statistics;
+ return db_query('SELECT totalcount, daycount, timestamp FROM {node_counter} WHERE nid = :nid', array(':nid' => $nid))->fetchAssoc();
}
}
@@ -345,7 +367,9 @@ function _statistics_format_item($title, $path) {
*/
function statistics_node_delete($node) {
// clean up statistics table when node is deleted
- db_query('DELETE FROM {node_counter} WHERE nid = %d', $node->nid);
+ db_delete('node_counter')
+ ->condition('nid', $node->nid)
+ ->execute();
}
/**