Index: export.pages.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/node_export/export.pages.inc,v
retrieving revision 1.1.2.4.2.2
diff -u -r1.1.2.4.2.2 export.pages.inc
--- export.pages.inc	4 Apr 2009 13:07:11 -0000	1.1.2.4.2.2
+++ export.pages.inc	23 Apr 2009 04:47:44 -0000
@@ -1,6 +1,17 @@
 <?php
 // $Id: export.pages.inc,v 1.1.2.4.2.2 2009/04/04 13:07:11 danielb Exp $
-// $Name:  $
+// $Name: DRUPAL-6--2 $
+
+// Define a class to handle converting out imported objects.
+class nodeExport {
+  function __set_state($array) {
+    $object = new stdClass();
+    foreach($array as $k => $v) {
+      $object->$k = $v;
+    }
+    return $object;
+  }
+}
 
 /**
  * Menu callback to configure module settings.
@@ -17,7 +28,7 @@
     '#options' => array('prepopulate' => t('Pre-populate the node form fields'), 'save-edit' => t('Save as a new node then edit')),
     '#default_value' => variable_get('export_method', 'prepopulate'),
   );
-  
+
   $form['publishing'] = array(
     '#type' => 'fieldset',
     '#title' => t('Should the publishing options ( e.g. published, promoted, etc) be reset to the defaults?'),
@@ -107,8 +118,7 @@
       // The function signature is: hook_export_node_alter(&$node, $original_node, $method)
       // Where $method is 'export'
       drupal_alter("export_node", $node, $original_node, "export");
-      $node_code = var_export($node, true);
-      $node_code = str_replace('stdClass::__set_state(array(', 'node(code(', $node_code);
+      $node_code = str_replace('stdClass::__set_state(', 'nodeExport::__set_state(', var_export($node, TRUE));
       return ($return_code ? $node_code : drupal_get_form('export_form', $node_code));
     }
   }
@@ -136,21 +146,21 @@
   global $user;
   $output;
   if ($_POST['import_code']) {
-    $node_code = str_replace('node(code(', 'array(array(', trim($_POST['import_code']));
+    $node_code = trim($_POST['import_code']);
     $imported_nodes = array();
     if (substr($node_code, 0, 5) == 'bulk(') {
       $node_code = str_replace('bulk(', 'array(', $node_code);
       $bulk_import = eval("return ".$node_code.";");
       foreach ($bulk_import as $imported_node) {
-        $new_node = (object)current($imported_node);
+        $new_node = $imported_node;
         $new_nid = export_node_save($new_node);
         drupal_set_message(t("Imported !node", array('!node' => l($new_node->title, 'node/'. $new_nid))));
       }
       drupal_goto('admin/content/node');
     }
     else {
-      $imported_nodes = eval("return ".$node_code.";");
-      return export_node_check((object)current($imported_nodes));
+      $imported_node = eval("return ".$node_code.";");
+      return export_node_check($imported_node);
     }
   } else {
     return drupal_get_form('export_import_form', $form);
@@ -180,7 +190,7 @@
   );
   $form['#redirect'] = FALSE;
   $form['submit'] = array(
-    '#type' => 'submit', 
+    '#type' => 'submit',
     '#value' => t('Import'),
   );
   return $form;
@@ -192,7 +202,7 @@
 function export_node_check($node) {
 
   $method = variable_get('export_method', 'prepopulate');
-  
+
   switch ($method) {
     case 'save-edit':
       $new_nid = export_node_save($node);
@@ -290,4 +300,4 @@
   $node_code = $_SESSION['export_bulk'];
   unset($_SESSION['export_bulk']);
   return drupal_get_form('export_form', $node_code);
-} */
\ No newline at end of file
+} */
