Beispiel #1
0
elseif($Step == 2)
{
	if(!$bSelectDumpStep)
	{
		$tar = new CTarRestore;
		$tar->path = $_SERVER['DOCUMENT_ROOT'];
		$tar->ReadBlockCurrent = intval($_REQUEST['ReadBlockCurrent']);

		$bottom = '<input type="button" value="'.getMsg('BUT_TEXT_BACK').'" onClick="document.location=\'/restore.php?Step=1&lang='.LANG.'\'"> ';
		if ((file_exists($f = $_SERVER['DOCUMENT_ROOT'].'/'.$arc_name)) && $tar->openRead($f))
		{
			$DataSize = intval($_REQUEST['DataSize']);
			if(!isset($_REQUEST['Block'])) // first step
			{
				$DataSize = $tar->getArchiveSize();
				while(file_exists($file = $tar->getNextName($file)))
					$DataSize += $tar->getArchiveSize($file);
				SetCurrentProgress(0);
				$r = true;
			} 
			else
			{
				$Block = intval($_REQUEST['Block']);
				$tar->Skip($Block);
				while(($r = $tar->extractFile()) && haveTime());
			}


			if($r === false) // Error
				showMsg(getMsg("ERR_EXTRACT", LANG), implode('<br>',$tar->err), $bottom);
			elseif ($r === 0) // Finish