Commit b3e84e193445498f86086c633bb4ea11c5c50c0e

Authored by michael
1 parent 332699b9

updated look and feel and formatted

only allow editing and removal of document types that are not mapped to a document


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1593 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/addDocTypeBL.php
@@ -13,6 +13,7 @@ if (checkSession()) { @@ -13,6 +13,7 @@ if (checkSession()) {
13 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); 13 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
14 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCreate.inc"); 14 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCreate.inc");
15 require_once("addDocTypeUI.inc"); 15 require_once("addDocTypeUI.inc");
  16 + require_once("../adminUI.inc");
16 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentTypeFieldLink.inc"); 17 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentTypeFieldLink.inc");
17 require_once("$default->fileSystemRoot/lib/security/permission.inc"); 18 require_once("$default->fileSystemRoot/lib/security/permission.inc");
18 require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); 19 require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/addDocTypeSuccess.php
@@ -9,51 +9,42 @@ @@ -9,51 +9,42 @@
9 */ 9 */
10 10
11 require_once("../../../../../config/dmsDefaults.php"); 11 require_once("../../../../../config/dmsDefaults.php");
  12 +require_once("../adminUI.inc");
12 13
13 global $default; 14 global $default;
14 -  
15 -if(checkSession())  
16 -{  
17 -  
18 -// include the page template (with navbar)  
19 -require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
20 -  
21 -$Center = "<br></br>\n" ;  
22 -$Center .= "<TABLE BORDER=\"0\" CELLSPACING=\"2\" CELLPADDING=\"2\">\n";  
23 -$Center .= "<tr>\n";  
24 -if($fDocTypeID == -1){  
25 - $Center .= "<td><b>Document Type addition Unsuccessful!</b></td>\n";  
26 - $Center .= "</tr>\n";  
27 - $Center .= "<tr></tr>\n";  
28 - $Center .= "<tr>\n";  
29 - $Center .= "<td>Document Type already exists</td>\n";  
30 - $Center .= "</tr>\n";  
31 -  
32 -}else{  
33 - $Center .= "<td><b>Document Type added Successfully!</b></td>\n";  
34 - $Center .= "</tr>\n";  
35 -  
36 -}  
37 -  
38 -  
39 -$Center .= "<tr></tr>\n";  
40 -$Center .= "<tr></tr>\n";  
41 -$Center .= "<tr></tr>\n";  
42 -$Center .= "<tr></tr>\n";  
43 -$Center .= "<tr>\n";  
44 -$Center .= "<td align = right><a href=\"$default->rootUrl/control.php?action=addDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";  
45 -$Center .= "</tr>\n";  
46 -$Center .= "</table>\n";  
47 -  
48 -  
49 -$oPatternCustom = & new PatternCustom();  
50 -$oPatternCustom->setHtml($Center);  
51 -$main->setCentralPayload($oPatternCustom);  
52 -$main->render();  
53 -  
54 -  
55 -  
56 15
  16 +if(checkSession()) {
  17 +
  18 + // include the page template (with navbar)
  19 + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
  20 +
  21 + $Center .= "<table width=\"600\">" . renderHeading("Add Document Type") . "</table>";
  22 + $Center .= "<TABLE BORDER=\"0\" CELLSPACING=\"2\" CELLPADDING=\"2\">\n";
  23 + $Center .= "<tr>\n";
  24 + if($fDocTypeID == -1) {
  25 + $Center .= "<td><b>Document Type addition Unsuccessful!</b></td>\n";
  26 + $Center .= "</tr>\n";
  27 + $Center .= "<tr></tr>\n";
  28 + $Center .= "<tr>\n";
  29 + $Center .= "<td>Document Type already exists</td>\n";
  30 + $Center .= "</tr>\n";
  31 + } else {
  32 + $Center .= "<td><b>Document Type added Successfully!</b></td>\n";
  33 + $Center .= "</tr>\n";
  34 + }
  35 +
  36 + $Center .= "<tr></tr>\n";
  37 + $Center .= "<tr></tr>\n";
  38 + $Center .= "<tr></tr>\n";
  39 + $Center .= "<tr></tr>\n";
  40 + $Center .= "<tr>\n";
  41 + $Center .= "<td align = right><a href=\"$default->rootUrl/control.php?action=addDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";
  42 + $Center .= "</tr>\n";
  43 + $Center .= "</table>\n";
  44 +
  45 + $oPatternCustom = & new PatternCustom();
  46 + $oPatternCustom->setHtml($Center);
  47 + $main->setCentralPayload($oPatternCustom);
  48 + $main->render();
57 } 49 }
58 -  
59 ?> 50 ?>
60 \ No newline at end of file 51 \ No newline at end of file
presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/addDocTypeUI.inc
@@ -21,10 +21,8 @@ function getPage() { @@ -21,10 +21,8 @@ function getPage() {
21 $oPatternCreate = & new PatternCreate("DocumentType", "documentmanagement/DocumentType.inc",$aDisplayRowNames, $aParameterNumbers, $aDisplayColumnTypes, $aRequired); 21 $oPatternCreate = & new PatternCreate("DocumentType", "documentmanagement/DocumentType.inc",$aDisplayRowNames, $aParameterNumbers, $aDisplayColumnTypes, $aRequired);
22 $oPatternCreate->setUniqueName("documentType"); 22 $oPatternCreate->setUniqueName("documentType");
23 23
24 - $sToRender .= "<br></br>\n";  
25 - $sToRender .= "<b>Add a New Document Type to the System:</b>\n"; 24 + $sToRender .= "<table width=\"600\">" . renderHeading("Add Document Type") . "</table>";
26 $sToRender .= "<table>\n"; 25 $sToRender .= "<table>\n";
27 - $sToRender .= "<br></br>\n";  
28 $sToRender .= "<tr></tr>\n"; 26 $sToRender .= "<tr></tr>\n";
29 $sToRender .= "<tr>\n"; 27 $sToRender .= "<tr>\n";
30 $sToRender .= "<td>" . $oPatternCreate->render() . "</td>\n"; 28 $sToRender .= "<td>" . $oPatternCreate->render() . "</td>\n";
presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeBL.php
@@ -13,6 +13,7 @@ if (checkSession()) { @@ -13,6 +13,7 @@ if (checkSession()) {
13 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); 13 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
14 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc"); 14 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc");
15 require_once("editDocTypeUI.inc"); 15 require_once("editDocTypeUI.inc");
  16 + require_once("../adminUI.inc");
16 require_once("$default->fileSystemRoot/lib/security/permission.inc"); 17 require_once("$default->fileSystemRoot/lib/security/permission.inc");
17 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentType.inc"); 18 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentType.inc");
18 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentField.inc"); 19 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentField.inc");
presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/editDocTypeUI.inc
@@ -9,309 +9,266 @@ @@ -9,309 +9,266 @@
9 */ 9 */
10 10
11 // if its the manual edit page..then display normally 11 // if its the manual edit page..then display normally
12 -function getEditPage($iDocTypeID) {  
13 - global $default;  
14 - $oDocType = null;  
15 - if (isset($iDocTypeID)) {  
16 - $oDocType = DocumentType::get($iDocTypeID);  
17 -  
18 - }  
19 -  
20 - $sToRender .= "<br></br>\n";  
21 - $sToRender .= "<b>Edit Document Type Properties:</b>\n";  
22 - $sToRender .= "<table>\n";  
23 - $sToRender .= "<br></br>\n";  
24 - $sToRender .= "<tr></tr>\n";  
25 - $sToRender .= "<tr>\n";  
26 - $sToRender .= "<td>Document Type Name: </td><td>" . getDocTypeDisplay($oDocType) . "</td>\n";  
27 - $sToRender .= "</tr>\n";  
28 - $sToRender .= "<tr>\n";  
29 - $sToRender .= "</tr>\n";  
30 - $sToRender .= "<tr>\n";  
31 - $sToRender .= "</tr>\n";  
32 - $sToRender .= "<tr>\n";  
33 - $sToRender .= "</tr>\n";  
34 - $sToRender .= "<tr>\n";  
35 - $sToRender .= "</tr>\n";  
36 - $sToRender .= "<tr>\n";  
37 - $sToRender .= "</tr>\n";  
38 - $sToRender .= "<tr>\n";  
39 - $sToRender .= "</tr>\n";  
40 - $sToRender .= "<tr>\n";  
41 - $sToRender .= "<td></td>" . getUpdateButton($oDocType);  
42 - $sToRender .= getCancelButton($oDocType);  
43 - $sToRender .= "</tr>\n";  
44 - $sToRender .= "</table>\n";  
45 -  
46 -  
47 - return $sToRender; 12 +function getEditPage($iDocTypeID) {
  13 + global $default;
  14 + $oDocType = null;
  15 + if (isset($iDocTypeID)) {
  16 + $oDocType = DocumentType::get($iDocTypeID);
  17 +
  18 + }
  19 +
  20 + $sToRender .= "<table width=\"600\">" . renderHeading("Edit Document Type") . "</table>";
  21 + $sToRender .= "<table>\n";
  22 + $sToRender .= "<tr></tr>\n";
  23 + $sToRender .= "<tr>\n";
  24 + $sToRender .= "<td>Document Type Name: </td><td>" . getDocTypeDisplay($oDocType) . "</td>\n";
  25 + $sToRender .= "</tr>\n";
  26 + $sToRender .= "<tr>\n";
  27 + $sToRender .= "</tr>\n";
  28 + $sToRender .= "<tr>\n";
  29 + $sToRender .= "</tr>\n";
  30 + $sToRender .= "<tr>\n";
  31 + $sToRender .= "</tr>\n";
  32 + $sToRender .= "<tr>\n";
  33 + $sToRender .= "</tr>\n";
  34 + $sToRender .= "<tr>\n";
  35 + $sToRender .= "</tr>\n";
  36 + $sToRender .= "<tr>\n";
  37 + $sToRender .= "</tr>\n";
  38 + $sToRender .= "<tr>\n";
  39 + $sToRender .= "<td></td>" . getUpdateButton($oDocType);
  40 + $sToRender .= getCancelButton($oDocType);
  41 + $sToRender .= "</tr>\n";
  42 + $sToRender .= "</table>\n";
  43 +
  44 +
  45 + return $sToRender;
48 } 46 }
49 47
50 // if its the manual edit page..then display normally 48 // if its the manual edit page..then display normally
51 -function getDetailsPage($iDocTypeID,$aGeneric,$aSpecific, $aAllSpecific) {  
52 - global $default;  
53 - $oDocType = null;  
54 - if (isset($iDocTypeID)) {  
55 - $oDocType = DocumentType::get($iDocTypeID);  
56 -  
57 - }  
58 -  
59 - $sToRender .= "<br></br>\n";  
60 - $sToRender .= "<b>Edit Document Type Properties:</b>\n";  
61 - $sToRender .= "<table>\n";  
62 - $sToRender .= "<tr><td><br></br></td></tr>\n";  
63 - $sToRender .= "<tr>\n";  
64 - $sToRender .= "<td>Document Type Name: </td><td>" . getDocTypeDisplay($oDocType) . "</td>\n";  
65 - $sToRender .= "</tr>\n";  
66 - $sToRender .= "<tr></tr>\n";  
67 - $sToRender .= "<tr></tr>\n";  
68 - $sToRender .= "<tr>\n";  
69 - $sToRender .= "<td>Current Generic Fields: </td><td>" . getGenericFieldsList($aGeneric) . "</td>\n";  
70 - $sToRender .= "</tr>\n";  
71 - $sToRender .= "<tr></tr>\n";  
72 - $sToRender .= "<tr></tr>\n";  
73 - $sToRender .= "<tr>\n";  
74 - $sToRender .= "<td>Current Type Specific Fields: </td></tr>" . getSpecificFieldsList($aSpecific) . "</td>\n";  
75 -  
76 - $sToRender .= "</tr>\n";  
77 - $sToRender .= "<tr></tr>\n";  
78 - $sToRender .= "<tr><td><br></br></td></tr>\n";  
79 - $sToRender .= "<tr></tr>\n";  
80 - $sToRender .= "<tr>\n";  
81 - if(count($aAllSpecific) > 0){  
82 - $sToRender .= "<td>Add New Type Specific Field: </td><td>" . addSpecificFieldsList($aAllSpecific) ;  
83 - $sToRender .= "</td></tr><td></td><td>Mandatory: <input type=\"checkbox\" name=\"fIsMandatory\" value=\"1\" CHECKED></td><td>" . getAddSpecificFieldButton() . "</td>\n";  
84 - }  
85 - $sToRender .= "</tr>\n";  
86 - $sToRender .= "<tr><td><br></br></td></tr>\n";  
87 - $sToRender .= "<tr></tr>\n";  
88 - $sToRender .= "<tr>\n";  
89 - $sToRender .= "<td></td>" . getUpdateButton($oDocType);  
90 - $sToRender .= getCancelButton($oDocType);  
91 - $sToRender .= "</tr>\n";  
92 - $sToRender .= "</table>\n";  
93 -  
94 -  
95 - return $sToRender; 49 +function getDetailsPage($iDocTypeID,$aGeneric,$aSpecific, $aAllSpecific) {
  50 + global $default;
  51 + $oDocType = null;
  52 + if (isset($iDocTypeID)) {
  53 + $oDocType = DocumentType::get($iDocTypeID);
  54 +
  55 + }
  56 +
  57 + $sToRender .= "<table width=\"600\">" . renderHeading("Edit Document Type") . "</table>";
  58 + $sToRender .= "<table>\n";
  59 + $sToRender .= "<tr><td><br></br></td></tr>\n";
  60 + $sToRender .= "<tr>\n";
  61 + $sToRender .= "<td>Document Type Name: </td><td>" . getDocTypeDisplay($oDocType) . "</td>\n";
  62 + $sToRender .= "</tr>\n";
  63 + $sToRender .= "<tr></tr>\n";
  64 + $sToRender .= "<tr></tr>\n";
  65 + $sToRender .= "<tr>\n";
  66 + $sToRender .= "<td>Current Generic Fields: </td><td>" . getGenericFieldsList($aGeneric) . "</td>\n";
  67 + $sToRender .= "</tr>\n";
  68 + $sToRender .= "<tr></tr>\n";
  69 + $sToRender .= "<tr></tr>\n";
  70 + $sToRender .= "<tr>\n";
  71 + $sToRender .= "<td>Current Type Specific Fields: </td></tr>" . getSpecificFieldsList($aSpecific) . "</td>\n";
  72 +
  73 + $sToRender .= "</tr>\n";
  74 + $sToRender .= "<tr></tr>\n";
  75 + $sToRender .= "<tr><td><br></br></td></tr>\n";
  76 + $sToRender .= "<tr></tr>\n";
  77 + $sToRender .= "<tr>\n";
  78 + if(count($aAllSpecific) > 0) {
  79 + $sToRender .= "<td>Add New Type Specific Field: </td><td>" . addSpecificFieldsList($aAllSpecific) ;
  80 + $sToRender .= "</td></tr><td></td><td>Mandatory: <input type=\"checkbox\" name=\"fIsMandatory\" value=\"1\" CHECKED></td><td>" . getAddSpecificFieldButton() . "</td>\n";
  81 + }
  82 + $sToRender .= "</tr>\n";
  83 + $sToRender .= "<tr><td><br></br></td></tr>\n";
  84 + $sToRender .= "<tr></tr>\n";
  85 + $sToRender .= "<tr>\n";
  86 + $sToRender .= "<td></td>" . getUpdateButton($oDocType);
  87 + $sToRender .= getCancelButton($oDocType);
  88 + $sToRender .= "</tr>\n";
  89 + $sToRender .= "</table>\n";
  90 +
  91 +
  92 + return $sToRender;
96 } 93 }
97 94
98 // if its the manual edit page..then display normally 95 // if its the manual edit page..then display normally
99 -function getMandatoryPage($iDocFieldID,$iDocTypeFieldID) {  
100 - global $default;  
101 - $oDocField = null;  
102 -  
103 - if (isset($iDocFieldID)) {  
104 - $oDocField = DocumentField::get($iDocFieldID);  
105 -  
106 - }  
107 -  
108 - if (isset($iDocTypeFieldID)) {  
109 - $oDocTypeField = DocumentTypeFieldLink::get($iDocTypeFieldID);  
110 -  
111 - }  
112 - $sToRender .= "<input type=\"hidden\" name=\"fDocTypeID\" value=\"" . $oDocTypeField->iDocumentTypeID . "\">\n" ;  
113 - $sToRender .= "<input type=\"hidden\" name=\"fFieldID\" value=\"" . $oDocTypeField->iFieldID . "\">\n" .  
114 - $sToRender .= "<br></br>\n";  
115 - $sToRender .= "<b>Change Mandatory Setting:</b>\n";  
116 - $sToRender .= "<table>\n";  
117 - $sToRender .= "<br></br>\n";  
118 - $sToRender .= "<tr></tr>\n";  
119 - $sToRender .= "<tr>\n";  
120 - $sToRender .= "<td>Document Field Name: </td><td>" . $oDocField->getName() . "</td>\n";  
121 - $sToRender .= "</tr>\n";  
122 - $sToRender .= "<tr>\n";  
123 - $sToRender .= "</tr>\n";  
124 - $sToRender .= "<tr>\n";  
125 - if($oDocTypeField->getIsMandatory() == 1)  
126 - {  
127 - $sToRender .= "<td>Is Mandatory: </td><td><input type=\"checkbox\" name=\"fIsMandatory\" value=\"1\" CHECKED></td><td>\n";  
128 - }else{  
129 - $sToRender .= "<td>Is Mandatory: </td><td><input type=\"checkbox\" name=\"fIsMandatory\" value=\"0\" ></td><td>\n";  
130 - }  
131 -  
132 - $sToRender .= "</tr>\n";  
133 - $sToRender .= "<tr>\n";  
134 - $sToRender .= "</tr>\n";  
135 - $sToRender .= "<tr>\n";  
136 - $sToRender .= "</tr>\n";  
137 - $sToRender .= "<tr>\n";  
138 - $sToRender .= "</tr>\n";  
139 - $sToRender .= "<tr>\n";  
140 - $sToRender .= "</tr>\n";  
141 - $sToRender .= "<tr>\n";  
142 - $sToRender .= "<td></td>" . getDocTypeFieldUpdateButton();  
143 - $sToRender .= "</tr>\n";  
144 - $  
145 - $sToRender .= "</table>\n";  
146 -  
147 -  
148 - return $sToRender; 96 +function getMandatoryPage($iDocFieldID,$iDocTypeFieldID) {
  97 + global $default;
  98 + $oDocField = null;
  99 +
  100 + if (isset($iDocFieldID)) {
  101 + $oDocField = DocumentField::get($iDocFieldID);
  102 +
  103 + }
  104 +
  105 + if (isset($iDocTypeFieldID)) {
  106 + $oDocTypeField = DocumentTypeFieldLink::get($iDocTypeFieldID);
  107 +
  108 + }
  109 + $sToRender .= "<input type=\"hidden\" name=\"fDocTypeID\" value=\"" . $oDocTypeField->iDocumentTypeID . "\">\n" ;
  110 + $sToRender .= "<input type=\"hidden\" name=\"fFieldID\" value=\"" . $oDocTypeField->iFieldID . "\">\n" .
  111 + $sToRender .= "<br></br>\n";
  112 + $sToRender .= "<b>Change Mandatory Setting:</b>\n";
  113 + $sToRender .= "<table>\n";
  114 + $sToRender .= "<br></br>\n";
  115 + $sToRender .= "<tr></tr>\n";
  116 + $sToRender .= "<tr>\n";
  117 + $sToRender .= "<td>Document Field Name: </td><td>" . $oDocField->getName() . "</td>\n";
  118 + $sToRender .= "</tr>\n";
  119 + $sToRender .= "<tr>\n";
  120 + $sToRender .= "</tr>\n";
  121 + $sToRender .= "<tr>\n";
  122 + if($oDocTypeField->getIsMandatory() == 1) {
  123 + $sToRender .= "<td>Is Mandatory: </td><td><input type=\"checkbox\" name=\"fIsMandatory\" value=\"1\" CHECKED></td><td>\n";
  124 + } else {
  125 + $sToRender .= "<td>Is Mandatory: </td><td><input type=\"checkbox\" name=\"fIsMandatory\" value=\"0\" ></td><td>\n";
  126 + }
  127 +
  128 + $sToRender .= "</tr>\n";
  129 + $sToRender .= "<tr>\n";
  130 + $sToRender .= "</tr>\n";
  131 + $sToRender .= "<tr>\n";
  132 + $sToRender .= "</tr>\n";
  133 + $sToRender .= "<tr>\n";
  134 + $sToRender .= "</tr>\n";
  135 + $sToRender .= "<tr>\n";
  136 + $sToRender .= "</tr>\n";
  137 + $sToRender .= "<tr>\n";
  138 + $sToRender .= "<td></td>" . getDocTypeFieldUpdateButton();
  139 + $sToRender .= "</tr>\n";
  140 + $
  141 + $sToRender .= "</table>\n";
  142 +
  143 +
  144 + return $sToRender;
149 } 145 }
150 146
151 // if edition is successful print otu success page 147 // if edition is successful print otu success page
152 -function getEditPageSuccess() {  
153 - global $default;  
154 -  
155 - $sToRender .= "<br></br>\n";  
156 - $sToRender .= "<b>Success!</b>\n";  
157 - $sToRender .= "<table>\n";  
158 - $sToRender .= "<br></br>\n";  
159 - $sToRender .= "<tr></tr>\n";  
160 - $sToRender .= "<tr><td>The Document Type was successfully modified</td></tr>\n";  
161 - $sToRender .= "<tr></tr>\n";  
162 - $sToRender .= "<tr></tr>\n";  
163 - $sToRender .= "<tr>\n";  
164 - $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=editDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";  
165 - $sToRender .= "</tr>\n";  
166 - $sToRender .= "</table>\n";  
167 -  
168 -  
169 - return $sToRender; 148 +function getEditPageSuccess() {
  149 + global $default;
  150 +
  151 + $sToRender .= "<table width=\"600\">" . renderHeading("Edit Document Type") . "</table>";
  152 + $sToRender .= "<table>\n";
  153 + $sToRender .= "<tr><td><b>Success!</b></td></tr>\n";
  154 + $sToRender .= "<tr><td>The Document Type was successfully modified</td></tr>\n";
  155 + $sToRender .= "<tr></tr>\n";
  156 + $sToRender .= "<tr></tr>\n";
  157 + $sToRender .= "<tr>\n";
  158 + $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=editDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";
  159 + $sToRender .= "</tr>\n";
  160 + $sToRender .= "</table>\n";
  161 +
  162 + return $sToRender;
170 } 163 }
171 164
  165 +// gets the page if editing fails
  166 +function getEditPageFail() {
  167 + global $default;
172 168
173 -// gets the page if edition fails  
174 -function getEditPageFail() {  
175 - global $default;  
176 -  
177 - $sToRender .= "<br></br>\n";  
178 - $sToRender .= "<b>Failure!</b>\n";  
179 - $sToRender .= "<table>\n";  
180 - $sToRender .= "<br></br>\n";  
181 - $sToRender .= "<tr></tr>\n";  
182 - $sToRender .= "<tr><td>Document Type modification Failed!</td></tr>\n";  
183 - $sToRender .= "<tr></tr>\n";  
184 - $sToRender .= "<tr></tr>\n";  
185 - $sToRender .= "<tr>\n";  
186 - $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=editDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";  
187 - $sToRender .= "</tr>\n";  
188 - $sToRender .= "</table>\n";  
189 -  
190 -  
191 - return $sToRender; 169 + $sToRender .= "<table width=\"600\">" . renderHeading("Edit Document Type") . "</table>";
  170 + $sToRender .= "<table>\n";
  171 + $sToRender .= "<tr><td><b>Failure!</b></td></tr>\n";
  172 + $sToRender .= "<tr><td>Document Type modification Failed!</td></tr>\n";
  173 + $sToRender .= "<tr></tr>\n";
  174 + $sToRender .= "<tr></tr>\n";
  175 + $sToRender .= "<tr>\n";
  176 + $sToRender .= "<td></td><td align = right><a href=\"$default->rootUrl/control.php?action=editDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";
  177 + $sToRender .= "</tr>\n";
  178 + $sToRender .= "</table>\n";
  179 +
  180 + return $sToRender;
192 } 181 }
193 182
194 // show the list box when no DocType selected 183 // show the list box when no DocType selected
195 // then shows a text box with the DocType's name 184 // then shows a text box with the DocType's name
196 function getDocTypeDisplay($oDocType) { 185 function getDocTypeDisplay($oDocType) {
197 - global $default;  
198 - if (!isset($oDocType)) {  
199 - $oPatternListBox = & new PatternListBox($default->owl_document_types_table, "name", "id", "fDocTypeID");  
200 - //$oPatternListBox->setIncludeDefaultValue(true);  
201 - $oPatternListBox->setPostBackOnChange(true);  
202 - return $oPatternListBox->render();  
203 - } else {  
204 - return "<input type=\"hidden\" name=\"fDocTypeID\" value=\"" . $oDocType->iId . "\">\n" .  
205 - "<input size = \"30\" type=\"text\" name=\"fDocTypeName\" value=\"" . $oDocType->getName() . "\">";  
206 - }  
207 - 186 + global $default;
  187 + if (!isset($oDocType)) {
  188 + $oPatternListBox = & new PatternListBox($default->owl_document_types_table, "name", "id", "fDocTypeID");
  189 + $oPatternListBox->setFromClause("LEFT OUTER JOIN $default->owl_documents_table D on ST.id=D.document_type_id");
  190 + $oPatternListBox->setWhereClause("ISNULL(D.id)");
  191 + $oPatternListBox->setPostBackOnChange(true);
  192 + return $oPatternListBox->render();
  193 + } else {
  194 + return "<input type=\"hidden\" name=\"fDocTypeID\" value=\"" . $oDocType->iId . "\">\n" .
  195 + "<input size = \"30\" type=\"text\" name=\"fDocTypeName\" value=\"" . $oDocType->getName() . "\">";
  196 + }
  197 +
208 } 198 }
209 199
210 function getGenericFieldsList($aGeneric) { 200 function getGenericFieldsList($aGeneric) {
211 - global $default;  
212 -  
213 - $sList = "</tr><tr><td></td><td>";  
214 -  
215 - for($i = 0; $i < count($aGeneric);$i++){  
216 -  
217 - //  
218 -  
219 - $sList .= "<li>" . $aGeneric[$i]["name"]. "</li>\n";  
220 - }  
221 -  
222 - $sList .= "</td></tr>";  
223 -  
224 - return $sList; 201 + global $default;
  202 +
  203 + $sList = "</tr><tr><td></td><td>";
  204 + for($i = 0; $i < count($aGeneric);$i++) {
  205 + $sList .= "<li>" . $aGeneric[$i]["name"]. "</li>\n";
  206 + }
  207 + $sList .= "</td></tr>";
  208 + return $sList;
225 } 209 }
226 210
227 function getSpecificFieldsList($aSpecific) { 211 function getSpecificFieldsList($aSpecific) {
228 - global $default;  
229 -  
230 -  
231 -  
232 - for($i = 0; $i < count($aSpecific);$i++){  
233 -  
234 - $oDocField = DocumentField::get($aSpecific[$i]);  
235 -  
236 - $sList .= "<tr><td></td><td><li>" . $oDocField->getName() . "</li></td><td>" . getEditSpecificFieldButton($aSpecific[$i]) ." ". getRemoveSpecificFieldButton($aSpecific[$i]) . "</td></tr>\n";  
237 -  
238 -  
239 - }  
240 -  
241 -  
242 -  
243 - return $sList; 212 + global $default;
  213 + for($i = 0; $i < count($aSpecific);$i++) {
  214 + $oDocField = DocumentField::get($aSpecific[$i]);
  215 + $sList .= "<tr><td></td><td><li>" . $oDocField->getName() . "</li></td><td>" . getEditSpecificFieldButton($aSpecific[$i]) ." ". getRemoveSpecificFieldButton($aSpecific[$i]) . "</td></tr>\n";
  216 + }
  217 + return $sList;
244 } 218 }
245 219
246 // show Group details on confirm deletion page 220 // show Group details on confirm deletion page
247 function addSpecificFieldsList($aAllSpecific) { 221 function addSpecificFieldsList($aAllSpecific) {
248 - global $default;  
249 -  
250 - /*"select UGL.group_id, GL.name from users_groups_link as UGL  
251 - inner join groups_lookup AS GL on UGL.group_id = GL.id  
252 - where UGL.user_id=1"'*/  
253 -  
254 -  
255 - $sDocFieldType = "<Select Name=\"fDocFieldTypeID\">";  
256 -  
257 - for ($i=0;$i < count($aAllSpecific);$i++){  
258 -  
259 - // $oDocField= DocField::get($aAllSpecific[$i]["id"]);  
260 - $Options .= "<OPTION value= \"". $aAllSpecific[$i]["id"] . "\">". $aAllSpecific[$i]["name"] ."</OPTION>\n";  
261 -  
262 - }  
263 -  
264 - $sDocFieldType .= $Options . "</SELECT>";  
265 -  
266 - return $sDocFieldType;  
267 - 222 + global $default;
  223 +
  224 + $sDocFieldType = "<Select Name=\"fDocFieldTypeID\">";
  225 + for ($i=0;$i < count($aAllSpecific);$i++) {
  226 + $Options .= "<OPTION value= \"". $aAllSpecific[$i]["id"] . "\">". $aAllSpecific[$i]["name"] ."</OPTION>\n";
  227 + }
  228 + $sDocFieldType .= $Options . "</SELECT>";
  229 +
  230 + return $sDocFieldType;
268 } 231 }
269 232
270 // gets the updatebutton when a DocType is selected 233 // gets the updatebutton when a DocType is selected
271 function getUpdateButton($oDocType) { 234 function getUpdateButton($oDocType) {
272 - global $default;  
273 - if (!isset($oDocType)) {  
274 - return "Please select a Document Type: ";  
275 - } else {  
276 - return "<td align = right><input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fUpdate=1')\" type=\"image\" src =\"$default->graphicsUrl/widgets/update.gif\" value=\"submit\" /></td>\n";  
277 - } 235 + global $default;
  236 + if (!isset($oDocType)) {
  237 + return "Please select a Document Type: ";
  238 + } else {
  239 + return "<td align = right><input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fUpdate=1')\" type=\"image\" src =\"$default->graphicsUrl/widgets/update.gif\" value=\"submit\" /></td>\n";
  240 + }
278 } 241 }
279 242
280 // gets the updatebutton when a DocType is selected 243 // gets the updatebutton when a DocType is selected
281 function getDocTypeFieldUpdateButton() { 244 function getDocTypeFieldUpdateButton() {
282 - global $default;  
283 - return "<td align = right><input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fUpdateMandatory=1')\" type=\"image\" src =\"$default->graphicsUrl/widgets/update.gif\" value=\"submit\" /></td>\n";  
284 - 245 + global $default;
  246 + return "<td align = right><input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fUpdateMandatory=1')\" type=\"image\" src =\"$default->graphicsUrl/widgets/update.gif\" value=\"submit\" /></td>\n";
285 } 247 }
286 248
287 function getRemoveSpecificFieldButton($iNumber) { 249 function getRemoveSpecificFieldButton($iNumber) {
288 - global $default;  
289 -  
290 - return "<input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fRemove=$iNumber')\" align = \"absmiddle\" type=\"image\" src =\"$default->graphicsUrl/widgets/remove.gif\" value=\"remove\" />\n";  
291 - 250 + global $default;
  251 + return "<input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fRemove=$iNumber')\" align = \"absmiddle\" type=\"image\" src =\"$default->graphicsUrl/widgets/remove.gif\" value=\"remove\" />\n";
292 } 252 }
293 253
294 function getEditSpecificFieldButton($iNumber) { 254 function getEditSpecificFieldButton($iNumber) {
295 - global $default;  
296 -  
297 - return "<input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fEdit=$iNumber')\" align = \"absmiddle\" type=\"image\" src =\"$default->graphicsUrl/widgets/edit.gif\" value=\"edit\" />\n";  
298 - 255 + global $default;
  256 + return "<input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fEdit=$iNumber')\" align = \"absmiddle\" type=\"image\" src =\"$default->graphicsUrl/widgets/edit.gif\" value=\"edit\" />\n";
299 } 257 }
300 258
301 function getAddSpecificFieldButton() { 259 function getAddSpecificFieldButton() {
302 - global $default;  
303 -  
304 - return "<input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fAdd=1')\" align = \"absmiddle\" type=\"image\" src =\"$default->graphicsUrl/widgets/add.gif\" value=\"add\" />\n";  
305 - 260 + global $default;
  261 + return "<input ONCLICK=\" setActionAndSubmit('" . $_SERVER["PHP_SELF"] ."?fAdd=1')\" align = \"absmiddle\" type=\"image\" src =\"$default->graphicsUrl/widgets/add.gif\" value=\"add\" />\n";
306 } 262 }
307 263
308 // gets the cancel button when a DocType is selected 264 // gets the cancel button when a DocType is selected
309 function getCancelButton($oDocType) { 265 function getCancelButton($oDocType) {
310 - global $default;  
311 - if (!isset($oDocType)) {  
312 - //return "<td align = right><a href=\"$default->rootUrl/control.php?action=groupManagement\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" value=\"cancel\" /></a></td>\n";  
313 - } else {  
314 - return "<td align = right><a href=\"$default->rootUrl/control.php?action=editDocType\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" border = \"0\" /></a></td>\n";  
315 - } 266 + global $default;
  267 + if (!isset($oDocType)) {
  268 + return "<td align = right><a href=\"$default->rootUrl/control.php?action=doctypeManagement\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" value=\"cancel\" border = \"0\"/></a></td>\n";
  269 + }
  270 + else {
  271 + return "<td align = right><a href=\"$default->rootUrl/control.php?action=editDocType\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" border = \"0\" /></a></td>\n";
  272 + }
316 } 273 }
317 ?> 274 ?>
318 \ No newline at end of file 275 \ No newline at end of file
presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/removeDocTypeBL.php
@@ -13,6 +13,7 @@ if (checkSession()) { @@ -13,6 +13,7 @@ if (checkSession()) {
13 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc"); 13 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc");
14 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc"); 14 require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc");
15 require_once("removeDocTypeUI.inc"); 15 require_once("removeDocTypeUI.inc");
  16 + require_once("../adminUI.inc");
16 require_once("$default->fileSystemRoot/lib/security/permission.inc"); 17 require_once("$default->fileSystemRoot/lib/security/permission.inc");
17 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentType.inc"); 18 require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentType.inc");
18 require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); 19 require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
presentation/lookAndFeel/knowledgeTree/administration/doctypemanagement/removeDocTypeUI.inc
@@ -9,107 +9,103 @@ @@ -9,107 +9,103 @@
9 * 9 *
10 */ 10 */
11 // gets the delete stuff 11 // gets the delete stuff
12 -function getDeletePage($iDocTypeID) {  
13 - global $default;  
14 - $oDocType = null;  
15 - if (isset($iDocTypeID)) {  
16 - $oDocType = DocumentType::get($iDocTypeID);  
17 - $sToRender .= "<br></br>\n";  
18 - $sToRender .= "<b>Are you sure you wish to Remove this Document Type?:</b>\n";  
19 - }  
20 - else{  
21 - $sToRender .= "<br></br>\n";  
22 - $sToRender .= "<b>Remove Document Type From System:</b>\n";  
23 - }  
24 -  
25 - $sToRender .= "<table>\n";  
26 - $sToRender .= "<br></br>\n";  
27 - $sToRender .= "<tr></tr>\n";  
28 - $sToRender .= "<tr>\n";  
29 - $sToRender .= "<td>Document Type Name: " . getDocTypeDisplay($oDocType) . "</td>\n";  
30 - $sToRender .= "</tr>\n";  
31 - $sToRender .= "<tr>\n";  
32 - $sToRender .= "</tr>\n";  
33 - $sToRender .= "<tr>\n";  
34 - $sToRender .= "</tr>\n";  
35 - $sToRender .= "<tr>\n";  
36 - $sToRender .= "</tr>\n";  
37 - $sToRender .= "<tr>\n";  
38 - $sToRender .= "</tr>\n";  
39 - $sToRender .= getDeleteButton($oDocType);  
40 - $sToRender .= "</table>\n";  
41 -  
42 -  
43 - return $sToRender; 12 +function getDeletePage($iDocTypeID) {
  13 + global $default;
  14 + $oDocType = null;
  15 + if (isset($iDocTypeID)) {
  16 + $oDocType = DocumentType::get($iDocTypeID);
  17 + $sHeading .= "<b>Are you sure you wish to Remove this Document Type?:</b>\n";
  18 + } else {
  19 + $sHeading .= "Please select a Document Type:";
  20 + }
  21 +
  22 + $sToRender .= "<table width=\"600\">" . renderHeading("Remove Document Type") . "</table>";
  23 + $sToRender .= "<table>\n";
  24 + $sToRender .= "<tr><td>$sHeading</td></tr>\n";
  25 + $sToRender .= "<tr>\n";
  26 + $sToRender .= "<td>Document Type Name: " . getDocTypeDisplay($oDocType) . "</td>\n";
  27 + $sToRender .= "</tr>\n";
  28 + $sToRender .= "<tr>\n";
  29 + $sToRender .= "</tr>\n";
  30 + $sToRender .= "<tr>\n";
  31 + $sToRender .= "</tr>\n";
  32 + $sToRender .= "<tr>\n";
  33 + $sToRender .= "</tr>\n";
  34 + $sToRender .= "<tr>\n";
  35 + $sToRender .= "</tr>\n";
  36 + $sToRender .= getDeleteButton($oDocType);
  37 + $sToRender .= "</table>\n";
  38 +
  39 + return $sToRender;
44 } 40 }
45 41
46 // get successfully deletion page 42 // get successfully deletion page
47 -function getDeleteSuccessPage() {  
48 -  
49 -global $default; 43 +function getDeleteSuccessPage() {
  44 +
  45 + global $default;
50 46
51 -$sToRender = "<br></br>\n" ;  
52 -$sToRender .= "<TABLE BORDER=\"0\" CELLSPACING=\"2\" CELLPADDING=\"2\">\n";  
53 -$sToRender .= "<tr>\n";  
54 -$sToRender .= "<td><b>DocumentType SuccessFully Removed!</b></td>\n";  
55 -$sToRender .= "</tr>\n";  
56 -$sToRender .= "<tr></tr>\n";  
57 -$sToRender .= "<tr></tr>\n";  
58 -$sToRender .= "<tr></tr>\n";  
59 -$sToRender .= "<tr></tr>\n";  
60 -$sToRender .= "<tr>\n";  
61 -$sToRender .= "<td align = right><a href=\"$default->rootUrl/control.php?action=removeDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";  
62 -$sToRender .= "</tr>\n";  
63 -$sToRender .= "</table>\n";  
64 -  
65 -return $sToRender; 47 + $sToRender .= "<table width=\"600\">" . renderHeading("Remove Document Type") . "</table>";
  48 + $sToRender .= "<TABLE BORDER=\"0\" CELLSPACING=\"2\" CELLPADDING=\"2\">\n";
  49 + $sToRender .= "<tr>\n";
  50 + $sToRender .= "<td><b>DocumentType SuccessFully Removed!</b></td>\n";
  51 + $sToRender .= "</tr>\n";
  52 + $sToRender .= "<tr></tr>\n";
  53 + $sToRender .= "<tr></tr>\n";
  54 + $sToRender .= "<tr></tr>\n";
  55 + $sToRender .= "<tr></tr>\n";
  56 + $sToRender .= "<tr>\n";
  57 + $sToRender .= "<td align = right><a href=\"$default->rootUrl/control.php?action=removeDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td>\n";
  58 + $sToRender .= "</tr>\n";
  59 + $sToRender .= "</table>\n";
  60 +
  61 + return $sToRender;
66 } 62 }
67 63
68 // get deletion failed page 64 // get deletion failed page
69 -function getDeleteFailPage() { 65 +function getDeleteFailPage() {
  66 +
  67 + global $default;
70 68
71 -global $default; 69 + $sToRender .= "<table width=\"600\">" . renderHeading("Remove Document Type") . "</table>";
  70 + $sToRender .= "<TABLE BORDER=\"0\" CELLSPACING=\"2\" CELLPADDING=\"2\">\n";
  71 + $sToRender .= "<tr>\n";
  72 + $sToRender .= "<td><b>Deletion Failed!</b></td>\n";
  73 + $sToRender .= "</tr>\n";
  74 + $sToRender .= "<tr></tr>\n";
  75 + $sToRender .= "<tr></tr>\n";
  76 + $sToRender .= "<tr><td>Please Ensure that the Document Type has been Removed from ALL Folders</td></tr>\n";
  77 + $sToRender .= "<tr></tr>\n";
  78 + $sToRender .= "</tr>\n";
  79 + $sToRender .= "<tr><td align = right><a href=\"$default->rootUrl/control.php?action=removeDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td></tr>\n";
  80 + $sToRender .= "</table>\n";
72 81
73 -$sToRender = "<br></br>\n" ;  
74 -$sToRender .= "<TABLE BORDER=\"0\" CELLSPACING=\"2\" CELLPADDING=\"2\">\n";  
75 -$sToRender .= "<tr>\n";  
76 -$sToRender .= "<td><b>Deletion Failed!</b></td>\n";  
77 -$sToRender .= "</tr>\n";  
78 -$sToRender .= "<tr></tr>\n";  
79 -$sToRender .= "<tr></tr>\n";  
80 -$sToRender .= "<tr><td>Please Ensure that the Document Type has been Removed from ALL Folders</td></tr>\n";  
81 -$sToRender .= "<tr></tr>\n";  
82 -$sToRender .= "</tr>\n";  
83 -$sToRender .= "<tr><td align = right><a href=\"$default->rootUrl/control.php?action=removeDocType\"><img src =\"$default->graphicsUrl/widgets/back.gif\" border = \"0\" /></a></td></tr>\n";  
84 -$sToRender .= "</table>\n";  
85 -  
86 -return $sToRender; 82 + return $sToRender;
87 } 83 }
88 84
89 // show listbox...or the text name 85 // show listbox...or the text name
90 function getDocTypeDisplay($oDocType) { 86 function getDocTypeDisplay($oDocType) {
91 - global $default;  
92 - if (!isset($oDocType)) {  
93 - $oPatternListBox = & new PatternListBox($default->owl_document_types_table, "name", "id", "fDocTypeID");  
94 - $oPatternListBox->setIncludeDefaultValue(true);  
95 - $oPatternListBox->setPostBackOnChange(true);  
96 - return $oPatternListBox->render();  
97 - } else {  
98 - return "<input type=\"hidden\" name=\"fDocTypeID\" value=\"" . $oDocType->iId . "\">\n" .  
99 - "<b>" . $oDocType->getName() . "</b>";  
100 - }  
101 - 87 + global $default;
  88 + if (!isset($oDocType)) {
  89 + $oPatternListBox = & new PatternListBox($default->owl_document_types_table, "name", "id", "fDocTypeID");
  90 + $oPatternListBox->setFromClause("LEFT OUTER JOIN $default->owl_documents_table D on ST.id=D.document_type_id");
  91 + $oPatternListBox->setWhereClause("ISNULL(D.id)");
  92 + $oPatternListBox->setIncludeDefaultValue(true);
  93 + $oPatternListBox->setPostBackOnChange(true);
  94 + return $oPatternListBox->render();
  95 + } else {
  96 + return "<input type=\"hidden\" name=\"fDocTypeID\" value=\"" . $oDocType->iId . "\">\n" .
  97 + "<b>" . $oDocType->getName() . "</b>";
  98 + }
  99 +
102 } 100 }
103 101
104 102
105 // show delete button 103 // show delete button
106 function getDeleteButton($oDocType) { 104 function getDeleteButton($oDocType) {
107 - global $default;  
108 - if (!isset($oDocType)) {  
109 - return "Please select a Document Type: ";  
110 - } else {  
111 - return "<td align = right><input type=\"image\" src =\"$default->graphicsUrl/widgets/delete.gif\" value=\"submit\" border=\"0\"/></td>\n".  
112 - "<td align = right><a href=\"$default->rootUrl/control.php?action=removeDocType\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" border = \"0\" /></a></td>\n";  
113 - } 105 + global $default;
  106 + if (isset($oDocType)) {
  107 + return "<td align = right><input type=\"image\" src =\"$default->graphicsUrl/widgets/delete.gif\" value=\"submit\" border=\"0\"/></td>\n".
  108 + "<td align = right><a href=\"$default->rootUrl/control.php?action=removeDocType\"><img src =\"$default->graphicsUrl/widgets/cancel.gif\" border = \"0\" /></a></td>\n";
  109 + }
114 } 110 }
115 ?> 111 ?>