diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-05-29 18:51:46 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-05-29 18:51:46 +0000 |
commit | 5199f1bb8b37eeb56cbda557d866aafcd93b0049 (patch) | |
tree | 309b790d18031b87aebfcacc94919044b4081448 | |
parent | f13d5024035faeaae8aeff84ae9ffc719879de54 (diff) | |
download | brdo-5199f1bb8b37eeb56cbda557d866aafcd93b0049.tar.gz brdo-5199f1bb8b37eeb56cbda557d866aafcd93b0049.tar.bz2 |
- Patch #394582 by Berdir: converted to new database abstraction layer.
-rw-r--r-- | modules/tracker/tracker.pages.inc | 29 |
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(); |