diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentBL.php b/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentBL.php deleted file mode 100644 index f9a0a6b..0000000 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentBL.php +++ /dev/null @@ -1,202 +0,0 @@ -fileSystemRoot/lib/foldermanagement/Folder.inc"); -require_once("$default->fileSystemRoot/lib/users/User.inc"); -require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); -require_once("$default->fileSystemRoot/lib/documentmanagement/DocumentTransaction.inc"); -require_once("$default->fileSystemRoot/lib/documentmanagement/PhysicalDocumentManager.inc"); -require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionEngine.inc"); -require_once("$default->fileSystemRoot/lib/subscriptions/SubscriptionManager.inc"); - -require_once("$default->fileSystemRoot/presentation/Html.inc"); - -require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); - -require_once("deleteDocumentUI.inc"); - -$aNondeletedDocs = array(); - -if (!checkSession()) { - die(); -} - -if (isset($fRememberDocumentID)) { - $fDocumentIDs = $_SESSION['documents'][$fRememberDocumentID]; -} else { - $sUniqueID = KTUtil::randomString(); - $_SESSION["documents"][$sUniqueID] = $fDocumentIDs; - $fRememberDocumentID = $sUniqueID; -} - -if (!isset($fDocumentIDs)) { - //no document selected for deletion - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); - $oPatternCustom = & new PatternCustom(); - $oPatternCustom->setHtml(renderErrorPage(_("No document currently selected"))); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - - -// 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(); - exit(0); - } -} - -if (!isset($fDeleteConfirmed)) { - //get confirmation first - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); - $oPatternCustom = & new PatternCustom(); - $oPatternCustom->addHtml(getPage($fRememberDocumentID)); - $main->setCentralPayload($oPatternCustom); - $main->render(); - exit(0); -} - - /* 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 - */ - -for ($i = 0; $i < count($fDocumentIDs); $i++) { - $oDocument = Document::get($fDocumentIDs[$i]); - if (!isset($oDocument)) { - // Store the doc with problem - array_push($aNondeletedDocs, array($oDocument, _("Could not load document in database"))); - } - - // New transaction - $sDocumentPath = Folder::getFolderPath($oDocument->getFolderID()) . $oDocument->getFileName(); - $oDocumentTransaction = & new DocumentTransaction($fDocumentIDs[$i], "Document deleted", DELETE); - $oDocumentTransaction->create(); - - // flip the status id - $oDocument->setStatusID(DELETED); - - // store - if (!$oDocument->update()) { - //could not update the documents status in the db - $default->log->error("deleteDocumentBL.php DB error deleting document " . - $oDocument->getFileName() . " from folder " . - Folder::getFolderPath($oDocument->getFolderID()) . - " id=" . $oDocument->getFolderID()); - - //get rid of the document transaction - $oDocumentTransaction->delete(); - - // Store the doc with problem - array_push($aNondeletedDocs, array($oDocument, - _("Could not update document in database"))); - } - - // now move the document to the delete folder - if (PhysicalDocumentManager::delete($oDocument)) { - //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()); - //reverse the document deletion - $oDocument->setStatusID(LIVE); - $oDocument->update(); - //get rid of the document transaction - $oDocumentTransaction->delete(); - - // Store the doc with problem - array_push($aNondeletedDocs, array($oDocument, _("Could not delete document on file system"))); - } - - // successfully deleted the document - $default->log->info("deleteDocumentBL.php successfully deleted document " . - $oDocument->getFileName() . " from folder " . - Folder::getFolderPath($oDocument->getFolderID()) . - " id=" . $oDocument->getFolderID()); - - // fire subscription alerts for the deleted document - $count = SubscriptionEngine::fireSubscription($fDocumentIDs[$i], - SubscriptionConstants::subscriptionAlertType("RemoveSubscribedDocument"), - SubscriptionConstants::subscriptionType("DocumentSubscription"), - array( - "folderID" => $oDocument->getFolderID(), - "removedDocumentName" => $oDocument->getName(), - "folderName" => Folder::getFolderDisplayPath($oDocument->getFolderID()), - )); - $default->log->info("deleteDocumentBL.php fired $count subscription alerts for removed document " . $oDocument->getName()); - - // remove all document subscriptions for this document - 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"); - } -} - -// List nondeleted documents -if (!empty($aNondeletedDocs) ) { - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); - $oPatternCustom = & new PatternCustom(); - - $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(); - exit(0); -} - -// redirect to the browse folder page -redirect("$default->rootUrl/control.php?action=browse&fFolderID=" . $oDocument->getFolderID()); -exit(0); -?> diff --git a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentUI.inc b/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentUI.inc deleted file mode 100644 index d2d4460..0000000 --- a/presentation/lookAndFeel/knowledgeTree/documentmanagement/deleteDocumentUI.inc +++ /dev/null @@ -1,79 +0,0 @@ -\n"; - $sToRender .= "\n"; - $sToRender .= "" . _("You have chosen to delete the following document(s):") . "

\n"; - - for ($i = 0; $i < count($aDocumentIDs); $i++) { - $oDocument = Document::get($aDocumentIDs[$i]); - $sToRender .= "\n"; - $sToRender .= "  '" . $oDocument->getDisplayPath() . "'\n"; - } - $sQueryString = "fRememberDocumentID=$sRememberDocumentID&"; - $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 .= " "; - if (KTUtil::arrayGet($_REQUEST, "fReturnFolderID")) { - $sToRender .= generateControllerLink("browse", "fFolderID=" . $_REQUEST['fReturnFolderID'], ""); - } else if (KTUtil::arrayGet($_REQUEST, "fReturnDocumentID")) { - $sToRender .= generateControllerLink("viewDocument", "fDocumentID=" . $_REQUEST['fReturnDocumentID'], ""); - } else { - $sToRender .= ""; - } - $sToRender .= "
"; - $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"; - $sToRender .= "

$sErrorMessage

\n" . - "\n" . - "

\n"; - return $sToRender; - } -} -?>