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 {
diff --git a/SeedDMS_Preview/Preview/Previewer.php b/SeedDMS_Preview/Preview/Previewer.php
index 8c9b67713..970fcdb95 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]);
+ $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', '%m'), array($width, $infile, $target.'.png', $mimetype), $this->converters[$mimeparts[0].'/*']);
+ } elseif(isset($this->converters['*'])) {
+ $cmd = str_replace(array('%w', '%f', '%o', '%m'), array($width, $infile, $target.'.png', $mimetype), $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) {
diff --git a/SeedDMS_Preview/package.xml b/SeedDMS_Preview/package.xml
index 6422fe77c..71eb627ba 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,8 @@
GPL License
-setConverters() overrides exiting converters
+commands can be set for mimetypes 'xxxx/*' and '*'
+pass mimetype as parameter '%m' to converter
@@ -254,5 +255,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
+
+