<?php // new startup: begin define('REL_PATH', 'admin/backup'); $relation_level = count( explode('/', REL_PATH) ); define('FULL_PATH', realpath(dirname(__FILE__) . str_repeat('/..', $relation_level) ) ); require_once FULL_PATH.'/kernel/startup.php'; // new startup: end checkViewPermission('in-portal:restore'); $pathtolocal = $pathtoroot."kernel/"; require_once ($pathtoroot."admin/include/elements.php"); require_once ($pathtoroot."kernel/admin/include/navmenu.php"); require_once ($pathtolocal."admin/include/navmenu.php"); require_once($pathtoroot."admin/toolbar.php"); require_once($pathtoroot.$admin."/install/install_lib.php"); $conn = &GetADODBConnection(); $section = "in-portal:restore"; int_header(NULL); //echo "FileOffset: $FileOffset <br>\n"; if(count($_POST)) { $filename = "dump".$_POST["backupdate"]."txt"; $filename = $objConfig->Get("Backup_Path")."/".$filename; } else $filename = $_GET["Filename"]; $FileOffset = (int)$_GET["Offset"]; //echo "FileOffset: $FileOffset <br>\n"; if(!file_exists($filename)) { echo prompt_language("la_restore_file_not_found")." : $filename"; exit(); } if(!is_readable($filename)) { echo prompt_language("la_restore_access_denied"); exit(); } $TotalSize = filesize($filename); $MaxLines = 200; $PageTitle = admin_language("la_text_Restore_in_progress"); $CancelURL = $rootURL ."admin/backup/restore1.php?env=".BuildEnv(); stats($PageTitle,$FileOffset,$TotalSize); //echo "FileOffset: $FileOffset <br>\n"; if($FileOffset < $TotalSize) { $FileOffset = RunRestoreFile($conn,$filename,$FileOffset,$MaxLines); if($FileOffset>-1) { if($FileOffset ==0) $FileOffset = $TotalSize; $url = $_SERVER['PHP_SELF']."?env=".BuildEnv()."&Offset=$FileOffset&Filename=$filename"; } else { switch($FileOffset) { case -1: $error = prompt_language("la_restore_file_error"); break; case -2: $error = prompt_language("la_restore_read_error"); break; default: $error = "(".$FileOffset.") ".prompt_language("la_restore_unknown_error"); break; } $application =& kApplication::Instance(); $application->ApplicationDie($error); } } else $url = $adminURL."/backup/restore4.php?env=".BuildEnv(); reload($url); echo "</BODY>"; echo "</HTML>"; function stats($caption,$myprogress,$totalnum) { global $rootURL, $CancelURL; if($totalnum>0) { $pct=round(($myprogress/ $totalnum)*100); } else $pct = 100; $o .="<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"4\" class=\"tableborder\">"; echo "\n"; $o .= int_subsection_title_ret($caption."-".$pct."%"); $o .= "<TR><TD align=\"middle\"><br />"; $o .= " <TABLE CLASS=\"tableborder_full\" width=\"75%\">"; $o .=" <TR border=1><TD width=\"".$pct."%\" STYLE=\"background:url('".$rootURL."admin/images/progress_bar_segment.gif');\"> </TD>"; $comp_pct = 100-$pct; $o .= " <TD bgcolor=#FFFFFF width=\"".$comp_pct."%\"></TD></TR>"; $o .= " </TABLE>"; $o .= " <BR /><input type=button VALUE=\"".admin_language("la_Cancel")."\" CLASS=\"button\" ONCLICK=\"document.location='".$CancelURL."';\">"; echo $o."\n"; echo "</TD></TR></TABLE>"; } function reload($url) { print "<script language=\"javascript\">" ; print "setTimeout(\"document.location='$url';\",40);"; print " </script>"; echo "<A HREF=\"$url\">$url </A>"; } ?>