? plupload
Index: plupload.css
===================================================================
RCS file: plupload.css
diff -N plupload.css
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ plupload.css	8 Nov 2010 23:52:16 -0000
@@ -0,0 +1,16 @@
+/* CSS that Styles the Success Text for Plupload */
+
+#uploader-success {
+  text-align:center;
+}
+
+#uploader-success h3 {
+  margin: 8px 8px 0px;
+  padding: 1em;
+  background-color: #45494D;
+  color: #FFFFFF;
+}
+
+.plupload_container {
+  padding-top: 0px;
+}
\ No newline at end of file
Index: plupload.js
===================================================================
RCS file: plupload.js
diff -N plupload.js
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ plupload.js	8 Nov 2010 23:52:16 -0000
@@ -0,0 +1,22 @@
+// $Id: $ 
+$(document).ready(function() {
+  var total_upload_files = 0;
+  var upload = $('#uploader').pluploadQueue();               
+
+
+  upload.bind('FileUploaded', function(up, file, res) {
+    total_upload_files--;
+    if(total_upload_files == 0) {
+      var total_uploaded = $('#uploader').pluploadQueue().total.uploaded;
+      var images = Drupal.formatPlural(total_uploaded, ' image', ' images');
+      $('#uploader-success').slideUp('fast');
+      $('div.plupload_header').slideUp('slow', function() {
+        $('#uploader-success').html('<h3>Success! ' + total_uploaded + images + ' uploaded.</h3>').slideDown('slow');
+      });
+    }
+  });
+
+  upload.bind('QueueChanged', function(up, files) {
+    total_upload_files = upload.files.length;
+  });
+});
\ No newline at end of file
Index: plupload.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/plupload/plupload.module,v
retrieving revision 1.1.2.8
diff -u -p -r1.1.2.8 plupload.module
--- plupload.module	2 Nov 2010 16:01:23 -0000	1.1.2.8
+++ plupload.module	8 Nov 2010 23:52:17 -0000
@@ -111,9 +111,10 @@ function plupload_upload_page($options =
   $swfurl = url($path.'/plupload/js/plupload.flash.swf');
   $script = <<<__RSD__
 // Convert divs to queue widgets when the DOM is ready
- $(function() {
-  // Setup uploader
-  $("#uploader").pluploadQueue({
+$(document).ready(function() {
+  $(function() {
+    // Setup uploader
+    $("#uploader").pluploadQueue({
        // General settings
        runtimes : 'html5,flash,html4',
        url : '$url',
@@ -126,14 +127,15 @@ function plupload_upload_page($options =
        filters : [
            {title : "Image files", extensions : "$extensions"}
        ]
-   });
+    });
+  });
 });
 __RSD__;
   
   drupal_add_js($script, 'inline');
   
-  
-  $output = '<div id="uploader">Your browser does not support HTML5 native or flash upload. Try Firefox 3, Safari 4, or Chrome; or install Flash.</div>';
+  $output .= theme('plupload_success');
+  $output .= '<div id="uploader">Your browser does not support HTML5 native or flash upload. Try Firefox 3, Safari 4, or Chrome; or install Flash.</div>';
 
   return $output;
 }
@@ -352,3 +354,24 @@ function _plupload_imagefield_import_cre
 
   return $node;
 }
+
+/**
+ * Implementation of hook_theme.
+ */
+function plupload_theme($existing, $type, $theme, $path) {
+  return array('plupload_success' => array(
+    'arguments' => array())
+  );
+}
+
+//Theme Function for Success Text
+function theme_plupload_success() {
+  $path = drupal_get_path('module', 'plupload');
+  drupal_add_css($path.'/plupload.css');
+  //If this is not footer, it gets called before the inline script
+  //in plupload_upload_page() And that doesn't work.
+  drupal_add_js($path .'/plupload.js', 'module', 'footer');
+  
+  return '<div id="uploader-success"></div>';
+}
+
