- added handling of categories

This commit is contained in:
steinm 2011-03-10 14:40:20 +00:00
parent c7a2869f0d
commit dd0deb7f34
2 changed files with 99 additions and 61 deletions

View File

@ -47,6 +47,7 @@ $comment = sanitizeString($_POST["comment"]);
$version_comment = sanitizeString($_POST["version_comment"]);
$keywords = sanitizeString($_POST["keywords"]);
$categories = sanitizeString($_POST["categoryidform1"]);
$reqversion = (int)$_POST["reqversion"];
if ($reqversion<1) $reqversion=1;
@ -151,8 +152,15 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$name = sanitizeString($_POST["name"]);
else $name = basename($userfilename);
$cats = array();
if($categories) {
$catids = explode(',', $categories);
foreach($catids as $catid) {
$cats[] = $dms->getDocumentCategory($catid);
}
}
$res = $folder->addDocument($name, $comment, $expires, $user, $keywords,
$userfiletmp, basename($userfilename),
$cats, $userfiletmp, basename($userfilename),
$fileType, $userfiletype, $sequence,
$reviewers, $approvers, $reqversion,$version_comment);
@ -160,6 +168,13 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
} else {
$document = $res[0];
if(isset($GLOBALS['LETODMS_HOOKS']['postAddDocument'])) {
foreach($GLOBALS['LETODMS_HOOKS']['postAddDocument'] as $hookObj) {
if (method_exists($hookObj, 'postAddDocument')) {
$hookObj->postAddDocument($document);
}
}
}
// Send notification to subscribers.
if($notifier) {
$folder->getNotifyList();

View File

@ -46,6 +46,7 @@ if ($document->getAccessMode($user) < M_READWRITE) {
$name = sanitizeString($_POST["name"]);
$comment = sanitizeString($_POST["comment"]);
$keywords = sanitizeString($_POST["keywords"]);
$categories = sanitizeString($_POST["categoryidform1"]);
$sequence = $_POST["sequence"];
if (!is_numeric($sequence)) {
$sequence="keep";
@ -125,6 +126,28 @@ if (($oldkeywords = $document->getKeywords()) != $keywords) {
}
}
if($categories) {
$categoriesarr = array();
foreach(explode(',', $categories) as $catid) {
if($cat = $dms->getDocumentCategory($catid)) {
$categoriesarr[] = $cat;
}
}
$oldcategories = $document->getCategories();
$oldcatsids = array();
foreach($oldcategories as $oldcategory)
$oldcatsids[] = $oldcategory->getID();
if (count($categoriesarr) != count($oldcategories) ||
array_diff(explode(',', $categories), $oldcatsids)) {
if($document->setCategories($categoriesarr)) {
} else {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
}
if($sequence != "keep") {
if($document->setSequence($sequence)) {
}