Same name and namespace in other branches
- 4.7.x modules/blogapi.module \blogapi_blogger_edit_post()
- 5.x modules/blogapi/blogapi.module \blogapi_blogger_edit_post()
- 6.x modules/blogapi/blogapi.module \blogapi_blogger_edit_post()
Blogging API callback. Modifies the specified blog node.
1 call to blogapi_blogger_edit_post()
- blogapi_metaweblog_edit_post in modules/
blogapi.module
1 string reference to 'blogapi_blogger_edit_post'
- blogapi_xmlrpc in modules/
blogapi.module - Implementation of hook_xmlrpc().
File
- modules/
blogapi.module, line 229 - Enable users to post using applications that support XML-RPC blog APIs.
Code
function blogapi_blogger_edit_post($appkey, $postid, $username, $password, $content, $publish) {
$user = blogapi_validate_user($username, $password);
if (!$user->uid) {
return blogapi_error($user);
}
$node = node_load(array(
'nid' => $postid,
));
if (!$node) {
return blogapi_error(message_na());
}
// Let the teaser be re-generated.
unset($node->teaser);
if (!node_access('update', $node)) {
return blogapi_error(message_access());
}
$node->status = $publish;
// check for bloggerAPI vs. metaWeblogAPI
if (is_array($content)) {
$node->title = $content['title'];
$node->body = $content['description'];
_blogapi_mt_extra($node, $content);
}
else {
$node->title = blogapi_blogger_title($content);
$node->body = $content;
}
$node = node_validate($node);
if ($errors = form_get_errors()) {
return blogapi_error(implode("\n", $errors));
}
$terms = module_invoke('taxonomy', 'node_get_terms', $node->nid, 'tid');
foreach ($terms as $term) {
$node->taxonomy[] = $term->tid;
}
$nid = node_save($node);
if ($nid) {
watchdog('content', t('%type: updated %title using blog API.', array(
'%type' => '<em>' . t($node->type) . '</em>',
'%title' => theme('placeholder', $node->title),
)), WATCHDOG_NOTICE, l(t('view'), "node/{$nid}"));
return true;
}
return blogapi_error(t('Error storing post.'));
}