diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc index e59ebdd..b786c28 100644 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc +++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc @@ -1,28 +1,34 @@ 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"; + $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td"); + if ($bDisplayActions) { + $sDocumentPath = displayFolderPathLink(Folder::getFolderPathAsArray($oDocument->getFolderID()), Folder::getFolderPathNamesAsArray($oDocument->getFolderID()), "$default->rootUrl/control.php?action=browse") . " > "; + $sDocumentPath .= "" . $oDocument->getName() . ""; + //$sDocumentPath .= generateControllerLink("viewDocument", "fDocumentID=" . $oDocument->getID() . "&fForInlineView=1", $oDocument->getName()); + } else { + $sDocumentPath = $oDocument->getDisplayPath(); + } + return "" . ($bDisplayActions ? "" : "") . "
$sDocumentPathActions
\n"; } -function renderDocumentData($oDocument) { +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 " . @@ -40,50 +46,24 @@ function renderDocumentData($oDocument) { $aColumnTypes = array(1,1,1,1,1,1,1,1); $oPatternListFromQuery = & new PatternListFromQuery($sQuery, $aColumns, $aColumnNames, $aColumnTypes); $oPatternListFromQuery->setTableHeading("Document Data"); - $oPatternListFromQuery->setTableWidth("90%"); - return $oPatternListFromQuery->render(); -} - -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); - return $oPatternTableSqlQuery->render(); - -} + $oPatternListFromQuery->setTableWidth("400"); + + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + if ($bEditable) { + $sToRender .= "\t\n"; + $sToRender .= "\n"; + $sToRender .= "\t\n"; + } + $sToRender .= "\t
" . $oPatternListFromQuery->render() . "
rootUrl/control.php?action=modifyDocument&fDocumentID=" . $oDocument->getID() . "\">graphicsUrl/widgets/edit.gif\" border=\"0\">
\n"; -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("90%"); - return $oPatternListFromQuery->render(); + return $sToRender; } -function renderGenericMetaData($oDocument) { +function renderGenericMetaData($oDocument, $sDivName, $bEditable) { 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 " . @@ -93,13 +73,26 @@ function renderGenericMetaData($oDocument) { $aColumns = array("name", "value"); $aColumnHeaders = array("Tag", "Value"); $aColumnTypes = array(1,1); - $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%"); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "540"); $oPatternTableSqlQuery->setTableHeading("Generic Meta Data"); - return $oPatternTableSqlQuery->render(); - + + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + if ($bEditable) { + $sToRender .= "\t\n"; + $sToRender .= "\n"; + $sToRender .= "\t\n"; + } + $sToRender .= "\t
" . $oPatternTableSqlQuery->render() . "
rootUrl/control.php?action=modifyDocumentGenericMetaData&fDocumentID=" . $oDocument->getID() . "\">graphicsUrl/widgets/edit.gif\" border=\"0\">
\n"; + + return renderSectionDiv($sDivName, $sToRender); } -function renderTypeSpecificMetaData($oDocument) { +function renderTypeSpecificMetaData($oDocument, $sDivName, $bEditable) { + 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 " . @@ -110,58 +103,25 @@ function renderTypeSpecificMetaData($oDocument) { $aColumns = array("name", "value"); $aColumnHeaders = array("Tag", "Value"); $aColumnTypes = array(1,1); - $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%"); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "540"); $oPatternTableSqlQuery->setTableHeading("Type Specific Meta Data"); $oPatternTableSqlQuery->setEmptyTableMessage("No Type Specific Meta Data"); - return $oPatternTableSqlQuery->render(); -} - -function renderEditableDocumentRouting($oDocument) { - global $default; - $sQuery = "SELECT D.id as document_id, GFAL.id as id, R.name AS role_name, COALESCE(U.Name, U2.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 users AS U2 ON U2.id = GFAL.user_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, "10%", $aLinkURLs,$aDBColumnArray,$aQueryStringVariableNames); - $oPatternTableSqlQuery->setTableHeading("Document Routing"); - $oPatternTableSqlQuery->setDisplayColumnHeadings(true); - return $oPatternTableSqlQuery->render(); - -} - -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, "10%", "$default->rootUrl/control.php?action=modifyDocumentRouting",$aDBColumnArray,$aQueryStringVariableNames); - $oPatternTableSqlQuery->setTableHeading("Document Routing"); - $oPatternTableSqlQuery->setDisplayColumnHeadings(true); - return $oPatternTableSqlQuery->render(); - + + $sToRender .= "\t\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\n"; + if ($bEditable) { + $sToRender .= "\t\n"; + $sToRender .= "\n"; + $sToRender .= "\t\n"; + } + $sToRender .= "\t
" . $oPatternTableSqlQuery->render() . "
rootUrl/control.php?action=modifyDocumentTypeMetaData&fDocumentID=" . $oDocument->getID() . "\">graphicsUrl/widgets/edit.gif\" border=\"0\">
\n"; + return renderSectionDiv($sDivName, $sToRender); } -function renderDocumentArchiveSettings($oDocument) { - global $default; +function renderEditableDocumentArchiveSettings($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 " . @@ -173,111 +133,74 @@ function renderDocumentArchiveSettings($oDocument) { $aDBColumnArray = array("id"); $aQueryStringVariableNames = array("fDocumentID"); $aLinkURLs = array(1=>"$default->rootUrl/control.php?action=modifyDocumentArchiveSettings"); - $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "90%", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "540", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames); $oPatternTableSqlQuery->setTableHeading("Archiving Settings"); $oPatternTableSqlQuery->setEmptyTableMessage("No archiving settings"); $oPatternTableSqlQuery->setDisplayColumnHeadings(true); return $oPatternTableSqlQuery->render(); } -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"; - } +function renderNonEditableDocumentArchiveSettings($oDocument) { + global $default; + $sQuery = "SELECT d.id, atl.name 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(); - $sToRender .= "graphicsUrl/widgets/archive.gif\" border=\"0\" />\n"; - - return $sToRender; + $aColumns = array("name"); + $aColumnHeaders = array("Archiving Type"); + $aColumnTypes = array(1); + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "540", $aLinkURLs ,$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Archiving Settings"); + $oPatternTableSqlQuery->setEmptyTableMessage("No archiving settings"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + return $oPatternTableSqlQuery->render(); } -function getEditPage($oDocument) { - global $default; - $iDocumentID = $oDocument->getID(); - $sToRender = renderHeading("Document Detail") . renderDocumentPath($oDocument) . "\n
\n"; - - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= displayActionButtons($oDocument, true); - $sToRender .= "\n"; - $sToRender .= "
\n"; - - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\t\t\n"; - $sToRender .= "\t"; - - $sToRender .= "\t\n"; + return renderSectionDiv($sDivName, $sToRender); +} + +function renderEditableDocumentRouting($oDocument, $sDivName) { + 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, "540", $aLinkURLs,$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Document Routing"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + $sToRender .= "\t
\n"; - - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t\t\n"; - - $sToRender .= "\t\n"; - $sToRender .= "\t\n"; - $sToRender .= "\n"; - $sToRender .= "\t\n"; - $sToRender .= "\t
" . renderDocumentData($oDocument) . "
rootUrl/control.php?action=modifyDocument&fDocumentID=$iDocumentID\">graphicsUrl/widgets/edit.gif\" border=\"0\">
" . renderGenericMetaData($oDocument) . "
rootUrl/control.php?action=modifyDocumentGenericMetaData&fDocumentID=$iDocumentID\">graphicsUrl/widgets/edit.gif\" border=\"0\">
" . renderTypeSpecificMetaData($oDocument) . "
rootUrl/control.php?action=modifyDocumentTypeMetaData&fDocumentID=$iDocumentID\">graphicsUrl/widgets/edit.gif\" border=\"0\">
\n"; - $sToRender .= "
\n"; - - $sToRender .= "\t\n"; - +function renderDocumentArchiveSettings($oDocument, $sDivName, $bEditable) { + global $default; + + $sToRender .= "\t
\n"; $sToRender .= "\t\n"; - $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; $sToRender .= "\t"; - // if there are no archiving settings then allow their addition - $oDocumentArchiving = DocumentArchiving::getFromDocumentID($iDocumentID); - if (!$oDocumentArchiving) { - $sToRender .= "\t\n"; - $sToRender .= "\t\t\n"; + if ($bEditable) { + $sToRender .= "\t\n"; + // if there are no archiving settings then allow their addition + $oDocumentArchiving = DocumentArchiving::getFromDocumentID($oDocument->getID()); + $sToRender .= "\t\t\n"; $sToRender .= "\t"; - } + } + $sToRender .= "\t
" . renderDocumentArchiveSettings($oDocument) . "" . ($bEditable ? renderEditableDocumentArchiveSettings($oDocument) : renderNonEditableDocumentArchiveSettings($oDocument)) . "
rootUrl/control.php?action=addDocumentArchiveSettings&fDocumentID=$iDocumentID\">graphicsUrl/widgets/add.gif\" border=\"0\"/>
" . ($oDocumentArchiving ? "" : generateControllerLink("addDocumentArchiveSettings", "fDocumentID=" . $oDocument->getID(), "graphicsUrl/widgets/add.gif\" border=\"0\"/>")) . "
\n"; - $sToRender .= "\t
" . renderEditableDocumentRouting($oDocument) . "
\n"; + $sToRender .= "\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; + $sToRender .= "\t\n"; // collaboration cannot be started or approved/rejected unless the document is not checked out if (!$oDocument->getIsCheckedOut() && $oDocument->hasCollaboration() && (!DocumentCollaboration::documentCollaborationStarted($oDocument->getID())) && ($_SESSION["userID"] == $oDocument->getCreatorID())) { //if not all collaboration steps have been set, then you cannot start the collaboration process @@ -291,17 +214,16 @@ function getEditPage($oDocument) { // collaboration cannot be started or approved/rejected if the document is checked out if (!$oDocument->getIsCheckedOut()) { $sToRender .= "\t\t\n"; - $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; } $sToRender .= "\t\t
" . $oPatternTableSqlQuery->render() . "
graphicsUrl/widgets/approve.gif\" border=\"0\"/>rootUrl/control.php?action=collaborationStepReject&fDocumentID=$iDocumentID\">graphicsUrl/widgets/reject.gif\" border=\"0\"/>rootUrl/control.php?action=collaborationStepReject&fDocumentID=" . $oDocument->getID() . "\">graphicsUrl/widgets/reject.gif\" border=\"0\"/>
\n"; - } - - if (!DocumentCollaboration::documentIsPendingWebPublishing($iDocumentID) && !DocumentCollaboration::documentIsPublished($iDocumentID)) { + } + if (!DocumentCollaboration::documentIsPendingWebPublishing($oDocument->getID())) { // only display for unpublished documents // if there is collaboration if ($oDocument->hasCollaboration()) { // only display publish button if collaboration is complete and you're the last user in the collaboration process - if (DocumentCollaboration::documentCollaborationDone($oDocument->getID()) && ($_SESSION["userID"] == DocumentCollaboration::getLastCollaboratorID($iDocumentID))) { + if (DocumentCollaboration::documentCollaborationDone($oDocument->getID()) && ($_SESSION["userID"] == DocumentCollaboration::getLastCollaboratorID($oDocument->getID()))) { $sToRender .= "graphicsUrl/widgets/publish.gif\" border=\"0\"/>\n"; } } else if ($_SESSION["userID"] == $oDocument->getCreatorID()) { @@ -311,165 +233,212 @@ function getEditPage($oDocument) { } } $sToRender .= "\t"; - $sToRender .= "\t\n"; - $sToRender .= "\t\t" . renderEditableLinkedDocuments($oDocument) . "\n"; - $sToRender .= "\t"; - $sToRender .= "\t\n"; - $sToRender .= "rootUrl/control.php?action=addDocumentLink&fDocumentID=" . $oDocument->getID() ."\">graphicsUrl/widgets/add.gif\" border=\"0\"/>\n"; - $sToRender .= "\t"; - $sToRender .= "\t"; - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= "\n"; - - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= displayActionButtons($oDocument, true); - $sToRender .= "\n"; - $sToRender .= "
\n"; - - return $sToRender; + $sToRender .= "\t\n"; + + return renderSectionDiv($sDivName, $sToRender); } -function getViewPage($oDocument) { +function renderNonEditableDocumentRouting($oDocument, $sDivName) { 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 .= "\t
\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"; + $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, "540", "$default->rootUrl/control.php?action=modifyDocumentRouting",$aDBColumnArray,$aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Document Routing"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + + $sToRender .= "\t
\n"; $sToRender .= "\t\n"; - $sToRender .= "\t\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\t
" . renderNonEditableDocumentRouting($oDocument) . "" . $oPatternTableSqlQuery->render() . "
\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 .= "\n"; - $sToRender .= "\n"; - $sToRender .= ""; - - $sToRender .= "\n"; - $sToRender .= "\n"; - $sToRender .= displayActionButtons($oDocument, false); - $sToRender .= "\n"; - $sToRender .= "
\n"; - - return $sToRender; + + $sToRender .= "\t\n"; + + return renderSectionDiv($sDivName, $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"; +function renderEditableLinkedDocuments($oDocument, $sDivName) { + 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", "child_document_id"); + $aQueryStringVariableNames = array("fParentDocumentID","fChildDocumentID", "fDocumentLinkID", "fDocumentID"); + $aLinkURLs = array(0=>"$default->rootUrl/control.php?action=viewDocument", 1=>"$default->rootUrl/control.php?action=removeDocumentLink"); + + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "540", $aLinkURLs, $aDBColumnArray, $aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Linked documents"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + + $sToRender .= "\t
\n"; $sToRender .= "\t\n"; - $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t"; $sToRender .= "\t\n"; + $sToRender .= "\n"; + $sToRender .= "\t"; + $sToRender .= "\t
" . renderNonEditableDocumentRouting($oDocument) . "" . $oPatternTableSqlQuery->render() . "
rootUrl/control.php?action=addDocumentLink&fDocumentID=" . $oDocument->getID() ."\">graphicsUrl/widgets/add.gif\" border=\"0\"/>
\n"; + return renderSectionDiv($sDivName, $sToRender); +} + +function renderNonEditableLinkedDocuments($oDocument, $sDivName) { + global $default; + + $sQuery = "SELECT D.id, D.name " . + "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"); + $aColumnHeaders = array("Document"); + $aColumnTypes = array(3); + $aDBColumnArray = array("id"); + $aQueryStringVariableNames = array("fDocumentID"); + $aLinkURLs = array(0=>"$default->rootUrl/control.php?action=viewDocument"); + + $oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaders, "540", $aLinkURLs, $aDBColumnArray, $aQueryStringVariableNames); + $oPatternTableSqlQuery->setTableHeading("Linked documents"); + $oPatternTableSqlQuery->setDisplayColumnHeadings(true); + + $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\t\n"; $sToRender .= "\t"; - $sToRender .= "\t
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) . "" . $oPatternTableSqlQuery->render() . "
"; - $sToRender .= "
"; + $sToRender .= "\t\n"; + return renderSectionDiv($sDivName, $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/docactions/checkin.gif\" border=\"0\" />\n"; + // otherwise display the check out button + } else { + $sToRender .= "graphicsUrl/widgets/docactions/checkout.gif\" border=\"0\" />\n"; + } + } + + $sToRender .= "graphicsUrl/widgets/docactions/email.gif\" border=\"0\" />\n"; + if ($bEdit) { + $sToRender .= "graphicsUrl/widgets/docactions/delete.gif\" border=\"0\" />\n"; + } + $sToRender .= "graphicsUrl/widgets/docactions/history.gif\" border=\"0\" />\n"; + if ($bEdit) { + $sToRender .= "graphicsUrl/widgets/docactions/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/docactions/unsubscribe.gif\" border=\"0\" />\n"; + // otherwise display the subscribe button + } else { + $sToRender .= "graphicsUrl/widgets/docactions/subscribe.gif\" border=\"0\" />\n"; + } + $sToRender .= "graphicsUrl/widgets/docactions/download.gif\" border=\"0\" />\n"; + $sToRender .= "graphicsUrl/widgets/docactions/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/docactions/archive.gif\" border=\"0\" />\n"; + } + $sToRender .= "graphicsUrl/widgets/docactions/dependentdoc.gif\" border=\"0\" />\n"; + 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) { +function renderSectionDiv($sDivName, $sHtml) { + global $default; + + if ( $default->browser == "ie" ) { + return ""; + } else { + return ""; + } +} + +function renderDocumentSection($sHeading) { + return "$sHeading\n"; +} + +function getPage($oDocument, $bEdit, $sHtml = "") { 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 .= "
"; + + if ($sHtml <> "") { + $sToRender .= renderHeading("Document Detail"); + $sToRender .= renderDocumentPath($oDocument, ($sHtml == "")) . "\n\n"; + $sToRender .= $sHtml; + $sToRender .= renderDocumentData($oDocument, $bEdit); + } else { + + if ( $default->browser == "ie" ) { + $sToRender = "
"; + } else { + $sToRender = "
"; + } + $sToRender .= renderHeading("Document Detail"); + $sToRender .= renderDocumentPath($oDocument, ($sHtml == "")) . "\n\n"; + + $sToRender .= ""; + $sToRender .= renderDocumentSection("Document Data"); + $sToRender .= renderDocumentSection("Generic Meta Data"); + $sToRender .= renderDocumentSection("Type Specific Meta Data"); + $sToRender .= renderDocumentSection("Archive Settings"); + $sToRender .= renderDocumentSection("Document Routing"); + $sToRender .= renderDocumentSection("Linked Documents"); + $sToRender .= "
"; + $sToRender .= "
"; + + $sToRender .= renderSectionDiv("documentData", renderDocumentData($oDocument, $bEdit)); + $sToRender .= renderDocumentArchiveSettings($oDocument, "archiveSettings", $bEdit); + if ($bEdit) { + $sToRender .= renderEditableDocumentRouting($oDocument, "documentRouting"); + } else { + $sToRender .= renderNonEditableDocumentRouting($oDocument, "documentRouting"); + } + + $sToRender .= renderGenericMetaData($oDocument, "genericMetaData", $bEdit); + if ($bEdit) { + $sToRender .= renderEditableLinkedDocuments($oDocument, "linkedDocuments"); + } else { + $sToRender .= renderNonEditableLinkedDocuments($oDocument, "linkedDocuments", $bEdit); + } + $sToRender .= renderTypeSpecificMetaData($oDocument, "typeSpecificMetaData", $bEdit); + + if ( $default->browser == "ie" ) { + $sToRender .= "
"; + } else { + $sToRender .= "
"; + } + $sToRender .= "\n"; + $sToRender .= displayActionButtons($oDocument, $bEdit); + $sToRender .= "
\n"; + $sToRender .= "
"; + } - return $sToRender; + return $sToRender; } function getWebPublishPage($oDocument) { @@ -477,57 +446,41 @@ function getWebPublishPage($oDocument) { $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 .= "
" . renderNonEditableDocumentRouting($oDocument) . "
\n"; + $sToRender .= "\t"; $sToRender .= "\t\t\n"; $sToRender .= "\t"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; - $sToRender .= "\t\t\n"; - $sToRender .= "\t\t\n"; - $sToRender .= "\t"; + $sToRender .= "\t"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; $sToRender .= "\t"; $sToRender .= "\t\n"; - $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; $sToRender .= "\t"; + $sToRender .= "\t\t\n"; + $sToRender .= "\t\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; - $sToRender .= "\t"; - $sToRender .= "\t
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 .= "\t"; + $sToRender .= "\n"; - return $sToRender; + $sToRender .= "\n\n\n\n"; + + return getPage($oDocument, false, $sToRender); } -/** - * Wraps html in a bordered table - */ function wrapInTable($sHtml) { return "\n\t\t\t
$sHtml
\n"; } + ?> \ No newline at end of file