mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-31 05:11:27 +00:00 
			
		
		
		
	Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
		
						commit
						6e489dc80a
					
				|  | @ -263,6 +263,7 @@ | ||||||
| - rest api returns error msg and not just http status | - rest api returns error msg and not just http status | ||||||
| - comment of document, documentcontent and folder can be rendered as | - comment of document, documentcontent and folder can be rendered as | ||||||
|   markdown |   markdown | ||||||
|  | - fix preview for file in drop folder | ||||||
| 
 | 
 | ||||||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||||||
|                      Changes in version 5.1.30 |                      Changes in version 5.1.30 | ||||||
|  |  | ||||||
|  | @ -55,6 +55,9 @@ image/jpg | ||||||
| image/jpeg | image/jpeg | ||||||
|   convert -density 300 '%f' 'pdf:%o' |   convert -density 300 '%f' 'pdf:%o' | ||||||
| 
 | 
 | ||||||
|  | image/svg+xml | ||||||
|  | 	cairosvg -f pdf -o '%o' '%f' | ||||||
|  | 
 | ||||||
| application/vnd.ms-powerpoint | application/vnd.ms-powerpoint | ||||||
| application/vnd.openxmlformats-officedocument.presentationml.presentation | application/vnd.openxmlformats-officedocument.presentationml.presentation | ||||||
| application/vnd.oasis.opendocument.presentation | application/vnd.oasis.opendocument.presentation | ||||||
|  | @ -93,6 +96,9 @@ image/jpeg | ||||||
| image/png | image/png | ||||||
|   convert -resize %wx '%f' 'png:%o' |   convert -resize %wx '%f' 'png:%o' | ||||||
| 
 | 
 | ||||||
|  | image/svg+xml | ||||||
|  | 	cairosvg -f png --output-width %w -o '%o' '%f' | ||||||
|  | 
 | ||||||
| text/plain | text/plain | ||||||
|   convert -density 100 -resize %wx 'text:%f[0]' 'png:%o' |   convert -density 100 -resize %wx 'text:%f[0]' 'png:%o' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -34,27 +34,24 @@ if (!isset($_GET["filename"])) { | ||||||
| } | } | ||||||
| $filename = $_GET["filename"]; | $filename = $_GET["filename"]; | ||||||
| 
 | 
 | ||||||
| if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR) | $dir = rtrim($settings->_dropFolderDir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$user->getLogin(); | ||||||
| 	$dropfolderdir = substr($settings->_dropFolderDir, 0, -1); |  | ||||||
| else |  | ||||||
| 	$dropfolderdir = $settings->_dropFolderDir; |  | ||||||
| $dir = $dropfolderdir.'/'.$user->getLogin(); |  | ||||||
| 
 | 
 | ||||||
| if(!file_exists($dir.'/'.$filename)) | if(!file_exists($dir.DIRECTORY_SEPARATOR.$filename)) | ||||||
| 	exit; | 	exit; | ||||||
| 
 | 
 | ||||||
| $finfo = finfo_open(FILEINFO_MIME_TYPE); | $finfo = finfo_open(FILEINFO_MIME_TYPE); | ||||||
| $mimetype = finfo_file($finfo, $dir.'/'.$filename); | $mimetype = finfo_file($finfo, $dir.'/'.$filename); | ||||||
| 
 | 
 | ||||||
| if(!empty($_GET["width"])) | if(!empty($_GET["width"])) | ||||||
| 	$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"]); | 	$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"], $settings->_cmdTimeout, $settings->_enableXsendfile); | ||||||
| else | else | ||||||
| 	$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir); | 	$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $settings->_previewWidthList, $settings->_cmdTimeout, $settings->_enableXsendfile); | ||||||
| $previewer->setConverters($settings->_converters['preview']); | if($conversionmgr) | ||||||
| $previewer->setXsendfile($settings->_enableXsendfile); | 	$previewer->setConversionMgr($conversionmgr); | ||||||
|  | else | ||||||
|  | 	$previewer->setConverters($previewconverters); | ||||||
| if(!$previewer->hasRawPreview($dir.'/'.$filename, 'dropfolder/')) | if(!$previewer->hasRawPreview($dir.'/'.$filename, 'dropfolder/')) | ||||||
| 	$previewer->createRawPreview($dir.'/'.$filename, 'dropfolder/', $mimetype); | 	$previewer->createRawPreview($dir.'/'.$filename, 'dropfolder/', $mimetype); | ||||||
| header('Content-Type: image/png'); | header('Content-Type: image/png'); | ||||||
| $previewer->getRawPreview($dir.'/'.$filename, 'dropfolder/'); | $previewer->getRawPreview($dir.'/'.$filename, 'dropfolder/'); | ||||||
| 
 | 
 | ||||||
| ?>
 |  | ||||||
|  |  | ||||||
|  | @ -57,9 +57,11 @@ if($view) { | ||||||
| 	$view->setParam('dropfolderdir', $dropfolderdir); | 	$view->setParam('dropfolderdir', $dropfolderdir); | ||||||
| 	$view->setParam('dropfolderfile', isset($_GET["dropfolderfile"]) ? $_GET["dropfolderfile"] : ''); | 	$view->setParam('dropfolderfile', isset($_GET["dropfolderfile"]) ? $_GET["dropfolderfile"] : ''); | ||||||
| 	$view->setParam('form', $form); | 	$view->setParam('form', $form); | ||||||
|  | 	$view->setParam('conversionmgr', $conversionmgr); | ||||||
| 	$view->setParam('cachedir', $settings->_cacheDir); | 	$view->setParam('cachedir', $settings->_cacheDir); | ||||||
| 	$view->setParam('previewWidthMenuList', $settings->_previewWidthMenuList); | 	$view->setParam('previewWidthMenuList', $settings->_previewWidthMenuList); | ||||||
| 	$view->setParam('previewWidthList', $settings->_previewWidthDropFolderList); | 	$view->setParam('previewWidthList', $settings->_previewWidthDropFolderList); | ||||||
|  | 	$view->setParam('previewConverters', isset($settings->_converters['preview']) ? $settings->_converters['preview'] : array()); | ||||||
| 	$view->setParam('timeout', $settings->_cmdTimeout); | 	$view->setParam('timeout', $settings->_cmdTimeout); | ||||||
| 	$view->setParam('xsendfile', $settings->_enableXsendfile); | 	$view->setParam('xsendfile', $settings->_enableXsendfile); | ||||||
| 	$view->setParam('showfolders', $showfolders); | 	$view->setParam('showfolders', $showfolders); | ||||||
|  |  | ||||||
|  | @ -54,16 +54,22 @@ $('.folderselect').click(function(ev) { | ||||||
| 		$dropfolderdir = $this->params['dropfolderdir']; | 		$dropfolderdir = $this->params['dropfolderdir']; | ||||||
| 		$showfolders = $this->params['showfolders']; | 		$showfolders = $this->params['showfolders']; | ||||||
| 		$cachedir = $this->params['cachedir']; | 		$cachedir = $this->params['cachedir']; | ||||||
|  | 		$conversionmgr = $this->params['conversionmgr']; | ||||||
| 		$previewwidth = $this->params['previewWidthMenuList']; | 		$previewwidth = $this->params['previewWidthMenuList']; | ||||||
|  | 		$previewconverters = $this->params['previewConverters']; | ||||||
| 		$timeout = $this->params['timeout']; | 		$timeout = $this->params['timeout']; | ||||||
| 		$xsendfile = $this->params['xsendfile']; | 		$xsendfile = $this->params['xsendfile']; | ||||||
| 		$folder = $this->params['folder']; | 		$folder = $this->params['folder']; | ||||||
| 
 | 
 | ||||||
| 		$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); | 		$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); | ||||||
|  | 		if($conversionmgr) | ||||||
|  | 			$previewer->setConversionMgr($conversionmgr); | ||||||
|  | 		else | ||||||
|  | 			$previewer->setConverters($previewconverters); | ||||||
| 
 | 
 | ||||||
| 		$c = 0; // count files
 | 		$c = 0; // count files
 | ||||||
| 		$menuitems['dropfolder'] = array('label'=>'', 'children'=>array()); | 		$menuitems['dropfolder'] = array('label'=>'', 'children'=>array()); | ||||||
| 		$dir = rtrim($dropfolderdir, '/').'/'.$user->getLogin(); | 		$dir = rtrim($dropfolderdir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$user->getLogin(); | ||||||
| 		/* Check if we are still looking in the configured directory and | 		/* Check if we are still looking in the configured directory and | ||||||
| 		 * not somewhere else, e.g. if the login was '../test' | 		 * not somewhere else, e.g. if the login was '../test' | ||||||
| 		 */ | 		 */ | ||||||
|  | @ -74,21 +80,21 @@ $('.folderselect').click(function(ev) { | ||||||
| 				$finfo = finfo_open(FILEINFO_MIME_TYPE); | 				$finfo = finfo_open(FILEINFO_MIME_TYPE); | ||||||
| 				while (false !== ($entry = $d->read())) { | 				while (false !== ($entry = $d->read())) { | ||||||
| 					if($entry != '..' && $entry != '.') { | 					if($entry != '..' && $entry != '.') { | ||||||
| 						if($showfolders == 0 && !is_dir($dir.'/'.$entry) && is_readable($dir.'/'.$entry)) { | 						if($showfolders == 0 && !is_dir($dir.DIRECTORY_SEPARATOR.$entry) && is_readable($dir.DIRECTORY_SEPARATOR.$entry)) { | ||||||
| 							$c++; | 							$c++; | ||||||
| 							$subitem = array('label'=>'', 'attributes'=>array(array('title', getMLText('menu_upload_from_dropfolder')))); | 							$subitem = array('label'=>'', 'attributes'=>array(array('title', getMLText('menu_upload_from_dropfolder')))); | ||||||
| 							if($folder) | 							if($folder) | ||||||
| 								$subitem['link'] = $settings->_httpRoot.'out/out.AddDocument.php?folderid='.$folder->getId()."&dropfolderfileform1=".urldecode($entry); | 								$subitem['link'] = $settings->_httpRoot.'out/out.AddDocument.php?folderid='.$folder->getId()."&dropfolderfileform1=".urldecode($entry); | ||||||
| 							$mimetype = finfo_file($finfo, $dir.'/'.$entry); | 							$mimetype = finfo_file($finfo, $dir.DIRECTORY_SEPARATOR.$entry); | ||||||
| 							if(file_exists($dir.'/'.$entry)) { | 							if(file_exists($dir.DIRECTORY_SEPARATOR.$entry)) { | ||||||
| 								if($previewwidth) { | 								if($previewwidth) { | ||||||
| 									$previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype); | 									$previewer->createRawPreview($dir.DIRECTORY_SEPARATOR.$entry, 'dropfolder'.DIRECTORY_SEPARATOR, $mimetype); | ||||||
| 									if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) { | 									if($previewer->hasRawPreview($dir.DIRECTORY_SEPARATOR.$entry, 'dropfolder'.DIRECTORY_SEPARATOR)) { | ||||||
| 										$subitem['label'] .= "<div class=\"dropfolder-menu-img\" style=\"display: none; overflow:hidden; position: absolute; left:-".($previewwidth+10)."px; border: 1px solid #888;background: white;\"><img filename=\"".$entry."\" width=\"".$previewwidth."\" src=\"".$settings->_httpRoot."op/op.DropFolderPreview.php?filename=".$entry."&width=".$previewwidth."\" title=\"".htmlspecialchars($mimetype)."\"></div>"; | 										$subitem['label'] .= "<div class=\"dropfolder-menu-img\" style=\"display: none; overflow:hidden; position: absolute; left:-".($previewwidth+10)."px; border: 1px solid #888;background: white;\"><img filename=\"".$entry."\" width=\"".$previewwidth."\" src=\"".$settings->_httpRoot."op/op.DropFolderPreview.php?filename=".$entry."&width=".$previewwidth."\" title=\"".htmlspecialchars($mimetype)."\"></div>"; | ||||||
| 									} | 									} | ||||||
|  | 									$subitem['label'] .= "<div class=\"dropfolder-menu-text\" style=\"margin-left:10px; margin-right: 10px; display:inline-block;\">".$entry."<br /><span style=\"font-size: 85%;\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</span></div>"; | ||||||
|  | 									$menuitems['dropfolder']['children'][] = $subitem; | ||||||
| 								} | 								} | ||||||
| 								$subitem['label'] .= "<div class=\"dropfolder-menu-text\" style=\"margin-left:10px; margin-right: 10px; display:inline-block;\">".$entry."<br /><span style=\"font-size: 85%;\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</span></div>"; |  | ||||||
| 								$menuitems['dropfolder']['children'][] = $subitem; |  | ||||||
| 							} | 							} | ||||||
| 						} elseif($showfolders && is_dir($dir.'/'.$entry)) { | 						} elseif($showfolders && is_dir($dir.'/'.$entry)) { | ||||||
| 							$subitem = array('label'=>$entry); | 							$subitem = array('label'=>$entry); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Uwe Steinmann
						Uwe Steinmann