diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index c3c51e8f7..4f4a6d53e 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -1,100 +1,100 @@ - getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); -} - -$documentid = $_POST["documentid"]; +include("../inc/inc.Language.php"); +include("../inc/inc.ClassUI.php"); +include("../inc/inc.Authentication.php"); + +if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) { + UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); +} + +$documentid = $_POST["documentid"]; $document = $dms->getDocument($documentid); $folder = $document->getFolder(); - -if (!is_object($document)) { - UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); -} - + +if (!is_object($document)) { + UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); +} + if ($document->getAccessMode($user) < M_READWRITE) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied")); -} +} -if ($document->isLocked()) { - $lockingUser = $document->getLockingUser(); +if ($document->isLocked()) { + $lockingUser = $document->getLockingUser(); if (($lockingUser->getID() != $user->getID()) && ($document->getAccessMode($user) != M_ALL)) { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_update_cause_locked")); - } - else $document->setLocked(false); -} - -if (is_uploaded_file($_FILES["userfile"]["tmp_name"]) && $_FILES["userfile"]["size"] > 0 && $_FILES['userfile']['error']==0) { - - $comment = sanitizeString($_POST["comment"]); - $userfiletmp = $_FILES["userfile"]["tmp_name"]; - $userfiletype = sanitizeString($_FILES["userfile"]["type"]); - $userfilename = sanitizeString($_FILES["userfile"]["name"]); - - $lastDotIndex = strrpos(basename($userfilename), "."); - if (is_bool($lastDotIndex) && !$lastDotIndex) - $fileType = "."; - else - $fileType = substr($userfilename, $lastDotIndex); - - // Get the list of reviewers and approvers for this document. - $reviewers = array(); - $approvers = array(); - - // Retrieve the list of individual reviewers from the form. - $reviewers["i"] = array(); - if (isset($_POST["indReviewers"])) { - foreach ($_POST["indReviewers"] as $ind) { - $reviewers["i"][] = $ind; - } - } - // Retrieve the list of reviewer groups from the form. - $reviewers["g"] = array(); - if (isset($_POST["grpReviewers"])) { - foreach ($_POST["grpReviewers"] as $grp) { - $reviewers["g"][] = $grp; - } - } - - // Retrieve the list of individual approvers from the form. - $approvers["i"] = array(); - if (isset($_POST["indApprovers"])) { - foreach ($_POST["indApprovers"] as $ind) { - $approvers["i"][] = $ind; - } - } - // Retrieve the list of approver groups from the form. - $approvers["g"] = array(); - if (isset($_POST["grpApprovers"])) { - foreach ($_POST["grpApprovers"] as $grp) { - $approvers["g"][] = $grp; - } + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("no_update_cause_locked")); } - + else $document->setLocked(false); +} + +if (is_uploaded_file($_FILES["userfile"]["tmp_name"]) && $_FILES["userfile"]["size"] > 0 && $_FILES['userfile']['error']==0) { + + $comment = sanitizeString($_POST["comment"]); + $userfiletmp = $_FILES["userfile"]["tmp_name"]; + $userfiletype = sanitizeString($_FILES["userfile"]["type"]); + $userfilename = sanitizeString($_FILES["userfile"]["name"]); + + $lastDotIndex = strrpos(basename($userfilename), "."); + if (is_bool($lastDotIndex) && !$lastDotIndex) + $fileType = "."; + else + $fileType = substr($userfilename, $lastDotIndex); + + // Get the list of reviewers and approvers for this document. + $reviewers = array(); + $approvers = array(); + + // Retrieve the list of individual reviewers from the form. + $reviewers["i"] = array(); + if (isset($_POST["indReviewers"])) { + foreach ($_POST["indReviewers"] as $ind) { + $reviewers["i"][] = $ind; + } + } + // Retrieve the list of reviewer groups from the form. + $reviewers["g"] = array(); + if (isset($_POST["grpReviewers"])) { + foreach ($_POST["grpReviewers"] as $grp) { + $reviewers["g"][] = $grp; + } + } + + // Retrieve the list of individual approvers from the form. + $approvers["i"] = array(); + if (isset($_POST["indApprovers"])) { + foreach ($_POST["indApprovers"] as $ind) { + $approvers["i"][] = $ind; + } + } + // Retrieve the list of approver groups from the form. + $approvers["g"] = array(); + if (isset($_POST["grpApprovers"])) { + foreach ($_POST["grpApprovers"] as $grp) { + $approvers["g"][] = $grp; + } + } + // add mandatory reviewers/approvers $docAccess = $folder->getApproversList(); $res=$user->getMandatoryReviewers(); @@ -133,11 +133,11 @@ if (is_uploaded_file($_FILES["userfile"]["tmp_name"]) && $_FILES["userfile"]["si } } } - - - $contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $fileType, $userfiletype, $reviewers, $approvers); - if (is_bool($contentResult) && !$contentResult) { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); + + + $contentResult=$document->addContent($comment, $user, $userfiletmp, basename($userfilename), $fileType, $userfiletype, $reviewers, $approvers); + if (is_bool($contentResult) && !$contentResult) { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } else { // Send notification to subscribers. @@ -154,19 +154,19 @@ if (is_uploaded_file($_FILES["userfile"]["tmp_name"]) && $_FILES["userfile"]["si $subject=mydmsDecodeString($subject); $message=mydmsDecodeString($message); - + $notifier->toList($user, $document->_notifyList["users"], $subject, $message); foreach ($document->_notifyList["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message); } - + // if user is not owner send notification to owner - if ($user->getID()!= $document->_ownerID) + if ($user->getID()!= $document->_ownerID) $notifier->toIndividual($user, $document->getOwner(), $subject, $message); } - $expires = ($_POST["expires"] == "true") ? mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]) : false; - + $expires = ($_POST["expires"] == "true") ? mktime(0,0,0, $_POST["expmonth"], $_POST["expday"], $_POST["expyear"]) : false; + if ($document->setExpires($expires)) { $document->getNotifyList(); if($notifier) { @@ -182,22 +182,22 @@ if (is_uploaded_file($_FILES["userfile"]["tmp_name"]) && $_FILES["userfile"]["si $subject=mydmsDecodeString($subject); $message=mydmsDecodeString($message); - + $notifier->toList($user, $document->_notifyList["users"], $subject, $message); foreach ($document->_notifyList["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message); } } } else { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); - } - } -} -else { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); + } + } +} +else { + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } add_log_line("?documentid=".$documentid); -header("Location:../out/out.ViewDocument.php?documentid=".$documentid); - -?> +header("Location:../out/out.ViewDocument.php?documentid=".$documentid); + +?>