* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://www.seeddms.org Main Site */ if (!isset($settings)) { require_once "../inc/inc.Settings.php"; } require_once "inc/inc.Utils.php"; require_once "inc/inc.LogInit.php"; require_once "inc/inc.Language.php"; require_once "inc/inc.Init.php"; require_once "inc/inc.Extension.php"; require_once "inc/inc.DBInit.php"; require_once "inc/inc.ClassUI.php"; require_once "inc/inc.ClassAccessOperation.php"; require_once "inc/inc.Authentication.php"; $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); $accessop = new SeedDMS_AccessOperation($dms, $user, $settings); if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))), getMLText("invalid_doc_id")); } $document = $dms->getDocument($_GET["documentid"]); if (!is_object($document)) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))), getMLText("invalid_doc_id")); } if ($document->getAccessMode($user) < M_READWRITE) { UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))), getMLText("access_denied")); } if ($document->isLocked()) { $lockingUser = $document->getLockingUser(); if (($lockingUser->getID() != $user->getID()) && ($document->getAccessMode($user) != M_ALL)) { UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))), getMLText("lock_message", array("email" => $lockingUser->getEmail(), "username" => htmlspecialchars($lockingUser->getFullName())))); } } if ($settings->_quota > 0) { $remain = checkQuota($user); if ($remain < 0) { UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))), getMLText("quota_exceeded", array('bytes'=>SeedDMS_Core_File::format_filesize(abs($remain))))); } } $folder = $document->getFolder(); if ($view) { $view->setParam('folder', $folder); $view->setParam('document', $document); $view->setParam('strictformcheck', $settings->_strictFormCheck); $view->setParam('nodocumentformfields', $settings->_noDocumentFormFields); $view->setParam('enablelargefileupload', $settings->_enableLargeFileUpload); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); $view->setParam('enableselfrevapp', $settings->_enableSelfRevApp); $view->setParam('enablereceiptworkflow', $settings->_enableReceiptWorkflow); $view->setParam('enableselfreceipt', $settings->_enableSelfReceipt); $view->setParam('enablehiddenrevapp', $settings->_enableHiddenRevApp); $view->setParam('dropfolderdir', $settings->_dropFolderDir); $view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('presetexpiration', $settings->_presetExpirationDate); $view->setParam('accessobject', $accessop); $view($_GET); exit; }