| @@ -443,15 +443,21 @@ | ||
| 443 | 443 | $files[$k][$file_key] = $value[$file_key][$k]; |
| 444 | 444 | } |
| 445 | 445 | } |
| 446 | 446 | |
| 447 | - $return[$key] = $files; | |
| 448 | - break; | |
| 447 | + foreach ( $files as $k => $file ) { | |
| 448 | + if ( ! isset( $file['tmp_name'] ) || ! is_string( $file['tmp_name'] ) || ! is_uploaded_file( $file['tmp_name'] ) ) { | |
| 449 | + unset( $files[$k] ); | |
| 450 | + } | |
| 451 | + } | |
| 452 | + if ( $files ) { | |
| 453 | + $return[$key] = $files; | |
| 454 | + } | |
| 455 | + } elseif ( isset( $value['tmp_name'] ) && is_string( $value['tmp_name'] ) && is_uploaded_file( $value['tmp_name'] ) ) { | |
| 456 | + $return[ $key ] = $value; | |
| 449 | 457 | } |
| 450 | - } else { | |
| 451 | - // no break - treat as 'array' | |
| 452 | 458 | } |
| 453 | - // nobreak | |
| 459 | + break; | |
| 454 | 460 | case 'array' : |
| 455 | 461 | // Fallback array -> string |
| 456 | 462 | if ( is_string( $value ) ) { |
| 457 | 463 | if ( !empty( $types[0] ) ) { |