diff --git a/CHANGELOG b/CHANGELOG
index 590e5c138..6eec1f699 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -387,6 +387,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
diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php
index 6ec6c5d0e..dcb185c68 100644
--- a/views/bootstrap/class.Bootstrap.php
+++ b/views/bootstrap/class.Bootstrap.php
@@ -1568,10 +1568,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";
@@ -3610,6 +3606,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 = '';
@@ -3631,8 +3631,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))
@@ -3647,11 +3647,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 0cda53234..4a64b7bdb 100644
--- a/views/bootstrap4/class.Bootstrap4.php
+++ b/views/bootstrap4/class.Bootstrap4.php
@@ -1486,10 +1486,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";
@@ -3589,6 +3585,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 = '';
@@ -3610,8 +3610,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))
@@ -3626,11 +3626,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 .= "";
}