mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-31 13:18:06 +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
	 Uwe Steinmann
						Uwe Steinmann