From 624dbeeed103d7866aab563f13f046adec750807 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Apr 2026 12:04:32 +0200 Subject: [PATCH 1/2] turn off creation of preview images in documentListRow() --- views/bootstrap/class.Bootstrap.php | 16 ++++++++++------ views/bootstrap4/class.Bootstrap4.php | 16 ++++++++++------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index cca7b443f..7452918c7 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -1449,10 +1449,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $icons["otg"] = "office-drawing.svg"; $icons["sxd"] = "office-drawing.svg"; $icons["std"] = "office-drawing.svg"; - $icons["odf"] = "ooo_formula.png"; - $icons["sxm"] = "ooo_formula.png"; - $icons["smf"] = "ooo_formula.png"; - $icons["mml"] = "ooo_formula.png"; $icons["folder"] = "folder.svg"; $icons["default"] = "text-x-preview.svg"; //"default.png"; @@ -3428,6 +3424,10 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev) $accessop = $this->params['accessobject']; $onepage = $this->params['onepage']; $defaultthumbnailclick = $this->params['settings']->_defaultThumbnailClick ?? 'download'; + /* Set deferpreview to true if preview generation shall be done by + * op/op.Preview.php instead of here + */ + $deferpreview = true; $content = ''; @@ -3449,8 +3449,8 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev) if($latestContent) { if(!$skipcont) $content .= $this->documentListRowStart($document); - - if($previewer) $previewer->createPreview($latestContent); + if ($deferpreview == false) + if($previewer) $previewer->createPreview($latestContent); $version = $latestContent->getVersion(); if($ec = $this->callHook('documentListRowExtraContent', $document, $latestContent)) @@ -3465,11 +3465,15 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev) $previewmode = $defaultthumbnailclick == 'viewonline' ? 'ViewOnline' : 'Download'; if($accessop->check_controller_access($previewmode, array('action'=>'version'))) $content .= "params['settings']->_httpRoot."op/op.".$previewmode.".php?documentid=".$docID."&version=".$version."\">"; + if ($deferpreview) { + $content .= "params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } else { if($previewer && $previewer->hasPreview($latestContent)) { $content .= "params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } + } if($accessop->check_controller_access($previewmode, array('action'=>'version'))) $content .= ""; } diff --git a/views/bootstrap4/class.Bootstrap4.php b/views/bootstrap4/class.Bootstrap4.php index aa478cb1f..318da7566 100644 --- a/views/bootstrap4/class.Bootstrap4.php +++ b/views/bootstrap4/class.Bootstrap4.php @@ -1439,10 +1439,6 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $icons["otg"] = "office-drawing.svg"; $icons["sxd"] = "office-drawing.svg"; $icons["std"] = "office-drawing.svg"; - $icons["odf"] = "ooo_formula.png"; - $icons["sxm"] = "ooo_formula.png"; - $icons["smf"] = "ooo_formula.png"; - $icons["mml"] = "ooo_formula.png"; $icons["folder"] = "folder.svg"; $icons["default"] = "text-x-preview.svg"; //"default.png"; @@ -3483,6 +3479,10 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev) $accessop = $this->params['accessobject']; $onepage = $this->params['onepage']; $defaultthumbnailclick = $this->params['settings']->_defaultThumbnailClick ?? 'download'; + /* Set deferpreview to true if preview generation shall be done by + * op/op.Preview.php instead of here + */ + $deferpreview = true; $content = ''; @@ -3504,8 +3504,8 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev) if($latestContent) { if(!$skipcont) $content .= $this->documentListRowStart($document); - - if($previewer) $previewer->createPreview($latestContent); + if ($deferpreview == false) + if($previewer) $previewer->createPreview($latestContent); $version = $latestContent->getVersion(); if($ec = $this->callHook('documentListRowExtraContent', $document, $latestContent)) @@ -3520,11 +3520,15 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev) $previewmode = $defaultthumbnailclick == 'viewonline' ? 'ViewOnline' : 'Download'; if($accessop->check_controller_access($previewmode, array('action'=>'version'))) $content .= "params['settings']->_httpRoot."op/op.".$previewmode.".php?documentid=".$docID."&version=".$version."\">"; + if ($deferpreview) { + $content .= "params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; + } else { if($previewer && $previewer->hasPreview($latestContent)) { $content .= "params['settings']->_httpRoot."op/op.Preview.php?documentid=".$document->getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } else { $content .= "getMimeIcon($latestContent->getFileType())."\" ".($previewwidth ? "width=\"".$previewwidth."\"" : "")."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; } + } if($accessop->check_controller_access($previewmode, array('action'=>'version'))) $content .= ""; } From 0f886978505bbbfd663c918c402ed2ef1897184c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 10 Apr 2026 12:06:36 +0200 Subject: [PATCH 2/2] add changes for 5.1.46 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 54f38c8fb..0704f407d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,6 +12,8 @@ - add new menu item 'Import/Export' in admin area - move import of users into menu 'User/Group management' - show categories on document details page like in list of documents +- preview images are not created in documentListRow() anymore. This is + left to op/op.Preview.php to speed up listing of folders -------------------------------------------------------------------------------- Changes in version 5.1.45