if(user_access('edit own blog')&&($user->uid==$node->uid)){
returnTRUE;
}
}
}
/**
* Implementation of hook_user().
*/
functionblog_user($type,&$edit,&$user){
if($type=='view'&&user_access('edit own blog',$user)){
$items[]=array('title'=>t('Blog'),
'value'=>l(t('view recent blog entries'),"blog/$user->uid",array('title'=>t("Read %username's latest blog entries.",array('%username'=>$user->name)))),
'class'=>'blog',
);
returnarray(t('History')=>$items);
}
}
/**
* Implementation of hook_help().
*/
functionblog_help($section){
switch($section){
case'admin/help#blog':
$output='<p>'.t('The blog module allows registered users to maintain an online weblog (commonly known as a blog), often referred to as an online journal or diary. Blogs are made up of individual posts that are time stamped and are typically viewed by date as you would a diary. Blogs often contain links to webpages users have read and/or agree/disagree with.').'</p>';
$output.='<p>'.t('The blog module adds a <em>user blogs</em> navigation link to the site, which takes any visitor to a page that displays the most recent blog entries from all the users on the site. The navigation menu has a <em>create a blog entry</em> link (which takes you to a submission form) and a <em>view personal blog</em> link (which displays your blog entries as other people will see them). The blog module also creates a <em>recent blog posts</em> block that can be enabled.').'</p>';
$output.='<p>'.t('If a user has the ability to post blogs, then the import module (news aggregator) will display a blog-it link next to each news item in its lists. Clicking on this takes the user to the blog submission form, with the title, a link to the item, and a link to the source into the body text already in the text box, ready for the user to add a comment or explanation. This actively encourages people to add blog entries about things they see and hear elsewhere in the website and from your syndicated partner sites.').'</p>';
$output.=t('<p>You can</p>
<ul>
<li>read your blog via your user profile at <a href="%user">my account</a>.</li>
<li>post a blog at <a href="%node-add-blog">create content >> personal blog entry</a>.</li>
<li>administer blog at <a href="%admin-node-configure-types-blog">administer >> settings >> content types >> configure blog entry</a>.</li>
<li>administer blog api at <a href="%admin-settings-blogapi">administer >> settings >> blogapi</a>.</li>
<li>enable the "recent blog posts" block at <a href="%admin-block">administer >> blocks</a> to show the 10 most recent blog posts.</li>
$output.='<p>'.t('For more information please read the configuration and customization handbook <a href="%blog">Blog page</a>.',array('%blog'=>'http://drupal.org/handbook/modules/blog/')).'</p>';
return$output;
case'admin/modules#description':
returnt('Enables keeping an easily and regularly updated web page or a blog.');
case'node/add#blog':
returnt("A blog is a regularly updated journal or diary made up of individual posts shown in reversed chronological order. A blog is tightly coupled to the author so each user will have his 'own' blog.");
}
}
/**
* Displays an RSS feed containing recent blog entries of a given user.
$result=db_query_range(db_rewrite_sql("SELECT n.nid, n.title, r.teaser, n.created, u.name, u.uid FROM {node} n INNER JOIN {node_revisions} r ON n.vid = r.vid INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND u.uid = %d AND n.status = 1 ORDER BY n.created DESC"),$uid,0,variable_get('feed_default_items',10));
$channel['title']=$account->name."'s blog";
$channel['link']=url("blog/$uid",NULL,NULL,TRUE);
$channel['description']=$term->description;
node_feed($result,$channel);
}
/**
* Displays an RSS feed containing recent blog entries of all users.
*/
functionblog_feed_last(){
$result=db_query_range(db_rewrite_sql("SELECT n.nid, n.title, r.teaser, n.created, u.name, u.uid FROM {node} n INNER JOIN {node_revisions} r ON n.vid = r.vid INNER JOIN {users} u ON n.uid = u.uid WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.created DESC"),0,variable_get('feed_default_items',10));
if(($account->uid==$user->uid)&&user_access('edit own blog')){
$output='<li>'.l(t('Post new blog entry.'),"node/add/blog").'</li>';
}
elseif($account->uid==$user->uid){
$output='<li>'.t('You are not allowed to post a new blog entry.').'</li>';
}
if($output){
$output='<ul>'.$output.'</ul>';
}
else{
$output='';
}
$result=pager_query(db_rewrite_sql("SELECT n.nid, n.sticky, n.created FROM {node} n WHERE 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);
* Displays a Drupal page containing recent blog entries of all users.
*/
functionblog_page_last(){
global$user;
$output='';
$result=pager_query(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'blog' AND n.status = 1 ORDER BY n.created DESC"),variable_get('default_nodes_main',10));
if($iid&&$item=db_fetch_object(db_query('SELECT i.*, f.title as ftitle, f.link as flink FROM {aggregator_item} i, {aggregator_feed} f WHERE i.iid = %d AND i.fid = f.fid',$iid))){
$node->title=$item->title;
// Note: $item->description has been validated on aggregation.
$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);
if(db_num_rows($result)){
$block['content']=node_title_list($result);
$block['content'].='<div class="more-link">'.l(t('more'),'blog',array('title'=>t('Read the latest blog entries.'))).'</div>';