use new customizable preview converters

This commit is contained in:
Uwe Steinmann 2015-06-25 19:52:02 +02:00
parent 9269a74092
commit 52559730d9
19 changed files with 50 additions and 24 deletions

View File

@ -425,13 +425,16 @@ switch($command) {
$content = $view->menuClipboard($session->getClipboard()); $content = $view->menuClipboard($session->getClipboard());
break; break;
case 'mainclipboard': case 'mainclipboard':
$content = $view->mainClipboard($session->getClipboard()); $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $settings->_previewWidthList);
$previewer->setConverters($settings->_converters['preview']);
$content = $view->mainClipboard($session->getClipboard(), $previewer);
break; break;
case 'documentlistrow': case 'documentlistrow':
$document = $dms->getDocument($_REQUEST['id']); $document = $dms->getDocument($_REQUEST['id']);
if($document) { if($document) {
if ($document->getAccessMode($user) >= M_READ) { if ($document->getAccessMode($user) >= M_READ) {
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $settings->_previewWidthList); $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $settings->_previewWidthList);
$previewer->setConverters($settings->_converters['preview']);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('showtree', showtree()); $view->setParam('showtree', showtree());
$content = $view->documentListRow($document, $previewer, true); $content = $view->documentListRow($document, $previewer, true);

View File

@ -73,6 +73,7 @@ if(!empty($_GET["width"]))
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"]); $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"]);
else else
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir); $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
$previewer->setConverters($settings->_converters['preview']);
if(!$previewer->hasPreview($object)) if(!$previewer->hasPreview($object))
$previewer->createPreview($object); $previewer->createPreview($object);
header('Content-Type: image/png'); header('Content-Type: image/png');

View File

@ -493,6 +493,7 @@ if(count($entries) == 1) {
$view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('enablefullsearch', $settings->_enableFullSearch); $view->setParam('enablefullsearch', $settings->_enableFullSearch);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->show(); $view->show();
exit; exit;
} }

View File

@ -70,7 +70,7 @@ $folder = $document->getFolder();
$accessop = new SeedDMS_AccessOperation($document, $user, $settings); $accessop = new SeedDMS_AccessOperation($document, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'viewonlinefiletypes'=>$settings->_viewOnlineFileTypes, 'enableversionmodification'=>$settings->_enableVersionModification, 'previewwidthdetail'=>$settings->_previewWidthDetail, 'cachedir'=>$settings->_cacheDir)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'viewonlinefiletypes'=>$settings->_viewOnlineFileTypes, 'enableversionmodification'=>$settings->_enableVersionModification, 'previewwidthdetail'=>$settings->_previewWidthDetail, 'previewconverters'=>$settings->_converters['preview'], 'cachedir'=>$settings->_cacheDir));
if($view) { if($view) {
$view->setParam('accessobject', $accessop); $view->setParam('accessobject', $accessop);
$view->show(); $view->show();

View File

@ -34,7 +34,7 @@ if ($user->isGuest()) {
} }
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList, 'previewconverters'=>$settings->_converters['preview']));
if($view) { if($view) {
$view->show(); $view->show();
exit; exit;

View File

@ -48,7 +48,7 @@ if (isset($_GET["orderby"]) && strlen($_GET["orderby"])==1 ) {
} }
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'orderby'=>$orderby, 'showinprocess'=>$showInProcess, 'workflowmode'=>$settings->_workflowMode, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'orderby'=>$orderby, 'showinprocess'=>$showInProcess, 'workflowmode'=>$settings->_workflowMode, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList, 'previewconverters'=>$settings->_converters['preview']));
if($view) { if($view) {
$view->show(); $view->show();
exit; exit;

View File

@ -42,7 +42,7 @@ if(isset($_GET['transmittalid']) && $_GET['transmittalid']) {
} }
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'seltransmittal'=>$seltransmittal, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'seltransmittal'=>$seltransmittal, 'cachedir'=>$settings->_cacheDir, 'previewWidthList'=>$settings->_previewWidthList, 'previewconverters'=>$settings->_converters['preview']));
if($view) { if($view) {
$view->show(); $view->show();
exit; exit;

View File

@ -84,6 +84,7 @@ if($view) {
$view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewWidthDetail', $settings->_previewWidthDetail); $view->setParam('previewWidthDetail', $settings->_previewWidthDetail);
$view->setParam('previewConverters', $settings->_converters['preview']);
$view->setParam('checkOutDir', $settings->_checkOutDir); $view->setParam('checkOutDir', $settings->_checkOutDir);
$view->setParam('currenttab', isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : ''); $view->setParam('currenttab', isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : '');
$view->show(); $view->show();

View File

@ -68,6 +68,7 @@ if($view) {
$view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount); $view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount);
$view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount); $view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount);
$view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('previewWidthList', $settings->_previewWidthList);
$view->setParam('previewconverters', $settings->_converters['preview']);
$view->show(); $view->show();
exit; exit;
} }

View File

@ -37,7 +37,7 @@ if ($user->isGuest()) {
} }
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'cachedir'=>$settings->_cacheDir, 'workflowmode'=>$settings->_workflowMode, 'previewWidthList'=>$settings->_previewWidthList)); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'cachedir'=>$settings->_cacheDir, 'workflowmode'=>$settings->_workflowMode, 'previewWidthList'=>$settings->_previewWidthList, 'previewconverters'=>$settings->_converters['preview']));
if($view) { if($view) {
$view->show(); $view->show();
exit; exit;

View File

@ -1334,7 +1334,7 @@ $(function() {
* @param array clipboard * @param array clipboard
* @return string rendered html content * @return string rendered html content
*/ */
function mainClipboard($clipboard){ /* {{{ */ function mainClipboard($clipboard, $previewer){ /* {{{ */
$dms = $this->params['dms']; $dms = $this->params['dms'];
$content = ''; $content = '';
$foldercount = $doccount = 0; $foldercount = $doccount = 0;
@ -1359,7 +1359,6 @@ $(function() {
} }
} }
} }
$previewer = new SeedDMS_Preview_Previewer($this->params['cachedir'], 40);
if($clipboard['docs']) { if($clipboard['docs']) {
foreach($clipboard['docs'] as $docid) { foreach($clipboard['docs'] as $docid) {
/* FIXME: check for access rights, which could have changed after adding the document to the clipboard */ /* FIXME: check for access rights, which could have changed after adding the document to the clipboard */
@ -1416,10 +1415,10 @@ $(function() {
* *
* @param array clipboard * @param array clipboard
*/ */
function printClipboard($clipboard){ /* {{{ */ function printClipboard($clipboard, $previewer){ /* {{{ */
$this->contentHeading(getMLText("clipboard"), true); $this->contentHeading(getMLText("clipboard"), true);
echo "<div id=\"main-clipboard\" _class=\"well\" ondragover=\"allowDrop(event)\" _ondrop=\"onAddClipboard(event)\">\n"; echo "<div id=\"main-clipboard\" _class=\"well\" ondragover=\"allowDrop(event)\" _ondrop=\"onAddClipboard(event)\">\n";
echo $this->mainClipboard($clipboard); echo $this->mainClipboard($clipboard, $previewer);
echo "</div>\n"; echo "</div>\n";
} /* }}} */ } /* }}} */

View File

@ -41,6 +41,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style {
$enableversionmodification = $this->params['enableversionmodification']; $enableversionmodification = $this->params['enableversionmodification'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$previewwidthdetail = $this->params['previewwidthdetail']; $previewwidthdetail = $this->params['previewwidthdetail'];
$previewconverters = $this->params['previewconverters'];
$latestContent = $document->getLatestContent(); $latestContent = $document->getLatestContent();
$status = $version->getStatus(); $status = $version->getStatus();
@ -148,6 +149,7 @@ class SeedDMS_View_DocumentVersionDetail extends SeedDMS_Bootstrap_Style {
print "</ul>"; print "</ul>";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail);
$previewer->setConverters($previewconverters);
$previewer->createPreview($version); $previewer->createPreview($version);
if($previewer->hasPreview($version)) { if($previewer->hasPreview($version)) {
print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$version->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($version->getMimeType())."\">"); print("<img class=\"mimeicon\" width=\"".$previewwidthdetail."\" src=\"../op/op.Preview.php?documentid=".$document->getID()."&version=".$version->getVersion()."&width=".$previewwidthdetail."\" title=\"".htmlspecialchars($version->getMimeType())."\">");

View File

@ -105,6 +105,7 @@ class SeedDMS_View_ManageNotify extends SeedDMS_Bootstrap_Style {
} }
else { else {
$previewer = new SeedDMS_Preview_Previewer($this->cachedir, $this->previewwidth); $previewer = new SeedDMS_Preview_Previewer($this->cachedir, $this->previewwidth);
$previewer->setConverters($this->previewconverters);
print "<table class=\"table-condensed\">"; print "<table class=\"table-condensed\">";
print "<thead>\n<tr>\n"; print "<thead>\n<tr>\n";
@ -153,6 +154,7 @@ class SeedDMS_View_ManageNotify extends SeedDMS_Bootstrap_Style {
$this->user = $this->params['user']; $this->user = $this->params['user'];
$this->cachedir = $this->params['cachedir']; $this->cachedir = $this->params['cachedir'];
$this->previewwidth = $this->params['previewWidthList']; $this->previewwidth = $this->params['previewWidthList'];
$this->previewconverters = $this->params['previewconverters'];
$this->db = $this->dms->getDB(); $this->db = $this->dms->getDB();
$this->htmlStartPage(getMLText("my_account")); $this->htmlStartPage(getMLText("my_account"));

View File

@ -39,9 +39,11 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style {
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$workflowmode = $this->params['workflowmode']; $workflowmode = $this->params['workflowmode'];
$previewwidth = $this->params['previewWidthList']; $previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$db = $dms->getDB(); $db = $dms->getDB();
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
$previewer->setConverters($previewconverters);
$this->htmlStartPage(getMLText("my_documents")); $this->htmlStartPage(getMLText("my_documents"));
$this->globalNavigation(); $this->globalNavigation();
@ -690,7 +692,6 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style {
print "<th><a href=\"../out/out.MyDocuments.php?orderby=e\">".getMLText("expires")."</a></th>\n"; print "<th><a href=\"../out/out.MyDocuments.php?orderby=e\">".getMLText("expires")."</a></th>\n";
print "</tr>\n</thead>\n<tbody>\n"; print "</tr>\n</thead>\n<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
foreach ($resArr as $res) { foreach ($resArr as $res) {
$document = $dms->getDocument($res["documentID"]); $document = $dms->getDocument($res["documentID"]);

View File

@ -81,6 +81,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
$searchin = $this->params['searchin']; $searchin = $this->params['searchin'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList']; $previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$this->htmlStartPage(getMLText("search_results")); $this->htmlStartPage(getMLText("search_results"));
$this->globalNavigation(); $this->globalNavigation();
@ -468,6 +469,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
print "</tr>\n</thead>\n<tbody>\n"; print "</tr>\n</thead>\n<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
$previewer->setConverters($previewconverters);
foreach ($entries as $entry) { foreach ($entries as $entry) {
if(get_class($entry) == $dms->getClassname('document')) { if(get_class($entry) == $dms->getClassname('document')) {
$txt = $this->callHook('documentListItem', $entry, $previewer); $txt = $this->callHook('documentListItem', $entry, $previewer);

View File

@ -215,9 +215,11 @@ $('#delete-transmittalitem-btn-".$itemid."').popover({
$seltransmittal = $this->params['seltransmittal']; $seltransmittal = $this->params['seltransmittal'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList']; $previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$db = $dms->getDB(); $db = $dms->getDB();
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
$previewer->setConverters($previewconverters);
$this->htmlStartPage(getMLText("my_transmittals")); $this->htmlStartPage(getMLText("my_transmittals"));
$this->globalNavigation(); $this->globalNavigation();
@ -278,17 +280,22 @@ $('#delete-transmittalitem-btn-".$itemid."').popover({
print "<th>".getMLText("action")."</th>\n"; print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n"; print "</tr>\n</thead>\n<tbody>\n";
foreach($items as $item) { foreach($items as $item) {
$content = $item->getContent(); if($content = $item->getContent()) {
$document = $content->getDocument(); $document = $content->getDocument();
$latestcontent = $document->getLatestContent(); $latestcontent = $document->getLatestContent();
if ($document->getAccessMode($user) >= M_READ) { if ($document->getAccessMode($user) >= M_READ) {
echo "<tr id=\"table-row-transmittalitem-".$item->getID()."\">";
echo $this->documentListRow($document, $previewer, true, $content->getVersion());
echo "<td><div class=\"list-action\">";
$this->printDeleteItemButton($item, getMLText('transmittalitem_removed'));
if($latestcontent->getVersion() != $content->getVersion())
$this->printUpdateItemButton($item, getMLText('transmittalitem_updated', array('prevversion'=>$content->getVersion(), 'newversion'=>$latestcontent->getVersion())));
echo "</div></td>";
echo "</tr>";
}
} else {
echo "<tr id=\"table-row-transmittalitem-".$item->getID()."\">"; echo "<tr id=\"table-row-transmittalitem-".$item->getID()."\">";
echo $this->documentListRow($document, $previewer, true, $content->getVersion()); echo "<td colspan=\"5\">content ist weg</td>";
echo "<td><div class=\"list-action\">";
$this->printDeleteItemButton($item, getMLText('transmittalitem_removed'));
if($latestcontent->getVersion() != $content->getVersion())
$this->printUpdateItemButton($item, getMLText('transmittalitem_updated', array('prevversion'=>$content->getVersion(), 'newversion'=>$latestcontent->getVersion())));
echo "</div></td>";
echo "</tr>"; echo "</tr>";
} }
} }

View File

@ -123,6 +123,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$previewwidthlist = $this->params['previewWidthList']; $previewwidthlist = $this->params['previewWidthList'];
$previewwidthdetail = $this->params['previewWidthDetail']; $previewwidthdetail = $this->params['previewWidthDetail'];
$previewconverters = $this->params['previewConverters'];
$checkoutdir = $this->params['checkOutDir']; $checkoutdir = $this->params['checkOutDir'];
$documentid = $document->getId(); $documentid = $document->getId();
$currenttab = $this->params['currenttab']; $currenttab = $this->params['currenttab'];
@ -387,6 +388,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
print "</ul>"; print "</ul>";
*/ */
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidthdetail);
$previewer->setConverters($previewconverters);
$previewer->createPreview($latestContent); $previewer->createPreview($latestContent);
if ($file_exists) { if ($file_exists) {
if ($viewonlinefiletypes && in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes)) { if ($viewonlinefiletypes && in_array(strtolower($latestContent->getFileType()), $viewonlinefiletypes)) {

View File

@ -86,6 +86,7 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
$enableRecursiveCount = $this->params['enableRecursiveCount']; $enableRecursiveCount = $this->params['enableRecursiveCount'];
$maxRecursiveCount = $this->params['maxRecursiveCount']; $maxRecursiveCount = $this->params['maxRecursiveCount'];
$previewwidth = $this->params['previewWidthList']; $previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$folderid = $folder->getId(); $folderid = $folder->getId();
@ -102,6 +103,9 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
$this->pageNavigation($this->getFolderPathHTML($folder), "view_folder", $folder); $this->pageNavigation($this->getFolderPathHTML($folder), "view_folder", $folder);
} }
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
$previewer->setConverters($previewconverters);
echo $this->callHook('preContent'); echo $this->callHook('preContent');
echo "<div class=\"row-fluid\">\n"; echo "<div class=\"row-fluid\">\n";
@ -140,7 +144,7 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
echo $this->callHook('leftContent'); echo $this->callHook('leftContent');
if ($enableClipboard) $this->printClipboard($this->params['session']->getClipboard()); if ($enableClipboard) $this->printClipboard($this->params['session']->getClipboard(), $previewer);
echo "</div>\n"; echo "</div>\n";
} }
@ -271,8 +275,6 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style {
} }
} }
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
foreach($documents as $document) { foreach($documents as $document) {
$txt = $this->callHook('documentListItem', $document, $previewer); $txt = $this->callHook('documentListItem', $document, $previewer);
if(is_string($txt)) if(is_string($txt))

View File

@ -36,6 +36,7 @@ class SeedDMS_View_WorkflowSummary extends SeedDMS_Bootstrap_Style {
$user = $this->params['user']; $user = $this->params['user'];
$cachedir = $this->params['cachedir']; $cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList']; $previewwidth = $this->params['previewWidthList'];
$previewconverters = $this->params['previewconverters'];
$this->htmlStartPage(getMLText("my_documents")); $this->htmlStartPage(getMLText("my_documents"));
$this->globalNavigation(); $this->globalNavigation();
@ -49,6 +50,7 @@ class SeedDMS_View_WorkflowSummary extends SeedDMS_Bootstrap_Style {
$workflowStatus = $user->getWorkflowStatus(); $workflowStatus = $user->getWorkflowStatus();
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
$previewer->setConverters($previewconverters);
$printheader=true; $printheader=true;
$iRev = array(); $iRev = array();