";
switch ($sBrowseType) {
case "folder" : $sToRender .= displayFolderPathLink(Folder::getFolderPathAsArray($aResults["folders"][0]->getID()),
diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentBL.php
index 2e72b97..505fe94 100644
--- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentBL.php
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentBL.php
@@ -42,45 +42,100 @@ require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/fo
require_once("deleteDocumentUI.inc");
+$aNondeletedDocs = array();
+
+
if (checkSession()) {
- if (isset($fDocumentID)) {
- $oDocument = Document::get($fDocumentID);
- if (Permission::userHasDocumentWritePermission($oDocument)) {
+ if (isset($fDocumentIDs)) {
+
+ // Check permission and collaboration for all documents
+ for ($i = 0; $i < count($fDocumentIDs); $i++) {
+
+ $oDocument = Document::get($fDocumentIDs[$i]);
+ if (!Permission::userHasDocumentWritePermission($oDocument)) {
+
+ // user does not have permission to delete the document
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+ $oPatternCustom = & new PatternCustom();
+ $oPatternCustom->setHtml(renderErrorPage("You do not have, at least, permission to delete one document: " .
+ $oDocument->getName() . " Please deselect it and retry."));
+ $main->setCentralPayload($oPatternCustom);
+ $main->render();
+ return;
+
+ } else {
+
// check if there is collaboration for this document
- $aFolderUserRoles = FolderUserRole::getList("document_id = $fDocumentID");
+ $aFolderUserRoles = FolderUserRole::getList("document_id = $fDocumentIDs[$i]");
// check if any of them are active
$bActive = false;
- for ($i=0; $ilog->info("delDoc bActive=" . ($bActive ? "1" : "0") . ";folderUserRoleID=" . $aFolderUserRoles[$i]->getGroupFolderApprovalID() . "; active=" . ($aFolderUserRoles[$i]->getActive() ? "1" : "0"));
- $bActive = $bActive || $aFolderUserRoles[$i]->getActive();
+ for ($j=0; $jlog->info("delDoc bActive=" . ($bActive ? "1" : "0") . ";folderUserRoleID=" . $aFolderUserRoles[$j]->getGroupFolderApprovalID() . "; active=" . ($aFolderUserRoles[$j]->getActive() ? "1" : "0"));
+ $bActive = $bActive || $aFolderUserRoles[$j]->getActive();
+ }
+
+ if ($bActive) {
+
+ // there are active collaboration roles for this doc
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+ $oPatternCustom = & new PatternCustom();
+ $oPatternCustom->setHtml(renderErrorPage("You can't, at least, delete one document " .
+ $oDocument->getName() . " because it's still in collaboration"));
+ $main->setCentralPayload($oPatternCustom);
+ $main->render();
+ return;
+ }
}
- if (!$bActive) {
- // there aren't any active roles for this doc
+ }
+
+
+ /* Delete all files
+ If an error occured while deleting a file, then:
+ - make a rollback of the current file
+ - insert document object in $aNondeletedDocs array
+ - delete the other selected file
+
+ At the end check the $aNondeletedDocs array
+ - if is empty then OK
+ - if is not empty then show the nondeleted files list
+ */
+
+ // Delete all files with possible rollback
if (isset($fDeleteConfirmed)) {
- //deletion of document is confirmed
- $oDocument = Document::get($fDocumentID);
+
+ // deletion of all documents are confirmed
+ for ($i = 0; $i < count($fDocumentIDs); $i++) {
+
+ $oDocument = Document::get($fDocumentIDs[$i]);
if (isset($oDocument)) {
+ // New transaction
$sDocumentPath = Folder::getFolderPath($oDocument->getFolderID()) . $oDocument->getFileName();
- $oDocumentTransaction = & new DocumentTransaction($fDocumentID, "Document deleted", DELETE);
+ $oDocumentTransaction = & new DocumentTransaction($fDocumentIDs[$i], "Document deleted", DELETE);
$oDocumentTransaction->create();
+
// flip the status id
$oDocument->setStatusID(DELETED);
+
// store
if ($oDocument->update()) {
// now move the document to the delete folder
if (PhysicalDocumentManager::delete($oDocument)) {
// successfully deleted the document
- $default->log->info("deleteDocumentBL.php successfully deleted document " . $oDocument->getFileName() . " from folder " . Folder::getFolderPath($oDocument->getFolderID()) . " id=" . $oDocument->getFolderID());
+ $default->log->info("deleteDocumentBL.php successfully deleted document " .
+ $oDocument->getFileName() . " from folder " .
+ Folder::getFolderPath($oDocument->getFolderID()) .
+ " id=" . $oDocument->getFolderID());
// delete all collaboration roles
- for ($i=0; $ilog->info("delDoc deleting folderuserroleID=" . $aFolderUserRoles[$i]->getGroupFolderApprovalID());
- $aFolderUserRoles[$i]->delete();
+ for ($j=0; $jlog->info("delDoc deleting folderuserroleID=" . $aFolderUserRoles[$j]->getGroupFolderApprovalID());
+ $aFolderUserRoles[$j]->delete();
}
// fire subscription alerts for the deleted document
- $count = SubscriptionEngine::fireSubscription($fDocumentID, SubscriptionConstants::subscriptionAlertType("RemoveSubscribedDocument"),
+ $count = SubscriptionEngine::fireSubscription($fDocumentIDs[$i],
+ SubscriptionConstants::subscriptionAlertType("RemoveSubscribedDocument"),
SubscriptionConstants::subscriptionType("DocumentSubscription"),
array( "folderID" => $oDocument->getFolderID(),
"removedDocumentName" => $oDocument->getName(),
@@ -88,14 +143,12 @@ if (checkSession()) {
$default->log->info("deleteDocumentBL.php fired $count subscription alerts for removed document " . $oDocument->getName());
// remove all document subscriptions for this document
- if (SubscriptionManager::removeSubscriptions($fDocumentID, SubscriptionConstants::subscriptionType("DocumentSubscription"))) {
+ if (SubscriptionManager::removeSubscriptions($fDocumentIDs[$i], SubscriptionConstants::subscriptionType("DocumentSubscription"))) {
$default->log->info("deleteDocumentBL.php removed all subscriptions for this document");
} else {
$default->log->error("deleteDocumentBL.php couldn't remove document subscriptions");
}
- // redirect to the browse folder page
- redirect("$default->rootUrl/control.php?action=browse&fFolderID=" . $oDocument->getFolderID());
} else {
//could not delete the document from the file system
$default->log->error("deleteDocumentBL.php Filesystem error deleting document " . $oDocument->getFileName() . " from folder " . Folder::getFolderPath($oDocument->getFolderID()) . " id=" . $oDocument->getFolderID());
@@ -104,11 +157,10 @@ if (checkSession()) {
$oDocument->update();
//get rid of the document transaction
$oDocumentTransaction->delete();
- require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
- $oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(renderErrorPage("The document could not be deleted from the file system", $fDocumentID));
- $main->setCentralPayload($oPatternCustom);
- $main->render();
+
+ // Store the doc with problem
+ array_push($aNondeletedDocs, array($oDocument, "Could not delete document on file system"));
+
}
} else {
//could not update the documents status in the db
@@ -116,42 +168,49 @@ if (checkSession()) {
//get rid of the document transaction
$oDocumentTransaction->delete();
- require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
- $oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(renderErrorPage("The document could not be deleted from the database", $fDocumentID));
- $main->setCentralPayload($oPatternCustom);
- $main->render();
+
+ // Store the doc with problem
+ array_push($aNondeletedDocs, array($oDocument, "Could not update document in database"));
+
}
} else {
//could not load document object
- require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
- $oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(renderErrorPage("An error occured whilst retrieving the document from the database", $fDocumentID));
- $main->setCentralPayload($oPatternCustom);
- $main->render();
+
+ // Store the doc with problem
+ array_push($aNondeletedDocs, array($oDocument, "Could not load document in database"));
+
}
- } else {
- //get confirmation first
- require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
- $oPatternCustom = & new PatternCustom();
- $oDocument = Document::get($fDocumentID);
- $oPatternCustom->setHtml(getPage($fDocumentID, $oDocument->getFolderID(), $oDocument->getName()));
- $main->setCentralPayload($oPatternCustom);
- $main->render();
}
- } else {
- // there are active collaboration roles for this doc
+
+ // List nondeleted documents
+ if (!empty($aNondeletedDocs) ) {
+
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(renderErrorPage("You can't delete this document because it's still in collaboration", $fDocumentID));
+
+ $sError = "An error occured deleting the following document(s):
";
+ foreach ($aNondeletedDocs as $oDoc) {
+ $sError .= $oDoc[0]->getDisplayPath() . ": " .$oDoc[1] . " ";
+ }
+ $sError .= " The other documents are been deleted.";
+
+ $oPatternCustom->addHtml(renderErrorPage($sError));
$main->setCentralPayload($oPatternCustom);
$main->render();
+
+ reset($aNondeletedDocs);
+
+ } else {
+ // redirect to the browse folder page
+ redirect("$default->rootUrl/control.php?action=browse&fFolderID=" . $oDocument->getFolderID());
}
+
+
} else {
- //user does not have permission to delete the document
+ //get confirmation first
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(renderErrorPage("You do not have permission to delete this document", $fDocumentID));
+ $oPatternCustom->addHtml(getPage($fDocumentIDs));
$main->setCentralPayload($oPatternCustom);
$main->render();
}
@@ -164,3 +223,5 @@ if (checkSession()) {
$main->render();
}
}
+
+?>
diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentUI.inc
index 444abde..eec543d 100644
--- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentUI.inc
@@ -24,30 +24,27 @@
* @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa
* @package documentmanagement
*/
-
-function getDocumentPath($iFolderID, $sDocumentName) {
- global $default;
- $sSectionName = $default->siteMap->getSectionName(substr($_SERVER["PHP_SELF"], strlen($default->rootUrl), strlen($_SERVER["PHP_SELF"])));
- $sTDBGColour = $default->siteMap->getSectionColour($sSectionName, "td");
- $sDocumentPath = displayFolderPathLink(Folder::getFolderPathAsArray($iFolderID), Folder::getFolderPathNamesAsArray($iFolderID), "$default->rootUrl/control.php?action=browse") . " > " . $sDocumentName;
- return "\n";
-}
-
-function getPage($iDocumentID, $iFolderID, $sDocumentName) {
+function getPage($fDocumentIDs) {
global $default;
$sToRender = renderHeading(_("Delete Document"));
- $sToRender .= getDocumentPath($iFolderID, $sDocumentName) . " \n";
$sToRender .= "\n";
$sToRender .= "\n";
- $sToRender .= "| You have chosen to delete the document entitled '" . $sDocumentName . "'. | \n";
- $sToRender .= " \n";
+ $sToRender .= "You have chosen to delete the following document(s):
| \n";
+
+ for ($i = 0; $i < count($fDocumentIDs); $i++) {
+ $oDocument = Document::get($fDocumentIDs[$i]);
$sToRender .= " \n";
+ $sToRender .= "| '" . $oDocument->getDisplayPath() . "' | \n";
+ $sQueryString .= "fDocumentIDs[]=$fDocumentIDs[$i]&";
+ }
+ $sToRender .= " |
|
|
\n";
+
$sToRender .= "| Select 'Delete' to confirm the deletion, or 'Cancel' to cancel it | \n";
$sToRender .= " \n";
$sToRender .= " \n";
$sToRender .= "|   | \n";
$sToRender .= " \n";
- $sToRender .= " | ";
+ $sToRender .= " | ";
$sToRender .= " ";
$sToRender .= " \n";
@@ -63,7 +60,7 @@ function renderErrorPage($sErrorMessage, $iDocumentID = "") {
$sToRender = renderHeading(_("Delete Document"));
$sToRender .= "\n";
return $sToRender;
}
diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentBL.php
index 1cc301e..d06bbda 100644
--- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentBL.php
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentBL.php
@@ -45,15 +45,24 @@ require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/do
require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc");
require_once("$default->fileSystemRoot/presentation/Html.inc");
+$aUnmovedDocs = array();
+
if (checkSession()) {
- if (isset($fDocumentID) && isset($fFolderID)) {
+ if (isset($fDocumentIDs) && isset($fFolderID)) {
if (isset($fForMove)) {
if ($fConfirmed) {
+ for ($i = 0; $i < count($fDocumentIDs); $i++) {
+
//we're trying to move a document
- $oDocument = & Document::get($fDocumentID);
+ $oDocument = & Document::get($fDocumentIDs[$i]);
$oFolder = & Folder::get($fFolderID);
$iOldFolderID = $oDocument->getFolderID();
+
+ // check that there is no filename collision in the destination directory
+ $sNewDocumentFileSystemPath = Folder::getFolderPath($fFolderID) . $oDocument->getFileName();
+ if (!file_exists($sNewDocumentFileSystemPath)) {
+
if (Permission::userHasDocumentWritePermission($oDocument) && Permission::userHasFolderWritePermission($oFolder)) {
//if the user has both document and folder write permissions
//get the old document path
@@ -65,9 +74,8 @@ if (checkSession()) {
$sOldDocumentFileSystemPath = Folder::getFolderPath($iOldFolderID) . $oDocument->getFileName();
//move the document on the file system
if (PhysicalDocumentManager::moveDocument($sOldDocumentFileSystemPath, $oDocument, $oFolder)) {
-
// fire subscription alerts for the moved document (and the folder its in)
- $count = SubscriptionEngine::fireSubscription($fDocumentID, SubscriptionConstants::subscriptionAlertType("MovedDocument"),
+ $count = SubscriptionEngine::fireSubscription($fDocumentIDs[$i], SubscriptionConstants::subscriptionAlertType("MovedDocument"),
SubscriptionConstants::subscriptionType("DocumentSubscription"),
array( "folderID" => $iOldFolderID,
"modifiedDocumentName" => $oDocument->getName(),
@@ -76,82 +84,116 @@ if (checkSession()) {
$default->log->info("moveDocumentBL.php fired $count subscription alerts for moved document " . $oDocument->getName());
// fire folder subscriptions for the destination folder
- $count = SubscriptionEngine::fireSubscription($oDocument->getFolderID(), SubscriptionConstants::subscriptionAlertType("MovedDocument"),
+ $count = SubscriptionEngine::fireSubscription($fDocumentIDs[$i], SubscriptionConstants::subscriptionAlertType("MovedDocument"),
SubscriptionConstants::subscriptionType("FolderSubscription"),
- array( "modifiedDocumentName" => $oDocument->getName(),
+ array( "folderID" => $iOldFolderID,
+ "modifiedDocumentName" => $oDocument->getName(),
"oldFolderName" => Folder::getFolderName($iOldFolderID),
"newFolderName" => Folder::getFolderName($fFolderID) ));
$default->log->info("moveDocumentBL.php fired $count (folderID=$fFolderID) folder subscription alerts for moved document " . $oDocument->getName());
-
-
- //redirect to the view path
- redirect("$default->rootUrl/control.php?action=viewDocument&fDocumentID=$fDocumentID");
} else {
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
//we couldn't move the document on the file system
//so reset the database values
$oDocument->setFolderID($iOldFolderID);
$oDocument->update();
- $oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentID));
- $main->setCentralPayload($oPatternCustom);
- $main->setErrorMessage("Could not move document on file system");
- $main->setFormAction($_SERVER["PHP_SELF"] . "?fForMove=1");
- $main->render();
+
+ // Store the doc with problem
+ array_push($aUnmovedDocs, array($oDocument, "Could not move document on file system"));
}
} else {
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
//had a problem with the database
- $oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentID));
- $main->setCentralPayload($oPatternCustom);
- $main->setErrorMessage("Could not update document in database");
- $main->setFormAction($_SERVER["PHP_SELF"] . "?fForMove=1&fDocumentID=$fDocumentID&fFolderID=$fFolderID");
- $main->render();
+ // Store the doc with problem
+ array_push($aUnmovedDocs, array($oDocument, "Could not update document in database"));
}
} else {
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+
+ // Permission problem
+ // Store the doc with problem
+ array_push($aUnmovedDocs, array($oDocument, "You do not have rights to move this document"));
+ }
+
+ } else {
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
+
+ // Store the doc with problem
+ array_push($aUnmovedDocs, array($oDocument, "This folder already contains a document of the same name. Please choose another directory"));
+ }
+
+ }
+
+ // Move terminated
+
+ // List undeleted documents
+ if (!empty($aUnmovedDocs) ) {
+
+ require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentID));
+
+ $sError = "An error occured moving the following document(s):
";
+ foreach ($aUnmovedDocs as $oDoc) {
+ $sError .= $oDoc[0]->getDisplayPath() . ": " .$oDoc[1] . " ";
+ }
+ $sError .= " The other documents are been moved.";
+
+ $oPatternCustom = & new PatternCustom();
+ $oPatternCustom->setHtml(renderErrorPage($sError));
$main->setCentralPayload($oPatternCustom);
- $main->setFormAction($_SERVER["PHP_SELF"] . "?fForMove=1&fDocumentID=$fDocumentID&fFolderID=$fFolderID");
- $main->setErrorMessage("You do not have rights to move this document");
$main->render();
- }
+
+ reset($aUnmovedDocs);
+
} else {
+ // redirect to the browse folder page
+ redirect("$default->rootUrl/control.php?action=browse&fFolderID=" . $oDocument->getFolderID());
+ }
+
+ } else { // ($fConfirmed)
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- $oDocument = Document::get($fDocumentID);
- $oFolder = Folder::get($fFolderID);
+ // Check for all docs
+ for ($i = 0; $i < count($fDocumentIDs); $i++) {
+
+ $oDocument = Document::get($fDocumentIDs[$i]);
+
// check if the selected folder has the same document type as the document we're moving
if (Folder::folderIsLinkedToDocType($fFolderID, $oDocument->getDocumentTypeID())) {
// check that there is no filename collision in the destination directory
$sNewDocumentFileSystemPath = Folder::getFolderPath($fFolderID) . $oDocument->getFileName();
if (!file_exists($sNewDocumentFileSystemPath)) {
// display confirmation page
- $oPatternCustom->setHtml(getConfirmationPage($oFolder, $oDocument));
+ $oPatternCustom->setHtml(getConfirmationPage($fFolderID, $fDocumentIDs));
} else {
// filename collision
- $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentID, "This folder already contains a document of the same name. Please choose another directory"));
+ $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentIDs, "This folder already contains a document of the same name ('" .
+ $oDocument->getFileName() .
+ "'). Please choose another directory"));
+ break;
}
} else {
// the right document type isn't mapped
- $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentID, "You can't move the document to this folder because it cannot store the document type of your document. Please choose another directory"));
+ $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentIDs, "You can't move the document '" .
+ $oDocument->getFileName() .
+ "' to this folder because it cannot store the document type of your document. Please choose another directory"));
+ break;
+ }
}
$main->setFormAction($_SERVER["PHP_SELF"] . "?fForMove=1&fDocumentID=$fDocumentID&fFolderID=$fFolderID");
$main->setCentralPayload($oPatternCustom);
$main->render();
}
- } else {
+ } else { // (isset($fForMove))
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
- $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentID));
+ $oPatternCustom->setHtml(getPage($fFolderID, $fDocumentIDs));
$main->setCentralPayload($oPatternCustom);
$main->setFormAction($_SERVER["PHP_SELF"] . "?fForMove=1&fDocumentID=$fDocumentID&fFolderID=$fFolderID");
$main->render();
}
- } else {
+ } else { // (isset($fDocumentIDs) && isset($fFolderID))
require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc");
$oPatternCustom = & new PatternCustom();
$oPatternCustom->setHtml("");
@@ -160,4 +202,5 @@ if (checkSession()) {
$main->render();
}
}
-?>
\ No newline at end of file
+
+?>
diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentUI.inc
index bd29121..3b008e3 100644
--- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/moveDocumentUI.inc
@@ -25,46 +25,75 @@
* @package documentmanagement
*/
-function getConfirmationPage($oFolder, $oDocument) {
+function getConfirmationPage($iFolderID, $iDocumentIDs) {
global $default;
$sToRender = renderHeading(_("Move Document"));
$sToRender .= "\n";
return $sToRender;
}
-// FIXME: change these to object references instead of IDs
-function getPage($iFolderID, $iDocumentID, $sErrorMessage = "") {
+
+function getPage($iFolderID, $iDocumentIDs, $sErrorMessage = "") {
global $default;
$sToRender = renderHeading(_("Move Document"));
$sToRender .= "\n";
if ($sErrorMessage) {
$sToRender .= "| $sErrorMessage | ";
}
- $sToRender .= "| Move document " . Document::getDocumentDisplayPath($iDocumentID) . " to: | ";
+ $sToRender .= "Move document(s):
| \n";
+
+ for ($i = 0; $i < count($iDocumentIDs); $i++) {
+ $sToRender .= " \n";
+ $sToRender .= "| '" . Document::getDocumentDisplayPath($iDocumentIDs[$i]) . "' | \n";
+ $sQueryString .= "fDocumentIDs[]=$iDocumentIDs[$i]&";
+ }
+
+ $sToRender .= " | to: | ";
$sToRender .= "\n";
- $sToRender .= "| " . renderFolderPath($iFolderID, generateControllerUrl("moveDocument", "fDocumentID=$iDocumentID", false)) . " | \n";
+ $sToRender .= "" . renderFolderPath($iFolderID, "/control.php?action=moveDocument&" . $sQueryString) . " | \n";
$sToRender .= " \n";
$sToRender .= " \n";
$sToRender .= "\n";
$sToRender .= "\n";
- $sToRender .= "| " . renderFolderList($iFolderID, generateControllerUrl("moveDocument", "fDocumentID=$iDocumentID", false)) . " | \n";
+ $sToRender .= "" . renderFolderList($iFolderID, "/control.php?action=moveDocument&" . $sQueryString) . " | \n";
$sToRender .= " \n";
- $sToRender .= " | \n";
+ $sToRender .= " | ";
+
$sToRender .= " \n";
return $sToRender;
}
+function renderErrorPage($sErrorMessage, $iDocumentID = "") {
+ global $default;
+ if ($iDocumentID) {
+ return statusPage("Delete Document", "", $sErrorMessage, "viewDocument", "fDocumentID=$iDocumentID");
+ } else {
+ $sToRender = renderHeading("Delete Document");
+ $sToRender .= "\n";
+ return $sToRender;
+ }
+}
?>
diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc
index 5fcebde..daf6a26 100644
--- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/documentmanagement/viewUI.inc
@@ -441,7 +441,7 @@ function displayEmailButton($oDocument) {
function displayDeleteButton($oDocument, $bEdit) {
if ($bEdit) {
- $sQueryString = "fDocumentID=" . $oDocument->getID();
+ $sQueryString = "fDocumentIDs[]=" . $oDocument->getID();
if ($oDocument->getIsCheckedOut()) {
$sDisabledText = _("This document can't be deleted because its checked out");
}
@@ -457,7 +457,7 @@ function displayHistoryButton($oDocument) {
}
function displayMoveButton($oDocument, $bEdit) {
if ($bEdit) {
- $sQueryString = "fFolderID=" . $oDocument->getFolderID() . "&fDocumentID=" . $oDocument->getID();
+ $sQueryString = "fFolderID=" . $oDocument->getFolderID() . "&fDocumentIDs[]=" . $oDocument->getID();
// documents in collaboration and checked out documents can't be moved
if ($oDocument->getIsCheckedOut()) {
$sDisabledText = _("The document is checked out and cannot be moved.");
diff --git a/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc b/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc
index 1747c32..0e6e776 100644
--- a/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc
+++ b/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc
@@ -105,6 +105,13 @@ function renderFolderList($fFolderID, $sLinkURL) {
$aQueryStringVariableNames = array("fFolderID");
$aLinkURLs = array("$sLinkURL");
+ $aLinkURLs = array();
+ if (strlen($default->rootUrl) > 0) {
+ $aLinkURLs = array("$default->rootUrl/$sLinkURL");
+ } else {
+ $aLinkURLs = array("$sLinkURL");
+ }
+
$oPatternTableSqlQuery = & new PatternTableSqlQuery($sQuery, $aColumns, $aColumnTypes, $aColumnHeaderNames, "100%", $aLinkURLs, $aDBColumns, $aQueryStringVariableNames);
$oPatternTableSqlQuery->setImageURL("$default->graphicsUrl/widgets/dfolder.gif");
$oPatternTableSqlQuery->setEmptyTableMessage("This folder contains no sub folders");
|