modifyUI.inc
5.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
/**
* Presentation data used to modify documents (will be used by modifyBL.inc)
*
* @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa
* @date 24 January 2003
* @package presentation.lookAndFeel.knowledgeTree.documentmanagement
*
*/
function renderDocumentPath($oDocument) {
$sDocumentPath = displayFolderPathLink(Folder::getFolderPathAsArray($oDocument->getFolderID()), Folder::getFolderPathNamesAsArray($oDocument->getFolderID())) . " > " . $oDocument->getName();
return "<table border=1 width = 100%><tr><td>$sDocumentPath</td></tr></table>\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 = "<table border = 0>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>\n";
$sToRender .= wrapInTable(renderEditableDocumentData($oDocument)) . "\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>\n";
$sToRender .= wrapInTable(renderEditableGenericMetaData($oDocument)) . "\n";
$sToRender .= "</td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td>\n";
$sToRender .= wrapInTable(renderEditableTypeSpecificMetaData($oDocument)) . "\n";
$sToRender .= "</td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "</table>\n";
$sToRender .= "<table>\n";
$sToRender .= "<tr>\n";
$sToRender .= "<td><input type=\"image\" src=\"$default->graphicsUrl/widgets/update.gif\" /><td>\n";
$sToRender .= "<td><a href=\"$default->rootUrl/control.php?action=viewDocument&fDocumentID=" . $oDocument->getID() . "\"><img src=\"$default->graphicsUrl/widgets/cancel.gif\" border=\"0\" /></a><td>\n";
$sToRender .= "</tr>\n";
$sToRender .= "</table>\n";
return $sToRender;
}
function wrapInTable($sHtml) {
return "\n\t\t\t<table border = 1, width = 100%><tr><td>$sHtml</td></tr></table>\n";
}
?>