';
			exit();
		} else {
			$_SESSION["LAST_ACTIVITY"] = time();
		}
	} else {
		echo '';
	}
	if (isset($_SESSION["user"])) {
		$v_user = $_SESSION["user"];
	}
	if (!empty($_SESSION["look"])) {
		if (isset($_SESSION["look"]) && $_SESSION["userContext"] === "admin") {
			$v_user = $_SESSION["look"];
		}
		if (
			isset($_SESSION["look"]) &&
			$_SESSION["look"] == "admin" &&
			$_SESSION["POLICY_SYSTEM_PROTECTED_ADMIN"] == "yes"
		) {
			header("Location: /");
		}
	}
	# Create filemanager sftp key if missing and trash it after 30 min
	if (!file_exists("/home/" . basename($v_user) . "/.ssh/hst-filemanager-key")) {
		exec(
			"sudo /usr/local/hestia/bin/v-add-user-sftp-key " .
				quoteshellarg(basename($v_user)) .
				" 30",
			$output,
			$return_var,
		);
		// filemanager also requires .ssh chmod o+x ... hopefully we can improve it to g+x or u+x someday
		// current minimum for filemanager: chmod 0701 .ssh
		shell_exec("sudo chmod o+x " . quoteshellarg("/home/" . basename($v_user) . "/.ssh"));
	}
	if (!isset($_SESSION["SFTP_PORT"])) {
		exec("sudo /usr/local/hestia/bin/v-list-sys-sshd-port json", $output, $result);
		$port = json_decode(implode("", $output));
		if (is_numeric($port[0]) && $port[0] > 0) {
			$_SESSION["SFTP_PORT"] = $port[0];
		} elseif (
			preg_match('/^\s*Port\s+(\d+)$/im', file_get_contents("/etc/ssh/sshd_config"), $matches)
		) {
			$_SESSION["SFTP_PORT"] = $matches[1] ?? 22;
		} else {
			$_SESSION["SFTP_PORT"] = 22;
		}
	}
	preg_match(
		'/(Hestia SFTP Chroot\nMatch User)(.*)/i',
		file_get_contents("/etc/ssh/sshd_config"),
		$matches,
	);
	$user_list = explode(",", $matches[2]);
	if (in_array($v_user, $user_list)) {
		$root = "/";
	} else {
		$root = "/home/" . $v_user;
	}
	return new \League\Flysystem\Sftp\SftpAdapter([
		"host" => "127.0.0.1",
		"port" => intval($_SESSION["SFTP_PORT"]),
		"username" => basename($v_user),
		"privateKey" => "/home/" . basename($v_user) . "/.ssh/hst-filemanager-key",
		"root" => $root,
		"timeout" => 10,
		"directoryPerm" => 0755,
	]);
};
$dist_config["services"]["Filegator\Services\Archiver\ArchiverInterface"] = [
	"handler" => "\Filegator\Services\Archiver\Adapters\HestiaZipArchiver",
	"config" => [],
];
$dist_config["services"]["Filegator\Services\Auth\AuthInterface"] = [
	"handler" => "\Filegator\Services\Auth\Adapters\HestiaAuth",
	"config" => [
		"permissions" => ["read", "write", "upload", "download", "batchdownload", "zip"],
		"private_repos" => false,
	],
];
$dist_config["services"]["Filegator\Services\View\ViewInterface"]["config"] = [
	"add_to_head" => '
    
    ',
	"add_to_body" => '
',
];
return $dist_config;