Commit c31c6897d3c6e7278d83dedab758d7054ce65179

Authored by nbm
1 parent 598ecfc7

Remove obsoleted files


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@4105 c91229c3-7414-0410-bfa2-8a42b809f60b
presentation/lookAndFeel/knowledgeTree/documentmanagement/addDocument.php deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Web interface to adding a document to a folder  
6 - *  
7 - * Copyright (c) 2005 Jam Warehouse http://www.jamwarehouse.com  
8 - *  
9 - * This program is free software; you can redistribute it and/or modify  
10 - * it under the terms of the GNU General Public License as published by  
11 - * the Free Software Foundation; either version 2 of the License, or  
12 - * (at your option) any later version.  
13 - *  
14 - * This program is distributed in the hope that it will be useful,  
15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
17 - * GNU General Public License for more details.  
18 - *  
19 - * You should have received a copy of the GNU General Public License  
20 - * along with this program; if not, write to the Free Software  
21 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
22 - *  
23 - * @version $Revision$  
24 - * @author Neil Blakey-Milner, Jam Warehouse (Pty) Ltd, South Africa  
25 - */  
26 -  
27 -require_once("../../../../config/dmsDefaults.php");  
28 -require_once(KT_LIB_DIR . '/dispatcher.inc.php');  
29 -  
30 -  
31 -require_once(KT_LIB_DIR . '/documentmanagement/Document.inc');  
32 -require_once(KT_LIB_DIR . '/foldermanagement/Folder.inc');  
33 -require_once(KT_LIB_DIR . '/documentmanagement/DocumentLink.inc');  
34 -  
35 -require_once(KT_LIB_DIR . '/storage/storagemanager.inc.php');  
36 -require_once(KT_LIB_DIR . '/filelike/fsfilelike.inc.php');  
37 -require_once(KT_LIB_DIR . '/documentmanagement/DocumentType.inc');  
38 -require_once(KT_LIB_DIR . '/metadata/fieldset.inc.php');  
39 -require_once(KT_LIB_DIR . '/documentmanagement/documentutil.inc.php');  
40 -require_once(KT_LIB_DIR . '/visualpatterns/PatternMetaData.inc');  
41 -  
42 -require_once(KT_DIR . '/presentation/webpageTemplate.inc');  
43 -  
44 -$oStorage =& KTStorageManagerUtil::getSingleton();  
45 -  
46 -class KTAddDocumentDispatcher extends KTStandardDispatcher {  
47 - var $bAutomaticTransaction = true;  
48 -  
49 - function check() {  
50 - if ($_REQUEST['fFolderID']) {  
51 - $_REQUEST['fFolderId'] = $_REQUEST['fFolderID'];  
52 - unset($_REQUEST['fFolderID']);  
53 - }  
54 - $this->oFolder =& $this->oValidator->validateFolder($_REQUEST['fFolderId']);  
55 - $this->oPermission =& $this->oValidator->validatePermissionByName('ktcore.permissions.write');  
56 - $this->validateFolderPermission();  
57 - $this->validatePost();  
58 - return true;  
59 - }  
60 -  
61 - function validateDocumentType($iId) {  
62 - $this->oDocumentType =& DocumentType::get($iId);  
63 - if (PEAR::isError($this->oDocumentType) || ($this->oDocumentType === false)) {  
64 - $this->errorPage(_("Invalid document type given"));  
65 - exit(0);  
66 - }  
67 - }  
68 -  
69 - function validateFolderPermission() {  
70 - $oUser =& User::get($_SESSION['userID']);  
71 - if (!KTPermissionUtil::userHasPermissionOnItem($oUser, $this->oPermission, $this->oFolder)) {  
72 - $this->errorPage(_("Permission denied"));  
73 - exit(0);  
74 - }  
75 - }  
76 -  
77 - function validatePost() {  
78 - $postExpected = KTUtil::arrayGet($_REQUEST, "postExpected");  
79 - $postReceived = KTUtil::arrayGet($_REQUEST, "postReceived");  
80 -  
81 - if (is_null($postExpected)) {  
82 - return;  
83 - }  
84 -  
85 - if (!is_null($postReceived)) {  
86 - return;  
87 - }  
88 -  
89 - $this->errorPage(_("You tried to upload a file that is larger than the PHP post_max_size setting."));  
90 - exit(0);  
91 - }  
92 -  
93 - function errorPage($errorMessage) {  
94 - $this->handleOutput($errorMessage);  
95 - exit(0);  
96 - }  
97 -  
98 - function do_main() {  
99 - $oTemplating =& KTTemplating::getSingleton();  
100 - $oTemplate =& $oTemplating->loadTemplate("ktcore/document/add");  
101 - $aTypes = $this->getDocumentTypes();  
102 - $iDefaultType = $aTypes[0]->getId();  
103 - $aTemplateData = array(  
104 - 'context' => $this,  
105 - 'folder_id' => $this->oFolder->getID(),  
106 - 'folder_path_array' => $this->oFolder->getPathArray(),  
107 - 'document_type_choice' => $this->getDocumentTypeChoice($aTypes, 'getMetadataForType(this.value);'),  
108 - 'generic_metadata_fields' => $this->getGenericMetadataFieldsets(),  
109 - 'type_metadata_fields' => $this->getTypeMetadataFieldsets($iDefaultType),  
110 - );  
111 - $oTemplate->setData($aTemplateData);  
112 - return $oTemplate->render();  
113 - }  
114 -  
115 - function getDocumentTypeChoice($aTypes, $onchange = "") {  
116 - $oTemplating =& KTTemplating::getSingleton();  
117 - $oTemplate = $oTemplating->loadTemplate('ktcore/document/document_type_choice');  
118 - $aFields = array(  
119 - 'document_types' => $aTypes,  
120 - 'onchange' => $onchange,  
121 - );  
122 - return $oTemplate->render($aFields);  
123 - }  
124 -  
125 - function getGenericMetadataFieldsets() {  
126 - $oTemplating = KTTemplating::getSingleton();  
127 - $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/editable_metadata_fieldsets");  
128 - $aTemplateData = array(  
129 -  
130 - 'caption' => _('Generic meta data'),  
131 - 'empty_message' => _("No Generic Meta Data"),  
132 - 'fieldsets' => KTFieldset::getGenericFieldsets(),  
133 - );  
134 - $aTemplateData['context'] =& $this;  
135 - return $oTemplate->render($aTemplateData);  
136 - }  
137 -  
138 - function getTypeMetadataFieldsets($iDocumentTypeID) {  
139 - $aTemplateData = array(  
140 -  
141 - 'caption' => _('Type specific meta data'),  
142 - 'empty_message' => _("No Type Specific Meta Data"),  
143 - 'fieldsets' => KTFieldset::getForDocumentType($iDocumentTypeID),  
144 - );  
145 - $aTemplateData['context'] =& $this;  
146 - $oTemplating = KTTemplating::getSingleton();  
147 - $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/editable_metadata_fieldsets");  
148 - return $oTemplate->render($aTemplateData);  
149 - }  
150 -  
151 - function getDocumentTypes() {  
152 - if (!$this->oFolder->getRestrictDocumentTypes()) {  
153 - return DocumentType::getList();  
154 - }  
155 - $sTable = KTUtil::getTableName('folder_doctypes');  
156 - $aQuery = array(  
157 - "SELECT document_type_id FROM $sTable WHERE folder_id = ?",  
158 - array($this->oFolder->getId()),  
159 - );  
160 - $aIds = DBUtil::getResultArrayKey($aQuery, 'document_type_id');  
161 - $aRet = array();  
162 - foreach ($aIds as $iId) {  
163 - $aRet[] = DocumentType::get($iId);  
164 - }  
165 - return $aRet;  
166 - }  
167 -  
168 - function do_upload() {  
169 - // make sure the user actually selected a file first  
170 - // and that something was uploaded  
171 - if (!((strlen($_FILES['fFile']['name']) > 0) && $_FILES['fFile']['size'] > 0)) {  
172 - // no uploaded file  
173 - $message = _("You did not select a valid document to upload");  
174 -  
175 - $errors = array(  
176 - 1 => _("The uploaded file is larger than the PHP upload_max_filesize setting"),  
177 - 2 => _("The uploaded file is larger than the MAX_FILE_SIZE directive that was specified in the HTML form"),  
178 - 3 => _("The uploaded file was not fully uploaded to KnowledgeTree"),  
179 - 4 => _("No file was selected to be uploaded to KnowledgeTree"),  
180 - 6 => _("An internal error occurred receiving the uploaded document"),  
181 - );  
182 - $message = KTUtil::arrayGet($errors, $_FILES['fFile']['error'], $message);  
183 -  
184 - if (@ini_get("file_uploads") == false) {  
185 - $message = _("File uploads are disabled in your PHP configuration");  
186 - }  
187 -  
188 - $this->errorRedirectToMain($message, 'fFolderId=' . $this->oFolder->getId());  
189 - exit(0);  
190 - }  
191 -  
192 - $matches = array();  
193 - $aFields = array();  
194 - foreach ($_REQUEST as $k => $v) {  
195 - if (preg_match('/^emd(\d+)$/', $k, $matches)) {  
196 - $aFields[] = array(DocumentField::get($matches[1]), $v);  
197 - }  
198 - }  
199 -  
200 - $this->validateDocumentType($_REQUEST['fDocumentTypeID']);  
201 -  
202 - $aOptions = array(  
203 - 'contents' => new KTFSFileLike($_FILES['fFile']['tmp_name']),  
204 - 'documenttype' => $this->oDocumentType,  
205 - 'metadata' => $aFields,  
206 - 'description' => $_REQUEST['fName'],  
207 - );  
208 -  
209 - $oUser =& User::get($_SESSION["userID"]);  
210 - $oDocument =& KTDocumentUtil::add($this->oFolder, basename($_FILES['fFile']['name']), $oUser, $aOptions);  
211 - if (PEAR::isError($oDocument)) {  
212 - $message = $oDocument->getMessage();  
213 - $this->errorRedirectToMain($message, 'fFolderId=' . $this->oFolder->getId());  
214 - exit(0);  
215 - }  
216 -  
217 - $this->commitTransaction();  
218 - //redirect to the document details page  
219 - controllerRedirect("viewDocument", "fDocumentId=" . $oDocument->getID());  
220 - }  
221 -}  
222 -$d =& new KTAddDocumentDispatcher;  
223 -$d->dispatch();  
224 -  
225 -  
226 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/browseBL.php deleted
1 -<?php  
2 -  
3 -require_once("../../../../config/dmsDefaults.php");  
4 -  
5 -KTUtil::extractGPC('fActions', 'fBrowseType', 'fDocumentIDs', 'fFolderID', 'fSortBy', 'fSortDirection');  
6 -  
7 -require_once(KT_LIB_DIR . "/browse/BrowserFactory.inc");  
8 -require_once(KT_LIB_DIR . "/browse/Browser.inc");  
9 -require_once(KT_LIB_DIR . "/documentmanagement/DocumentType.inc");  
10 -require_once(KT_LIB_DIR . "/documentmanagement/DocumentTransaction.inc");  
11 -require_once(KT_LIB_DIR . "/visualpatterns/PatternCustom.inc");  
12 -require_once("$default->uiDirectory/documentmanagement/browseUI.inc");  
13 -require_once("$default->fileSystemRoot/presentation/Html.inc");  
14 -/**  
15 - * $Id$  
16 - *  
17 - * This page controls browsing for documents- this can be done either by  
18 - * folder, category or document type.  
19 - * The relevant permission checking is performed, calls to the business logic  
20 - * layer to retrieve the details of the documents to view are made and the user  
21 - * interface is contructed.  
22 - *  
23 - * Querystring variables  
24 - * ---------------------  
25 - * fBrowseType - determines whether to browse by (folder, category, documentType) [mandatory]  
26 - * fFolderID - the folder to browse [optional depending on fBrowseType]  
27 - * fCategoryName - the category to browse [optional depending on fBrowseType]  
28 - * fDocumentTypeID - the document type id to browse [optional depending on fBrowseType]  
29 - * fSortBy - the document attribute to sort the browse results by  
30 - * fSortDirection - the direction to sort  
31 - * fActions - action for group operations  
32 - *  
33 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
34 - *  
35 - * This program is free software; you can redistribute it and/or modify  
36 - * it under the terms of the GNU General Public License as published by  
37 - * the Free Software Foundation; either version 2 of the License, or  
38 - * (at your option) any later version.  
39 - *  
40 - * This program is distributed in the hope that it will be useful,  
41 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
42 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
43 - * GNU General Public License for more details.  
44 - *  
45 - * You should have received a copy of the GNU General Public License  
46 - * along with this program; if not, write to the Free Software  
47 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
48 - *  
49 - * @version $Revision$  
50 - * @author Michael Joseph <michael@jamwarehouse.com>, Jam Warehouse (Pty) Ltd, South Africa  
51 - * @package documentmanagement  
52 - */  
53 -  
54 -// only if we have a valid session  
55 -if (!checkSession()) {  
56 - exit(0);  
57 -}  
58 -  
59 -if (isset($fActions)) {  
60 - // tack on POSTed document ids and redirect to the expunge deleted documents page  
61 - $sUniqueID = KTUtil::randomString();  
62 - $_SESSION["documents"][$sUniqueID] = $fDocumentIDs;  
63 - $sQueryString = "fRememberDocumentID=$sUniqueID&";  
64 - $sQueryString .= "fReturnFolderID=$fFolderID&";  
65 -  
66 - switch ($fActions) {  
67 - case "delete":  
68 - // delete all selected docs  
69 - controllerRedirect("deleteDocument", $sQueryString);  
70 - exit(0);  
71 - break;  
72 - case "move":  
73 - // Move selected docs to root folder  
74 - controllerRedirect("moveDocument", $sQueryString . "fFolderID=1");  
75 - exit(0);  
76 - break;  
77 - }  
78 -}  
79 -  
80 -// retrieve variables  
81 -if (!$fBrowseType) {  
82 - // required param not set- internal error or user querystring hacking  
83 - // set it to default= folder  
84 - $fBrowseType = "folder";  
85 -}  
86 -  
87 -// retrieve field to sort by  
88 -if (!$fSortBy) {  
89 - // no sort field specified- default is document name  
90 - $fSortBy = "filename";  
91 -}  
92 -// retrieve sort direction  
93 -if (!$fSortDirection) {  
94 - $fSortDirection = "asc";  
95 -}  
96 -  
97 -// fire up the document browser  
98 -$oBrowser =& BrowserFactory::create($fBrowseType, $fSortBy, $fSortDirection);  
99 -$sectionName = $oBrowser->getSectionName();  
100 -  
101 -// instantiate my content pattern  
102 -$oContent = new PatternCustom();  
103 -$aResults = $oBrowser->browse();  
104 -  
105 -require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
106 -  
107 -if (PEAR::isError($aResults)) {  
108 - $oContent->setHtml("<a href=\"javascript:history.go(-1)\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a>\n");  
109 - $main->setErrorMessage($aResults->getMessage());  
110 - $main->setCentralPayload($oContent);  
111 - $main->setFormAction($_SERVER["PHP_SELF"]);  
112 - $main->setSubmitMethod("GET");  
113 - $main->render();  
114 - exit(0);  
115 -}  
116 -  
117 -if (($fBrowseType == "folder") && (!isset($fFolderID))) {  
118 - // FIXME: check that the first folder in the array exists, no permission otherwise  
119 - if ($default->browseToRoot) {  
120 - controllerRedirect("browse", "fFolderID=1");  
121 - } else {  
122 - controllerRedirect("browse", "fFolderID=" . $aResults["folders"][0]->getID());  
123 - }  
124 -}  
125 -  
126 -// display the browse results  
127 -$oContent->addHtml(renderPage($aResults, $fBrowseType, $fSortBy, $fSortDirection));  
128 -$main->setCentralPayload($oContent);  
129 -$main->setFormAction($_SERVER["PHP_SELF"]);  
130 -$main->setSubmitMethod("GET");  
131 -$main->render();  
132 -  
133 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/browseUI.inc deleted
1 -<?php  
2 -  
3 -/// XXX: extractGPC in UI?(!)  
4 -KTUtil::extractGPC('fBrowseType', 'fCategoryName', 'fDocumentTypeID', 'fFolderID');  
5 -  
6 -require_once("$default->fileSystemRoot/presentation/Html.inc");  
7 -require_once("$default->uiDirectory/foldermanagement/folderUI.inc");  
8 -require_once("$default->uiDirectory/documentmanagement/documentUI.inc");  
9 -require_once("$default->uiDirectory/foldermanagement/addFolderUI.inc");  
10 -  
11 -/**  
12 - * $Id$  
13 - *  
14 - * Document browsing page html UI building functions.  
15 - *  
16 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
17 - *  
18 - * This program is free software; you can redistribute it and/or modify  
19 - * it under the terms of the GNU General Public License as published by  
20 - * the Free Software Foundation; either version 2 of the License, or  
21 - * (at your option) any later version.  
22 - *  
23 - * This program is distributed in the hope that it will be useful,  
24 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
25 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
26 - * GNU General Public License for more details.  
27 - *  
28 - * You should have received a copy of the GNU General Public License  
29 - * along with this program; if not, write to the Free Software  
30 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
31 - *  
32 - * @version $Revision$  
33 - * @author Michael Joseph <michael@jamwarehouse.com>, Jam Warehouse (Pty) Ltd, South Africa  
34 - * @package documentmanagement  
35 - */  
36 -  
37 -/**  
38 - * Generates radio button selects for document browse by type  
39 - * Javascript refreshes the form when it changes  
40 - *  
41 - * @param string the selected browse by option  
42 - */  
43 -function renderBrowseTypeSelect($sBrowseType) {  
44 - // TODO: write function for onChange that checks if the new value  
45 - return "<span class=\"browseTypeSelect\">\n  
46 - \t" . _("View documents by") . ": <input type=\"radio\" name=\"fBrowseType\" onclick=\"document.MainForm.submit()\" value=\"folder\"" .  
47 - ((($sBrowseType=="folder") || (strlen($sBrowseType)==0)) ? " checked=\"checked\"" : "") . "/> " . _("Folders") ."\n" .  
48 - "<input type=\"radio\" name=\"fBrowseType\" onclick=\"document.MainForm.submit()\" value=\"category\"" .  
49 - (($sBrowseType=="category") ? " checked=\"checked\"" : "") . "/> " . _("Category") . "\n" .  
50 - "<input type=\"radio\" name=\"fBrowseType\" onclick=\"document.MainForm.submit()\" value=\"documentType\"" .  
51 - (($sBrowseType=="documentType") ? " checked=\"checked\"" : "") . "/> " . _("Document Type") . "\n</span>";  
52 -}  
53 -  
54 -// <category browse helper methods>  
55 -  
56 -/**  
57 - * Displays the passed category path as a link  
58 - *  
59 - * @param string the category name to display  
60 - */  
61 -function displayCategoryPathLink($aCategories) {  
62 - // if the first value in arr["categories"] == Categories then we've got a list of categories  
63 - if ($aCategories[0] == "Categories") {  
64 - return displayCategoryLink($aCategories[0]);  
65 - } else {  
66 - // else the first entry is the category name, so build a little path  
67 - return displayCategoryLink("Categories") . ($aCategories[0] ? " > " . displayCategoryLink($aCategories[0]) : "");  
68 - }  
69 -}  
70 -  
71 -/**  
72 - * Displays the passed category as a link  
73 - *  
74 - * @param string the category name to display  
75 - */  
76 -function displayCategoryLink($sCategoryName) {  
77 - if ($sCategoryName != "") {  
78 - return generateLink($_SERVER["PHP_SELF"],  
79 - "fBrowseType=category" .  
80 - // if the category title is passed in, link back to the list of categories  
81 - (($sCategoryName == "Categories") ? "" : "&fCategoryName=" . urlencode($sCategoryName)),  
82 - $sCategoryName);  
83 - } else {  
84 - return false;  
85 - }  
86 -}  
87 -  
88 -/**  
89 - * Displays the results for category browsing  
90 - *  
91 - * @param array the category browse results  
92 - */  
93 -function renderCategoryResults($aResults) {  
94 - global $oBrowser;  
95 - $sToRender = "";  
96 -  
97 - //var_dump($aResults["categories"][0]);  
98 - // if the first value in arr["categories"] == Categories then we've got a list of categories  
99 - if ($aResults["categories"][0] == "Categories") {  
100 - // loop through categories and display them  
101 - for ($i=1; $i<count($aResults["categories"]); $i++) {  
102 - $sToRender .= "<tr bgcolor=\"" . getColour($i-1) . "\">";  
103 - $sToRender .= "<td>&nbsp;</td>\n"; // for the checkboxes  
104 -  
105 - // category name  
106 - $sToRender .= "<td>" . displayCategoryLink($aResults["categories"][$i]) . "</td>";  
107 - // blank filename  
108 - $sToRender .= "<td>&nbsp;</td>";  
109 - // creator name  
110 - $sToRender .= "<td>&nbsp;</td>";  
111 - // modified date  
112 - $sToRender .= "<td>&nbsp;</td>";  
113 - // document type  
114 - $sToRender .= "<td>&nbsp;</td>";  
115 -  
116 - $sToRender .= "</tr>\n";  
117 - }  
118 - } else {  
119 - if (count($aResults["categories"]) > 0) {  
120 - // else the first entry is the category name, so display the documents in the category  
121 - $sToRender .= renderDocumentList($aResults, _("This category contains no documents"), _("You don't have access to the documents in this category"));  
122 - } else {  
123 - $sToRender .= "<tr><td colspan=\"" . ($oBrowser->columns() + 1) . "\"><font color=\"red\">" . _("There is no Category Document Field- contact a System Administrator.") . "</font></td></tr>";  
124 - }  
125 - }  
126 - return $sToRender;  
127 -}  
128 -  
129 -// </category browse helper methods>  
130 -  
131 -// <document type display helper methods>  
132 -/**  
133 - * Displays the passed document type path as a link  
134 - *  
135 - * @param string the document type to display  
136 - */  
137 -function displayDocumentTypePathLink($aDocumentTypes) {  
138 - // if the first value in arr["categories"] == Categories then we've got a list of categories  
139 - if ($aDocumentTypes[0]["name"] == "Document Types") {  
140 - return displayDocumentTypeLink($aDocumentTypes[0]);  
141 - } else {  
142 - // else the first entry is the category name, so build a little path  
143 - return displayDocumentTypeLink(array("name"=>"Document Types")) . " > " . displayDocumentTypeLink($aDocumentTypes[0]);  
144 - }  
145 -}  
146 -  
147 -/**  
148 - * Displays the passed document type as a link  
149 - *  
150 - * @param string the document type to display  
151 - */  
152 -function displayDocumentTypeLink($aDocumentType) {  
153 - return generateLink($_SERVER["PHP_SELF"],  
154 - "fBrowseType=documentType" .  
155 - // if the document type title is passed in, link back to the list of document types  
156 - (($aDocumentType["name"] == "Document Types") ? "" : "&fDocumentTypeID=" . $aDocumentType["id"]),  
157 - $aDocumentType["name"]);  
158 -}  
159 -  
160 -/**  
161 - * Displays the results for document type browsing  
162 - *  
163 - * @param array the document type browse results  
164 - */  
165 -function renderDocumentTypeResults($aResults) {  
166 - $sToRender = "";  
167 -  
168 - // if the first value in arr["documentTypes"] == Document Types then we've got a list of document types  
169 - if ($aResults["documentTypes"][0]["name"] == "Document Types") {  
170 - // loop through document types and display them  
171 - for ($i=1; $i<count($aResults["documentTypes"]); $i++) {  
172 - $sToRender .= "<tr bgcolor=\"" . getColour($i-1) . "\">\n";  
173 - $sToRender .= "<td>&nbsp;</td>\n"; // for the checkboxes  
174 - // document type name  
175 - $sToRender .= "<td>" . displayDocumentTypeLink($aResults["documentTypes"][$i]) . "</td>\n";  
176 - // blank filename  
177 - $sToRender .= "<td>&nbsp;</td>\n";  
178 - // creator name  
179 - $sToRender .= "<td>&nbsp;</td>\n";  
180 - // modified date  
181 - $sToRender .= "<td>&nbsp;</td>\n";  
182 - // document type  
183 - $sToRender .= "<td>&nbsp;</td>\n";  
184 - $sToRender .= "</tr>\n";  
185 - }  
186 - } else {  
187 - // else the first entry is the document type name, so display the documents in the document type  
188 - $sToRender .= renderDocumentList($aResults, _("This document type contains no documents"), _("You don't have access to the documents in this document type"));  
189 - }  
190 - return $sToRender;  
191 -}  
192 -// </document type browse helper methods>  
193 -  
194 -  
195 -// <folder browse helper methods>  
196 -/**  
197 - * Displays the folders in the browse results  
198 - *  
199 - * @param array the browse result objects  
200 - */  
201 -function renderFolderResults($aResults, $bTemplateBrowsing = false) {  
202 - global $default;  
203 - global $oBrowser;  
204 - $sToRender = "";  
205 -  
206 - // now loop through the rest of the folders and display links  
207 - if (count($aResults["folders"]) > 1) {  
208 - for ($i=1; $i<count($aResults["folders"]); $i++) {  
209 - $oFolder = $aResults["folders"][$i];  
210 -  
211 - $sFolderLink = displayFolderLink($aResults["folders"][$i]);  
212 - $oCreator = User::get($aResults["folders"][$i]->getCreatorID());  
213 -  
214 - // the first element of the array contains the current folder name  
215 - $sToRender .= "<tr bgcolor=\"" . getColour($i-1) . "\">\n";  
216 - $sToRender .= "<td width=\"10\">&nbsp;</td>\n"; // for the checkboxes  
217 -  
218 - foreach (array_values($oBrowser->getSortCriteria()) as $oCriterion) {  
219 - $sToRender .= "<td valign=\"bottom\">" . $oCriterion->folderDisplay($oFolder) . "</td>\n";  
220 - }  
221 - $sToRender .= "</tr>\n";  
222 - }  
223 - } else {  
224 - $sToRender .= "<tr><td colspan=\"" . ($oBrowser->columns() + 1) . "\">" . _("This folder contains no sub folders") . "</td></tr>";  
225 - }  
226 -  
227 - $sToRender .= renderDocumentList($aResults, _("This folder contains no documents"),  
228 - _("You don't have access to the documents in this folder"),  
229 - false, $bTemplateBrowsing) . "\n";  
230 -  
231 - return $sToRender;  
232 -}  
233 -// </folder browse helper methods>  
234 -  
235 -/**  
236 - * Displays the headings for the displayed document details and enables  
237 - * resorting the contents  
238 - *  
239 - * @param string the field currently sorting by  
240 - * @param string the direction currently sorted in  
241 - */  
242 -function renderSortHeadings($sSortBy, $sSortDirection) {  
243 - global $default, $oBrowser, $fBrowseType, $fFolderID, $fCategoryName, $fDocumentTypeID;  
244 -  
245 - $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));  
246 - $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");  
247 -  
248 - // need list of display criteria and sort name  
249 - $aSortCriteria = $oBrowser->getSortCriteria();  
250 -  
251 - $sToRender .= "<tr bgcolor=\"$sTDBGColour\">\n";  
252 - $sToRender .= "<td width=\"10\">&nbsp;</td>\n"; // For the checkboxes  
253 - while (list($key, $value) = each ($aSortCriteria)) {  
254 - $sCurrentSortDirection = "asc";  
255 - if (is_array($value)) {  
256 - $displayText = $value["display"];  
257 - } else {  
258 - $displayText = $value->headerDisplay();  
259 - }  
260 - // if the current heading is being sorted then flip the sort direction  
261 - if ($sSortBy == $key) {  
262 - $sCurrentSortDirection = ($sSortDirection == "asc" ? "desc" : "asc");  
263 - $displayText = "<img border=\"0\" src=\"" . imgSrc($sCurrentSortDirection . ".gif") . "\">" . $displayText;  
264 - }  
265 - switch ($fBrowseType) {  
266 - case "folder" :  
267 - $queryString = "fFolderID=$fFolderID";  
268 - break;  
269 - case "category" :  
270 - $queryString = "fCategoryName=$fCategoryName";  
271 - break;  
272 - case "documentType" :  
273 - $queryString = "fDocumentTypeID=$fDocumentTypeID";  
274 - break;  
275 - }  
276 - $sToRender .= "<td>" . generateLink($_SERVER["PHP_SELF"], "fBrowseType=$fBrowseType&$queryString&fSortBy=$key&fSortDirection=$sCurrentSortDirection", $displayText) . "</td>\n";  
277 - }  
278 -  
279 - $sToRender .= "</tr>\n";  
280 - return $sToRender;  
281 -}  
282 -  
283 -/**  
284 - * Displays the documents in the browse results  
285 - *  
286 - * @param array the browse result objects  
287 - * @param string the message to display if there are no documents  
288 - * @param string the message to display if the current user doesn't have permission to view the documents  
289 - * @param boolean whether to display the complete path to the document or not  
290 - */  
291 -function renderDocumentList($aResults, $sNoDocumentsMessage, $sNoPermissionMessage, $bDisplayFullPath = false, $bTemplateBrowsing = false) {  
292 - global $default;  
293 - global $oBrowser;  
294 -  
295 - $oBrowser->setOptions(array(  
296 - 'displayFullPath' => $bDisplayFullPath,  
297 - 'templateBrowsing' => $bTemplateBrowsing,  
298 - ));  
299 -  
300 - $aSortCriteria = $oBrowser->getSortCriteria();  
301 -  
302 - $iFolderCount = count($aResults["folders"]) - 1;  
303 - // loop through the files and display links  
304 - if (count($aResults["documents"]) > 0) {  
305 - for ($i=0; $i<count($aResults["documents"]); $i++) {  
306 - // in order for candy striping to work we need to take the number of folders  
307 - // into account when alternating  
308 - $oDocument = $aResults["documents"][$i];  
309 -  
310 - $sToRender .= "<tr bgcolor=\"" . getColour($i+$iFolderCount) . "\" width=\"100%\">\n";  
311 - $sToRender .= "<td valign=\"bottom\" width=\"10\">" .  
312 - "<input type=\"checkbox\" name=\"fDocumentIDs[]\" value=\"" . $aResults["documents"][$i]->getID() . "\"/></td>\n";  
313 -  
314 - /*$sToRender .= "<td valign=\"bottom\">" . $aSortCriteria["name"]->documentDisplay($oDocument) . "</td>";  
315 - $sToRender .= "<td valign=\"bottom\">" . $aSortCriteria["filename"]->documentDisplay($oDocument) . "</td>";  
316 - $sToRender .= "<td valign=\"bottom\">" . $aSortCriteria["creator_id"]->documentDisplay($oDocument) . "</td>";  
317 - $sToRender .= "<td valign=\"bottom\">" . $aSortCriteria['id']->documentDisplay($oDocument) . "</td>";  
318 - $sToRender .= "<td valign=\"bottom\">" . $aSortCriteria['document_type_id']->documentDisplay($oDocument) . "</td>";  
319 - $sToRender .= "<td valign=\"bottom\">" . $aSortCriteria['category']->documentDisplay($oDocument) . "</td>";  
320 - */  
321 - foreach (array_values($aSortCriteria) as $oCriterion) {  
322 - $sToRender .= "<td valign=\"bottom\">" . $oCriterion->documentDisplay($oDocument) . "</td>";  
323 - }  
324 -  
325 - $sToRender .= "</tr>\n";  
326 - }  
327 -  
328 - $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));  
329 - $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");  
330 -  
331 - $sToRender .= "<tr bgcolor=\"". $sTDBGColour . "\"><td colspan=\"" . ($oBrowser->columns() + 1) . "\" valign=\"bottom\">" .  
332 - "<input type=\"checkbox\" name=\"selectall\" onClick=\"selectAll()\"/> " . _("Select all documents") . "</td></tr>";  
333 -  
334 - $sToRender .= "<tr><td colspan=\"" . ($oBrowser->columns() + 1) . "\" >";  
335 - $sToRender .= "<input type=\"hidden\" name=\"fActions\">";  
336 -  
337 - $sToRender .= "<input type=\"image\" onclick=\"document.MainForm.fActions.value='move'; document.MainForm.method = 'POST'; document.MainForm.submit()\" src=\"" . KTHtml::getMoveButton() . "\" border=\"0\"/>";  
338 - $sToRender .= "<input type=\"image\" onclick=\"document.MainForm.fActions.value='delete'; document.MainForm.method = 'POST'; document.MainForm.submit()\" src=\"" . KTHtml::getDeleteButton() . "\" border=\"0\"/>";  
339 - $sToRender .= "</td></tr>\n";  
340 - // Change for group Operations  
341 -  
342 -  
343 - } else if ($aResults["accessDenied"]) {  
344 - $sToRender .= "<tr><td colspan=\"" . ($oBrowser->columns() + 1) . "\">$sNoPermissionMessage</td></tr>";  
345 - } else {  
346 - $sToRender .= "<tr><td colspan=\"" . ($oBrowser->columns() + 1) . "\">$sNoDocumentsMessage</td></tr>";  
347 - }  
348 - return $sToRender;  
349 -}  
350 -  
351 -/**  
352 - * #3426  
353 - * Appends folder and document counts to the last folder path  
354 - */  
355 -function appendCounts($aFolderPath, $iFolderCount, $iDocumentCount) {  
356 - // append to the last path component and return  
357 - $aFolderPath[count($aFolderPath)-1] = $aFolderPath[count($aFolderPath)-1] .  
358 - " ($iFolderCount folder" . (($iFolderCount > 1) || ($iFolderCount == 0) ? "s" : "") .  
359 - ", $iDocumentCount document" . (($iDocumentCount > 1) || ($iDocumentCount == 0) ? "s" : "") . ")";  
360 - return $aFolderPath;  
361 -}  
362 -  
363 -/**  
364 - * Displays the browse page- lists folders and documents  
365 - *  
366 - * @param array the browse results to display  
367 - * @param string the browse view (folder, category, document type)  
368 - * @param string the field to sort the results by  
369 - * @param string the direction to sort  
370 - */  
371 -  
372 -function renderPage($aResults, $sBrowseType, $sSortBy, $sSortDirection, $bTemplateBrowsing = false) {  
373 - global $default;  
374 -  
375 - $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));  
376 - $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");  
377 -  
378 - $sToRender = renderHeading(_("Browse collection"));  
379 -  
380 - // Script function to select all documents  
381 - $sToRender = "\n\n<SCRIPT LANGUAGE=\"javascript\">\n ";  
382 - $sToRender .= "<!--\n";  
383 - $sToRender .= "function selectAll() {\n";  
384 - $sToRender .= "\tf = document.MainForm;\n";  
385 - $sToRender .= "\tc = f.selectall.checked;\n";  
386 - $sToRender .= "\tif (f.elements['fDocumentIDs[]']) {\n";  
387 - $sToRender .= "\t\tif (f.elements['fDocumentIDs[]'].length > 1) {\n";  
388 - $sToRender .= "\t\t\tfor (i = 0; i < f.elements['fDocumentIDs[]'].length; i++) f.elements['fDocumentIDs[]'][i].checked = c;\n";  
389 - $sToRender .= "\t\t} else {\n";  
390 - $sToRender .= "\t\t\tf.elements['fDocumentIDs[]'].checked = c;\n";  
391 - $sToRender .= "\t}}}\n";  
392 - $sToRender .= "//-->\n";  
393 - $sToRender .= "</SCRIPT>\n\n";  
394 -  
395 - $sToRender .= "<table border=\"0\" cellpadding=\"5\" width=\"100%\"><tr><td bgcolor=\"$sTDBGColour\">";  
396 - switch ($sBrowseType) {  
397 - case "folder":  
398 - $sToRender .= displayFolderPathLink(Folder::getFolderPathAsArray($aResults["folders"][0]->getID()),  
399 - appendCounts(Folder::getFolderPathNamesAsArray($aResults["folders"][0]->getID()),  
400 - count($aResults["folders"])-1, count($aResults["documents"])));  
401 - break;  
402 - case "category":  
403 - $sToRender .= displayCategoryPathLink($aResults["categories"]);  
404 - break;  
405 - case "documentType":  
406 - $sToRender .= displayDocumentTypePathLink($aResults["documentTypes"]);  
407 - break;  
408 - }  
409 - $sToRender .= "</td></tr></table>\n";  
410 -  
411 - // browse type select  
412 - $sToRender .= "<table border=\"0\" width=\"100%\">\n";  
413 - $sToRender .= "\t<tr><td bgcolor=\"$sTDBGColour\">" . renderBrowseTypeSelect($sBrowseType) . "</td></tr>";  
414 - $sToRender .= "\t</table>";  
415 -  
416 - // display folders|documents  
417 - $sToRender .= "<table border=\"0\" width=\"100%\">\n";  
418 - $sToRender .= renderSortHeadings($sSortBy, $sSortDirection);  
419 - // $sToRender .= "<tr><td>\n";  
420 - switch ($sBrowseType) {  
421 - case "folder":  
422 - $sToRender .= renderFolderResults($aResults, $bTemplateBrowsing);  
423 - break;  
424 - case "category":  
425 - $sToRender .= renderCategoryResults($aResults);  
426 - break;  
427 - case "documentType":  
428 - $sToRender .= renderDocumentTypeResults($aResults);  
429 - break;  
430 - }  
431 - // $sToRender .= "</tr></td>\n";  
432 - $sToRender .= "\t</table>";  
433 -  
434 - return $sToRender;  
435 -}  
436 -  
437 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyBL.php deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Business logic data used to modify documents (will use modifyUI.inc)  
6 - *  
7 - * Expected form variables:  
8 - * o fDocumentID - primary key of document being edited  
9 - * Optional form variables  
10 - * o fForUpdate - generated when user clicks update on page and results in database update  
11 - * o fFirstEdit - generated from the document upload page when the user first uploads a document.  
12 - * Is used to force the user to enter the necessary generic meta data.  
13 - *  
14 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
15 - *  
16 - * This program is free software; you can redistribute it and/or modify  
17 - * it under the terms of the GNU General Public License as published by  
18 - * the Free Software Foundation; either version 2 of the License, or  
19 - * (at your option) any later version.  
20 - *  
21 - * This program is distributed in the hope that it will be useful,  
22 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
23 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
24 - * GNU General Public License for more details.  
25 - *  
26 - * You should have received a copy of the GNU General Public License  
27 - * along with this program; if not, write to the Free Software  
28 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
29 - *  
30 - * @version $Revision$  
31 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
32 - * @package documentmanagement  
33 - */  
34 -  
35 -require_once("../../../../config/dmsDefaults.php");  
36 -  
37 -KTUtil::extractGPC('fDocumentID', 'fDocumentName', 'fDocumentTypeID', 'fFirstEdit', 'fForUpdate');  
38 -  
39 -if (checkSession()) {  
40 -  
41 - require_once("$default->fileSystemRoot/lib/security/Permission.inc");  
42 - require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc");  
43 - require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");  
44 - require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionEngine.inc");  
45 - require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionManager.inc");  
46 - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");  
47 - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternListBox.inc");  
48 - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableTableSqlQuery.inc");  
49 - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableListFromQuery.inc");  
50 - require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyUI.inc");  
51 - require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/documentmanagement/documentUI.inc");  
52 - require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");  
53 - require_once("$default->fileSystemRoot/presentation/Html.inc");  
54 -  
55 - $oDocument = & Document::get($fDocumentID);  
56 - if (Permission::userHasDocumentWritePermission($oDocument)) {  
57 - //if the user has write permission  
58 - if (isset($fForUpdate)) {  
59 - //if the user is updating the values  
60 - $oDocument->setName($fDocumentName);  
61 -  
62 - if ($oDocument->getDocumentTypeID() != $fDocumentTypeID) {  
63 - //the user has changed the document type  
64 - //get rid of all the old document type entries  
65 - $oDocument->removeInvalidDocumentTypeEntries();  
66 - $oDocument->setDocumentTypeID($fDocumentTypeID);  
67 - $bUpdateMetaData = true;  
68 - }  
69 -  
70 - if ($oDocument->update()) {  
71 - // fire subscription alerts for the modified document  
72 - $count = SubscriptionEngine::fireSubscription($fDocumentID, SubscriptionConstants::subscriptionAlertType("ModifyDocument"),  
73 - SubscriptionConstants::subscriptionType("DocumentSubscription"),  
74 - array( "folderID" => $oDocument->getFolderID(),  
75 - "modifiedDocumentName" => $oDocument->getName()));  
76 - $default->log->info("modifyBL.php fired $count subscription alerts for modified document " . $oDocument->getName());  
77 -  
78 - //on successful update, redirect to the view page  
79 - if (isset($bUpdateMetaData)) {  
80 - controllerRedirect("modifyDocumentTypeMetaData", "fDocumentID=" . $oDocument->getID() . "&fFirstEdit=1");  
81 - } else {  
82 - controllerRedirect("viewDocument", "fDocumentID=" . $oDocument->getID());  
83 - }  
84 - } else {  
85 - //display the update page with an error message  
86 - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
87 - $oPatternCustom = & new PatternCustom();  
88 - $oPatternCustom->setHtml(renderPage($oDocument, $oDocument->getDocumentTypeID(), $fFirstEdit));  
89 - $main->setCentralPayload($oPatternCustom);  
90 - $main->setHasRequiredFields(true);  
91 - if (isset($fFirstEdit)) {  
92 - $main->setFormAction($_SERVER["PHP_SELF"] . "?fForUpdate=1&fFirstEdit=1");  
93 - } else {  
94 - $main->setFormAction($_SERVER["PHP_SELF"] . "?fForUpdate=1");  
95 - }  
96 - $main->setHasRequiredFields(true);  
97 - $main->setErrorMessage(_("An error occured while attempting to update the document"));  
98 - $main->render();  
99 - }  
100 -  
101 - } else {  
102 - //display the update page  
103 - $oDocument = & Document::get($fDocumentID);  
104 - $oPatternCustom = & new PatternCustom();  
105 - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
106 - $oPatternCustom->setHtml(renderPage($oDocument, $oDocument->getDocumentTypeID(), $fFirstEdit));  
107 - $main->setCentralPayload($oPatternCustom);  
108 - $main->setHasRequiredFields(true);  
109 - if (isset($fFirstEdit)) {  
110 - $main->setFormAction($_SERVER["PHP_SELF"] . "?fForUpdate=1&fFirstEdit=1");  
111 - } else {  
112 - $main->setFormAction($_SERVER["PHP_SELF"] . "?fForUpdate=1");  
113 - }  
114 -  
115 - $main->setHasRequiredFields(true);  
116 - $main->render();  
117 - }  
118 - } else {  
119 - //user doesn't have permission to edit this page  
120 - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
121 - $oPatternCustom = & new PatternCustom();  
122 - $oPatternCustom->setHtml("");  
123 - $main->setCentralPayload($oPatternCustom);  
124 - $main->setErrorMessage(_("You do not have permission to edit this document"));  
125 - $main->render();  
126 - }  
127 -}  
128 -  
129 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyGenericMetaDataBL.php deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Expected form variables:  
6 - * o fDocumentID - primary key of document being editid  
7 - * Optional form variables:  
8 - * o fFirstTime - set by addDocumentBL on first time uploads and forces the user to  
9 - * fill out the generic meta data  
10 - *  
11 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
12 - *  
13 - * This program is free software; you can redistribute it and/or modify  
14 - * it under the terms of the GNU General Public License as published by  
15 - * the Free Software Foundation; either version 2 of the License, or  
16 - * (at your option) any later version.  
17 - *  
18 - * This program is distributed in the hope that it will be useful,  
19 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
20 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
21 - * GNU General Public License for more details.  
22 - *  
23 - * You should have received a copy of the GNU General Public License  
24 - * along with this program; if not, write to the Free Software  
25 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
26 - *  
27 - * @version $Revision$  
28 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
29 - * @package documentmanagement  
30 - */  
31 -  
32 -require_once("../../../../config/dmsDefaults.php");  
33 -  
34 -KTUtil::extractGPC('fDocumentID', 'fFirstEdit');  
35 -  
36 -if (checkSession()) {  
37 -  
38 - require_once("$default->fileSystemRoot/lib/security/Permission.inc");  
39 - require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc");  
40 - require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");  
41 - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableTableSqlQuery.inc");  
42 - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternMetaData.inc");  
43 - require_once("$default->fileSystemRoot/presentation/Html.inc");  
44 - require_once("documentUI.inc");  
45 - require_once("modifyGenericMetaDataUI.inc");  
46 -  
47 - $oDocument = Document::get($fDocumentID);  
48 - if (Permission::userHasDocumentWritePermission($oDocument)) {  
49 -  
50 - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
51 - $oPatternCustom = & new PatternCustom();  
52 - $oPatternCustom->setHtml(getPage($fDocumentID, $oDocument->getDocumentTypeID(), $fFirstEdit));  
53 - $main->setCentralPayload($oPatternCustom);  
54 - if (isset($fFirstEdit)) {  
55 - $_SESSION["pageAccess"][$default->rootUrl . '/presentation/lookAndFeel/knowledgeTree/store.php'] = true;  
56 - $main->setFormAction("$default->rootUrl/presentation/lookAndFeel/knowledgeTree/store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=modifyDocumentTypeMetaData&fDocumentID=$fDocumentID&fFirstEdit=1"));  
57 - } else {  
58 - $_SESSION["pageAccess"][$default->rootUrl . '/presentation/lookAndFeel/knowledgeTree/store.php'] = true;  
59 - $main->setFormAction("$default->rootUrl/presentation/lookAndFeel/knowledgeTree/store.php?fReturnURL=" . urlencode("$default->rootUrl/control.php?action=viewDocument&fDocumentID=$fDocumentID&fShowSection=genericMetaData"));  
60 - }  
61 - $main->setHasRequiredFields(true);  
62 - $main->render();  
63 - }  
64 -  
65 -}  
66 -  
67 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyGenericMetaDataUI.inc deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Contains UI functions to display the generic meta data edit page..  
6 - *  
7 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
8 - *  
9 - * This program is free software; you can redistribute it and/or modify  
10 - * it under the terms of the GNU General Public License as published by  
11 - * the Free Software Foundation; either version 2 of the License, or  
12 - * (at your option) any later version.  
13 - *  
14 - * This program is distributed in the hope that it will be useful,  
15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
17 - * GNU General Public License for more details.  
18 - *  
19 - * You should have received a copy of the GNU General Public License  
20 - * along with this program; if not, write to the Free Software  
21 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
22 - *  
23 - * @version $Revision$  
24 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
25 - * @package documentmanagement  
26 - */  
27 -  
28 -function getEditableGenericMetaData($iDocumentID, $iDocumentTypeID) {  
29 - global $default;  
30 - /*ok*/ $sQuery = array("SELECT DISTINCT ? AS document_id, COALESCE(DFL.id, -1) AS id, DF.id AS document_field_id, DFL.value AS value, DF.name AS field_name " .  
31 - "FROM document_fields AS DF LEFT OUTER JOIN document_fields_link AS DFL ON DF.id = DFL.document_field_id AND DFL.document_id = ? " .  
32 - "WHERE DF.is_generic = 1 ", array($iDocumentID, $iDocumentID));  
33 -  
34 - $aStoreColumnNames = array("document_id", "document_field_id","value");  
35 - $aDisplayColumnNames = array("document_id", "field_name", "value");  
36 - $aMetaDataColumnNames = array(2=>"field_name");  
37 - $aColumnsEditable = array(0,0,1);  
38 - $aColumnsVisible = array(0,1,1);  
39 - $aColumnDisplayTypes = array(1,1,4);  
40 - $aColumnDatabaseTypes = array(0,0,1);  
41 -  
42 - $oPatternTableSqlQuery = & new PatternEditableTableSqlQuery($sQuery, "document_fields_link", $aStoreColumnNames, $aDisplayColumnNames, $aColumnsEditable, $aColumnsVisible, $aColumnDisplayTypes, $aColumnDatabaseTypes);  
43 - $oPatternTableSqlQuery->setTableCaption(_("Generic Meta Data"));  
44 - $oPatternTableSqlQuery->setUniqueName("gmd");  
45 - $oPatternTableSqlQuery->setRequiredColumnNames(array("value"));  
46 - $oPatternTableSqlQuery->setMetaDataFields($aMetaDataColumnNames);  
47 - $oPatternTableSqlQuery->setEmptyTableMessage(_("No Generic Meta Data"));  
48 - $oPatternTableSqlQuery->setPreCode(sprintf('require_once(KT_LIB_DIR . "/documentmanagement/documentutil.inc.php"); KTDocumentUtil::createMetadataVersion(%d);', (int)$iDocumentID));  
49 - $oPatternTableSqlQuery->setPostCode(sprintf('require_once(KT_LIB_DIR . "/documentmanagement/documentutil.inc.php"); KTDocumentUtil::bumpVersion(%d); KTDocumentUtil::setModifiedDate(%d);', (int)$iDocumentID, (int)$iDocumentID));  
50 - return $oPatternTableSqlQuery->render();  
51 -  
52 -}  
53 -  
54 -function getPage($iDocumentID, $iDocumentTypeID, $bFirstEdit) {  
55 - global $default;  
56 -  
57 - $sToRender .= renderHeading(_("Edit Generic Meta Data"));  
58 - $sToRender .= displayDocumentPath($iDocumentID);  
59 - $sToRender .= "<table>\n";  
60 - $sToRender .= "<tr>\n";  
61 - $sToRender .= "<td>\n";  
62 - $sToRender .= getEditableGenericMetaData($iDocumentID, $iDocumentTypeID);  
63 - $sToRender .= "</td>\n";  
64 - $sToRender .= "</tr>\n";  
65 - $sToRender .= "<tr>\n";  
66 - $sToRender .= "<td>\n";  
67 -  
68 - $sToRender .= "<table>\n";  
69 - $sToRender .= "<tr>\n";  
70 - $sToRender .= "<td>\n";  
71 - $sToRender .= "<input type=\"image\" src=\"" . KTHtml::getUpdateButton() . "\" border=\"0\"/>\n";  
72 - $sToRender .= "</td>\n";  
73 - if (!isset($bFirstEdit)) {  
74 - //can't cancel if you're uploading for the first time, must fill out the generic meta data  
75 - $sToRender .= "<td>\n";  
76 - $sToRender .= "<a href=\"$default->rootUrl/control.php?action=viewDocument&fDocumentID=$iDocumentID&fShowSection=genericMetaData\"><img src=\"" . KTHtml::getCancelButton() . "\" border=\"0\" /></a>\n";  
77 - $sToRender .= "</td>\n";  
78 - $sToRender .= "</tr>\n";  
79 - }  
80 - $sToRender .= "</table>\n";  
81 -  
82 - $sToRender .= "</td>\n";  
83 - $sToRender .= "</tr>\n";  
84 - $sToRender .= "</table>\n";  
85 -  
86 - return $sToRender;  
87 -}  
88 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/modifySpecificMetaDataBL.php deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Business logic to modify type specific meta data for a document.  
6 - *  
7 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
8 - *  
9 - * This program is free software; you can redistribute it and/or modify  
10 - * it under the terms of the GNU General Public License as published by  
11 - * the Free Software Foundation; either version 2 of the License, or  
12 - * (at your option) any later version.  
13 - *  
14 - * This program is distributed in the hope that it will be useful,  
15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
17 - * GNU General Public License for more details.  
18 - *  
19 - * You should have received a copy of the GNU General Public License  
20 - * along with this program; if not, write to the Free Software  
21 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
22 - *  
23 - * @version $Revision$  
24 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
25 - * @package documentmanagement  
26 - */  
27 -  
28 -require_once("../../../../config/dmsDefaults.php");  
29 -  
30 -KTUtil::extractGPC('fDocumentID', 'fFirstEdit', 'fForStore');  
31 -  
32 -if (!checkSession()) {  
33 - die();  
34 -}  
35 -  
36 -require_once("$default->fileSystemRoot/lib/security/Permission.inc");  
37 -require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc");  
38 -require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");  
39 -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");  
40 -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternEditableTableSqlQuery.inc");  
41 -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternMetaData.inc");  
42 -require_once("$default->fileSystemRoot/presentation/Html.inc");  
43 -require_once("documentUI.inc");  
44 -require_once("modifySpecificMetaDataUI.inc");  
45 -  
46 -require_once(KT_LIB_DIR . '/documentmanagement/documentutil.inc.php');  
47 -  
48 -$oDocument = Document::get($fDocumentID);  
49 -if (!Permission::userHasDocumentWritePermission($oDocument)) {  
50 - die();  
51 -}  
52 -  
53 -if (empty($fForStore)) {  
54 - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
55 - $oPatternCustom = & new PatternCustom();  
56 - $oPatternCustom->setHtml(getPage($fDocumentID, $oDocument->getDocumentTypeID(), $fFirstEdit));  
57 - $main->setCentralPayload($oPatternCustom);  
58 - $main->setFormAction($_SERVER["PHP_SELF"] . "?fForStore=1");  
59 - $main->setHasRequiredFields(true);  
60 - $main->render();  
61 - exit(0);  
62 -}  
63 -  
64 -$matches = array();  
65 -$aFields = array();  
66 -foreach ($_REQUEST as $k => $v) {  
67 - if (preg_match('/^emd(\d+)$/', $k, $matches)) {  
68 - $aFields[] = array(DocumentField::get($matches[1]), $v);  
69 - }  
70 -}  
71 -  
72 -DBUtil::startTransaction();  
73 -KTDocumentUtil::createMetadataVersion($oDocument->getID());  
74 -$res = KTDocumentUtil::saveMetadata($oDocument, $aFields);  
75 -if (PEAR::isError($res)) {  
76 - DBUtil::rollback();  
77 - $_SESSION['KTErrorMessages'][] = $res->getMessage();  
78 - controllerRedirect('modifyDocumentTypeMetaData', "fDocumentID=$fDocumentID");  
79 - exit(0);  
80 -}  
81 -KTDocumentUtil::bumpVersion($oDocument->getID());  
82 -KTDocumentUtil::setModifiedDate($oDocument->getID());  
83 -DBUtil::commit();  
84 -  
85 -if (isset($fFirstEdit)) {  
86 - controllerRedirect('viewDocument', "fDocumentID=$fDocumentID");  
87 -} else {  
88 - controllerRedirect('viewDocument', "fDocumentID=$fDocumentID&fShowSection=typeSpecificMetaData");  
89 -}  
90 -  
91 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/modifySpecificMetaDataUI.inc deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Presentation information used by modifySpecificMetaDataBL.php.  
6 - *  
7 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
8 - *  
9 - * This program is free software; you can redistribute it and/or modify  
10 - * it under the terms of the GNU General Public License as published by  
11 - * the Free Software Foundation; either version 2 of the License, or  
12 - * (at your option) any later version.  
13 - *  
14 - * This program is distributed in the hope that it will be useful,  
15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
17 - * GNU General Public License for more details.  
18 - *  
19 - * You should have received a copy of the GNU General Public License  
20 - * along with this program; if not, write to the Free Software  
21 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
22 - *  
23 - * @version $Revision$  
24 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
25 - * @package documentmanagement  
26 - */  
27 -  
28 -require_once(KT_LIB_DIR . '/templating/templating.inc.php');  
29 -require_once(KT_LIB_DIR . '/documentmanagement/DocumentField.inc');  
30 -  
31 -function getEditableTypeSpecificMetaData($iDocumentID, $iDocumentTypeID) {  
32 - global $default;  
33 - /*ok*/ $sQuery = array("SELECT DF.id AS id " .  
34 - "FROM document_fields AS DF LEFT JOIN document_type_fields_link AS DTFL ON DTFL.field_id = DF.id " .  
35 - "WHERE DF.is_generic = ? " .  
36 - "AND DTFL.document_type_id = ?", array(false, $iDocumentTypeID));  
37 -  
38 - $aIDs = DBUtil::getResultArrayKey($sQuery, 'id');  
39 -  
40 - $aFields = array();  
41 - $aValues = array();  
42 - foreach ($aIDs as $iID) {  
43 - $aFields[] =& call_user_func(array('DocumentField', 'get'), $iID);  
44 - $aValues[$iID] = DBUtil::getOneResultKey(array(  
45 - "SELECT value FROM document_fields_link WHERE document_id = ? AND document_field_id = ?",  
46 - array($iDocumentID, $iID),  
47 - ), 'value');  
48 - }  
49 - $aTemplateData = array(  
50 - 'caption' => _('Type specific meta data'),  
51 - 'empty_message' => _("No Type Specific Meta Data"),  
52 - 'fields' => $aFields,  
53 - 'values' => $aValues,  
54 - );  
55 - $oTemplating = KTTemplating::getSingleton();  
56 - $oTemplate = $oTemplating->loadTemplate("ktcore/metadata/editable_metadata_fields");  
57 - return $oTemplate->render($aTemplateData);  
58 -}  
59 -  
60 -function getPage($iDocumentID, $iDocumentTypeID, $bFirstEdit) {  
61 - global $default;  
62 - $sToRender .= renderHeading(_("Edit Type Specific Meta Data"));  
63 - $sToRender .= displayDocumentPath($iDocumentID);  
64 - $sToRender .= "<table>\n";  
65 - $sToRender .= "<tr>\n";  
66 - $sToRender .= "<td>\n";  
67 - $sToRender .= getEditableTypeSpecificMetaData($iDocumentID, $iDocumentTypeID);  
68 - $sToRender .= "</td>\n";  
69 - $sToRender .= "</tr>\n";  
70 - $sToRender .= "<tr>\n";  
71 - $sToRender .= "<td>\n";  
72 -  
73 - $sToRender .= "<table>\n";  
74 - $sToRender .= "<tr>\n";  
75 - $sToRender .= "<td>\n";  
76 - $sToRender .= "<input type=\"image\" src=\"" . KTHtml::getUpdateButton() . "\" border=\"0\"/>\n";  
77 - $sToRender .= "</td>\n";  
78 - if (!isset($bFirstEdit)) {  
79 - $sToRender .= "<td>\n";  
80 - $sToRender .= generateControllerLink("viewDocument", "fDocumentID=$iDocumentID&fShowSection=typeSpecificMetaData", "<img src=\"" . KTHtml::getCancelButton() . "\" border=\"0\"/>");  
81 - $sToRender .= "</td>\n";  
82 - }  
83 - $sToRender .= "</tr>\n";  
84 - $sToRender .= "</table>\n";  
85 -  
86 - $sToRender .= "</td>\n";  
87 - $sToRender .= "</tr>\n";  
88 - $sToRender .= "</table>\n";  
89 -  
90 - return $sToRender;  
91 -}  
92 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/modifyUI.inc deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Presentation data used to modify documents (will be used by modifyBL.inc)  
6 - *  
7 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
8 - *  
9 - * This program is free software; you can redistribute it and/or modify  
10 - * it under the terms of the GNU General Public License as published by  
11 - * the Free Software Foundation; either version 2 of the License, or  
12 - * (at your option) any later version.  
13 - *  
14 - * This program is distributed in the hope that it will be useful,  
15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
17 - * GNU General Public License for more details.  
18 - *  
19 - * You should have received a copy of the GNU General Public License  
20 - * along with this program; if not, write to the Free Software  
21 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
22 - *  
23 - * @version $Revision$  
24 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
25 - * @package documentmanagement  
26 - */  
27 -  
28 -function renderEditableDocumentData($oDocument, $iDocumentTypeID) {  
29 - global $default;  
30 - $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));  
31 - $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");  
32 -  
33 - $sToRender;  
34 - if ($oDocument) {  
35 - $sToRender .= "<table>\n";  
36 - $sToRender .= "<caption><strong>" . _("Document Data") . "</strong></caption>\n";  
37 - $sToRender .= "<tr>\n";  
38 - $sToRender .= "<td bgcolor=\"$sTDBGColour\">\n";  
39 - $sToRender .= "<b>" . _("Document Title") . " </b>\n";  
40 - $sToRender .= "</td>\n";  
41 - $sToRender .= "<td>\n";  
42 - $sToRender .= "<input type=\"text\" name=\"fDocumentName\" value=\"" . $oDocument->getName() . "\" />\n";  
43 - $sToRender .= "</td>\n";  
44 - $sToRender .= "</tr>\n";  
45 - $sToRender .= "<tr>\n";  
46 - $sToRender .= "<td bgcolor=\"$sTDBGColour\">\n";  
47 - $sToRender .= "<b>" . _("Document Type") . " </b>\n";  
48 - $sToRender .= "</td>\n";  
49 - $sToRender .= "<td>\n";  
50 - $sToRender .= getDocumentType($oDocument->getFolderID(), $iDocumentTypeID);  
51 - $sToRender .= "</td>\n";  
52 - $sToRender .= "</tr>\n";  
53 - $sToRender .= "</table>\n";  
54 -  
55 - return $sToRender;  
56 - }  
57 - return "";  
58 -}  
59 -  
60 -function getDocumentType($iFolderID, $iDocumentTypeID) {  
61 - global $default;  
62 - $sWhereClause = "FDL.folder_id = $iFolderID";  
63 - $oPatternListBox = & new PatternListBox("$default->document_types_table", "name", "id", "fDocumentTypeID",$sWhereClause);  
64 - $oPatternListBox->setIncludeDefaultValue(false);  
65 - $oPatternListBox->setFromClause("INNER JOIN $default->folder_doctypes_table AS FDL ON ST.id = FDL.document_type_id");  
66 - if (isset($iDocumentTypeID)) {  
67 - $oPatternListBox->setSelectedValue($iDocumentTypeID);  
68 - }  
69 - return $oPatternListBox->render();  
70 -}  
71 -  
72 -  
73 -  
74 -function renderPage($oDocument, $iDocumentTypeID, $bFirstEdit) {  
75 - global $default;  
76 - $sToRender = renderHeading(_("Edit Document Details"));  
77 - $sToRender .= displayDocumentPath($oDocument->getID());  
78 - $sToRender .= "<table border = 0>\n";  
79 - $sToRender .= "<tr>\n";  
80 - $sToRender .= "<td>\n";  
81 - $sToRender .= renderEditableDocumentData($oDocument, $iDocumentTypeID) . "\n";  
82 - $sToRender .= "</tr>\n";  
83 - $sToRender .= "</table>\n";  
84 - $sToRender .= "<table>\n";  
85 - $sToRender .= "<tr>\n";  
86 - $sToRender .= "<td><input type=\"image\" src=\"" . KTHtml::getUpdateButton() . "\" border=\"0\"/><td>\n";  
87 - if (!isset($bFirstEdit)) {  
88 - //can't this action on a first time upload, you must fill out the necessary fields  
89 - $sToRender .= "<td><a href=\"$default->rootUrl/control.php?action=viewDocument&fDocumentID=" . $oDocument->getID() . "\"><img src=\"" . KTHtml::getCancelButton() . "\" border=\"0\" /></a><td>\n";  
90 - }  
91 - $sToRender .= "</tr>\n";  
92 - $sToRender .= "</table>\n";  
93 -  
94 - return $sToRender . getValidationJavaScript();  
95 -}  
96 -  
97 -function getValidationJavaScript() {  
98 - $sToRender .= "\n\n<script language=\"javascript\">\n<!--\n";  
99 - $sToRender .= "function validateForm(theForm) {\n";  
100 - $sToRender .= "\tif (!(validRequired(document.MainForm.fDocumentName, 'Document Title'))) {\n";  
101 - $sToRender .= "\t\treturn false;\n";  
102 - $sToRender .= "\t}\n";  
103 - $sToRender .= "return true;\n}\n";  
104 - $sToRender .= "//-->\n</script>\n\n";  
105 -  
106 - return $sToRender;  
107 -}  
108 -  
109 -function wrapInTable($sHtml) {  
110 - return "\n\t\t\t<table border = 1, width = 100%><tr><td>$sHtml</td></tr></table>\n";  
111 -}?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/templateDocumentBrowseBL.php deleted
1 -<?php  
2 -  
3 -require_once("../../../../config/dmsDefaults.php");  
4 -  
5 -KTUtil::extractGPC('fBrowseType', 'fSortBy', 'fSortDirection');  
6 -  
7 -require_once("$default->fileSystemRoot/lib/browse/BrowserFactory.inc");  
8 -require_once("$default->fileSystemRoot/lib/browse/Browser.inc");  
9 -require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentType.inc");  
10 -require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentTransaction.inc");  
11 -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");  
12 -require_once("$default->uiDirectory/documentmanagement/browseUI.inc");  
13 -require_once("$default->fileSystemRoot/presentation/Html.inc");  
14 -/**  
15 - * $Id$  
16 - *  
17 - * This page very closely follows browseBL.php. This page is ONLY used when a user  
18 - * browses for a template document when setting up document linking in folder  
19 - * collaboration. This page is launched as a separate window by javascript. The  
20 - * user browses for the document that will serve as a template and then selects it.  
21 - * This causes this window to close and set the template document value in the  
22 - * the parent window.  
23 - *  
24 - * The main difference between this file and browseBL.php is the way the document  
25 - * links are generated. When clicking on a document link, instead of being taken  
26 - * to the document, the document values are sent to the parent window and the  
27 - * window is closed  
28 - *  
29 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
30 - *  
31 - * This program is free software; you can redistribute it and/or modify  
32 - * it under the terms of the GNU General Public License as published by  
33 - * the Free Software Foundation; either version 2 of the License, or  
34 - * (at your option) any later version.  
35 - *  
36 - * This program is distributed in the hope that it will be useful,  
37 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
38 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
39 - * GNU General Public License for more details.  
40 - *  
41 - * You should have received a copy of the GNU General Public License  
42 - * along with this program; if not, write to the Free Software  
43 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
44 - *  
45 - * @version $Revision$  
46 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
47 - * @package documentmanagement  
48 - */  
49 -  
50 -// only if we have a valid session  
51 -if (checkSession()) {  
52 - require_once("../../../../phpSniff/phpTimer.class.php");  
53 - $timer = new phpTimer();  
54 - $timer->start();  
55 -  
56 - // retrieve variables  
57 - if (!$fBrowseType) {  
58 - // required param not set- internal error or user querystring hacking  
59 - // set it to default= folder  
60 - $fBrowseType = "folder";  
61 - }  
62 -  
63 - // retrieve field to sort by  
64 - if (!$fSortBy) {  
65 - // no sort field specified- default is document name  
66 - $fSortBy = "name";  
67 - }  
68 - // retrieve sort direction  
69 - if (!$fSortDirection) {  
70 - $fSortDirection = "asc";  
71 - }  
72 -  
73 - // fire up the document browser  
74 - $oBrowser = BrowserFactory::create($fBrowseType, $fSortBy, $fSortDirection);  
75 -  
76 - // instantiate my content pattern  
77 - $oContent = new PatternCustom();  
78 -  
79 - $aResults = $oBrowser->browse();  
80 -  
81 - require_once("../../../webpageTemplate.inc");  
82 - // display the browse results  
83 - $oContent->addHtml(renderPage($aResults, $fBrowseType, $fSortBy, $fSortDirection, true));  
84 -  
85 - $sToRender = "<html>\n";  
86 - $sToRender .= "<head>\n";  
87 - $sToRender .= "<meta http-equiv=\"refresh\" content=\"" . ($default->sessionTimeout+3) . "\">\n";  
88 - $sToRender .= "<link rel=\"SHORTCUT ICON\" href=\"$default->graphicsUrl/tree.ico\">\n";  
89 - $sToRender .= "<link rel=\"stylesheet\" href=\"$default->uiUrl/stylesheet.php\">\n";  
90 - $sToRender .= "</head>\n";  
91 - $sToRender .= "<body>\n";  
92 - $sToRender .= $oContent->render() . "\n";  
93 - $sToRender .= "</body>";  
94 - $sToRender .= "</html>\n";  
95 -  
96 - echo $sToRender . "\n\n" . getSendInfoToParentJavaScript();  
97 -  
98 -}  
99 -  
100 -function getSendInfoToParentJavaScript() {  
101 - $sToRender = "<script language=\"JavaScript\"><!--\n";  
102 - $sToRender .= "function load(documentName, documentID, target) {\n";  
103 - $sToRender .= "\tif (target != '') {\n";  
104 - //$sToRender .= "\t\ttarget.window.document.MainForm.fTemplateDocument.value = documentName;\n";  
105 - //$sToRender .= "\t\ttarget.window.document.MainForm.fTemplateDocumentID.value = documentID;\n";  
106 - $sToRender .= "\t\ttarget.window.document.MainForm.fTargetDocumentID.value = documentID;\n";  
107 - $sToRender .= "\t\ttarget.window.document.MainForm.fTargetDocument.value = documentName;\n";  
108 - $sToRender .= "\t}\n";  
109 - $sToRender .= "\telse {\n";  
110 - $sToRender .= "\t\twindow.location.href = file;\n";  
111 - $sToRender .= "\t}\n";  
112 - $sToRender .= "\twindow.close();\n";  
113 - $sToRender .= "}\n";  
114 - $sToRender .= "//--></script>\n\n";  
115 - return $sToRender;  
116 -  
117 -}  
118 -  
119 -/*function renderBrowsePage($oContent) {  
120 - global $default;  
121 - $sToRender = "<html>\n";  
122 - $sToRender .= "<head>\n";  
123 - $sToRender .= "<meta http-equiv=\"refresh\" content=\"" . ($default->sessionTimeout+3) . "\">\n";  
124 - $sToRender .= "<link rel=\"SHORTCUT ICON\" href=\"$default->graphicsUrl/tree.ico\">\n";  
125 - $sToRender .= "<link rel=\"stylesheet\" href=\"$default->uiUrl/stylesheet.php\">\n";  
126 - $sToRender .= "</head>\n";  
127 - $sToRender .= "<body>\n";  
128 - $sToRender .= $oContent->render() . "\n";  
129 - $sToRender .= "</body>";  
130 - $sToRender .= "</html>\n";  
131 - return $sToRender;  
132 -  
133 -  
134 -}*/  
135 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/templateDocumentBrowseUI.inc deleted
1 -<?php  
2 -  
3 -KTUtil::extractGPC('fBrowseType', 'fCategoryName', 'fDocumentTypeID', 'fFolderID');  
4 -  
5 -require_once("$default->fileSystemRoot/presentation/Html.inc");  
6 -require_once("$default->uiDirectory/foldermanagement/folderUI.inc");  
7 -require_once("$default->uiDirectory/documentmanagement/documentUI.inc");  
8 -require_once("$default->uiDirectory/foldermanagement/addFolderUI.inc");  
9 -/**  
10 - * $Id$  
11 - *  
12 - * Template document browsing page html UI building functions.  
13 - *  
14 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
15 - *  
16 - * This program is free software; you can redistribute it and/or modify  
17 - * it under the terms of the GNU General Public License as published by  
18 - * the Free Software Foundation; either version 2 of the License, or  
19 - * (at your option) any later version.  
20 - *  
21 - * This program is distributed in the hope that it will be useful,  
22 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
23 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
24 - * GNU General Public License for more details.  
25 - *  
26 - * You should have received a copy of the GNU General Public License  
27 - * along with this program; if not, write to the Free Software  
28 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
29 - *  
30 - * @version $Revision$  
31 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
32 - * @package documentmanagement  
33 - */  
34 -  
35 -/**  
36 - * Generates radio button selects for document browse by type  
37 - * Javascript refreshes the form when it changes  
38 - *  
39 - * @param string the selected browse by option  
40 - */  
41 -function renderBrowseTypeSelect($sBrowseType) {  
42 - // TODO: write function for onChange that checks if the new value  
43 - return "<span class=\"browseTypeSelect\">\n  
44 - \tView documents by: <input type=\"radio\" name=\"fBrowseType\" onclick=\"document.MainForm.submit()\" value=\"folder\"" .  
45 - ((($sBrowseType=="folder") || (strlen($sBrowseType)==0)) ? " checked=\"checked\"" : "") . "/> Folders\n" .  
46 - "<input type=\"radio\" name=\"fBrowseType\" onclick=\"document.MainForm.submit()\" value=\"category\"" .  
47 - (($sBrowseType=="category") ? " checked=\"checked\"" : "") . "/> Category\n" .  
48 - "<input type=\"radio\" name=\"fBrowseType\" onclick=\"document.MainForm.submit()\" value=\"documentType\"" .  
49 - (($sBrowseType=="documentType") ? " checked=\"checked\"" : "") . "/> Document Type\n</span>";  
50 -}  
51 -  
52 -// <category browse helper methods>  
53 -  
54 -/**  
55 - * Displays the passed category path as a link  
56 - *  
57 - * @param string the category name to display  
58 - */  
59 -function displayCategoryPathLink($aCategories) {  
60 - // if the first value in arr["categories"] == Categories then we've got a list of categories  
61 - if ($aCategories[0] == "Categories") {  
62 - return displayCategoryLink($aCategories[0]);  
63 - } else {  
64 - // else the first entry is the category name, so build a little path  
65 - return displayCategoryLink("Categories") . " > " . displayCategoryLink($aCategories[0]);  
66 - }  
67 -}  
68 -  
69 -/**  
70 - * Displays the passed category as a link  
71 - *  
72 - * @param string the category name to display  
73 - */  
74 -function displayCategoryLink($sCategoryName) {  
75 - if ($sCategoryName != "") {  
76 - return generateLink($_SERVER["PHP_SELF"],  
77 - "fBrowseType=category" .  
78 - // if the category title is passed in, link back to the list of categories  
79 - (($sCategoryName == "Categories") ? "" : "&fCategoryName=" . urlencode($sCategoryName)),  
80 - $sCategoryName);  
81 - } else {  
82 - return false;  
83 - }  
84 -}  
85 -  
86 -/**  
87 - * Displays the results for category browsing  
88 - *  
89 - * @param array the category browse results  
90 - */  
91 -function renderCategoryResults($aResults) {  
92 - $sToRender = "";  
93 -  
94 - // if the first value in arr["categories"] == Categories then we've got a list of categories  
95 - if ($aResults["categories"][0] == "Categories") {  
96 - // loop through categories and display them  
97 - for ($i=1; $i<count($aResults["categories"]); $i++) {  
98 - $sToRender .= "<tr bgcolor=\"" . getColour($i) . "\">";  
99 -  
100 - // category name  
101 - $sToRender .= "<td>" . displayCategoryLink($aResults["categories"][$i]) . "</td>";  
102 - // blank filename  
103 - $sToRender .= "<td></td>";  
104 - // creator name  
105 - $sToRender .= "<td></td>";  
106 - // modified date  
107 - $sToRender .= "<td></td>";  
108 - // document type  
109 - $sToRender .= "<td></td>";  
110 -  
111 - $sToRender .= "</tr>\n";  
112 - }  
113 - } else {  
114 - // else the first entry is the category name, so display the documents in the category  
115 - // with full paths  
116 - $sToRender .= renderDocumentList($aResults, _("This category contains no documents"), _("You don't have access to the documents in this category"), true);  
117 - }  
118 - return $sToRender;  
119 -}  
120 -  
121 -// </category browse helper methods>  
122 -  
123 -// <document type display helper methods>  
124 -/**  
125 - * Displays the passed document type path as a link  
126 - *  
127 - * @param string the document type to display  
128 - */  
129 -function displayDocumentTypePathLink($aDocumentTypes) {  
130 - // if the first value in arr["categories"] == Categories then we've got a list of categories  
131 - if ($aDocumentTypes[0]["name"] == "Document Types") {  
132 - return displayDocumentTypeLink($aDocumentTypes[0]);  
133 - } else {  
134 - // else the first entry is the category name, so build a little path  
135 - return displayDocumentTypeLink(array("name"=>"Document Types")) . " > " . displayDocumentTypeLink($aDocumentTypes[0]);  
136 - }  
137 -}  
138 -  
139 -/**  
140 - * Displays the passed document type as a link  
141 - *  
142 - * @param string the document type to display  
143 - */  
144 -function displayDocumentTypeLink($aDocumentType) {  
145 - return generateLink($_SERVER["PHP_SELF"],  
146 - "fBrowseType=documentType" .  
147 - // if the document type title is passed in, link back to the list of document types  
148 - (($aDocumentType["name"] == "Document Types") ? "" : "&fDocumentTypeID=" . $aDocumentType["id"]),  
149 - $aDocumentType["name"]);  
150 -}  
151 -  
152 -/**  
153 - * Displays the results for document type browsing  
154 - *  
155 - * @param array the document type browse results  
156 - */  
157 -function renderDocumentTypeResults($aResults) {  
158 - $sToRender = "";  
159 -  
160 - // if the first value in arr["documentTypes"] == Document Types then we've got a list of document types  
161 - if ($aResults["documentTypes"][0]["name"] == "Document Types") {  
162 - // loop through document types and display them  
163 - for ($i=1; $i<count($aResults["documentTypes"]); $i++) {  
164 - $sToRender .= "<tr bgcolor=\"" . getColour($i) . "\">";  
165 - // document type name  
166 - $sToRender .= "<td>" . displayDocumentTypeLink($aResults["documentTypes"][$i]) . "</td>";  
167 - // blank filename  
168 - $sToRender .= "<td></td>";  
169 - // creator name  
170 - $sToRender .= "<td></td>";  
171 - // modified date  
172 - $sToRender .= "<td></td>";  
173 - // document type  
174 - $sToRender .= "<td></td>";  
175 - $sToRender .= "</tr>\n";  
176 - }  
177 - } else {  
178 - // else the first entry is the document type name, so display the documents in the document type  
179 - // with full paths  
180 - $sToRender .= renderDocumentList($aResults, _("This document type contains no documents"), _("You don't have access to the documents in this document type"), true);  
181 - }  
182 - return $sToRender;  
183 -}  
184 -// </document type browse helper methods>  
185 -  
186 -  
187 -// <folder browse helper methods>  
188 -/**  
189 - * Displays the folders in the browse results  
190 - *  
191 - * @param array the browse result objects  
192 - */  
193 -function renderFolderResults($aResults) {  
194 - global $default;  
195 - $sToRender = "";  
196 -  
197 - // now loop through the rest of the folders and display links  
198 - if (count($aResults["folders"]) > 1) {  
199 - for ($i=1; $i<count($aResults["folders"]); $i++) {  
200 - $sFolderLink = displayFolderLink($aResults["folders"][$i]);  
201 - $oCreator = User::get($aResults["folders"][$i]->getCreatorID());  
202 -  
203 - $sToRender .= "<tr bgcolor=\"" . getColour($i) . "\">";  
204 - // folder name  
205 - $sToRender .= "<td>" . $sFolderLink . "</td>";  
206 - // blank filename (??: folder description?)  
207 - $sToRender .= "<td></td>";  
208 - // creator name  
209 - $sToRender .= "<td>" . $oCreator->getName() . "</td>";  
210 - // modified date (TODO: add to db)  
211 - $sToRender .= "<td></td>";  
212 - // document type (??: display one of the mapped document types?)  
213 - $sToRender .= "<td></td>";  
214 - $sToRender .= "</tr>\n";  
215 - }  
216 - } else {  
217 - $sToRender .= "<tr><td colspan=\"5\">" . _("This folder contains no sub folders") . "</td></tr>";  
218 - }  
219 -  
220 - $sToRender .= "<tr><td>" . renderDocumentList($aResults, _("This folder contains no documents"), _("You don't have access to the documents in this folder")) . "</td></tr>\n";  
221 -  
222 - return $sToRender;  
223 -}  
224 -// </folder browse helper methods>  
225 -  
226 -/**  
227 - * Displays the headings for the displayed document details and enables  
228 - * resorting the contents  
229 - *  
230 - * @param string the field currently sorting by  
231 - * @param string the direction currently sorted in  
232 - */  
233 -function renderSortHeadings($sSortBy, $sSortDirection) {  
234 - global $default, $oBrowser, $fBrowseType, $fFolderID, $fCategoryName, $fDocumentTypeID;  
235 -  
236 - $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));  
237 - $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");  
238 -  
239 - // need list of display criteria and sort name  
240 - $aSortCriteria = $oBrowser->getSortCriteria();  
241 -  
242 - $sToRender .= "<tr bgcolor=\"$sTDBGColour\">";  
243 - while (list($key, $value) = each ($aSortCriteria)) {  
244 - $sCurrentSortDirection = "asc";  
245 - $displayText = $value["display"];  
246 - // if the current heading is being sorted then flip the sort direction  
247 - if ($sSortBy == $key) {  
248 - $sCurrentSortDirection = ($sSortDirection == "asc" ? "desc" : "asc");  
249 - $displayText = "<img border=\"0\" src=\"$default->graphicsUrl/" . $sCurrentSortDirection . ".gif\">" . $displayText;  
250 - }  
251 - switch ($fBrowseType) {  
252 - case "folder" :  
253 - $queryString = "fFolderID=$fFolderID";  
254 - break;  
255 - case "category" :  
256 - $queryString = "fCategoryName=$fCategoryName";  
257 - break;  
258 - case "documentType" :  
259 - $queryString = "fDocumentTypeID=$fDocumentTypeID";  
260 - break;  
261 - }  
262 - $sToRender .= "<td>" . generateLink($_SERVER["PHP_SELF"], "fBrowseType=$fBrowseType&$queryString&fSortBy=$key&fSortDirection=$sCurrentSortDirection", $displayText) . "</td>";  
263 - }  
264 -  
265 - $sToRender .= "</tr>\n";  
266 - return $sToRender;  
267 -}  
268 -  
269 -/**  
270 - * Displays the documents in the browse results  
271 - *  
272 - * @param array the browse result objects  
273 - * @param string the message to display if there are no documents  
274 - * @param string the message to display if the current user doesn't have permission to view the documents  
275 - * @param boolean whether to display the complete path to the document or not  
276 - */  
277 -function renderDocumentList($aResults, $sNoDocumentsMessage, $sNoPermissionMessage, $bDisplayFullPath = false) {  
278 - // loop through the files and display links  
279 - if (count($aResults["documents"]) > 0) {  
280 - for ($i=0; $i<count($aResults["documents"]); $i++) {  
281 - $sToRender .= "<tr bgcolor=\"" . getColour($i) . "\" width=\"100%\"><td>" . displayDocumentLinkForTemplateBrowsing($aResults["documents"][$i], $bDisplayFullPath) . "</td>";  
282 - //$sToRender .= "<tr>";  
283 - $sToRender .= "<td>" . $aResults["documents"][$i]->getFileName() . "</td>";  
284 - $oCreator = User::get($aResults["documents"][$i]->getCreatorID());  
285 - $sToRender .= "<td>" . $oCreator->getName() . "</td>";  
286 - $sToRender .= "<td>" . $aResults["documents"][$i]->getLastModifiedDate() . "</td>";  
287 - $oDocumentType = DocumentType::get($aResults["documents"][$i]->getDocumentTypeID());  
288 - if ($oDocumentType) {  
289 - $sToRender .= "<td>" . $oDocumentType->getName() . "</td>";  
290 - }  
291 - $sToRender .= "</tr>\n";  
292 - }  
293 - } else if ($aResults["accessDenied"]) {  
294 - $sToRender .= "<tr><td>$sNoPermissionMessage</td></tr>";  
295 - } else {  
296 - $sToRender .= "<tr><td>$sNoDocumentsMessage</td></tr>";  
297 - }  
298 - return $sToRender;  
299 -}  
300 -  
301 -/**  
302 - * Displays the browse page- lists folders and documents  
303 - *  
304 - * @param array the browse results to display  
305 - * @param string the browse view (folder, category, document type)  
306 - * @param string the field to sort the results by  
307 - * @param string the direction to sort  
308 - */  
309 -function renderPage($aResults, $sBrowseType, $sSortBy, $sSortDirection) {  
310 - global $default;  
311 -  
312 - $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));  
313 - $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");  
314 -  
315 - $sToRender = renderHeading(_("Browse Collection"));  
316 -  
317 - $sToRender .= "<table border=\"0\" cellpadding=\"5\" width=\"100%\"><tr><td bgcolor=\"$sTDBGColour\">";  
318 - switch ($sBrowseType) {  
319 - case "folder" : $sToRender .= displayFolderPathLink(Folder::getFolderPathAsArray($aResults["folders"][0]->getID()), Folder::getFolderPathNamesAsArray($aResults["folders"][0]->getID())); break;  
320 - case "category" : $sToRender .= displayCategoryPathLink($aResults["categories"]); break;  
321 - case "documentType" : $sToRender .= displayDocumentTypePathLink($aResults["documentTypes"]); break;  
322 - }  
323 - $sToRender .= "</td></tr></table>\n";  
324 -  
325 - // browse type select  
326 - $sToRender .= "<table border=\"0\" width=\"100%\">\n";  
327 - //$sToRender .= "\t<tr><td bgcolor=\"$sTDBGColour\">" . renderBrowseTypeSelect($sBrowseType) . "</td></tr>";  
328 - $sToRender .= "\t</table>";  
329 -  
330 - // display folders|documents  
331 - $sToRender .= "<table border=\"0\" width=\"100%\">\n";  
332 - $sToRender .= renderSortHeadings($sSortBy, $sSortDirection);  
333 - $sToRender .= "<tr><td>\n";  
334 - switch ($sBrowseType) {  
335 - case "folder" : $sToRender .= renderFolderResults($aResults, $sSortBy, $sSortDirection); break;  
336 - case "category" : $sToRender .= renderCategoryResults($aResults); break;  
337 - case "documentType" : $sToRender .= renderDocumentTypeResults($aResults); break;  
338 - }  
339 - $sToRender .= "</tr></td>\n";  
340 - $sToRender .= "\t</table>";  
341 -  
342 - return $sToRender;  
343 -}  
344 -  
345 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/viewHistoryBL.php deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Contains the business logic required to build the document history view page.  
6 - * Will use viewHistoryUI.php for HTML  
7 - *  
8 - * Expected form varaibles:  
9 - * o $fDocumentID - Primary key of document to view  
10 - *  
11 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
12 - *  
13 - * This program is free software; you can redistribute it and/or modify  
14 - * it under the terms of the GNU General Public License as published by  
15 - * the Free Software Foundation; either version 2 of the License, or  
16 - * (at your option) any later version.  
17 - *  
18 - * This program is distributed in the hope that it will be useful,  
19 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
20 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
21 - * GNU General Public License for more details.  
22 - *  
23 - * You should have received a copy of the GNU General Public License  
24 - * along with this program; if not, write to the Free Software  
25 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
26 - *  
27 - * @version $Revision$  
28 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
29 - * @package documentmanagement  
30 - */  
31 -  
32 -require_once("../../../../config/dmsDefaults.php");  
33 -  
34 -KTUtil::extractGPC('fDocumentID');  
35 -  
36 -require_once("$default->fileSystemRoot/lib/security/Permission.inc");  
37 -  
38 -require_once("$default->fileSystemRoot/lib/users/User.inc");  
39 -  
40 -require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentTransaction.inc");  
41 -require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc");  
42 -require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc");  
43 -  
44 -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternTableSqlQuery.inc");  
45 -require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc");  
46 -  
47 -require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/documentmanagement/documentUI.inc");  
48 -  
49 -require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewHistoryUI.inc");  
50 -require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");  
51 -require_once("$default->fileSystemRoot/presentation/Html.inc");  
52 -  
53 -  
54 -if (checkSession()) {  
55 - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");  
56 - if (isset($fDocumentID)) {  
57 - $oDocument = & Document::get($fDocumentID);  
58 - if (Permission::userHasDocumentReadPermission($oDocument)) {  
59 - $oPatternCustom = & new PatternCustom();  
60 - $oPatternCustom->setHtml(getPage($oDocument->getID(), $oDocument->getFolderID(), $oDocument->getName()));  
61 - $main->setCentralPayload($oPatternCustom);  
62 - $main->render();  
63 - } else {  
64 - $oPatternCustom = & new PatternCustom();  
65 - $oPatternCustom->setHtml("");  
66 - $main->setErrorMessage(_("You do not have permission to view this document's history"));  
67 - $main->setCentralPayload($oPatternCustom);  
68 - $main->render();  
69 - }  
70 -  
71 - } else {  
72 - $oPatternCustom = & new PatternCustom();  
73 - $oPatternCustom->setHtml("");  
74 - $main->setErrorMessage(_("No document currently selected"));  
75 - $main->setCentralPayload($oPatternCustom);  
76 - $main->render();  
77 - }  
78 -}  
79 -  
80 -?>  
presentation/lookAndFeel/knowledgeTree/documentmanagement/viewHistoryUI.inc deleted
1 -<?php  
2 -/**  
3 - * $Id$  
4 - *  
5 - * Contains HTML information required to build the document history view page.  
6 - * Will be used by viewHistoryBL.php  
7 - *  
8 - * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com  
9 - *  
10 - * This program is free software; you can redistribute it and/or modify  
11 - * it under the terms of the GNU General Public License as published by  
12 - * the Free Software Foundation; either version 2 of the License, or  
13 - * (at your option) any later version.  
14 - *  
15 - * This program is distributed in the hope that it will be useful,  
16 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
17 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
18 - * GNU General Public License for more details.  
19 - *  
20 - * You should have received a copy of the GNU General Public License  
21 - * along with this program; if not, write to the Free Software  
22 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  
23 - *  
24 - * @version $Revision$  
25 - * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
26 - * @package documentmanagement  
27 - */  
28 -  
29 -function getDocumentHistory($iDocumentID) {  
30 - global $default;  
31 - /*ok*/ $sQuery = array("SELECT DTT.name AS transaction_name, U.name AS user_name, DT.version AS version, DT.comment AS comment, DT.datetime AS datetime " .  
32 - "FROM $default->document_transactions_table AS DT INNER JOIN $default->users_table AS U ON DT.user_id = U.id " .  
33 - "INNER JOIN $default->transaction_types_table AS DTT ON DTT.id = DT.transaction_id " .  
34 - "WHERE DT.document_id = ? ORDER BY DT.datetime DESC", $iDocumentID);  
35 - $sql = $default->db;  
36 - $sToRender = "<table cellpadding=\"5\" width=\"100%\">\n";  
37 - $sToRender .= "<caption align=\"top\" colspan=\"5\" align=\"left\"><b>" . _("Transaction History") . "</b></caption>\n";  
38 - $sql->query($sQuery);  
39 - if ($sql->num_rows() == 0) {  
40 - $sToRender .= "<tr>\n";  
41 - $sToRender .= "\t<td colspan=\"5\">" . _("No Transaction History data") . "</td>\n";  
42 - $sToRender .= "</tr>\n";  
43 - } else {  
44 - $sToRender .= "<tr><th align=\"left\">" . _("Type") . "</th>\n";  
45 - $sToRender .= "<th align=\"left\">" . _("Users") . "</th>\n";  
46 - $sToRender .= "<th align=\"left\">" . _("Version") . "</th>\n";  
47 - $sToRender .= "<th align=\"left\">" . _("Comment") . "</th>\n";  
48 - $sToRender .= "<th align=\"left\">" . _("Datetime") . "</th></tr>\n";  
49 - $i = 0;  
50 - while ($sql->next_record()) {  
51 - if ($sql->f("transaction_name") == "Check Out") {  
52 - $sVersion = generateControllerLink("downloadDocument", "fDocumentID=$iDocumentID&fVersion=" . $sql->f("version"), "<strong>" . $sql->f("version") . "</strong>");  
53 - } else {  
54 - $sVersion = $sql->f("version");  
55 - }  
56 - $sToRender .= "<tr bgcolor=\"" . getColour($i++) . "\">\n";  
57 - $sToRender .= "<td>" . $sql->f("transaction_name") . "</td><td>" . $sql->f("user_name") . "</td><td>$sVersion</td>\n";  
58 - $sToRender .= "<td>" . displaySpace($sql->f("comment")) . "</td><td>" . $sql->f("datetime") . "</td></tr>\n";  
59 - }  
60 - $sToRender .= "</table>\n";  
61 - }  
62 - return $sToRender;  
63 -}  
64 -  
65 -function displaySpace($sHtml) {  
66 - if ($sHtml == "") {  
67 - return "&nbsp;";  
68 - } else {  
69 - return $sHtml;  
70 - }  
71 -}  
72 -  
73 -function getPage($iDocumentID, $iFolderID, $sDocumentName) {  
74 - global $default;  
75 - $sToRender = renderHeading(_("Document History"));  
76 - $sToRender .= "<table>\n";  
77 - $sToRender .= "<tr>\n";  
78 - $sToRender .= "<td>" . displayDocumentPath($iDocumentID) . "</td>\n";  
79 - $sToRender .= "</tr>\n";  
80 - $sToRender .= "</table>\n";  
81 - $sToRender .= "<table>\n";  
82 - $sToRender .= "<tr>\n";  
83 - $sToRender .= "<td>" . getDocumentHistory($iDocumentID) . "</td>\n";  
84 - $sToRender .= "</tr>\n";  
85 - $sToRender .= "<tr><td><a href=\"$default->rootUrl/control.php?action=viewDocument&fDocumentID=$iDocumentID\"><img src=\"" . KTHtml::getBackButton() . "\" border=\"0\" /></a></td></tr>\n";  
86 - $sToRender .= "</table>\n";  
87 - return $sToRender;  
88 -}  
89 -  
90 -?>