getFolderID()), Folder::getFolderPathNamesAsArray($oDocument->getFolderID()), "$default->rootUrl/control.php?action=browse") . " > " . $oDocument->getName() . ""; return "
$sDocumentPath
\n"; } function renderDocumentData($oDocument) { 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 " . "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 " . "WHERE D.id = " . $oDocument->getID() . " " . "AND TT.name LIKE 'Create'"; $aColumns = array("name", "modified", "created", "initiator", "version", "status"); $aColumnNames = array("Document title", "Last updated", "Created", "Document initiator", "Version", "Status"); $aColumnTypes = array(1,1,1,1,1); $oPatternListFromQuery = & new PatternListFromQuery($sQuery, $aColumns, $aColumnNames, $aColumnTypes); $oPatternListFromQuery->setTableHeading("Document Data"); $oPatternListFromQuery->setTableWidth("90%"); 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, "90%"); $oPatternTableSqlQuery->setTableHeading("Generic Meta Data"); return $oPatternTableSqlQuery->render(); } function renderTypeSpecificMetaData($oDocument) { $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, "90%"); $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, '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 " . "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", "Player", "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 " . "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 " . "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"); $aColumnHeaders = array("Role", "Player", "Seq"); $aColumnTypes = array(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(); } function getEditPage($oDocument) { global $default; $sToRender = renderDocumentPath($oDocument) . "\n
\n"; $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\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; //$sToRender .= "\t\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t
" . wrapInTable(renderDocumentData($oDocument)) . "" . renderGenericDocumentMetaData($oDocument) . "
" . wrapInTable(renderGenericMetaData($oDocument)) . "
" . wrapInTable(renderTypeSpecificMetaData($oDocument)) . "" . renderTypeSpecificMetaData($oDocument) . "
\n"; $sToRender .= "
\n"; //$sToRender .= "\t\n"; $sToRender .= "\t
\n"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; //$sToRender .= "\t\t\n"; $sToRender .= "\t"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; //$sToRender .= "\t\t\n"; $sToRender .= "\t"; $sToRender .= "\t
" . wrapInTable(renderEditableDocumentRouting($oDocument)) . "" . renderDocumentRouting($oDocument) . "
graphicsUrl/widgets/begin.gif\" border=\"0\"/>" . renderDocumentRouting($oDocument) . "
"; $sToRender .= "
\n"; $sToRender .= "\n"; $sToRender .= "\n"; //$sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; // display the check in button if the document is checked out if ($oDocument->getIsCheckedOut()) { $sToRender .= "\n"; // otherwise display the check out button } else { $sToRender .= "\n"; } // display the unsubscribe button if the user is subscribed to the document if (Subscription::exists($_SESSION["userID"], $oDocument->getID(), SubscriptionConstants::subscriptionType("DocumentSubscription"))) { $sToRender .= "\n"; // otherwise display the subscribe button } else { $sToRender .= "\n"; } $sToRender .= "\n"; $sToRender .= "
graphicsUrl/widgets/edit.gif\" border=\"0\">graphicsUrl/widgets/download.gif\" border=\"0\" />graphicsUrl/widgets/email.gif\" border=\"0\" />graphicsUrl/widgets/delete.gif\" border=\"0\" />graphicsUrl/widgets/checkin.gif\" border=\"0\" />graphicsUrl/widgets/checkout.gif\" border=\"0\" />graphicsUrl/widgets/unsubscribe.gif\" border=\"0\" />graphicsUrl/widgets/subscribe.gif\" border=\"0\" />
\n"; return $sToRender; } function getViewPage($oDocument) { global $default; $sToRender = 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\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; //$sToRender .= "\t\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t
" . wrapInTable(renderDocumentData($oDocument)) . "" . renderGenericDocumentMetaData($oDocument) . "
" . wrapInTable(renderGenericMetaData($oDocument)) . "
" . wrapInTable(renderTypeSpecificMetaData($oDocument)) . "" . renderTypeSpecificMetaData($oDocument) . "
\n"; $sToRender .= "
\n"; $sToRender .= "\t\n"; $sToRender .= "\t\n"; $sToRender .= "\t\t\n"; //$sToRender .= "\t\t\n"; $sToRender .= "\t"; $sToRender .= "\t
" . wrapInTable(renderNonEditableDocumentRouting($oDocument)) . "" . renderDocumentRouting($oDocument) . "
"; $sToRender .= "
"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; // display the unsubscribe button if the user is subscribed to the document if (Subscription::exists($_SESSION["userID"], $oDocument->getID(), SubscriptionConstants::subscriptionType("DocumentSubscription"))) { $sToRender .= "\n"; // otherwise display the subscribe button } else { $sToRender .= "\n"; } $sToRender .= "\n"; $sToRender .= "
graphicsUrl/widgets/download.gif\" border=\"0\" />graphicsUrl/widgets/email.gif\" border=\"0\" />graphicsUrl/widgets/unsubscribe.gif\" border=\"0\" />graphicsUrl/widgets/subscribe.gif\" border=\"0\" />
\n"; return $sToRender; } function wrapInTable($sHtml) { return "\n\t\t\t
$sHtml
\n"; } ?>