You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							45 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							45 lines
						
					
					
						
							1.2 KiB
						
					
					
				<?php
 | 
						|
use function Hestiacp\quoteshellarg\quoteshellarg;
 | 
						|
 | 
						|
ob_start();
 | 
						|
include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
 | 
						|
 | 
						|
// Check token
 | 
						|
verify_csrf($_GET);
 | 
						|
 | 
						|
$backup = $_GET["backup"];
 | 
						|
 | 
						|
if (!file_exists("/backup/" . $backup)) {
 | 
						|
	$backup = quoteshellarg($_GET["backup"]);
 | 
						|
	exec(
 | 
						|
		HESTIA_CMD . "v-schedule-user-backup-download " . $user . " " . $backup,
 | 
						|
		$output,
 | 
						|
		$return_var,
 | 
						|
	);
 | 
						|
	if ($return_var == 0) {
 | 
						|
		$_SESSION["error_msg"] = _("Download of remote backup file has been scheduled.");
 | 
						|
	} else {
 | 
						|
		$_SESSION["error_msg"] = implode("<br>", $output);
 | 
						|
		if (empty($_SESSION["error_msg"])) {
 | 
						|
			$_SESSION["error_msg"] = _("Error: Hestia did not return any output.");
 | 
						|
		}
 | 
						|
	}
 | 
						|
	unset($output);
 | 
						|
	header("Location: /list/backup/");
 | 
						|
	exit();
 | 
						|
} else {
 | 
						|
	if ($_SESSION["userContext"] === "admin") {
 | 
						|
		header("Content-type: application/gzip");
 | 
						|
		header("Content-Disposition: attachment; filename=\"" . $backup . "\";");
 | 
						|
		header("X-Accel-Redirect: /backup/" . $backup);
 | 
						|
	}
 | 
						|
 | 
						|
	if (!empty($_SESSION["user"]) && $_SESSION["userContext"] != "admin") {
 | 
						|
		if (strpos($backup, $_SESSION["user"] . ".") === 0) {
 | 
						|
			header("Content-type: application/gzip");
 | 
						|
			header("Content-Disposition: attachment; filename=\"" . $backup . "\";");
 | 
						|
			header("X-Accel-Redirect: /backup/" . $backup);
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |