From 787fb4777b27be55b71430496d0eb334642a6eb7 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 2 Mar 2017 07:16:26 +0100 Subject: [PATCH 1/6] new version 1.2.2 --- SeedDMS_Preview/package.xml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/SeedDMS_Preview/package.xml b/SeedDMS_Preview/package.xml index 6422fe77c..df8b0a5d7 100644 --- a/SeedDMS_Preview/package.xml +++ b/SeedDMS_Preview/package.xml @@ -11,10 +11,10 @@ uwe@steinmann.cx yes - 2016-11-15 - + 2017-03-02 + - 1.2.1 + 1.2.2 1.2.0 @@ -23,7 +23,7 @@ GPL License -setConverters() overrides exiting converters +commands can be set for mimetypes 'xxxx/*' and '*' @@ -254,5 +254,21 @@ check if cache dir exists before deleting it in deleteDocumentPreviews() add new previewer which converts document to pdf instead of png + + 2016-11-15 + + + 1.2.1 + 1.2.0 + + + stable + stable + + GPL License + +setConverters() overrides exiting converters + + From d563333f05dd5710a07be56d1e51fd5078108996 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 2 Mar 2017 07:16:42 +0100 Subject: [PATCH 2/6] commands can be assigned to mimetype 'xxx/*' and '*' --- SeedDMS_Preview/Preview/Previewer.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/SeedDMS_Preview/Preview/Previewer.php b/SeedDMS_Preview/Preview/Previewer.php index 8c9b67713..aebfe7bbb 100644 --- a/SeedDMS_Preview/Preview/Previewer.php +++ b/SeedDMS_Preview/Preview/Previewer.php @@ -106,9 +106,15 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base { $target = $this->previewDir.$dir.md5($infile).'-'.$width; if($target != '' && (!file_exists($target.'.png') || filectime($target.'.png') < filectime($infile))) { $cmd = ''; + $mimeparts = explode('/', $mimetype, 2); if(isset($this->converters[$mimetype])) { $cmd = str_replace(array('%w', '%f', '%o'), array($width, $infile, $target.'.png'), $this->converters[$mimetype]); + } elseif(isset($this->converters[$mimeparts[0].'/*'])) { + $cmd = str_replace(array('%w', '%f', '%o'), array($width, $infile, $target.'.png'), $this->converters[$mimeparts[0].'/*']); + } elseif(isset($this->converters['*'])) { + $cmd = str_replace(array('%w', '%f', '%o'), array($width, $infile, $target.'.png'), $this->converters['*']); } + /* switch($mimetype) { case "image/png": @@ -131,7 +137,6 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base { } */ if($cmd) { - //exec($cmd); try { self::execWithTimeout($cmd, $this->timeout); } catch(Exception $e) { From fbfa2a21323c7ad33389acf7310f4e2e11f5b8ff Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 2 Mar 2017 07:17:42 +0100 Subject: [PATCH 3/6] allow '*' in mimetype for preview command --- op/op.Settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.Settings.php b/op/op.Settings.php index e549fd26a..238a8a807 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -183,7 +183,7 @@ if ($action == "saveSettings") // SETTINGS - ADVANCED - INDEX CMD $settings->_converters['fulltext'] = $_POST["converters"]; - $newmimetype = preg_replace('#[^A-Za-z0-9_/+.-]+#', '', $_POST["converters_newmimetype"]); + $newmimetype = preg_replace('#[^A-Za-z0-9_/+.-*]+#', '', $_POST["converters_newmimetype"]); if($newmimetype && trim($_POST["converters_newcmd"])) { $settings->_converters['fulltext'][$newmimetype] = trim($_POST["converters_newcmd"]); } From 5cbaf0e7a83f5529a14e3b2befc428fc5dc4e9f9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 2 Mar 2017 07:59:49 +0100 Subject: [PATCH 4/6] replace %m in converter cmd with mimetype --- SeedDMS_Preview/Preview/Previewer.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SeedDMS_Preview/Preview/Previewer.php b/SeedDMS_Preview/Preview/Previewer.php index aebfe7bbb..970fcdb95 100644 --- a/SeedDMS_Preview/Preview/Previewer.php +++ b/SeedDMS_Preview/Preview/Previewer.php @@ -108,11 +108,11 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base { $cmd = ''; $mimeparts = explode('/', $mimetype, 2); if(isset($this->converters[$mimetype])) { - $cmd = str_replace(array('%w', '%f', '%o'), array($width, $infile, $target.'.png'), $this->converters[$mimetype]); + $cmd = str_replace(array('%w', '%f', '%o', '%m'), array($width, $infile, $target.'.png', $mimetype), $this->converters[$mimetype]); } elseif(isset($this->converters[$mimeparts[0].'/*'])) { - $cmd = str_replace(array('%w', '%f', '%o'), array($width, $infile, $target.'.png'), $this->converters[$mimeparts[0].'/*']); + $cmd = str_replace(array('%w', '%f', '%o', '%m'), array($width, $infile, $target.'.png', $mimetype), $this->converters[$mimeparts[0].'/*']); } elseif(isset($this->converters['*'])) { - $cmd = str_replace(array('%w', '%f', '%o'), array($width, $infile, $target.'.png'), $this->converters['*']); + $cmd = str_replace(array('%w', '%f', '%o', '%m'), array($width, $infile, $target.'.png', $mimetype), $this->converters['*']); } /* From e5ee075a2dc0f53d8acae042500826c7b93b2cc5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 2 Mar 2017 08:00:28 +0100 Subject: [PATCH 5/6] allow 'xxx/*' and '*' as wild card mimetypes --- SeedDMS_Preview/Preview/PdfPreviewer.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/SeedDMS_Preview/Preview/PdfPreviewer.php b/SeedDMS_Preview/Preview/PdfPreviewer.php index 10005afc7..f3c618b9f 100644 --- a/SeedDMS_Preview/Preview/PdfPreviewer.php +++ b/SeedDMS_Preview/Preview/PdfPreviewer.php @@ -89,8 +89,13 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base { $target = $this->previewDir.$dir.md5($infile); if($target != '' && (!file_exists($target.'.pdf') || filectime($target.'.pdf') < filectime($infile))) { $cmd = ''; + $mimeparts = explode('/', $mimetype, 2); if(isset($this->converters[$mimetype])) { - $cmd = str_replace(array('%f', '%o'), array($infile, $target.'.pdf'), $this->converters[$mimetype]); + $cmd = str_replace(array('%f', '%o', '%m'), array($infile, $target.'.pdf', $mimetype), $this->converters[$mimetype]); + } elseif(isset($this->converters[$mimeparts[0].'/*'])) { + $cmd = str_replace(array('%f', '%o', '%m'), array($infile, $target.'.pdf', $mimetype), $this->converters[$mimeparts[0].'/*']); + } elseif(isset($this->converters['*'])) { + $cmd = str_replace(array('%f', '%o', '%m'), array($infile, $target.'.pdf', $mimetype), $this->converters['*']); } if($cmd) { try { From 9e1000506d523a5fc297716a3dea9debfd523068 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 2 Mar 2017 08:21:19 +0100 Subject: [PATCH 6/6] add note for 1.2.2 --- SeedDMS_Preview/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Preview/package.xml b/SeedDMS_Preview/package.xml index df8b0a5d7..71eb627ba 100644 --- a/SeedDMS_Preview/package.xml +++ b/SeedDMS_Preview/package.xml @@ -24,6 +24,7 @@ GPL License commands can be set for mimetypes 'xxxx/*' and '*' +pass mimetype as parameter '%m' to converter