diff options
author | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-11-21 19:13:22 +0000 |
---|---|---|
committer | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-11-21 19:13:22 +0000 |
commit | 18d532e214d46a5422b1d40f3ac7eecd798e8b33 (patch) | |
tree | 03954e451dffa7251d5a2a4889e9d80a00630f96 /modules/upload | |
parent | 06c886d45bce67f1444861813413ac366d02d031 (diff) | |
download | brdo-18d532e214d46a5422b1d40f3ac7eecd798e8b33.tar.gz brdo-18d532e214d46a5422b1d40f3ac7eecd798e8b33.tar.bz2 |
#172630 by webernet: fix weird errors experienced when using the JS file uploader
Diffstat (limited to 'modules/upload')
-rw-r--r-- | modules/upload/upload.module | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/modules/upload/upload.module b/modules/upload/upload.module index 1c9733ec7..e31efeee7 100644 --- a/modules/upload/upload.module +++ b/modules/upload/upload.module @@ -561,12 +561,15 @@ function upload_js() { // We only do the upload.module part of the node validation process. $node = (object)$_POST; $form_state = array(); + // Handle new uploads, and merge tmp files into node-files. upload_node_form_submit(array(), $form_state); - $node->files = array_merge(isset($form_state['values']['files']) ? $form_state['values']['files'] : array(), upload_load($node)); - - $files = isset($_POST['files']) ? $_POST['files'] : array(); - + $node->files = upload_load($node); + if (!empty($form_state['values']['files'])) { + foreach($form_state['values']['files'] as $fid => $file) { + $node->files[$fid] = $file; + } + } $form = _upload_form($node); $form += array( @@ -580,9 +583,12 @@ function upload_js() { $form = form_builder('upload_js', $form, $form_state); // Maintain the list and delete checkboxes values. + $files = isset($_POST['files']) ? $_POST['files'] : array(); foreach ($files as $fid => $file) { - $form['files'][$fid]['list']['#value'] = isset($file['list']) ? 1 : 0; - $form['files'][$fid]['remove']['#value'] = isset($file['remove']) ? 1 : 0; + if (is_numeric($fid)) { + $form['files'][$fid]['list']['#value'] = isset($file['list']) ? 1 : 0; + $form['files'][$fid]['remove']['#value'] = isset($file['remove']) ? 1 : 0; + } } $output = theme('status_messages') . drupal_render($form); |