diff --git a/out/out.Dashboard.php b/out/out.Dashboard.php new file mode 100644 index 000000000..879e94d55 --- /dev/null +++ b/out/out.Dashboard.php @@ -0,0 +1,30 @@ +$dms, 'user'=>$user)); +$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings); + +if($view) { + $view->setParam('fulltextservice', $fulltextservice); + $view->setParam('conversionmgr', $conversionmgr); + $view->setParam('showtree', showtree()); + $view->setParam('settings', $settings); + $view->setParam('cachedir', $settings->_cacheDir); + $view->setParam('previewWidthList', $settings->_previewWidthList); + $view->setParam('previewConverters', isset($settings->_converters['preview']) ? $settings->_converters['preview'] : array()); + $view->setParam('timeout', $settings->_cmdTimeout); + $view->setParam('accessobject', $accessop); + $view->setParam('xsendfile', $settings->_enableXsendfile); + $view($_GET); + exit; +} diff --git a/views/bootstrap/class.Dashboard.php b/views/bootstrap/class.Dashboard.php new file mode 100644 index 000000000..ce1627ed5 --- /dev/null +++ b/views/bootstrap/class.Dashboard.php @@ -0,0 +1,176 @@ + + * @copyright Copyright (C) 2010-2023 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Class which outputs the html page for Dashboard view + * + * @category DMS + * @package SeedDMS + * @author Markus Westphal, Malcolm Cowe, Uwe Steinmann + * @copyright Copyright (C) 2010-2023 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_View_Dashboard extends SeedDMS_Theme_Style { + + protected function printList($documents, $previewer) { /* {{{ */ + $txt = $this->callHook('folderListPreContent', null, [], $documents); + if(is_string($txt)) + echo $txt; + $i = 0; + $txt = $this->callHook('folderListHeader', null, '', ''); + if(is_string($txt)) { + echo $txt; + } elseif(is_array($txt)) { + print ""; + print "\n\n"; + foreach($txt as $headcol) + echo "\n"; + print "\n\n"; + } else { + echo $this->folderListHeader(); + } + print "\n"; + + foreach($documents as $document) { + $document->verifyLastestContentExpriry(); + $txt = $this->callHook('documentListItem', $document, $previewer, false, 'dashboard'); + if(is_string($txt)) + echo $txt; + else { + echo $this->documentListRow($document, $previewer); + } + } + + $txt = $this->callHook('folderListFooter', null); + if(is_string($txt)) + echo $txt; + else + echo "\n
".$headcol."
\n"; + } /* }}} */ + + public function newdocuments() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $conversionmgr = $this->params['conversionmgr']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewConverters']; + $timeout = $this->params['timeout']; + $xsendfile = $this->params['xsendfile']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); + if($conversionmgr) + $previewer->setConversionMgr($conversionmgr); + else + $previewer->setConverters($previewconverters); + + echo $this->contentHeading(getMLText('new_documents')); + $documents = $dms->getLatestChanges('newdocuments', mktime(0, 0, 0)-7*86400, time()); + if (count($documents) > 0) { + $this->printList($documents, $previewer); + } + } /* }}} */ + + public function updateddocuments() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $conversionmgr = $this->params['conversionmgr']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewConverters']; + $timeout = $this->params['timeout']; + $xsendfile = $this->params['xsendfile']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); + if($conversionmgr) + $previewer->setConversionMgr($conversionmgr); + else + $previewer->setConverters($previewconverters); + + echo $this->contentHeading(getMLText('updated_documents')); + $documents = $dms->getLatestChanges('updateddocuments', mktime(0, 0, 0)-7*86400, time()); + if (count($documents) > 0) { + $this->printList($documents, $previewer); + } + } /* }}} */ + + public function status() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $conversionmgr = $this->params['conversionmgr']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewConverters']; + $timeout = $this->params['timeout']; + $xsendfile = $this->params['xsendfile']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); + if($conversionmgr) + $previewer->setConversionMgr($conversionmgr); + else + $previewer->setConverters($previewconverters); + + echo $this->contentHeading(getMLText('status_change')); + $documents = $dms->getLatestChanges('status', mktime(0, 0, 0)-7*86400, time()); + if (count($documents) > 0) { + $this->printList($documents, $previewer); + } + } /* }}} */ + + function js() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + + header('Content-Type: application/javascript; charset=UTF-8'); + parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder')); + $this->printDeleteDocumentButtonJs(); + /* Add js for catching click on document in one page mode */ + $this->printClickDocumentJs(); + } /* }}} */ + + function show() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $conversionmgr = $this->params['conversionmgr']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewConverters']; + $timeout = $this->params['timeout']; + $xsendfile = $this->params['xsendfile']; + + $this->htmlStartPage(getMLText("calendar")); + $this->globalNavigation(); + $this->contentStart(); + + $this->rowStart(); + $this->columnStart(4); +?> +
+columnEnd(); + $this->columnStart(4); +?> +
+columnEnd(); + $this->columnStart(4); +?> +
+columnEnd(); + $this->rowEnd(); + $this->contentEnd(); + $this->htmlEndPage(); + } /* }}} */ + +}