Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/richdocuments.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2022-11-02 17:14:12 +0300
committerbackportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com>2022-11-10 13:24:35 +0300
commit27a5556fdb95769c5a3c1668829d9ffa4521082f (patch)
tree036e73e8a5d965ccd06a732ec7731de80b8f7e6e
parent5b1880513c87da3303d631190f1413961bb7ced9 (diff)
Improve error handling for global template managementbackport/2595/stable25
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r--lib/Controller/TemplatesController.php32
-rw-r--r--templates/admin.php2
2 files changed, 19 insertions, 15 deletions
diff --git a/lib/Controller/TemplatesController.php b/lib/Controller/TemplatesController.php
index b70f6b51..9409409a 100644
--- a/lib/Controller/TemplatesController.php
+++ b/lib/Controller/TemplatesController.php
@@ -32,6 +32,7 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\Http\FileDisplayResponse;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Http\NotFoundResponse;
+use OCP\Files\IMimeTypeDetector;
use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\Files\SimpleFS\ISimpleFile;
@@ -39,16 +40,14 @@ use OCP\IL10N;
use OCP\IPreview;
use OCP\IRequest;
use OC\Files\Filesystem;
+use Psr\Log\LoggerInterface;
class TemplatesController extends Controller {
- /** @var IL10N */
- private $l10n;
-
- /** @var TemplateManager */
- private $manager;
-
- /** @var IPreview */
- private $preview;
+ private IL10N $l10n;
+ private TemplateManager $manager;
+ private IPreview $preview;
+ private IMimeTypeDetector $mimeTypeDetector;
+ private LoggerInterface $logger;
/** @var int Max template size */
private $maxSize = 20 * 1024 * 1024;
@@ -58,7 +57,7 @@ class TemplatesController extends Controller {
*
* @param string $appName
* @param IRequest $request
- * @param L10N $l10n
+ * @param IL10N $l10n
* @param TemplateManager $manager
* @param IPreview $preview
*/
@@ -66,7 +65,10 @@ class TemplatesController extends Controller {
IRequest $request,
IL10N $l10n,
TemplateManager $manager,
- IPreview $preview) {
+ IPreview $preview,
+ IMimeTypeDetector $mimeTypeDetector,
+ LoggerInterface $logger
+ ) {
parent::__construct($appName, $request);
$this->appName = $appName;
@@ -74,6 +76,8 @@ class TemplatesController extends Controller {
$this->l10n = $l10n;
$this->manager = $manager;
$this->preview = $preview;
+ $this->mimeTypeDetector = $mimeTypeDetector;
+ $this->logger = $logger;
}
/**
@@ -135,17 +139,17 @@ class TemplatesController extends Controller {
);
}
- if (!$this->manager->isValidTemplateMime($files['type'][0])) {
+ if (!$this->manager->isValidTemplateMime($mimeType)) {
return new JSONResponse(
['data' => ['message' => $this->l10n->t('Only template files can be uploaded')]],
Http::STATUS_BAD_REQUEST
);
}
- $templateName = $files['name'][0];
- $templateFile = file_get_contents($files['tmp_name'][0]);
+ $templateName = $files['name'];
+ $templateFile = file_get_contents($files['tmp_name']);
- unlink($files['tmp_name'][0]);
+ unlink($files['tmp_name']);
$template = $this->manager->add($templateName, $templateFile);
diff --git a/templates/admin.php b/templates/admin.php
index bd09a8e2..78a27e98 100644
--- a/templates/admin.php
+++ b/templates/admin.php
@@ -8,7 +8,7 @@ script('files', 'jquery.fileupload');
<?php if ($_['settings']['templatesAvailable'] === true) { ?>
<form class="section" id="richdocuments-templates" method="post" action="/template/">
- <input class="hidden-visually" id="add-template" type="file" />
+ <input name="files" class="hidden-visually" id="add-template" type="file" />
<h2>
<?php p($l->t('Global templates')) ?>
<label for="add-template" class="icon-add" title="<?php p($l->t('Add a new template')); ?>"></label>