getFolderID()), Folder::getFolderPathNamesAsArray($oDocument->getFolderID())) . " > " . $oDocument->getName();
return "
\n";
}
function renderEditableDocumentData($oDocument) {
global $default;
$sQuery = "SELECT D.id AS id, D.name AS name " .
"FROM $default->owl_documents_table AS D " .
"WHERE D.id = " . $oDocument->getID();
$aDisplayColumns = array("name");
$aStoreColumns = array("name");
$aColumnNames = array("Document Title");
$aDisplayColumnTypes = array(1);
$aDatabaseColumnTypes = array(1);
$oPatternEditableListFromQuery = & new PatternEditableListFromQuery($sQuery, $default->owl_documents_table, $aDisplayColumns, $aStoreColumns, $aColumnNames, $aDisplayColumnTypes, $aDatabaseColumnTypes);
$oPatternEditableListFromQuery->setUniqueName("dd");
$oPatternEditableListFromQuery->setTableHeading("Document Data");
$oPatternEditableListFromQuery->setColumnsRequired(array(1));
return $oPatternEditableListFromQuery->render();
}
function renderEditableGenericMetaData($oDocument) {
global $default;
$sQuery = "SELECT " . $oDocument->getID() . " AS document_id, COALESCE(DFL.id, -1) AS id, DF.name AS name, DF.id as document_field_id, COALESCE(DFL.value, null) AS value " .
"FROM $default->owl_fields_table AS DF LEFT OUTER JOIN $default->owl_document_fields_table AS DFL ON DFL.document_field_id = DF.id " .
"RIGHT OUTER JOIN documents AS D ON D.id = DFL.document_id " .
"WHERE DF.is_generic = 1 " .
"AND D.id = " . $oDocument->getID();
$aStoreColumnNames = array("document_id", "document_field_id","value");
$aDisplayColumnNames = array("document_id", "name", "value");
$aColumnsEditable = array(0,0,1);
$aColumnsVisible = array(0,1,1);
$aColumnDisplayTypes = array(1,1,1);
$aColumnDatabaseTypes = array(0,0,1);
$oPatternTableSqlQuery = & new PatternEditableTableSqlQuery($sQuery, "document_fields_link", $aStoreColumnNames, $aDisplayColumnNames, $aColumnsEditable, $aColumnsVisible, $aColumnDisplayTypes, $aColumnDatabaseTypes);
$oPatternTableSqlQuery->setTableCaption("Generic Meta Data");
$oPatternTableSqlQuery->setUniqueName("gmd");
return $oPatternTableSqlQuery->render();
}
function renderEditableTypeSpecificMetaData($oDocument) {
global $default;
$sQuery = "SELECT COALESCE(DFL.id, -1) AS id, " . $oDocument->getID() . " AS document_id, DTFL.document_type_id AS document_type_id, DTL.name AS document_type_name, DTFL.field_id AS document_field_id, DF.name AS field_name, DFL.value AS value, DTFL.is_mandatory AS is_mandatory " .
"FROM $default->owl_document_type_fields_table AS DTFL INNER JOIN $default->owl_folders_table AS F ON F.document_type_id = DTFL.document_type_id " .
"INNER JOIN $default->owl_documents_table AS D ON D.folder_id = F.id " .
"INNER JOIN $default->owl_document_types_table AS DTL ON DTL.id = DTFL.document_type_id " .
"INNER JOIN $default->owl_fields_table AS DF ON DTFL.field_id = DF.id " .
"LEFT OUTER JOIN $default->owl_document_fields_table AS DFL ON DFL.document_field_id = DF.id " .
"WHERE D.id = " . $oDocument->getID() . " " .
"AND DF.is_generic = 0 ";
$aStoreColumnNames = array("document_id", "document_field_id", "value");
$aDisplayColumnNames = array("document_id", "field_name", "value");
$aColumnsEditable = array(0,0,1);
$aColumnsVisible = array(0,1,1);
$aColumnDisplayTypes = array(1,1,1);
$aColumnDatabaseTypes = array(0,0,1);
$oPatternTableSqlQuery = & new PatternEditableTableSqlQuery($sQuery, "document_fields_link", $aStoreColumnNames, $aDisplayColumnNames, $aColumnsEditable, $aColumnsVisible, $aColumnDisplayTypes, $aColumnDatabaseTypes);
$oPatternTableSqlQuery->setTableCaption("Type specific meta data");
$oPatternTableSqlQuery->setUniqueName("tsmd");
return $oPatternTableSqlQuery->render();
}
function renderPage($oDocument) {
global $default;
$sToRender = "\n";
$sToRender .= "\n";
$sToRender .= "| \n";
$sToRender .= wrapInTable(renderEditableDocumentData($oDocument)) . "\n";
$sToRender .= " |
\n";
$sToRender .= "\n";
$sToRender .= "| \n";
$sToRender .= wrapInTable(renderEditableGenericMetaData($oDocument)) . "\n";
$sToRender .= " | \n";
$sToRender .= "
\n";
$sToRender .= "\n";
$sToRender .= "| \n";
$sToRender .= wrapInTable(renderEditableTypeSpecificMetaData($oDocument)) . "\n";
$sToRender .= " | \n";
$sToRender .= "
\n";
$sToRender .= "
\n";
$sToRender .= "\n";
return $sToRender;
}
function wrapInTable($sHtml) {
return "\n\t\t\t\n";
}
?>