function _blogapi_mt_extra in Drupal 4
Same name and namespace in other branches
- 5 modules/blogapi/blogapi.module \_blogapi_mt_extra()
- 6 modules/blogapi/blogapi.module \_blogapi_mt_extra()
Handles extra information sent by clients according to MovableType's spec.
2 calls to _blogapi_mt_extra()
- blogapi_blogger_edit_post in modules/
blogapi.module - Blogging API callback. Modifies the specified blog node.
- blogapi_blogger_new_post in modules/
blogapi.module - Blogging API callback. Inserts a new blog post as a node.
File
- modules/
blogapi.module, line 630 - Enable users to post using applications that support XML-RPC blog APIs.
Code
function _blogapi_mt_extra(&$node, $struct) {
if (is_array($node)) {
$was_array = true;
$node = (object) $node;
}
// mt_allow_comments
if (array_key_exists('mt_allow_comments', $struct)) {
switch ($struct['mt_allow_comments']) {
case 0:
$node->comment = COMMENT_NODE_DISABLED;
break;
case 1:
$node->comment = COMMENT_NODE_READ_WRITE;
break;
case 2:
$node->comment = COMMENT_NODE_READ_ONLY;
break;
}
}
// merge the 3 body sections (description, mt_excerpt, mt_text_more) into
// one body
if ($struct['mt_excerpt']) {
$node->body = $struct['mt_excerpt'] . '<!--break-->' . $node->body;
}
if ($struct['mt_text_more']) {
$node->body = $node->body . '<!--extended-->' . $struct['mt_text_more'];
}
// mt_tb_ping_urls
if (function_exists('trackback_send')) {
if (is_array($struct['mt_tb_ping_urls'])) {
foreach ($struct['mt_tb_ping_urls'] as $tb_ping_url) {
$node->tb_url = $tb_ping_url
->getVal();
trackback_send($node);
unset($node->tb_url);
// make sure we don't ping twice
}
}
else {
$node->tb_url = $struct['mt_tb_ping_urls'];
}
}
// mt_convert_breaks
if ($struct['mt_convert_breaks']) {
$node->format = $struct['mt_convert_breaks'];
}
// dateCreated
if ($struct['dateCreated']) {
$node->date = format_date(mktime($struct['dateCreated']->hour, $struct['dateCreated']->minute, $struct['dateCreated']->second, $struct['dateCreated']->month, $struct['dateCreated']->day, $struct['dateCreated']->year), 'custom', 'Y-m-d H:i:s O');
}
if ($was_array) {
$node = (array) $node;
}
}