summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-05-29 18:51:46 +0000
committerDries Buytaert <dries@buytaert.net>2009-05-29 18:51:46 +0000
commit5199f1bb8b37eeb56cbda557d866aafcd93b0049 (patch)
tree309b790d18031b87aebfcacc94919044b4081448
parentf13d5024035faeaae8aeff84ae9ffc719879de54 (diff)
downloadbrdo-5199f1bb8b37eeb56cbda557d866aafcd93b0049.tar.gz
brdo-5199f1bb8b37eeb56cbda557d866aafcd93b0049.tar.bz2
- Patch #394582 by Berdir: converted to new database abstraction layer.
-rw-r--r--modules/tracker/tracker.pages.inc29
1 files changed, 11 insertions, 18 deletions
diff --git a/modules/tracker/tracker.pages.inc b/modules/tracker/tracker.pages.inc
index c4df6b69d..278f9377b 100644
--- a/modules/tracker/tracker.pages.inc
+++ b/modules/tracker/tracker.pages.inc
@@ -14,23 +14,22 @@ function tracker_page($account = NULL, $set_title = FALSE) {
// Add CSS
drupal_add_css(drupal_get_path('module', 'tracker') . '/tracker.css', array('preprocess' => FALSE));
- $header = array(
- t('Type'),
- t('Post'),
- t('Author'),
- t('Replies'),
- t('Last updated')
- );
+ $header = array(t('Type'), t('Post'), t('Author'), t('Replies'), t('Last updated'));
// TODO: These queries are very expensive, see http://drupal.org/node/105639
- $query = db_select('node', 'n', array('target' => 'slave'))
- ->fields('n', array('nid', 'title', 'type', 'changed', 'uid'));
+ $query = db_select('node', 'n', array('target' => 'slave'))->extend('PagerDefault');
$query->join('users', 'u', 'n.uid = u.uid');
- $query->addField('u', 'name');
$query->join('node_comment_statistics', 'l', 'n.nid = l.nid');
$query->addExpression('GREATEST(n.changed, l.last_comment_timestamp)', 'last_updated');
- $query->addField('l', 'comment_count');
- $query->orderBy('last_updated', 'DESC');
+ $query
+ ->distinct()
+ ->fields('n', array('nid', 'title', 'type', 'changed', 'uid'))
+ ->fields('u', array('name'))
+ ->fields('l', array('comment_count'))
+ ->condition('n.status', 1)
+ ->orderBy('last_updated', 'DESC')
+ ->addTag('node_access')
+ ->limit(25);
if ($account) {
if ($set_title) {
@@ -46,12 +45,6 @@ function tracker_page($account = NULL, $set_title = FALSE) {
);
}
- $query->condition('n.status', 1);
- $query->distinct();
- $query->extend('PagerDefault')->extend('TableSort')
- ->limit(25, 0)
- ->orderByHeader($header);
-
$result = $query->execute();
$rows = array();