summaryrefslogtreecommitdiff
path: root/modules/blog
diff options
context:
space:
mode:
Diffstat (limited to 'modules/blog')
-rw-r--r--modules/blog/blog.module20
-rw-r--r--modules/blog/blog.pages.inc62
2 files changed, 66 insertions, 16 deletions
diff --git a/modules/blog/blog.module b/modules/blog/blog.module
index 00f74a6dd..884372f02 100644
--- a/modules/blog/blog.module
+++ b/modules/blog/blog.module
@@ -161,7 +161,15 @@ function blog_page_user_access($account) {
* Helper function to determine if a user has blog posts already.
*/
function _blog_post_exists($account) {
- return (bool)db_result(db_query_range(db_rewrite_sql("SELECT 1 FROM {node} n WHERE n.type = 'blog' AND n.uid = %d AND n.status = 1"), $account->uid, 0, 1));
+ return (bool)db_select('node', 'n')
+ ->fields('n', array('nid'))
+ ->condition('type', 'blog')
+ ->condition('uid', $account->uid)
+ ->condition('status', 1)
+ ->range(0, 1)
+ ->addTag('node_access')
+ ->execute()
+ ->fetchField();
}
/**
@@ -181,7 +189,15 @@ function blog_block_view($delta = '') {
global $user;
if (user_access('access content')) {
- $result = db_query_range(db_rewrite_sql("SELECT n.nid, n.title, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.created DESC"), 0, 10);
+ $result = db_select('node', 'n')
+ ->fields('n', array('nid', 'title', 'created'))
+ ->condition('type', 'blog')
+ ->condition('status', 1)
+ ->orderBy('created', 'DESC')
+ ->range(0, 10)
+ ->addTag('node_access')
+ ->execute();
+
if ($node_title_list = node_title_list($result)) {
$block['content'] = $node_title_list;
$block['content'] .= theme('more_link', url('blog'), t('Read the latest blog entries.'));
diff --git a/modules/blog/blog.pages.inc b/modules/blog/blog.pages.inc
index 320fd6921..943e5491f 100644
--- a/modules/blog/blog.pages.inc
+++ b/modules/blog/blog.pages.inc
@@ -29,7 +29,19 @@ function blog_page_user($account) {
'#weight' => -1,
);
- $nids = pager_query(db_rewrite_sql("SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.type = 'blog' AND n.uid = %d AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), variable_get('default_nodes_main', 10), 0, NULL, $account->uid)->fetchCol();
+ $query = db_select('node', 'n')->extend('PagerDefault');
+ $nids = $query
+ ->fields('n', array('nid', 'sticky', 'created'))
+ ->condition('type', 'blog')
+ ->condition('uid', $account->uid)
+ ->condition('status', 1)
+ ->orderBy('sticky', 'DESC')
+ ->orderBy('created', 'DESC')
+ ->limit(variable_get('default_nodes_main', 10))
+ ->addTag('node_access')
+ ->execute()
+ ->fetchCol();
+
if (!empty($nids)) {
$nodes = node_load_multiple($nids);
$build += node_build_multiple($nodes);
@@ -67,7 +79,17 @@ function blog_page_last() {
);
}
- $nids = pager_query(db_rewrite_sql("SELECT n.nid, n.sticky, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), variable_get('default_nodes_main', 10))->fetchCol();
+ $query = db_select('node', 'n')->extend('PagerDefault');
+ $nids = $query
+ ->fields('n', array('nid', 'sticky', 'created'))
+ ->condition('type', 'blog')
+ ->condition('status', 1)
+ ->orderBy('sticky', 'DESC')
+ ->orderBy('created', 'DESC')
+ ->limit(variable_get('default_nodes_main', 10))
+ ->addTag('node_access')
+ ->execute()
+ ->fetchCol();
if (!empty($nids)) {
$nodes = node_load_multiple($nids);
@@ -89,28 +111,40 @@ function blog_page_last() {
* Menu callback; displays an RSS feed containing recent blog entries of a given user.
*/
function blog_feed_user($account) {
- $result = db_query_range(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'blog' AND n.uid = %d AND n.status = 1 ORDER BY n.created DESC"), $account->uid, 0, variable_get('feed_default_items', 10));
+
+ $nids = db_select('node', 'n')
+ ->fields('n', array('nid', 'created'))
+ ->condition('type', 'blog')
+ ->condition('uid', $account->uid)
+ ->condition('status', 1)
+ ->orderBy('created', 'DESC')
+ ->range(0, variable_get('feed_default_items', 10))
+ ->addTag('node_access')
+ ->execute()
+ ->fetchCol();
+
$channel['title'] = $account->name . "'s blog";
$channel['link'] = url('blog/' . $account->uid, array('absolute' => TRUE));
- $items = array();
- while ($row = db_fetch_object($result)) {
- $items[] = $row->nid;
- }
- node_feed($items, $channel);
+ node_feed($nids, $channel);
}
/**
* Menu callback; displays an RSS feed containing recent blog entries of all users.
*/
function blog_feed_last() {
- $result = db_query_range(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.created DESC"), 0, variable_get('feed_default_items', 10));
+ $nids = db_select('node', 'n')
+ ->fields('n', array('nid', 'created'))
+ ->condition('type', 'blog')
+ ->condition('status', 1)
+ ->orderBy('created', 'DESC')
+ ->range(0, variable_get('feed_default_items', 10))
+ ->addTag('node_access')
+ ->execute()
+ ->fetchCol();
+
$channel['title'] = variable_get('site_name', 'Drupal') . ' blogs';
$channel['link'] = url('blog', array('absolute' => TRUE));
- $items = array();
- while ($row = db_fetch_object($result)) {
- $items[] = $row->nid;
- }
- node_feed($items, $channel);
+ node_feed($nids, $channel);
}