public static function getBackupInfo($filename) { G::LoadThirdParty('pear/Archive', 'Tar'); $backup = new Archive_Tar($filename); //Get a temporary directory in the upgrade directory $tempDirectory = PATH_DATA . "upgrade/" . basename(tempnam(__FILE__, '')); mkdir($tempDirectory); $metafiles = array(); foreach ($backup->listContent() as $backupFile) { $filename = $backupFile["filename"]; if (strpos($filename, "/") === false && substr_compare($filename, ".meta", -5, 5, true) === 0) { if (!$backup->extractList(array($filename), $tempDirectory)) { throw new Exception("Could not extract backup"); } $metafiles[] = "{$tempDirectory}/{$filename}"; } } CLI::logging("Found " . count($metafiles) . " workspace(s) in backup\n"); foreach ($metafiles as $metafile) { $data = file_get_contents($metafile); $workspaceData = G::json_decode($data); CLI::logging("\n"); workspaceTools::printInfo((array) $workspaceData); } G::rm_dir($tempDirectory); }