WordPress.org

Make WordPress Core

Ticket #6245: 6245.3.diff

File 6245.3.diff, 3.6 KB (added by DD32, 10 years ago)
  • wp-admin/includes/class-wp-filesystem-ftpext.php

     
    9595                //Set up the base directory (Which unless specified, is the current one)
    9696                if( empty( $base ) || '.' == $base ) $base = $this->cwd();
    9797                $base = trailingslashit($base);
    98                
     98
    9999                //Can we see the Current directory as part of the ABSPATH?
    100100                $location = strpos($abspath, $base);
    101101                if( false !== $location ){
    102102                        $newbase = path_join($base, substr($abspath, $location + strlen($base)));
    103                        
    104                         if($echo) printf( __('Changing to %s') . '<br/>', $newbase );
     103
    105104                        if( false !== $this->chdir($newbase) ){ //chdir sometimes returns null under certain circumstances, even when its changed correctly, FALSE will be returned if it doesnt change correctly.
    106                                 $base = $newbase;
     105                                if($echo) printf( __('Changing to %s') . '<br/>', $newbase );
    107106                                //Check to see if it exists in that folder.
    108                                 if( $this->exists($base . 'wp-settings.php') ){
    109                                         if($echo) printf( __('Found %s'),  $base . 'wp-settings.php<br/>' );
    110                                         $this->wp_base = $base;
    111                                         return $this->wp_base;
     107                                if( $this->exists($newbase . 'wp-settings.php') ){
     108                                        if($echo) printf( __('Found %s'),  $newbase . 'wp-settings.php<br/>' );
     109                                        return $newbase;
    112110                                }       
    113111                        }
    114112                }
     
    133131                                        return $ret;
    134132                        }
    135133                }
     134                //Only check this as a last resort, to prevent locating the incorrect install. All above proceeedures will fail quickly if this is the right branch to take.
     135                if(isset( $files[ 'wp-settings.php' ]) ){
     136                        if($echo) printf( __('Found %s'),  $base . 'wp-settings.php<br/>' );
     137                        return $base;
     138                }
    136139                return false;
    137140        }
    138141
  • wp-admin/includes/class-wp-filesystem-ftpsockets.php

     
    9797                //Set up the base directory (Which unless specified, is the current one)
    9898                if( empty( $base ) || '.' == $base ) $base = $this->cwd();
    9999                $base = trailingslashit($base);
    100                
     100
    101101                //Can we see the Current directory as part of the ABSPATH?
    102102                $location = strpos($abspath, $base);
    103103                if( false !== $location ){
    104104                        $newbase = path_join($base, substr($abspath, $location + strlen($base)));
    105                        
    106                         if($echo) printf( __('Changing to %s') . '<br/>', $newbase );
     105
    107106                        if( false !== $this->chdir($newbase) ){ //chdir sometimes returns null under certain circumstances, even when its changed correctly, FALSE will be returned if it doesnt change correctly.
    108                                 $base = $newbase;
     107                                if($echo) printf( __('Changing to %s') . '<br/>', $newbase );
    109108                                //Check to see if it exists in that folder.
    110                                 if( $this->exists($base . 'wp-settings.php') ){
    111                                         if($echo) printf( __('Found %s'),  $base . 'wp-settings.php<br/>' );
    112                                         $this->wp_base = $base;
    113                                         return $this->wp_base;
     109                                if( $this->exists($newbase . 'wp-settings.php') ){
     110                                        if($echo) printf( __('Found %s'),  $newbase . 'wp-settings.php<br/>' );
     111                                        return $newbase;
    114112                                }       
    115113                        }
    116114                }
     
    135133                                        return $ret;
    136134                        }
    137135                }
     136                //Only check this as a last resort, to prevent locating the incorrect install. All above proceeedures will fail quickly if this is the right branch to take.
     137                if(isset( $files[ 'wp-settings.php' ]) ){
     138                        if($echo) printf( __('Found %s'),  $base . 'wp-settings.php<br/>' );
     139                        return $base;
     140                }
    138141                return false;
    139142        }
    140143