Open juliusknorr opened 1 year ago
Patch to add mimetypes for richdocuments and work around missing discovery entry of online:
diff --git a/lib/Capabilities.php b/lib/Capabilities.php index 96e811dd..f3c795d6 100644 --- a/lib/Capabilities.php +++ b/lib/Capabilities.php @@ -70,6 +70,8 @@ class Capabilities implements ICapability { 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'application/vnd.ms-powerpoint.template.macroEnabled.12', 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform', + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf', 'text/csv', ]; diff --git a/lib/WOPI/Parser.php b/lib/WOPI/Parser.php index 8480bef8..cf231cd8 100644 --- a/lib/WOPI/Parser.php +++ b/lib/WOPI/Parser.php @@ -64,6 +64,14 @@ class Parser { ]; } + $result = $discoveryParsed->xpath(sprintf('/wopi-discovery/net-zone/app[@name=\'%s\']/action', 'application/vnd.oasis.opendocument.text')); + if ($result && count($result) > 0) { + return [ + 'urlsrc' => (string)$result[0]['urlsrc'], + 'action' => (string)$result[0]['name'], + ]; + } + $this->logger->error('Didn\'t find urlsrc for mimetype {mimetype} in this WOPI discovery response: {discovery}', ['mimetype' => $mimetype, 'discovery' => $discovery]); throw new \Exception('Could not find urlsrc in WOPI'); }
@pedropintosilva Successfully tested with a couple of patches, two notes:
Patch to add mimetypes for richdocuments and work around missing discovery entry of online: