mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 07:04:57 +00:00
categories, attributes, comment, sequence, etc. can be set when uploading a new document
This commit is contained in:
parent
3d638b47a8
commit
8f2f81ee03
|
@ -2,6 +2,9 @@
|
|||
define('USE_PHP_SESSION', 0);
|
||||
|
||||
include("../inc/inc.Settings.php");
|
||||
include("../inc/inc.LogInit.php");
|
||||
include("../inc/inc.Utils.php");
|
||||
include("../inc/inc.Language.php");
|
||||
include("../inc/inc.Init.php");
|
||||
include("../inc/inc.DBInit.php");
|
||||
include("../inc/inc.Extension.php");
|
||||
|
@ -507,7 +510,46 @@ function uploadDocument($request, $response, $args) { /* {{{ */
|
|||
$params = $request->getParsedBody();
|
||||
$docname = isset($params['name']) ? $params['name'] : '';
|
||||
$keywords = isset($params['keywords']) ? $params['keywords'] : '';
|
||||
$comment = isset($params['comment']) ? $params['comment'] : '';
|
||||
if(isset($params['sequence'])) {
|
||||
$sequence = str_replace(',', '.', $params["sequence"]);
|
||||
if (!is_numeric($sequence))
|
||||
return $response->withJson(array('success'=>false, 'message'=>getMLText("invalid_sequence"), 'data'=>''), 400);
|
||||
} else {
|
||||
$dd = $mfolder->getDocuments('s');
|
||||
if(count($dd) > 1)
|
||||
$sequence = $dd[count($dd)-1]->getSequence() + 1;
|
||||
else
|
||||
$sequence = 1.0;
|
||||
}
|
||||
if(isset($params['expdate'])) {
|
||||
$tmp = explode('-', $params["expdate"]);
|
||||
if(count($tmp) != 3)
|
||||
return $response->withJson(array('success'=>false, 'message'=>getMLText('malformed_expiration_date'), 'data'=>''), 400);
|
||||
$expires = mktime(0,0,0, $tmp[1], $tmp[2], $tmp[0]);
|
||||
} else
|
||||
$expires = 0;
|
||||
$version_comment = isset($params['version_comment']) ? $params['version_comment'] : '';
|
||||
$reqversion = (isset($params['reqversion']) && (int) $params['reqversion'] > 1) ? (int) $params['reqversion'] : 1;
|
||||
$origfilename = isset($params['origfilename']) ? $params['origfilename'] : null;
|
||||
$categories = isset($params["categories"]) ? $params["categories"] : array();
|
||||
$cats = array();
|
||||
foreach($categories as $catid) {
|
||||
if($cat = $dms->getDocumentCategory($catid))
|
||||
$cats[] = $cat;
|
||||
}
|
||||
$attributes = isset($params["attributes"]) ? $params["attributes"] : array();
|
||||
foreach($attributes as $attrdefid=>$attribute) {
|
||||
if($attrdef = $dms->getAttributeDefinition($attrdefid)) {
|
||||
if($attribute) {
|
||||
if(!$attrdef->validate($attribute)) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute), 'data'=>''), 400);
|
||||
}
|
||||
} elseif($attrdef->getMinValues() > 0) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>getMLText("attr_min_values", array("attrname"=>$attrdef->getName())), 'data'=>''), 400);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (count($uploadedFiles) == 0) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>'No file detected', 'data'=>''), 400);
|
||||
}
|
||||
|
@ -521,7 +563,7 @@ function uploadDocument($request, $response, $args) { /* {{{ */
|
|||
$userfiletype = finfo_file($finfo, $temp);
|
||||
$fileType = ".".pathinfo($origfilename, PATHINFO_EXTENSION);
|
||||
finfo_close($finfo);
|
||||
$res = $mfolder->addDocument($docname, '', 0, $userobj, $keywords, array(), $temp, $origfilename ? $origfilename : basename($temp), $fileType, $userfiletype, 0);
|
||||
$res = $mfolder->addDocument($docname, $comment, $expires, $userobj, $keywords, $cats, $temp, $origfilename ? $origfilename : basename($temp), $fileType, $userfiletype, $sequence, array(), array(), $reqversion, $version_comment, $attributes);
|
||||
// addDocumentCategories($res, $categories);
|
||||
// setDocumentAttributes($res, $attributes);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user