Merge branch 'seeddms-5.1.x' into seeddms-6.0.x

This commit is contained in:
Uwe Steinmann 2021-10-16 17:46:34 +02:00
commit 4c8a2496b6
6 changed files with 36 additions and 12 deletions

View File

@ -96,6 +96,9 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
* @return boolean true on success, false on failure
*/
public function createRawPreview($infile, $dir, $mimetype, $target='') { /* {{{ */
if(!self::hasConverter($mimetype))
return false;
if(!$this->previewDir)
return false;
if(!is_dir($this->previewDir.'/'.$dir)) {
@ -110,9 +113,9 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
$this->lastpreviewfile = $target.'.pdf';
if($target != '' && (!file_exists($target.'.pdf') || filectime($target.'.pdf') < filectime($infile))) {
if($this->conversionmgr) {
if($this->conversionmgr->hasService($mimetype, 'application/pdf')) {
// if($this->conversionmgr->hasService($mimetype, 'application/pdf')) {
return $this->conversionmgr->convert($infile, $mimetype, 'application/pdf', $target.'.pdf');
}
// }
} else {
$cmd = '';
$mimeparts = explode('/', $mimetype, 2);

View File

@ -101,6 +101,9 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
* @return boolean true on success, false on failure
*/
public function createRawPreview($infile, $dir, $mimetype, $width=0, $target='', &$new=false) { /* {{{ */
if(!self::hasConverter($mimetype))
return false;
if($width == 0)
$width = $this->width;
else
@ -119,12 +122,12 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
$this->lastpreviewfile = $target.'.png';
if($target != '' && (!file_exists($target.'.png') || filectime($target.'.png') < filectime($infile))) {
if($this->conversionmgr) {
if($this->conversionmgr->hasService($mimetype, 'image/png')) {
// if($this->conversionmgr->hasService($mimetype, 'image/png')) {
if(!$this->conversionmgr->convert($infile, $mimetype, 'image/png', $target.'.png', array('width'=>$width))) {
$this->lastpreviewfile = '';
return false;
}
}
// }
$new = true;
} else {
$cmd = '';

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2020-12-23</date>
<date>2021-10-16</date>
<time>09:49:39</time>
<version>
<release>1.3.3</release>
<api>1.3.3</api>
<release>1.4.0</release>
<api>1.4.0</api>
</version>
<stability>
<release>stable</release>
@ -23,9 +23,8 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- close pipes in execWithTimeout(), also return exit code of command
- createPreview() has optional parameter by referenz to return true if a
preview image was actually created
- use new conversion service if available
- createRawPreview() checks early if a converter exists
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -471,5 +470,23 @@ set header Content-Length
update package description
</notes>
</release>
<release>
<date>2020-12-23</date>
<time>09:49:39</time>
<version>
<release>1.3.3</release>
<api>1.3.3</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- close pipes in execWithTimeout(), also return exit code of command
- createPreview() has optional parameter by referenz to return true if a
preview image was actually created
</notes>
</release>
</changelog>
</package>

View File

@ -62,7 +62,7 @@ class SeedDMS_ConversionMgr {
*/
public function convert($file, $from, $to, $target=null, $params=array()) {
if(isset($this->services[$from][$to])) {
$service = array_pop($this->services[$from][$to]);
$service = end($this->services[$from][$to]);
return $service->convert($file, $target, $params);
}
}

View File

@ -1289,7 +1289,7 @@ class Settings { /* {{{ */
$configDir = null;
/* new code starts here */
while($_arr && !$configDir) {
if(file_exists(implode('/', $_arr)."/conf/"))
if(file_exists(implode('/', $_arr)."/conf/settings.xml"))
$configDir = implode('/', $_arr)."/conf/";
else
array_pop($_arr);

View File

@ -26,6 +26,7 @@ $conversionmgr->addService(new SeedDMS_ConversionServicePdfToImage('application/
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpeg', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/png', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/jpg', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceImageToImage('image/svg+xml', 'image/png'))->setLogger($logger);
$conversionmgr->addService(new SeedDMS_ConversionServiceTextToText('text/plain', 'text/plain'))->setLogger($logger);