Core_Command::cleanup_extra_files PHP Method

cleanup_extra_files() private method

private cleanup_extra_files ( $version_from, $version_to, $locale )
    private function cleanup_extra_files($version_from, $version_to, $locale)
    {
        if (!$version_from || !$version_to) {
            WP_CLI::warning('Failed to find WordPress version. Please cleanup files manually.');
            return;
        }
        $old_checksums = self::get_core_checksums($version_from, $locale ? $locale : 'en_US');
        $new_checksums = self::get_core_checksums($version_to, $locale ? $locale : 'en_US');
        if (empty($old_checksums) || empty($new_checksums)) {
            WP_CLI::warning('Failed to fetch checksums. Please cleanup files manually.');
            return;
        }
        $files_to_remove = array_diff(array_keys($old_checksums), array_keys($new_checksums));
        if (!empty($files_to_remove)) {
            WP_CLI::log('Cleaning up files...');
            $count = 0;
            foreach ($files_to_remove as $file) {
                // wp-content should be considered user data
                if (0 === stripos($file, 'wp-content')) {
                    continue;
                }
                if (file_exists(ABSPATH . $file)) {
                    unlink(ABSPATH . $file);
                    WP_CLI::log('File removed: ' . $file);
                    $count++;
                }
            }
            if ($count) {
                WP_CLI::log(number_format($count) . ' files cleaned up.');
            } else {
                WP_CLI::log('No files found that need cleaned up.');
            }
        }
    }