function book_copy_book_process_book_copy in Book Copy 7
Same name and namespace in other branches
- 7.2 book_copy.module \book_copy_book_process_book_copy()
Callback for book_copy ajax call from outline designer.
1 string reference to 'book_copy_book_process_book_copy'
- book_copy_outline_designer_operations_alter in ./
book_copy.module - Implements hook_outline_designer_operations_alter().
File
- ./
book_copy.module, line 352
Code
function book_copy_book_process_book_copy($nid, $clone_title) {
// TODO: this needs to implement the internal book duplication functions
global $user;
// need to account for the 3 weird characters in URLs
$clone_title = str_replace("@2@F@", '/', $clone_title);
$clone_title = str_replace("@2@3@", '#', $clone_title);
$clone_title = str_replace("@2@B@", '+', $clone_title);
$node = node_load($nid);
$orig_node = $node;
$node->nid = NULL;
$node->vid = NULL;
if (isset($node->uuid)) {
$node->uuid = NULL;
}
$node->created = NULL;
$node->book['mlid'] = NULL;
$node->book['has_children'] = 0;
$node->uid = $user->uid;
// swap out the title
$new_title = str_replace('@title', $node->title, $clone_title);
$node->title = $new_title;
if (node_access('create', $node) && node_access('view', $orig_node)) {
node_save($node);
drupal_set_message(t('Content copied from %title (%nid).', array(
'%title' => $node->title,
'%nid' => $nid,
)));
return 1;
}
else {
drupal_set_message(t('Outline copy denied because of permissions.'));
return 0;
}
}