Make WordPress Core

Ticket #36621: 36621.1.patch

File 36621.1.patch, 1.4 KB (added by azaozz, 9 years ago)
  • src/wp-includes/functions.php

     
    18541854 * @return array See above for description.
    18551855 */
    18561856function wp_upload_dir( $time = null, $create_dir = true, $refresh_cache = false ) {
    1857         static $cache = array();
     1857        static $cache = array(), $tested_paths = array();
    18581858
    18591859        $key = sprintf( '%d-%s', get_current_blog_id(), (string) $time );
    18601860
     
    18741874
    18751875        if ( $create_dir ) {
    18761876                $path = $uploads['path'];
    1877                 $tested_paths = wp_cache_get( 'upload_dir_tested_paths' );
    18781877
    1879                 if ( ! is_array( $tested_paths ) ) {
    1880                         $tested_paths = array();
    1881                 }
    1882 
    1883                 if ( ! in_array( $path, $tested_paths, true ) ) {
     1878                if ( array_key_exists( $path, $tested_paths ) ) {
     1879                        $uploads['error'] = $tested_paths[ $path ];
     1880                } else {
    18841881                        if ( ! wp_mkdir_p( $path ) ) {
    18851882                                if ( 0 === strpos( $uploads['basedir'], ABSPATH ) ) {
    18861883                                        $error_path = str_replace( ABSPATH, '', $uploads['basedir'] ) . $uploads['subdir'];
     
    18891886                                }
    18901887
    18911888                                $uploads['error'] = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), esc_html( $error_path ) );
    1892                         } else {
    1893                                 $tested_paths[] = $path;
    1894                                 wp_cache_set( 'upload_dir_tested_paths', $tested_paths );
    18951889                        }
     1890
     1891                        $tested_paths[ $path ] = $uploads['error'];
    18961892                }
    18971893        }
    18981894