Artifact 10c12849261d823c455642eacb56e2638c0e9b0231bddbaf3d620e7fa4842f63:


<?php

namespace Garradin\Files\WebDAV;

use Garradin\Utils;
use Garradin\Web\Router;

use KD2\WebDAV\Server as KD2_WebDAV;
use KD2\WebDAV\Exception;

use const Garradin\{WOPI_DISCOVERY_URL, WWW_URL, ADMIN_URL};

class WebDAV extends KD2_WebDAV
{
/*
	protected function html_directory(string $uri, iterable $list): ?string
	{
		Utils::redirect('!docs/?path=' . rawurlencode($uri));
		return null;
	}
*/

	protected function html_directory(string $uri, iterable $list): ?string
	{
		$out = parent::html_directory($uri, $list);

		if (null !== $out) {
			if (WOPI_DISCOVERY_URL) {
				$out = str_replace('<html', sprintf('<html data-wopi-discovery-url="%s" data-wopi-host-url="%s"', WOPI_DISCOVERY_URL, WWW_URL . 'wopi/'), $out);
			}

			$body = sprintf('<body style="opacity: 0">
				<script type="text/javascript" src="%1$sstatic/scripts/lib/webdav.fr.js"></script>
				<script type="text/javascript" src="%1$sstatic/scripts/lib/webdav.js"></script>',
				ADMIN_URL);
			$out = str_replace('<body>', $body, $out);
		}

		return $out;
	}

	public function log(string $message, ...$params)
	{
		Router::log('DAV: ' . $message, ...$params);
	}
}