diff options
author | Julius Härtl <jus@bitgrid.net> | 2019-04-17 16:44:31 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-17 16:44:31 +0300 |
commit | 83cfbe2e451abfbad3468ea50f3c08865aafae67 (patch) | |
tree | c4f3fd8628e4c81d12d663966b36e4b47dd99b55 /lib | |
parent | f269b915bd915ed0724db1ded275d856a1903364 (diff) | |
parent | b4c11f406c62a27429fdb8231209f9d58d3c6f93 (diff) |
Merge pull request #472 from nextcloud/bugfix/noid/ooxml-templates
Provide ooxml file extensions when set in templates
Diffstat (limited to 'lib')
-rw-r--r-- | lib/TemplateManager.php | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/lib/TemplateManager.php b/lib/TemplateManager.php index 19a7d4cb..2a0be059 100644 --- a/lib/TemplateManager.php +++ b/lib/TemplateManager.php @@ -73,6 +73,18 @@ class TemplateManager { 'presentation' => self::MIMES_PRESENTATIONS ]; + public const TYPE_EXTENTION = [ + 'document' => 'odt', + 'spreadsheet' => 'ods', + 'presentation' => 'odp' + ]; + + public const TYPE_EXTENSION_OOXML = [ + 'document' => 'docx', + 'spreadsheet' => 'xlsx', + 'presentation' => 'pptx' + ]; + const EMPTY_TEMPLATE_ID_TYPE = [ -1 => 'document', -2 => 'spreadsheet', @@ -83,11 +95,6 @@ class TemplateManager { 'spreadsheet' => -2, 'presentation' => -3, ]; - const TYPE_EXTENTION = [ - 'document' => 'odt', - 'spreadsheet' => 'ods', - 'presentation' => 'odp', - ]; /** @@ -419,13 +426,15 @@ class TemplateManager { * @return array */ public function formatNodeReturn(File $template) { + $ooxml = $this->config->getAppValue($this->appName, 'doc_format', '') === 'ooxml'; + $documentType = $this->flipTypes()[$template->getMimeType()]; return [ 'id' => $template->getId(), 'name' => $template->getName(), 'preview' => $this->urlGenerator->linkToRouteAbsolute('richdocuments.templates.getPreview', ['fileId' => $template->getId()]), 'type' => $this->flipTypes()[$template->getMimeType()], 'delete' => $this->urlGenerator->linkToRouteAbsolute('richdocuments.templates.delete', ['fileId' => $template->getId()]), - 'extension' => self::TYPE_EXTENTION[$this->flipTypes()[$template->getMimeType()]], + 'extension' => $ooxml ? self::TYPE_EXTENSION_OOXML[$documentType] : self::TYPE_EXTENTION[$documentType], ]; } @@ -446,11 +455,13 @@ class TemplateManager { } public function formatEmpty(File $template) { + $ooxml = $this->config->getAppValue($this->appName, 'doc_format', '') === 'ooxml'; + $documentType = $this->flipTypes()[$template->getMimeType()]; return [ 'id' => $template->getId(), 'name' => $this->l->t('Empty'), 'type' => $this->flipTypes()[$template->getMimeType()], - 'extension' => self::TYPE_EXTENTION[$this->flipTypes()[$template->getMimeType()]], + 'extension' => $ooxml ? self::TYPE_EXTENSION_OOXML[$documentType] : self::TYPE_EXTENTION[$documentType], ]; } } |