private static function _extract($tarball, $dest) { if (!class_exists('PharData')) { $cmd = "tar xz --strip-components=1 --directory=%s -f {$tarball}"; WP_CLI::launch(Utils\esc_cmd($cmd, $dest)); return; } $phar = new PharData($tarball); $tempdir = implode(DIRECTORY_SEPARATOR, array(dirname($tarball), basename($tarball, '.tar.gz'), $phar->getFileName())); $phar->extractTo(dirname($tempdir), null, true); self::_copy_overwrite_files($tempdir, $dest); self::_rmdir(dirname($tempdir)); }