diff --git a/views/bootstrap/class.MyDocuments.php b/views/bootstrap/class.MyDocuments.php index fb4a62f5b..42e76939a 100644 --- a/views/bootstrap/class.MyDocuments.php +++ b/views/bootstrap/class.MyDocuments.php @@ -36,33 +36,32 @@ require_once("SeedDMS/Preview.php"); */ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { - function show() { /* {{{ */ + function js() { /* {{{ */ + header('Content-Type: application/javascript'); +?> +$(document).ready( function() { + $('body').on('click', 'ul.bs-docs-sidenav li a', function(ev){ + ev.preventDefault(); + $('#kkkk.ajax').data('action', $(this).data('action')); + $('#kkkk.ajax').trigger('update', {userid: $(this).val()}); + }); +}); +params['dms']; $user = $this->params['user']; - $orderby = $this->params['orderby']; - $showInProcess = $this->params['showinprocess']; $cachedir = $this->params['cachedir']; - $workflowmode = $this->params['workflowmode']; $previewwidth = $this->params['previewWidthList']; $previewconverters = $this->params['previewconverters']; $timeout = $this->params['timeout']; - $db = $dms->getDB(); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); $previewer->setConverters($previewconverters); - $this->htmlStartPage(getMLText("my_documents")); - $this->globalNavigation(); - $this->contentStart(); - $this->pageNavigation(getMLText("my_documents"), "my_documents"); - - if ($showInProcess){ - - if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') { - // Get document list for the current user. $reviewStatus = $user->getReviewStatus(); - $approvalStatus = $user->getApprovalStatus(); $resArr = $dms->getDocumentList('AppRevByMe', $user); if (is_bool($resArr) && !$resArr) { @@ -92,9 +91,8 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } // List the documents for which a review has been requested. - if($workflowmode == 'traditional') { $this->contentHeading(getMLText("documents_to_review")); - $this->contentContainerStart(); + // $this->contentContainerStart(); $printheader=true; $iRev = array(); $dList = array(); @@ -181,7 +179,54 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { }else{ printMLText("no_docs_to_review"); } +// $this->contentContainerEnd(); + } else { + $this->contentHeading(getMLText("documents_to_review")); + $this->contentContainerStart(); + printMLText("no_review_needed"); $this->contentContainerEnd(); + } + + } /* }}} */ + + function listApprovals() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + $approvalStatus = $user->getApprovalStatus(); + + $resArr = $dms->getDocumentList('AppRevByMe', $user); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + if($resArr) { + /* Create an array to hold all of these results, and index the array + * by document id. This makes it easier to retrieve document ID + * information later on and saves us having to repeatedly poll the + * database every time + * new document information is required. + */ + $docIdx = array(); + foreach ($resArr as $res) { + + /* verify expiry */ + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ + $res["status"]=S_EXPIRED; + } + } + + $docIdx[$res["id"]][$res["version"]] = $res; } // List the documents for which an approval has been requested. @@ -272,502 +317,31 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { $this->contentContainerEnd(); } else { - if($workflowmode == 'traditional') { - $this->contentHeading(getMLText("documents_to_review")); - $this->contentContainerStart(); - printMLText("no_review_needed"); - $this->contentContainerEnd(); - } $this->contentHeading(getMLText("documents_to_approve")); $this->contentContainerStart(); printMLText("no_approval_needed"); $this->contentContainerEnd(); } - /* Get list of documents owned by current user that are - * pending review or pending approval. - */ - $resArr = $dms->getDocumentList('AppRevOwner', $user); - if (is_bool($resArr) && !$resArr) { - $this->contentHeading(getMLText("warning")); - $this->contentContainer(getMLText("internal_error_exit")); - $this->htmlEndPage(); - exit; - } + } /* }}} */ - $this->contentHeading(getMLText("documents_user_requiring_attention")); - $this->contentContainerStart(); - if (count($resArr)>0) { + function listDocsToLookAt() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $workflowmode = $this->params['workflowmode']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; - print ""; - print "\n\n"; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); - foreach ($resArr as $res) { - $document = $dms->getDocument($res["documentID"]); - $document->verifyLastestContentExpriry(); - - // verify expiry - if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ - if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ - $res["status"]=S_EXPIRED; - } - } - - if($content = $document->getContentByVersion($res['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print "\n"; - print ""; - print ""; - print ""; - print ""; - print "\n"; - } - } - print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; - - } - else printMLText("no_docs_to_look_at"); - - $this->contentContainerEnd(); - } elseif($workflowmode == 'advanced') { - // Get document list for the current user. - $workflowStatus = $user->getWorkflowStatus(); - - $resArr = $dms->getDocumentList('WorkflowByMe', $user); - if (is_bool($resArr) && !$resArr) { - $this->contentHeading(getMLText("warning")); - $this->contentContainer(getMLText("internal_error_exit")); - $this->htmlEndPage(); - exit; - } - - if (count($resArr)>0) { - // Create an array to hold all of these results, and index the array by - // document id. This makes it easier to retrieve document ID information - // later on and saves us having to repeatedly poll the database every time - // new document information is required. - $docIdx = array(); - foreach ($resArr as $res) { - - // verify expiry - if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ - if ( $res["status"]==S_IN_WORKFLOW ){ - $res["status"]=S_EXPIRED; - } - } - - $docIdx[$res["id"]][$res["version"]] = $res; - } - - // List the documents where a review has been requested. - $this->contentHeading(getMLText("documents_to_process")); - $this->contentContainerStart(); - - $printheader=true; - $iRev = array(); - $dList = array(); - foreach ($workflowStatus["u"] as $st) { - - if ( isset($docIdx[$st["document"]][$st["version"]]) && !in_array($st["document"], $dList) ) { - $dList[] = $st["document"]; - $document = $dms->getDocument($st["document"]); - $document->verifyLastestContentExpriry(); - - if ($printheader){ - print ""; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - $printheader=false; - } - - if($content = $document->getContentByVersion($st['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; - print "\n"; - } - } - } - foreach ($workflowStatus["g"] as $st) { - - if (!in_array($st["document"], $iRev) && isset($docIdx[$st["document"]][$st["version"]]) && !in_array($st["document"], $dList) /* && $docIdx[$st["documentID"]][$st["version"]]['owner'] != $user->getId() */) { - $dList[] = $st["document"]; - $document = $dms->getDocument($st["document"]); - $document->verifyLastestContentExpriry(); - - if ($printheader){ - print "
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"]) ."
"; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - $printheader=false; - } - - if($content = $document->getContentByVersion($st['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; - print "\n"; - } - } - } - if (!$printheader){ - echo "\n
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"])."
"; - }else{ - printMLText("no_docs_to_check"); - } - $this->contentContainerEnd(); - } - - $resArr = $dms->getDocumentList('WorkflowOwner', $user); - if (is_bool($resArr) && !$resArr) { - $this->contentHeading(getMLText("warning")); - $this->contentContainer("Internal error. Unable to complete request. Exiting."); - $this->htmlEndPage(); - exit; - } - - $this->contentHeading(getMLText("documents_user_requiring_attention")); - $this->contentContainerStart(); - if (count($resArr)>0) { - - print ""; - print "\n\n"; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - - foreach ($resArr as $res) { - $document = $dms->getDocument($res["documentID"]); - $document->verifyLastestContentExpriry(); - - // verify expiry - if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ - if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ - $res["status"]=S_EXPIRED; - } - } - - if($content = $document->getContentByVersion($res['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print "\n"; - print ""; - print ""; - print ""; - print ""; - print "\n"; - } - } - print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; - - } - else printMLText("no_docs_to_look_at"); - - $this->contentContainerEnd(); - } - - // Get document list for the current user. - $revisionStatus = $user->getRevisionStatus(); - - $resArr = $dms->getDocumentList('ReviseByMe', $user); - if (is_bool($resArr) && !$resArr) { - $this->contentHeading(getMLText("warning")); - $this->contentContainer(getMLText("internal_error_exit")); - $this->htmlEndPage(); - exit; - } - if($resArr) { - /* Create an array to hold all of these results, and index the array - * by document id. This makes it easier to retrieve document ID - * information later on and saves us having to repeatedly poll the - * database every time new document information is required. - */ - $docIdx = array(); - foreach ($resArr as $res) { - /* verify expiry */ - if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ - $res["status"]=S_EXPIRED; - } - $docIdx[$res["id"]][$res["version"]] = $res; - } - - $this->contentHeading(getMLText("documents_to_revise")); - $this->contentContainerStart(); - $printheader=true; - $iRev = array(); - $dList = array(); - foreach ($revisionStatus["indstatus"] as $st) { - - if ( $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) ) { - $dList[] = $st["documentID"]; - $document = $dms->getDocument($st["documentID"]); - - if ($printheader){ - print ""; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - $printheader=false; - } - - if($content = $document->getContentByVersion($st['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; - } - } - } - foreach ($revisionStatus["grpstatus"] as $st) { - - if (!in_array($st["documentID"], $iRev) && $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) && $docIdx[$st["documentID"]][$st["version"]]['owner'] != $user->getId()) { - $dList[] = $st["documentID"]; - $document = $dms->getDocument($st["documentID"]); - - if ($printheader){ - print "
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) ."
"; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - $printheader=false; - } - - if($content = $document->getContentByVersion($st['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; - } - } - } - if (!$printheader){ - echo "\n
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
"; - }else{ - printMLText("no_docs_to_revise"); - } - $this->contentContainerEnd(); - } - else { - $this->contentHeading(getMLText("documents_to_revise")); - $this->contentContainerStart(); - printMLText("no_revision_needed"); - $this->contentContainerEnd(); - } - - $receiptStatus = $user->getReceiptStatus(); - $resArr = $dms->getDocumentList('ReceiptByMe', $user); - if (is_bool($resArr) && !$resArr) { - $this->contentHeading(getMLText("warning")); - $this->contentContainer(getMLText("internal_error_exit")); - $this->htmlEndPage(); - exit; - } - if($resArr) { - /* Create an array to hold all of these results, and index the array - * by document id. This makes it easier to retrieve document ID - * information later on and saves us having to repeatedly poll the - * database every time - * new document information is required. - */ - $docIdx = array(); - foreach ($resArr as $res) { - /* verify expiry */ - if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ - $res["status"]=S_EXPIRED; - } - $docIdx[$res["id"]][$res["version"]] = $res; - } - $this->contentHeading(getMLText("documents_to_receipt")); - $this->contentContainerStart(); - $printheader=true; - $iRev = array(); - $dList = array(); - foreach ($receiptStatus["indstatus"] as $st) { - - if ( $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) ) { - $dList[] = $st["documentID"]; - $document = $dms->getDocument($st["documentID"]); - - if ($printheader){ - print ""; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - $printheader=false; - } - - if($content = $document->getContentByVersion($st['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; - } - } - } - foreach ($receiptStatus["grpstatus"] as $st) { - - if (!in_array($st["documentID"], $iRev) && $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) && $docIdx[$st["documentID"]][$st["version"]]['owner'] != $user->getId()) { - $dList[] = $st["documentID"]; - $document = $dms->getDocument($st["documentID"]); - - if ($printheader){ - print "
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) ."
"; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - $printheader=false; - } - - if($content = $document->getContentByVersion($st['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print ""; - print ""; - print ""; - print ""; - print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; - print "\n"; - } - } - } - if (!$printheader){ - echo "\n
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
"; - }else{ - printMLText("no_docs_to_receipt"); - } - $this->contentContainerEnd(); - } - else { - $this->contentHeading(getMLText("documents_to_receipt")); - $this->contentContainerStart(); - printMLText("no_receipt_needed"); - $this->contentContainerEnd(); - } - - /* Get list of documents owned by current user that has - * been rejected. + if($workflowmode != 'advanced') { + /* Get list of documents owned by current user that are + * pending review or pending approval. */ - $resArr = $dms->getDocumentList('RejectOwner', $user); + $resArr = $dms->getDocumentList('AppRevOwner', $user); if (is_bool($resArr) && !$resArr) { $this->contentHeading(getMLText("warning")); $this->contentContainer(getMLText("internal_error_exit")); @@ -775,9 +349,9 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { exit; } + $this->contentHeading(getMLText("documents_user_requiring_attention")); +// $this->contentContainerStart(); if (count($resArr)>0) { - $this->contentHeading(getMLText("documents_user_rejected")); - $this->contentContainerStart(); print ""; print "\n\n"; @@ -820,20 +394,21 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { } print "
"; - $this->contentContainerEnd(); } - - /* Get list of documents locked by current user */ - $resArr = $dms->getDocumentList('LockedByMe', $user); + else printMLText("no_docs_to_look_at"); + +// $this->contentContainerEnd(); + } else { + $resArr = $dms->getDocumentList('WorkflowOwner', $user); if (is_bool($resArr) && !$resArr) { $this->contentHeading(getMLText("warning")); - $this->contentContainer(getMLText("internal_error_exit")); + $this->contentContainer("Internal error. Unable to complete request. Exiting."); $this->htmlEndPage(); exit; } - $this->contentHeading(getMLText("documents_locked_by_you")); - $this->contentContainerStart(); + $this->contentHeading(getMLText("documents_user_requiring_attention")); +// $this->contentContainerStart(); if (count($resArr)>0) { print ""; @@ -846,126 +421,6 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { print "\n"; print "\n\n\n"; - foreach ($resArr as $res) { - $document = $dms->getDocument($res["documentID"]); - - // verify expiry - if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ - if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ - $res["status"]=S_EXPIRED; - } - } - - if($content = $document->getContentByVersion($res['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print "\n"; - print ""; - print ""; - print ""; - print ""; - print "\n"; - } - } - print "
".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; - - } - else printMLText("no_docs_locked"); - - $this->contentContainerEnd(); - - /* Get list of documents checked out by current user */ - $resArr = $dms->getDocumentList('CheckedOutByMe', $user); - if (is_bool($resArr) && !$resArr) { - $this->contentHeading(getMLText("warning")); - $this->contentContainer(getMLText("internal_error_exit")); - $this->htmlEndPage(); - exit; - } - - $this->contentHeading(getMLText("documents_checked_out_by_you")); - $this->contentContainerStart(); - if (count($resArr)>0) { - - print ""; - print "\n\n"; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - - foreach ($resArr as $res) { - $document = $dms->getDocument($res["documentID"]); - - // verify expiry - if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ - if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ - $res["status"]=S_EXPIRED; - } - } - - if($content = $document->getContentByVersion($res['version'])) { - print "\n"; - $previewer->createPreview($content); - print ""; - print "\n"; - print ""; - print ""; - print ""; - print ""; - print "\n"; - } - } - print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; - if($previewer->hasPreview($content)) { - print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } else { - print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; - } - print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; - - } - else printMLText("no_docs_checked_out"); - - $this->contentContainerEnd(); - - } - else { - - /* Get list of documents owned by current user */ - $resArr = $dms->getDocumentList('MyDocs', $user, $orderby); - if (is_bool($resArr) && !$resArr) { - $this->contentHeading(getMLText("warning")); - $this->contentContainer(getMLText("internal_error_exit")); - $this->htmlEndPage(); - exit; - } - - $this->contentHeading(getMLText("all_documents")); - $this->contentContainerStart(); - - if (count($resArr)>0) { - - print ""; - print "\n\n"; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - foreach ($resArr as $res) { $document = $dms->getDocument($res["documentID"]); $document->verifyLastestContentExpriry(); @@ -987,21 +442,788 @@ class SeedDMS_View_MyDocuments extends SeedDMS_Bootstrap_Style { print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; } print ""; - print "\n"; + print "\n"; print ""; print ""; - print ""; - //print ""; + print ""; print ""; print "\n"; } - } - print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
" . htmlspecialchars($res["name"]) . "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ". htmlspecialchars($res["statusName"])."".(!$res["expires"] ? getMLText("does_not_expire"):getReadableDate($res["expires"]))."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; + } + print ""; + } - else printMLText("empty_notify_list"); + else printMLText("no_docs_to_look_at"); + +// $this->contentContainerEnd(); + } + } /* }}} */ + + function listMyDocs() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $orderby = $this->params['orderby']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + /* Get list of documents owned by current user */ + $resArr = $dms->getDocumentList('MyDocs', $user, $orderby); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + + $this->contentHeading(getMLText("all_documents")); +// $this->contentContainerStart(); + + if (count($resArr)>0) { + + print ""; + print "\n\n"; + print ""; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + + foreach ($resArr as $res) { + $document = $dms->getDocument($res["documentID"]); + $document->verifyLastestContentExpriry(); + // verify expiry + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ + $res["status"]=S_EXPIRED; + } + } + + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print "\n"; + print ""; + print ""; + print ""; + //print ""; + print ""; + print "\n"; + } + } + print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ". htmlspecialchars($res["statusName"])."".(!$res["expires"] ? getMLText("does_not_expire"):getReadableDate($res["expires"]))."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; + } + else printMLText("empty_notify_list"); + +// $this->contentContainerEnd(); + } /* }}} */ + + function listWorkflow() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + // Get document list for the current user. + $workflowStatus = $user->getWorkflowStatus(); + + $resArr = $dms->getDocumentList('WorkflowByMe', $user); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + + if (count($resArr)>0) { + // Create an array to hold all of these results, and index the array by + // document id. This makes it easier to retrieve document ID information + // later on and saves us having to repeatedly poll the database every time + // new document information is required. + $docIdx = array(); + foreach ($resArr as $res) { + + // verify expiry + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + if ( $res["status"]==S_IN_WORKFLOW ){ + $res["status"]=S_EXPIRED; + } + } + + $docIdx[$res["id"]][$res["version"]] = $res; + } + + // List the documents where a review has been requested. + $this->contentHeading(getMLText("documents_to_process")); +// $this->contentContainerStart(); + + $printheader=true; + $iRev = array(); + $dList = array(); + foreach ($workflowStatus["u"] as $st) { + + if ( isset($docIdx[$st["document"]][$st["version"]]) && !in_array($st["document"], $dList) ) { + $dList[] = $st["document"]; + $document = $dms->getDocument($st["document"]); + $document->verifyLastestContentExpriry(); + + if ($printheader){ + print ""; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + $printheader=false; + } + + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; + print "\n"; + } + } + } + foreach ($workflowStatus["g"] as $st) { + + if (!in_array($st["document"], $iRev) && isset($docIdx[$st["document"]][$st["version"]]) && !in_array($st["document"], $dList) /* && $docIdx[$st["documentID"]][$st["version"]]['owner'] != $user->getId() */) { + $dList[] = $st["document"]; + $document = $dms->getDocument($st["document"]); + $document->verifyLastestContentExpriry(); + + if ($printheader){ + print "
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"]) ."
"; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + $printheader=false; + } + + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["document"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["document"]][$st["version"]]["expires"])).""; + print "\n"; + } + } + } + if (!$printheader){ + echo "\n
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["document"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["document"]][$st["version"]]["statusName"])."
"; + }else{ + printMLText("no_docs_to_check"); + } +// $this->contentContainerEnd(); + } + + } /* }}} */ + + function listRevisions() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + // Get document list for the current user. + $revisionStatus = $user->getRevisionStatus(); + + $resArr = $dms->getDocumentList('ReviseByMe', $user); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + if($resArr) { + /* Create an array to hold all of these results, and index the array + * by document id. This makes it easier to retrieve document ID + * information later on and saves us having to repeatedly poll the + * database every time new document information is required. + */ + $docIdx = array(); + foreach ($resArr as $res) { + /* verify expiry */ + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + $res["status"]=S_EXPIRED; + } + $docIdx[$res["id"]][$res["version"]] = $res; + } + + $this->contentHeading(getMLText("documents_to_revise")); +// $this->contentContainerStart(); + $printheader=true; + $iRev = array(); + $dList = array(); + foreach ($revisionStatus["indstatus"] as $st) { + + if ( $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) ) { + $dList[] = $st["documentID"]; + $document = $dms->getDocument($st["documentID"]); + + if ($printheader){ + print ""; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + $printheader=false; + } + + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; + } + } + } + foreach ($revisionStatus["grpstatus"] as $st) { + + if (!in_array($st["documentID"], $iRev) && $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) && $docIdx[$st["documentID"]][$st["version"]]['owner'] != $user->getId()) { + $dList[] = $st["documentID"]; + $document = $dms->getDocument($st["documentID"]); + + if ($printheader){ + print "
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) ."
"; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + $printheader=false; + } + + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; + } + } + } + if (!$printheader){ + echo "\n
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
"; + }else{ + printMLText("no_docs_to_revise"); + } +// $this->contentContainerEnd(); + } + else { + $this->contentHeading(getMLText("documents_to_revise")); + $this->contentContainerStart(); + printMLText("no_revision_needed"); $this->contentContainerEnd(); } + } /* }}} */ + + function listReceipts() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + $receiptStatus = $user->getReceiptStatus(); + $resArr = $dms->getDocumentList('ReceiptByMe', $user); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + if($resArr) { + /* Create an array to hold all of these results, and index the array + * by document id. This makes it easier to retrieve document ID + * information later on and saves us having to repeatedly poll the + * database every time + * new document information is required. + */ + $docIdx = array(); + foreach ($resArr as $res) { + /* verify expiry */ + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + $res["status"]=S_EXPIRED; + } + $docIdx[$res["id"]][$res["version"]] = $res; + } + $this->contentHeading(getMLText("documents_to_receipt")); +// $this->contentContainerStart(); + $printheader=true; + $iRev = array(); + $dList = array(); + foreach ($receiptStatus["indstatus"] as $st) { + + if ( $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) ) { + $dList[] = $st["documentID"]; + $document = $dms->getDocument($st["documentID"]); + + if ($printheader){ + print ""; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + $printheader=false; + } + + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; + } + } + } + foreach ($receiptStatus["grpstatus"] as $st) { + + if (!in_array($st["documentID"], $iRev) && $st["status"]==0 && isset($docIdx[$st["documentID"]][$st["version"]]) && !in_array($st["documentID"], $dList) && $docIdx[$st["documentID"]][$st["version"]]['owner'] != $user->getId()) { + $dList[] = $st["documentID"]; + $document = $dms->getDocument($st["documentID"]); + + if ($printheader){ + print "
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"]) ."
"; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + $printheader=false; + } + + if($content = $document->getContentByVersion($st['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print ""; + print ""; + print ""; + print ""; + print "".(!$docIdx[$st["documentID"]][$st["version"]]["expires"] ? "-":getReadableDate($docIdx[$st["documentID"]][$st["version"]]["expires"])).""; + print "\n"; + } + } + } + if (!$printheader){ + echo "\n
".getMLText("name")."".getMLText("owner")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["name"])."".htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["ownerName"])."".$st["version"]."".$st["date"]." ". htmlspecialchars($docIdx[$st["documentID"]][$st["version"]]["statusName"])."
"; + }else{ + printMLText("no_docs_to_receipt"); + } +// $this->contentContainerEnd(); + } + else { + $this->contentHeading(getMLText("documents_to_receipt")); + $this->contentContainerStart(); + printMLText("no_receipt_needed"); + $this->contentContainerEnd(); + } + + } /* }}} */ + + function listRejects() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + /* Get list of documents owned by current user that has + * been rejected. + */ + $resArr = $dms->getDocumentList('RejectOwner', $user); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + + if (count($resArr)>0) { + $this->contentHeading(getMLText("documents_user_rejected")); +// $this->contentContainerStart(); + + print ""; + print "\n\n"; + print ""; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + + foreach ($resArr as $res) { + $document = $dms->getDocument($res["documentID"]); + $document->verifyLastestContentExpriry(); + + // verify expiry + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ + $res["status"]=S_EXPIRED; + } + } + + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print "\n"; + print ""; + print ""; + print ""; + print ""; + print "\n"; + } + } + print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; + +// $this->contentContainerEnd(); + } + + } /* }}} */ + + function listLockedDocs() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + /* Get list of documents locked by current user */ + $resArr = $dms->getDocumentList('LockedByMe', $user); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + + $this->contentHeading(getMLText("documents_locked_by_you")); +// $this->contentContainerStart(); + if (count($resArr)>0) { + + print ""; + print "\n\n"; + print ""; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + + foreach ($resArr as $res) { + $document = $dms->getDocument($res["documentID"]); + + // verify expiry + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ + $res["status"]=S_EXPIRED; + } + } + + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print "\n"; + print ""; + print ""; + print ""; + print ""; + print "\n"; + } + } + print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; + + } + else printMLText("no_docs_locked"); + +// $this->contentContainerEnd(); + + } /* }}} */ + + function listCheckedoutDocs() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $cachedir = $this->params['cachedir']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + /* Get list of documents checked out by current user */ + $resArr = $dms->getDocumentList('CheckedOutByMe', $user); + if (is_bool($resArr) && !$resArr) { + $this->contentHeading(getMLText("warning")); + $this->contentContainer(getMLText("internal_error_exit")); + $this->htmlEndPage(); + exit; + } + + $this->contentHeading(getMLText("documents_checked_out_by_you")); +// $this->contentContainerStart(); + if (count($resArr)>0) { + + print ""; + print "\n\n"; + print ""; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + + foreach ($resArr as $res) { + $document = $dms->getDocument($res["documentID"]); + + // verify expiry + if ( $res["expires"] && time()>$res["expires"]+24*60*60 ){ + if ( $res["status"]==S_DRAFT_APP || $res["status"]==S_DRAFT_REV ){ + $res["status"]=S_EXPIRED; + } + } + + if($content = $document->getContentByVersion($res['version'])) { + print "\n"; + $previewer->createPreview($content); + print ""; + print "\n"; + print ""; + print ""; + print ""; + print ""; + print "\n"; + } + } + print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."
"; + if($previewer->hasPreview($content)) { + print "getID()."&version=".$content->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } else { + print "getMimeIcon($content->getFileType())."\" title=\"".htmlspecialchars($content->getMimeType())."\">"; + } + print "" . htmlspecialchars($res["name"]) . "".getOverallStatusText($res["status"])."".$res["version"]."".$res["statusDate"]." ".htmlspecialchars($res["statusName"])."".(!$res["expires"] ? "-":getReadableDate($res["expires"]))."
"; + + } + else printMLText("no_docs_checked_out"); + +// $this->contentContainerEnd(); + } /* }}} */ + + function show() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $orderby = $this->params['orderby']; + $showInProcess = $this->params['showinprocess']; + $cachedir = $this->params['cachedir']; + $workflowmode = $this->params['workflowmode']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewconverters']; + $timeout = $this->params['timeout']; + + $db = $dms->getDB(); + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout); + $previewer->setConverters($previewconverters); + + $this->htmlStartPage(getMLText("my_documents")); + $this->globalNavigation(); + $this->contentStart(); + $this->pageNavigation(getMLText("my_documents"), "my_documents"); + + if($showInProcess) { + echo '
'; + echo '
'; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + + /* + if($workflowmode == 'traditional') { + echo '
'; + } + + if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') { + echo '
'; + } elseif($workflowmode == 'advanced') { + echo '
'; + } + echo '
'; + + echo '
'; + + echo '
'; + + echo '
'; + + echo '
'; + + echo '
'; + + */ + echo '
'; + echo '
'; + } else { + echo '
'; + } $this->contentEnd(); $this->htmlEndPage();