Index: D:/Proyectos/ArcLlati/modules/image/image.module
===================================================================
--- image.module	(revision 14)
+++ image.module	(working copy)
@@ -233,6 +233,55 @@
 }
 
 /**
+ * Implementation of hook_nodeapi()
+ */
+function image_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
+  if($op == 'settings' && $node->type != 'image'){
+	  return form_radios(t('Image extension'), 'image_node_'. $node->type, variable_get('image_node_'. $node->type, 0), array(t('Disabled'), t('Enabled')), t('Adds an image to this content type'));
+  }
+  elseif(variable_get("image_node_$node->type", 0)){
+	  switch ($op) {
+      case 'view':
+        if($teaser) {
+          $node->teaser = theme('image_extension', $node, $teaser, $page);
+        } elseif($page)  {
+          $node->body = theme('image_extension', $node, $teaser, $page);
+        }
+        break;
+	    case 'form param':
+	      $output['options'] = array('enctype' => 'multipart/form-data');
+	      return $output;
+	    case 'form post':
+			  if (is_array($node->images)) {
+			    foreach ($node->images as $label => $image) {
+			      $output .= form_hidden('images]['.$label, $image);
+			    }
+			  }
+			  if ($node->images['thumbnail']) {
+			    $output.= form_item(t('Thumbnail'), image_display($node, 'thumbnail'));
+			  }
+			  $output .= form_file(t('Image'), 'image', 50, t('Click "Browse..." to select an image to upload.'), TRUE);    
+			  return $output;
+     case 'load':
+        image_load($node);
+        break;
+     case 'insert':
+        image_insert($node);
+        break;
+     case 'update':
+        image_update($node);
+        break;
+     case 'delete':
+        image_delete($node);
+        break;
+     case 'validate':
+        image_validate($node, 'image');
+        break;
+	  }
+  }
+}
+
+/**
  * Implementation of hook_form
  */
 function image_form(&$node, &$param) {
@@ -555,6 +604,20 @@
 }
 
 /**
+ * Theme a node extended with image
+ */
+
+function theme_image_extension(&$node, $teaser, $page){
+  if($teaser) {
+    $image = image_display($node, 'thumbnail');
+    return $image ? '<div class="image-extension-teaser">'.l($image, 'node/'.$node->nid, array(), NULL, NULL, FALSE, TRUE) . "</div>\n" . $node->teaser : $node->teaser;
+  } elseif($page)  {
+    $image = image_display($node, 'preview');
+    return $image ? '<div class="image-extension-page">'.$image. "</div>\n" . $node->body : $node->body;
+  }
+}
+
+/**
  * Fetch a random N image(s) - optionally from a given term.
  */
 function image_get_random($count = 1, $tid = 0) {
