diff --git a/includes/media.fields.inc b/includes/media.fields.inc index 5245d7afdf87b8b44c4ffc1ff9887c593d1d1099..81c9aba0cf1d01d84d09560a18232215a3095484 100644 --- a/includes/media.fields.inc +++ b/includes/media.fields.inc @@ -309,7 +309,13 @@ function media_field_widget_process_multiple($element, &$form_state, $form) { // For each file selected, increment the field key to be processed. // field_mediafield_und_0 becomes field_mediafield_und_1, etc. $_POST['media'][$upload_name_prefix . ($element['#file_upload_delta'] + $i)] = $files[$i]; - $element[] = $element[$element['#file_upload_delta']]; + + // Copy the default file element to each newly selected file position. + $default_element = $element[$element['#file_upload_delta']]; + $element[] = array_merge( + $default_element, + array('#weight' => ($element['#file_upload_delta'] + $i + 1)) + ); } } diff --git a/js/media.js b/js/media.js index 607cd3aa019753261732684345f68d5f0c7d1edf..bc7bb2a4de2f9b8f5dba5c4b1264c6067c5ebb4d 100644 --- a/js/media.js +++ b/js/media.js @@ -94,8 +94,6 @@ Drupal.media.openBrowser = function (event) { var mediaFileValue; // Process the value based on multiselect. if (mediaFiles.length > 1) { - // Reverse array to have files in correct order - mediaFiles.reverse(); // Concatenate the array into a comma separated string. mediaFileValue = mediaFiles.map(function(file) { return file.fid;