From d6e502fdefb5ac6fc8e06e6fc3aa89c5afe78ad2 Mon Sep 17 00:00:00 2001 From: Michael Joseph Date: Wed, 11 Jun 2003 07:46:10 +0000 Subject: [PATCH] adding new document details view prototypes --- tests/documentmanagement/viewBL.php | 266 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/documentmanagement/viewUI.inc | 559 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 825 insertions(+), 0 deletions(-) create mode 100644 tests/documentmanagement/viewBL.php create mode 100644 tests/documentmanagement/viewUI.inc diff --git a/tests/documentmanagement/viewBL.php b/tests/documentmanagement/viewBL.php new file mode 100644 index 0000000..b3b5fda --- /dev/null +++ b/tests/documentmanagement/viewBL.php @@ -0,0 +1,266 @@ +fileSystemRoot/lib/security/permission.inc"); + +require_once("$default->fileSystemRoot/lib/email/Email.inc"); + +require_once("$default->fileSystemRoot/lib/users/User.inc"); + +require_once("$default->fileSystemRoot/lib/documentmanagement/PhysicalDocumentManager.inc"); +require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentTransaction.inc"); +require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); +require_once("$default->fileSystemRoot/lib/documentmanagement/DependantDocumentInstance.inc"); +require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentCollaboration.inc"); + +require_once("$default->fileSystemRoot/lib/archiving/DocumentArchiving.inc"); + +require_once("$default->fileSystemRoot/lib/foldermanagement/FolderCollaboration.inc"); +require_once("$default->fileSystemRoot/lib/foldermanagement/FolderUserRole.inc"); +require_once("$default->fileSystemRoot/lib/roles/Role.inc"); +require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); + +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListFromQuery.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListFromQuery.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc"); +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); + +require_once("$default->fileSystemRoot/lib/web/WebDocument.inc"); + +require_once("$default->fileSystemRoot/lib/subscriptions/Subscription.inc"); + +require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/documentmanagement/documentUI.inc"); +require_once("viewUI.inc"); +require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); +require_once("$default->fileSystemRoot/presentation/Html.inc"); + +if (checkSession()) { + if (isset($fDocumentID)) { + if (isset($fCollaborationEdit) && Permission::userHasDocumentWritePermission($fDocumentID)) { + //return value from collaborationBL.php. User attempted to edt + //a step in the document collaboration process that is currently being + //executed + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + + $oDocument = & Document::get($fDocumentID); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("You cannot edit a document collaboration step that is completed or currently underway"); + $main->setFormAction("$default->rootUrl/control.php?action=modifyDocument&fDocumentID=" . $oDocument->getID()); + $main->render(); + } else if (isset($fForInlineView) && Permission::userHasDocumentReadPermission($fDocumentID)) { + $oDocumentTransaction = & new DocumentTransaction($fDocumentID, "Inline view", VIEW); + $oDocumentTransaction->create(); + PhysicalDocumentManager::inlineViewPhysicalDocument($fDocumentID); + } else if (isset($fForDownload) && Permission::userHasDocumentReadPermission($fDocumentID)) { + //if the user has document read permission, perform the download + if (isset($fVersion)) { + // we're downloading an old version of the document + $oDocumentTransaction = & new DocumentTransaction($fDocumentID, "Document version $fVersion downloaded", DOWNLOAD); + $oDocumentTransaction->create(); + PhysicalDocumentManager::downloadVersionedPhysicalDocument($fDocumentID, $fVersion); + } else { + // download the current version + $oDocumentTransaction = & new DocumentTransaction($fDocumentID, "Document downloaded", DOWNLOAD); + $oDocumentTransaction->create(); + PhysicalDocumentManager::downloadPhysicalDocument($fDocumentID); + } + } else if (isset($fBeginCollaboration) && Permission::userHasDocumentWritePermission($fDocumentID)) { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + //begin the collaboration process + //first ensure that all steps in the collaboration process are assigned + $oDocument = Document::get($fDocumentID); + $aFolderCollaboration = FolderCollaboration::getList("WHERE folder_id = " . $oDocument->getFolderID()); + if (count($aFolderCollaboration) > 0) { + //if the the folder has collaboration steps set up + $aFolderUserRoles = FolderUserRole::getList("document_id = " . $fDocumentID); + if (count($aFolderCollaboration) == count($aFolderUserRoles)) { + //if all the roles have been assigned we can start the collaboration process + + //TODO: check if this collaboration has already occured, and then reset all the steps before beginning it again + //DocumentCollaboration::resetDocumentCollaborationSteps($fDocumentID); + + $oDocument->beginCollaborationProcess(); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("Document collaboration successfully started"); + $main->render(); + } else { + //not all the roles have users assigned to them, so display an error message + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("Document collaboration not started. Not all steps in the process have been assigned"); + $main->render(); + } + } else { + //the folder has no collaboration set up yet, so we can't start document collaboration + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("The collaboration steps for the folder must be set up before collaboration can begin"); + $main->render(); + } + } else if ((isset($fCollaborationStepComplete)) && (DocumentCollaboration::userIsPerformingCurrentCollaborationStep($fDocumentID))) { + //the user has signled that they have completed their step in the collaboration process + if (DocumentCollaboration::isLastStepInCollaborationProcess($fDocumentID)) { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + //the last step in the collaboration process has been performed- email the document creator + + $oDocument = Document::get($fDocumentID); + $oDocument->endCollaborationProcess(); + + // on the last collaboration step- trigger a major revision + // major version number rollover + $oDocument->setMajorVersionNumber($oDocument->getMajorVersionNumber()+1); + // reset minor version number + $oDocument->setMinorVersionNumber(0); + $oDocument->update(); + // TODO: create a transaction? + + $oUser = User::get($oDocument->getCreatorID()); + $sBody = $oUser->getName() . ", the collaboration process for the document, '" . generateLink("/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php", "fDocumentID=" . $oDocument->getID(), $oDocument->getName()) . "', has been completed. "; + $oEmail = & new Email(); + $oEmail->send($oUser->getEmail(), "Document collaboration complete", $sBody); + + //possibly set the document up for web publishing???? + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("Document collaboration complete. The document initiator has been notified"); + $main->render(); + + } else { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + //start the next steps if all criteria are met + DocumentCollaboration::beginNextStepInCollaborationProcess($fDocumentID, $_SESSION["userID"]); + $oDocument = Document::get($fDocumentID); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("The next steps in the collaboration process have been started"); + $main->render(); + } + } else if ((isset($fForPublish)) && (!DocumentCollaboration::documentIsPendingWebPublishing($fDocumentID))) { + if (isset($fWebSiteID)) { + // user wishes to publish document + $oDocument = Document::get($fDocumentID); + $aWebDocument = WebDocument::getList("document_id = $fDocumentID"); + $oWebDocument = $aWebDocument[0]; + $oWebDocument->setStatusID(PENDING); + $oWebDocument->setWebSiteID($fWebSiteID); + if ($oWebDocument->update()) { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oDocumentTransaction = & new DocumentTransaction($fDocumentID, "Document sent for web publishing", UPDATE); + $oDocumentTransaction->create(); + $oDocument = Document::get($fDocumentID); + DocumentCollaboration::notifyWebMaster($fDocumentID, $fComment); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("The document has been marked as pending publishing and the web publisher has been notified"); + $main->render(); + + } else { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oDocument = Document::get($fDocumentID); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getEditPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setErrorMessage("An error occured while attempting to update the document for publishing"); + $main->render(); + } + } else { + // prompt for the website to publish to + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + $oDocument = Document::get($fDocumentID); + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(getWebPublishPage($oDocument)); + $main->setCentralPayload($oPatternCustom); + $main->setFormAction($_SERVER['PHP_SELF']); + $main->setHasRequiredFields(true); + $main->render(); + } + + } else if (Permission::userHasDocumentWritePermission($fDocumentID) || Permission::userHasDocumentReadPermission($fDocumentID)) { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionEngine.inc"); + + $oDocument = & Document::get($fDocumentID); + + // check subscription flag + if (isset($fFireSubscription)) { + // fire subscription alerts for the modified document + $count = SubscriptionEngine::fireSubscription($fDocumentID, SubscriptionConstants::subscriptionAlertType("ModifyDocument"), + SubscriptionConstants::subscriptionType("DocumentSubscription"), + array( "folderID" => $oDocument->getFolderID(), + "modifiedDocumentName" => $oDocument->getName())); + $default->log->info("viewBL.php fired $count subscription alerts for modified document $fFolderName"); + } + + $oPatternCustom = & new PatternCustom(); + if ($oDocument->isLive()) { + if (Permission::userHasDocumentWritePermission($fDocumentID)) { + $oPatternCustom->setHtml(getEditPage($oDocument)); + } else if (Permission::userHasDocumentReadPermission($fDocumentID)) { + $oPatternCustom->setHtml(getViewPage($oDocument)); + } + } else if ($oDocument->isArchived()) { + // cancel + $oPatternCustom->setHtml("graphicsUrl/widgets/back.gif\" border=\"0\" />\n"); + $main->setErrorMessage("This document has been archived."); + } + $main->setCentralPayload($oPatternCustom); + //$main->setOnLoadJavaScript("switchDiv('documentData')"); + $main->setFormAction("$default->rootUrl/control.php?action=modifyDocument&fDocumentID=" . $oDocument->getID()); + $main->render(); + } else { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml("graphicsUrl/widgets/back.gif\" border=\"0\" />\n"); + $main->setErrorMessage("Either you do not have permission to view this document, or the document you have chosen no longer exists on the file system."); + $main->setCentralPayload($oPatternCustom); + $main->render(); + } + } else { + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); + + $oPatternCustom = & new PatternCustom(); + $oPatternCustom->setHtml(""); + $main->setErrorMessage("You have not chosen a document to view"); + $main->setCentralPayload($oPatternCustom); + $main->render(); + } +} + +?> + + diff --git a/tests/documentmanagement/viewUI.inc b/tests/documentmanagement/viewUI.inc new file mode 100644 index 0000000..a0d0394 --- /dev/null +++ b/tests/documentmanagement/viewUI.inc @@ -0,0 +1,559 @@ +siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"]))); + $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td"); + $sDocumentPath = displayFolderPathLink(Folder::getFolderPathAsArray($oDocument->getFolderID()), Folder::getFolderPathNamesAsArray($oDocument->getFolderID()), "$default->rootUrl/control.php?action=browse") . " > "; + $sDocumentPath .= "rootUrl/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewBL.php?fDocumentID=" . $oDocument->getID() . "&fForInlineView=1\">" . $oDocument->getName() . ""; + return "
$sDocumentPath
\n"; +} + +function renderDocumentData($oDocument, $bEditable) { + global $default; + $sQuery = "SELECT D.name, D.modified, DTT.datetime AS created, U.name AS initiator, CONCAT(CONCAT(D.major_version, '.'), D.minor_version) AS version, WDSL.name AS status, DTL.name AS document_type, D.is_checked_out, COALESCE(U2.name, '') AS c_user " . + "FROM $default->owl_documents_table AS D INNER JOIN $default->owl_web_documents_table AS WD ON WD.document_id = D.ID " . + "INNER JOIN $default->owl_web_documents_status_table AS WDSL ON WD.status_id = WDSL.id " . + "INNER JOIN $default->owl_users_table AS U ON U.id = D.creator_id " . + "INNER JOIN $default->owl_document_transactions_table AS DTT ON DTT.document_id = D.id " . + "INNER JOIN $default->owl_transaction_types_table AS TT ON DTT.transaction_id = TT.id " . + "INNER JOIN $default->owl_document_types_table AS DTL ON DTL.id = D.document_type_id " . + "LEFT OUTER JOIN $default->owl_users_table AS U2 ON U2.id = D.checked_out_user_id " . + "WHERE D.id = " . $oDocument->getID() . " " . + "AND TT.name LIKE 'Create'"; + + $aColumns = array("name", "modified", "created", "initiator", "document_type", "version", "status", "c_user"); + $aColumnNames = array("Document title", "Last updated", "Created", "Document initiator", "Document Type", "Version", "Status", "Checked out by"); + $aColumnTypes = array(1,1,1,1,1,1,1,1); + $oPatternListFromQuery = & new PatternListFromQuery($sQuery, $aColumns, $aColumnNames, $aColumnTypes); + $oPatternListFromQuery->setTableHeading("Document Data"); + $oPatternListFromQuery->setTableWidth("100%"); + + $sToRender = ""; + return $sToRender; +} + +function renderEditableLinkedDocuments($oDocument) { + global $default; + + $sQuery = "SELECT D.id AS child_document_id, D.name, DL.id as document_link_id, DL.parent_document_id AS parent_document_id, 'Unlink' AS unlink " . + "FROM documents AS D INNER JOIN document_link AS DL ON D.id = DL.child_document_id " . + "WHERE DL.parent_document_id = " . $oDocument->getID(); + + $aColumns = array("name", "unlink"); + $aColumnHeaders = array("Document"); + $aColumnTypes = array(3,3); + $aDBColumnArray = array("parent_document_id", "child_document_id","document_link_id"); + $aQueryStringVariableNames = array("fParentDocumentID","fChildDocumentID", "fDocumentLinkID"); + $aLinkURLs = array(0=>"$default->rootUrl/control.php?action=viewDocument", 1=>"$default->rootUrl/control.php?action=removeDocumentLink"); + + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "100%", $aLinkURLs,$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Linked documents"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + + $sToRender .= ""; + return $sToRender; +} + +function renderNonEditableLinkedDocuments($oDocument) { + global $default; + + $sQuery = "SELECT D.id, D.name, 'Delete' AS del " . + "FROM documents AS D INNER JOIN document_link AS DL ON D.id = DL.child_document_id " . + "WHERE DL.parent_document_id = " . $oDocument->getID(); + + $aColumns = array("name","del"); + $aColumnNames = array("Document"); + $aColumnTypes = array(1,3); + + $oPatternListFromQuery = & new PatternListFromQuery($sQuery, $aColumns, $aColumnNames, $aColumnTypes); + $oPatternListFromQuery->setTableHeading("Linked documents"); + $oPatternListFromQuery->setTableWidth("100%"); + return $oPatternListFromQuery->render(); +} + + +function renderGenericMetaData($oDocument) { + global $default; + $sQuery = "SELECT DF.name AS name, DFL.value as value " . + "FROM $default->owl_documents_table AS D INNER JOIN $default->owl_document_fields_table AS DFL ON D.id = DFL.document_id " . + "INNER JOIN $default->owl_fields_table AS DF ON DF.id = DFL.document_field_id " . + "WHERE document_id = " . $oDocument->getID() . " " . + "AND DF.is_generic = 1"; + $aColumns = array("name", "value"); + $aColumnHeaders = array("Tag", "Value"); + $aColumnTypes = array(1,1); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "100%"); + $oPatternTableSqlQuery->setTableHeading("Generic Meta Data"); + + $sToRender .= ""; + return $sToRender; +} + +function renderTypeSpecificMetaData($oDocument) { + global $default; + + $sQuery = "SELECT DF.name AS name, DFL.value AS value " . + "FROM documents AS D INNER JOIN document_fields_link AS DFL ON D.id = DFL.document_id " . + "INNER JOIN document_fields AS DF ON DF.ID = DFL.document_field_id " . + "WHERE D.id = " . $oDocument->getID() . " " . + "AND DF.name NOT LIKE 'Author' " . + "AND DF.name NOT LIKE 'Category' " . + "AND DF.is_generic = 0"; + $aColumns = array("name", "value"); + $aColumnHeaders = array("Tag", "Value"); + $aColumnTypes = array(1,1); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "100%"); + $oPatternTableSqlQuery->setTableHeading("Type Specific Meta Data"); + $oPatternTableSqlQuery->setEmptyTableMessage("No Type Specific Meta Data"); + + $sToRender .= ""; + return $sToRender; +} + +function renderEditableDocumentRouting($oDocument) { + global $default; + $sQuery = "SELECT D.id as document_id, GFAL.id as id, R.name AS role_name, COALESCE(U.Name, 'Not assigned') AS name, GFAL.precedence AS precedence, COALESCE(FURL.active,0) AS active, COALESCE(FURL.done, 0) AS done, 'Edit' as edit " . + "FROM documents AS D INNER JOIN $default->owl_groups_folders_approval_table AS GFAL ON D.folder_id = GFAL.folder_id " . + "INNER JOIN roles AS R ON GFAL.role_id = R.id " . + "LEFT OUTER JOIN folders_users_roles_link AS FURL ON FURL.group_folder_approval_id = GFAL.id AND FURL.document_id = D.id " . + "LEFT OUTER JOIN users AS U ON FURL.user_id = U.id " . + "WHERE D.id = " . $oDocument->getID() . " " . + "ORDER BY GFAL.precedence, role_name ASC"; + $aColumns = array("role_name", "name", "precedence", "active", "done", "edit"); + $aColumnHeaders = array("Role", "User", "Seq", "Active", "Done", ""); + $aColumnTypes = array(1,1,1,1,1,3); + $aDBColumnArray = array("id","document_id","active","done"); + $aQueryStringVariableNames = array("fFolderCollaborationID", "fDocumentID","fIsActive","fIsDone"); + $aLinkURLs = array(5=>"$default->rootUrl/control.php?action=modifyDocumentRouting"); + + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "100%", $aLinkURLs,$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Document Routing"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + + $sToRender .= ""; + return $sToRender; + +} + +function renderNonEditableDocumentRouting($oDocument) { + global $default; + $sQuery = "SELECT D.id as document_id, GFAL.id as id, R.name AS role_name, COALESCE(U.Name, 'Not assigned') AS name, GFAL.precedence AS precedence, COALESCE(FURL.active,0) AS active, COALESCE(FURL.done, 0) AS done " . + "FROM documents AS D INNER JOIN $default->owl_groups_folders_approval_table AS GFAL ON D.folder_id = GFAL.folder_id " . + "INNER JOIN roles AS R ON GFAL.role_id = R.id " . + "LEFT OUTER JOIN folders_users_roles_link AS FURL ON FURL.group_folder_approval_id = GFAL.id AND FURL.document_id = D.id " . + "LEFT OUTER JOIN users AS U ON FURL.user_id = U.id " . + "WHERE D.id = " . $oDocument->getID() . " " . + "ORDER BY GFAL.precedence, role_name ASC"; + + $aColumns = array("role_name", "name", "precedence", "active", "done"); + $aColumnHeaders = array("Role", "User", "Seq", "Active", "Done"); + $aColumnTypes = array(1,1,1,1,1); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "100%", "$default->rootUrl/control.php?action=modifyDocumentRouting",$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Document Routing"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + return $oPatternTableSqlQuery->render(); + +} + +function renderDocumentArchiveSettings($oDocument) { + global $default; + $sQuery = "SELECT d.id, atl.name, 'Edit' AS edit FROM $default->owl_document_archiving_table AS da " . + "INNER JOIN $default->owl_archiving_type_lookup_table AS atl ON da.archiving_type_id=atl.id " . + "INNER JOIN $default->owl_documents_table AS d ON da.document_id=d.id " . + "WHERE d.id = " . $oDocument->getID(); + + $aColumns = array("name", "edit"); + $aColumnHeaders = array("Archiving Type"); + $aColumnTypes = array(1,3); + $aDBColumnArray = array("id"); + $aQueryStringVariableNames = array("f "); + $aLinkURLs = array(1=>"$default->rootUrl/control.php?action=modifyDocumentArchiveSettings"); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "100%", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Archiving Settings"); + $oPatternTableSqlQuery->setEmptyTableMessage("No archiving settings"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + + $sToRender .= ""; + return $sToRender; +} + +function displayActionButtons($oDocument, $bEdit) { + global $default; + if ($bEdit) { + // display the check in button if the document is checked out and you checked the document out + if ($oDocument->getIsCheckedOut() && ($oDocument->getCheckedOutUserID() == $_SESSION["userID"])) { + $sToRender = "graphicsUrl/widgets/checkin.gif\" border=\"0\" />\n"; + // otherwise display the check out button + } else { + $sToRender = "graphicsUrl/widgets/checkout.gif\" border=\"0\" />\n"; + } + } + + $sToRender .= "graphicsUrl/widgets/email.gif\" border=\"0\" />\n"; + if ($bEdit) { + $sToRender .= "graphicsUrl/widgets/delete.gif\" border=\"0\" />\n"; + } + $sToRender .= "graphicsUrl/widgets/history.gif\" border=\"0\" />\n"; + if ($bEdit) { + $sToRender .= "graphicsUrl/widgets/move.gif\" border=\"0\" />\n"; + } + + // display the unsubscribe button if the user is subscribed to the document + if (Subscription::exists($_SESSION["userID"], $oDocument->getID(), SubscriptionConstants::subscriptionType("DocumentSubscription"))) { + $sToRender .= "graphicsUrl/widgets/unsubscribe.gif\" border=\"0\" />\n"; + // otherwise display the subscribe button + } else { + $sToRender .= "graphicsUrl/widgets/subscribe.gif\" border=\"0\" />\n"; + } + $sToRender .= "graphicsUrl/widgets/download.gif\" border=\"0\" />\n"; + $sToRender .= "graphicsUrl/widgets/discussion.gif\" border=\"0\" />\n"; + // only display the archive button for available documents + if (!$oDocument->getIsCheckedOut() || !$oDocument->hasCollaboration() || (!DocumentCollaboration::documentCollaborationStarted($oDocument->getID()))) { + $sToRender .= "graphicsUrl/widgets/archive.gif\" border=\"0\" />\n"; + } + + return $sToRender; +} + +function renderDiv($sDivName, $sHtml) { + return ""; +} + +function getEditPage($oDocument) { + global $default; + $iDocumentID = $oDocument->getID(); + + $sToRender = renderHeading("Document Detail") . renderDocumentPath($oDocument) . "\n\n"; + + $sToRender .= renderHeading("Document Data"); + $sToRender .= renderHeading("Generic Meta Data"); + $sToRender .= renderHeading("Type Specific Meta Data"); + $sToRender .= renderHeading("Archive Settings"); + $sToRender .= renderHeading("Document Routing"); + $sToRender .= renderHeading("Linked Documents"); + + $sToRender .= renderDocumentData($oDocument, true); + $sToRender .= renderTypeSpecificMetaData($oDocument); + $sToRender .= renderDocumentArchiveSettings($oDocument); + $sToRender .= renderEditableLinkedDocuments($oDocument); + $sToRender .= renderEditableDocumentRouting($oDocument); + $sToRender .= renderGenericMetaData($oDocument); + + $sToRender .= "
"; + $sToRender .= "\n"; + $sToRender .= displayActionButtons($oDocument, true); + $sToRender .= "
\n"; + $sToRender .= "
"; + + return $sToRender; +} + +function getViewPage($oDocument) { + global $default; + $iDocumentID = $oDocument->getID(); + $sToRender = renderHeading("Document Detail") . renderDocumentPath($oDocument) . "\n
\n"; + + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= displayActionButtons($oDocument, false); + $sToRender .= "\n"; + $sToRender .= "
\n"; + + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t
" . renderDocumentData($oDocument) . "
" . renderGenericMetaData($oDocument) . "
" . renderTypeSpecificMetaData($oDocument) . "
\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + if (DocumentCollaboration::userIsPerformingCurrentCollaborationStep($oDocument->getID())) { + //if the current user is responsible for an active step in the collaboration process + $sToRender .= "\t\t\n"; + } + $sToRender .= "\t
" . renderNonEditableDocumentRouting($oDocument) . "
\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\t
You currently have an active role
in the collaboration process
graphicsUrl/widgets/approve.gif\" border=\"0\"/>rootUrl/control.php?action=collaborationStepReject&fDocumentID=$iDocumentID\">graphicsUrl/widgets/reject.gif\" border=\"0\"/>
"; + $sToRender .= "
"; + + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= displayActionButtons($oDocument, false); + $sToRender .= "\n"; + $sToRender .= "
\n"; + + return $sToRender; +} + +/** + * Displays the document view page with additional input controls + * for checking out the document + * + * @param object the document to view and check out + */ +function getCheckOutEditPage($oDocument, $bCheckedOut = false) { + global $default; + $sToRender = renderHeading("Document Detail") . renderDocumentPath($oDocument) . "\n
\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t
" . renderDocumentData($oDocument) . "
" . renderGenericMetaData($oDocument) . "
" . renderTypeSpecificMetaData($oDocument) . "
\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + if ($bCheckedOut) { + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t\n"; + $sToRender .= "\n"; + } else { + $sToRender .= "\t\t\n"; + } + $sToRender .= "\t"; + $sToRender .= "\t
" . renderNonEditableDocumentRouting($oDocument) . "
You have now checked out this document. No one else can make updates to the document while you have it checked out. Click the Download button to get the latest version of the file. Please check it back in, as soon as you finish working on it.
rootUrl/control.php?action=viewDocument&fDocumentID=" . $oDocument->getID() . "&fForDownload=1\">graphicsUrl/widgets/download.gif\" border=\"0\" />\n"; + $sToRender .= "rootUrl/control.php?action=viewDocument&fDocumentID=" . $oDocument->getID() . "\">graphicsUrl/widgets/back.gif\" border=\"0\" />" . renderCheckOutPage($oDocument) . "
"; + $sToRender .= "
"; + + return $sToRender; +} + +/** + * Displays the document view page with additional input controls + * for checking in the document + * + * @param object the document to view and check out + */ +function getCheckInEditPage($oDocument) { + global $default; + $sToRender = renderHeading("Document Detail") . renderDocumentPath($oDocument) . "\n
\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t
" . renderDocumentData($oDocument) . "
" . renderGenericMetaData($oDocument) . "
" . renderTypeSpecificMetaData($oDocument) . "
\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t
" . renderNonEditableDocumentRouting($oDocument) . "
" . renderCheckInPage($oDocument) . "
"; + $sToRender .= "
"; + + return $sToRender; +} + +function getWebPublishPage($oDocument) { + global $default; + + $oPatternListBox = & new PatternListBox($default->owl_web_sites_table, "web_site_name", "id", "fWebSiteID"); + + $sToRender = renderHeading("Document Detail") . renderDocumentPath($oDocument) . "\n
\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t
" . renderDocumentData($oDocument) . "
" . renderGenericMetaData($oDocument) . "
" . renderTypeSpecificMetaData($oDocument) . "
\n"; + $sToRender .= "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t
" . renderNonEditableDocumentRouting($oDocument) . "
Choose the website to publish to:
" . $oPatternListBox->render() . "
Enter a comment for the web master:
graphicsUrl/widgets/publish.gif\" border=\"0\"/>"; + $sToRender .= "\t\trootUrl/control.php?action=viewDocument&fDocumentID=" . $oDocument->getID() . "\">graphicsUrl/widgets/cancel.gif\" border=\"0\" />
"; + $sToRender .= "
"; + + $sToRender .= "\n\n\n\n"; + + return $sToRender; +} + +function wrapInTable($sHtml) { + return "\n\t\t\t
$sHtml
\n"; +} + +?> -- libgit2 0.21.4