diff -urp sites/all/modules/node_clone/clone.info sites/all/modules/node_clone_6/clone.info
--- sites/all/modules/node_clone/clone.info	2007-11-30 21:02:19.189937498 +0100
+++ sites/all/modules/node_clone_6/clone.info	2007-11-30 06:38:58.368626283 +0100
@@ -1,9 +1,6 @@
-; $Id: clone.info,v 1.3.2.1 2007/02/15 03:33:14 pwolanin Exp $
+; $Id
 name = Clone module
 description = "Allows users to clone (copy then edit) an existing node."
-version = "$Name: DRUPAL-5--2-0 $"
-
-; Information added by drupal.org packaging script on 2007-05-05
-version = "5.x-2.0"
+core = 6.x
+version = "6.x-1.x-dev"
 project = "node_clone"
-
diff -urp sites/all/modules/node_clone/clone.module sites/all/modules/node_clone_6/clone.module
--- sites/all/modules/node_clone/clone.module	2007-11-30 21:02:19.453853200 +0100
+++ sites/all/modules/node_clone_6/clone.module	2007-11-30 21:16:26.790013817 +0100
@@ -1,10 +1,11 @@
 <?php
+// $Id
 
 /**
  * Implementation of hook_help().
  */
-function clone_help($section) {
-  switch ($section) {
+function clone_help($path, $arg) {
+  switch ($path) {
     case 'admin/help#clone':
       $output = '<p>'. t('The clone module allows users to make a copy of an existing node and then edit that copy. The authorship is set to the current user, the menu and url aliases are reset, and the words "Clone of" are inserted into the title to remind you that you are not editing the original node.') .'</p>';
       $output .= '<p>'. t('Users with the "clone node" permission can utilize this functionality. A new tab will appear on node pages with the word "Clone".') .'</p>';
@@ -22,38 +23,36 @@ function clone_perm() {
 /**
  * Implementation of hook_menu().
  */
-function clone_menu($may_cache) {
-  $items = array();
-
-  if ($may_cache) {  
-    $items[] = array(
-       'path' => 'admin/settings/clone',
-       'title' => t('Clone module'),
-       'description' => t('Allows users to clone (copy then edit) an existing node.'),
-       'callback' => 'drupal_get_form',
-       'callback arguments' => 'clone_settings',
-       'access' => user_access('administer site configuration'), 
-      );
-  }
-  else { 
-    if (arg(0) == 'node' && is_numeric(arg(1))){
-       $node = node_load(arg(1));
-       if ($node->nid) {
-         $access = (user_access('clone node') && clone_is_permitted($node->type) && filter_access($node->format) && node_access('create',$node->type));
-         $items[] = array(
-           'path' => 'node/'. $node->nid.'/clone', 
-           'title' => t('Clone'),
-           'callback' => 'clone_node',
-           'callback arguments' => $node->nid,
-           'access' => $access,
-           'type' => MENU_LOCAL_TASK, 'weight' => 5,); 
-       }
-    }
-  }
-
+function clone_menu() {
+  $items['admin/settings/clone'] = array(
+    'access arguments' => array('administer site configuration'),
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('clone_settings'),
+    'title' => 'Clone module',
+    'description' => 'Allows users to clone (copy then edit) an existing node.',
+  );
+  $items['node/%node/clone'] = array(
+    'access callback' => 'node_access',
+    'access arguments' => array('update', 1),
+    'access callback' => 'clone_access',
+    'access arguments' => array(1),
+    'page callback' => 'clone_node',
+    'page arguments' => array(1),
+    'title' => 'Clone',
+    'weight' => 5,
+    'file' => 'node.pages.inc',
+    'file path' => drupal_get_path('module', 'node'),
+    'type' => MENU_LOCAL_TASK,
+  );
   return $items;
 }
 
+function clone_access($node) {
+  $access = (user_access('clone node') && clone_is_permitted($node->type) &&
+    filter_access($node->format) && node_access('create',$node->type));
+  return $access;
+}
+
 function clone_is_permitted($type) {
   return !in_array($type, variable_get('clone_omitted', array()));
 }
@@ -62,17 +61,14 @@ function clone_is_permitted($type) {
 * menu callback to configure module settings.
 */
 function clone_settings() {
-
   $form['heading'] = array(
     '#value' => '<b>'.t('Configuration options for the clone module:').'</b>',
   );
-
   $form['publishing'] = array(
     '#type' => 'fieldset',
     '#title' => '<b>'.t('Should the publishing options ( e.g. published, promoted, etc) be reset to the defaults?').'</b>',
   );
   $types = node_get_types('names');
- 
   foreach ($types as $type => $name) {
     $form['publishing']['clone_reset_'. $type] = array(
       '#type' => 'checkbox',
@@ -90,24 +86,22 @@ function clone_settings() {
     '#description' => t('Select any node types which should <em>never</em> be cloned. Typically you should will want to select here all node types for which cloning fails (e.g. image nodes).'), 
     '#multiple' => TRUE
   );
-
   return system_settings_form($form);
 }
 
 /**
  * Implementation of hook_mode_type().
  */
-function clone_node_type($op, $type_obj) {
-
+function clone_node_type($op, $info) {
   switch ($op){
     case 'delete':
-      variable_del('clone_reset_'. $type_obj->type);
+      variable_del('clone_reset_'. $info->type);
       break;
     case 'update':
-      if (!empty($type_obj->old_type) && $type_obj->old_type != $type_obj->type) {
-        if (variable_get('clone_reset_'. $type_obj->old_type, FALSE)) {
-          variable_del('clone_reset_'. $type_obj->old_type);
-          variable_set('clone_reset_'. $type_obj->type, TRUE);
+      if (!empty($info->old_type) && $info->old_type != $info->type) {
+        if (variable_get('clone_reset_'. $info->old_type, FALSE)) {
+          variable_del('clone_reset_'. $info->old_type);
+          variable_set('clone_reset_'. $info->type, TRUE);
         }
       }
       break;
@@ -117,23 +111,19 @@ function clone_node_type($op, $type_obj)
 /**
  *  Clones a node - prepopulate a node editing form
  */
-function clone_node($nid)
-{
-  if (is_numeric($nid)) {
+function clone_node($node) {
+  if (is_numeric($node->nid)) {
     global $user;
-    
-    $node = node_load($nid);
-    if (isset($node->nid) && clone_is_permitted($node->type)) {
-      
+    if (isset($node->nid) && clone_is_permitted($node->type)) {  
       $node->nid = NULL;
+      $node->vid = NULL;
       $node->uid = $user->uid;
+      $node->name = $user->name;
       $node->created = NULL;   
-      $node->menu = NULL;
       $node->path = NULL;
-      $node->files = array();
+      $node->files = array();	  
       $node->title = t('Clone of @title', array('@title' => $node->title));
-      drupal_set_title(check_plain($node->title));
-      
+      drupal_set_title(t('Edit %title', array('%title' => $node->title)));	  	  
       if (variable_get('clone_reset_'. $node->type, FALSE)) {
         $node_options = variable_get('node_options_'. $node->type, array('status', 'promote'));
         // fill in the default values
@@ -144,8 +134,7 @@ function clone_node($nid)
       if (empty($_POST['op'])) {
         drupal_set_message('This clone will not be saved to the database until you submit.');
       }
-      return  drupal_get_form($node->type .'_node_form', $node); 
+      return drupal_get_form($node->type .'_node_form', $node);
     }
   }
 }
-
