diff --git a/clone.pages.inc b/clone.pages.inc index d0104f2..235ed76 100644 --- a/clone.pages.inc +++ b/clone.pages.inc @@ -145,10 +145,8 @@ function clone_node_clone_menu_link($node) { */ function clone_node_prepopulate($original_node) { if (isset($original_node->nid)) { - global $user; - if (clone_is_permitted($original_node->type)) { - $node = _clone_node_prepare($original_node, TRUE, $user->uid); + $node = _clone_node_prepare($original_node, TRUE); drupal_set_title($node->title); // Let other modules do special fixing up. $context = array('method' => 'prepopulate', 'original_node' => $original_node); @@ -167,11 +165,9 @@ function clone_node_prepopulate($original_node) { */ function clone_node_save($nid) { if (is_numeric($nid)) { - global $user; - $original_node = node_load($nid); if (isset($node->nid) && clone_is_permitted($original_node->type)) { - $node = _clone_node_prepare($original_node, TRUE, $user->uid); + $node = _clone_node_prepare($original_node, TRUE); // Let other modules do special fixing up. $context = array('method' => 'save-edit', 'original_node' => $original_node); drupal_alter('clone_node', $node, $context); @@ -188,7 +184,9 @@ function clone_node_save($nid) { /** * Prepares a node to be cloned. */ -function _clone_node_prepare($original_node, $prefix_title = FALSE, $uid = NULL) { +function _clone_node_prepare($original_node, $prefix_title = FALSE) { + global $user; + $node = clone $original_node; $node->nid = NULL; @@ -202,9 +200,7 @@ function _clone_node_prepare($original_node, $prefix_title = FALSE, $uid = NULL) // Anyonmymous users don't have a name. // @see: drupal_anonymous_user(). $node->name = isset($user->name) ? $user->name : NULL; - if ($uid) { - $node->uid = $uid; - } + $node->uid = $user->uid; $node->created = NULL; $node->menu = clone_node_clone_menu_link($original_node); if (isset($node->book['mlid'])) {