WordPress.org

Make WordPress Core

Ticket #10541: 10541.diff

File 10541.diff, 2.1 KB (added by dd32, 9 years ago)
  • wp-admin/includes/class-wp-upgrader.php

     
    8181                        return new WP_Error('fs_error', $this->strings['fs_error'], $wp_filesystem->errors);
    8282
    8383                foreach ( (array)$directories as $dir ) {
    84                         if ( ABSPATH == $dir && ! $wp_filesystem->abspath() )
    85                                 return new WP_Error('fs_no_root_dir', $this->strings['fs_no_root_dir']);
    86 
    87                         elseif ( WP_CONTENT_DIR == $dir && ! $wp_filesystem->wp_content_dir() )
    88                                 return new WP_Error('fs_no_content_dir', $this->strings['fs_no_content_dir']);
    89 
    90                         elseif ( WP_PLUGIN_DIR == $dir && ! $wp_filesystem->wp_plugins_dir() )
    91                                 return new WP_Error('fs_no_plugins_dir', $this->strings['fs_no_plugins_dir']);
    92 
    93                         elseif ( WP_CONTENT_DIR . '/themes' == $dir && ! $wp_filesystem->find_folder(WP_CONTENT_DIR . '/themes') )
    94                                 return new WP_Error('fs_no_themes_dir', $this->strings['fs_no_themes_dir']);
    95 
    96                         elseif ( ! $wp_filesystem->find_folder($dir) )
    97                                 return new WP_Error('fs_no_folder', sprintf($strings['fs_no_folder'], $dir));
     84                        switch ( $dir ) {
     85                                case ABSPATH:
     86                                        if ( ! $wp_filesystem->abspath() )
     87                                                return new WP_Error('fs_no_root_dir', $this->strings['fs_no_root_dir']);
     88                                        break;
     89                                case WP_CONTENT_DIR:
     90                                        if ( ! $wp_filesystem->wp_content_dir() )
     91                                                return new WP_Error('fs_no_content_dir', $this->strings['fs_no_content_dir']);
     92                                        break;
     93                                case WP_PLUGIN_DIR:
     94                                        if ( ! $wp_filesystem->wp_plugins_dir() )
     95                                                return new WP_Error('fs_no_plugins_dir', $this->strings['fs_no_plugins_dir']);
     96                                        break;
     97                                case WP_CONTENT_DIR . '/themes':
     98                                        if ( ! $wp_filesystem->find_folder(WP_CONTENT_DIR . '/themes') )
     99                                                return new WP_Error('fs_no_themes_dir', $this->strings['fs_no_themes_dir']);
     100                                        break;
     101                                default:
     102                                        if ( ! $wp_filesystem->find_folder($dir) )
     103                                                return new WP_Error('fs_no_folder', sprintf($this->strings['fs_no_folder'], $dir));
     104                                        break;
     105                        }
    98106                }
    99107                return true;
    100108        } //end fs_connect();