? inline_prevent_duplicates.patch Index: inline.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/inline/inline.module,v retrieving revision 1.19.2.7 diff -u -p -r1.19.2.7 inline.module --- inline.module 18 Apr 2007 11:22:27 -0000 1.19.2.7 +++ inline.module 30 Apr 2008 11:30:35 -0000 @@ -282,11 +282,11 @@ function theme_inline_img($file, $field) } function theme_inline_add_to_teaser($node, $file, $field) { - return theme('inline_img', $file, $field) . $node->teaser; + return '' . theme('inline_img', $file, $field) . '' . $node->teaser; } function theme_inline_add_to_body($node, $file, $field) { - return theme('inline_img', $file, $field) . $node->body; + return '' . theme('inline_img', $file, $field) . '' . $node->body; } function _inline_auto_add($node) { @@ -297,40 +297,46 @@ function _inline_auto_add($node) { switch (variable_get('upload_inline_'. $node->type, 0)) { case 1: foreach ($node->files as $fid => $file) { - $file = inline_prepare_file_object($file); - if (_inline_decide_img_tag($file)) { - $node->files[$fid]->inline = TRUE; - $node->teaser = theme('inline_add_to_teaser', $node, $file, 'teaser'); - } - else { - $node->files[$fid]->inline = FALSE; + if(!$node->files[$fid]->inline) { + $file = inline_prepare_file_object($file); + if (_inline_decide_img_tag($file)) { + $node->files[$fid]->inline = TRUE; + $node->teaser = theme('inline_add_to_teaser', $node, $file, 'teaser'); + } + else { + $node->files[$fid]->inline = FALSE; + } } } break; case 2: foreach ($node->files as $fid => $file) { - $file = inline_prepare_file_object($file); - if (_inline_decide_img_tag($file)) { - $node->files[$fid]->inline = TRUE; - $node->body = theme('inline_add_to_body', $node, $file, 'body'); - } - else { - $node->files[$fid]->inline = FALSE; + if(!$node->files[$fid]->inline) { + $file = inline_prepare_file_object($file); + if (_inline_decide_img_tag($file)) { + $node->files[$fid]->inline = TRUE; + $node->body = theme('inline_add_to_body', $node, $file, 'body'); + } + else { + $node->files[$fid]->inline = FALSE; + } } } break; case 3: foreach ($node->files as $fid => $file) { - $file = inline_prepare_file_object($file); - if (_inline_decide_img_tag($file)) { - $node->files[$fid]->inline = TRUE; - $node->teaser = theme('inline_add_to_teaser', $node, $file, 'teaser'); - $node->body = theme('inline_add_to_body', $node, $file, 'body'); - } - else { - $node->files[$fid]->inline = FALSE; + if(!$node->files[$fid]->inline) { + $file = inline_prepare_file_object($file); + if (_inline_decide_img_tag($file)) { + $node->files[$fid]->inline = TRUE; + $node->teaser = theme('inline_add_to_teaser', $node, $file, 'teaser'); + $node->body = theme('inline_add_to_body', $node, $file, 'body'); + } + else { + $node->files[$fid]->inline = FALSE; + } } } break; @@ -357,6 +363,7 @@ function _inline_substitute_tags(&$node, else { $replace = theme('inline_as_link', $file); } + $node->files[$file->fid]->inline = TRUE; } else { $replace = "NOT FOUND: $value";