From f11283ac4b6b6051ea402a7b8a230985d4ff3dfb Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Thu, 19 Mar 2020 23:44:14 +0100 Subject: fix dav browser error page not styled Signed-off-by: Arthur Schiwon --- apps/dav/lib/Files/BrowserErrorPagePlugin.php | 3 +++ apps/dav/templates/exception.php | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'apps') diff --git a/apps/dav/lib/Files/BrowserErrorPagePlugin.php b/apps/dav/lib/Files/BrowserErrorPagePlugin.php index e1e64b3e6f4..3502acde974 100644 --- a/apps/dav/lib/Files/BrowserErrorPagePlugin.php +++ b/apps/dav/lib/Files/BrowserErrorPagePlugin.php @@ -25,6 +25,7 @@ namespace OCA\DAV\Files; use OC\AppFramework\Http\Request; use OC_Template; +use OCP\AppFramework\Http\ContentSecurityPolicy; use OCP\IRequest; use Sabre\DAV\Exception; use Sabre\DAV\Server; @@ -82,6 +83,8 @@ class BrowserErrorPagePlugin extends ServerPlugin { $this->server->httpResponse->setStatus($httpCode); $body = $this->generateBody(); $this->server->httpResponse->setBody($body); + $csp = new ContentSecurityPolicy(); + $this->server->httpResponse->addHeader('Content-Security-Policy', $csp->buildPolicy()); $this->sendResponse(); } diff --git a/apps/dav/templates/exception.php b/apps/dav/templates/exception.php index 9c09cbca444..8f922e22a38 100644 --- a/apps/dav/templates/exception.php +++ b/apps/dav/templates/exception.php @@ -22,12 +22,12 @@ style('core', ['styles', 'header']); /** @param $_ array */ ?> - + -- cgit v1.2.3 From 45e96c0c64c5531702f8154a166e1a6045674269 Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Fri, 20 Mar 2020 11:21:54 +0100 Subject: use core templates for displaying dav errors in the browser Signed-off-by: Arthur Schiwon --- apps/dav/lib/Files/BrowserErrorPagePlugin.php | 12 +++++++--- apps/dav/templates/exception.php | 33 --------------------------- 2 files changed, 9 insertions(+), 36 deletions(-) delete mode 100644 apps/dav/templates/exception.php (limited to 'apps') diff --git a/apps/dav/lib/Files/BrowserErrorPagePlugin.php b/apps/dav/lib/Files/BrowserErrorPagePlugin.php index 3502acde974..9bc169601af 100644 --- a/apps/dav/lib/Files/BrowserErrorPagePlugin.php +++ b/apps/dav/lib/Files/BrowserErrorPagePlugin.php @@ -81,7 +81,7 @@ class BrowserErrorPagePlugin extends ServerPlugin { } $this->server->httpResponse->addHeaders($headers); $this->server->httpResponse->setStatus($httpCode); - $body = $this->generateBody(); + $body = $this->generateBody($httpCode); $this->server->httpResponse->setBody($body); $csp = new ContentSecurityPolicy(); $this->server->httpResponse->addHeader('Content-Security-Policy', $csp->buildPolicy()); @@ -92,9 +92,15 @@ class BrowserErrorPagePlugin extends ServerPlugin { * @codeCoverageIgnore * @return bool|string */ - public function generateBody() { + public function generateBody(int $httpCode) { $request = \OC::$server->getRequest(); - $content = new OC_Template('dav', 'exception', 'guest'); + + $templateName = 'exception'; + if($httpCode === 403 || $httpCode === 404) { + $templateName = (string)$httpCode; + } + + $content = new OC_Template('core', $templateName, 'guest'); $content->assign('title', $this->server->httpResponse->getStatusText()); $content->assign('remoteAddr', $request->getRemoteAddress()); $content->assign('requestID', $request->getId()); diff --git a/apps/dav/templates/exception.php b/apps/dav/templates/exception.php deleted file mode 100644 index 8f922e22a38..00000000000 --- a/apps/dav/templates/exception.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ -style('core', ['styles', 'header']); - -/** @param $_ array */ -?> - -- cgit v1.2.3