mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 15:14:58 +00:00
added check for duplicate folder and document names if turned on
This commit is contained in:
parent
ad86df5fc5
commit
38413b671f
|
@ -374,7 +374,7 @@ function getFolderChildren($request, $response, $args) { /* {{{ */
|
|||
} /* }}} */
|
||||
|
||||
function createFolder($request, $response, $args) { /* {{{ */
|
||||
global $dms, $userobj;
|
||||
global $dms, $userobj, $settings;
|
||||
|
||||
if(!$userobj) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>'Not logged in', 'data'=>''), 403);
|
||||
|
@ -410,6 +410,12 @@ function createFolder($request, $response, $args) { /* {{{ */
|
|||
}
|
||||
}
|
||||
}
|
||||
/* Check if name already exists in the folder */
|
||||
if(!$settings->_enableDuplicateSubFolderNames) {
|
||||
if($folder->hasSubFolderByName($params['name'])) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>getMLText("subfolder_duplicate_name"), 'data'=>''), 400);
|
||||
}
|
||||
}
|
||||
if($folder = $parent->addSubFolder($params['name'], $comment, $userobj, $sequence, $newattrs)) {
|
||||
|
||||
$rec = __getFolderData($folder);
|
||||
|
@ -506,7 +512,7 @@ function deleteFolder($request, $response, $args) { /* {{{ */
|
|||
} /* }}} */
|
||||
|
||||
function uploadDocument($request, $response, $args) { /* {{{ */
|
||||
global $dms, $userobj;
|
||||
global $dms, $userobj, $settings;
|
||||
|
||||
if(!$userobj) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>'Not logged in', 'data'=>''), 403);
|
||||
|
@ -571,6 +577,12 @@ function uploadDocument($request, $response, $args) { /* {{{ */
|
|||
$origfilename = $file_info->getClientFilename();
|
||||
if (trim($docname) == '')
|
||||
$docname = $origfilename;
|
||||
/* Check if name already exists in the folder */
|
||||
if(!$settings->_enableDuplicateDocNames) {
|
||||
if($mfolder->hasDocumentByName($docname)) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>getMLText("document_duplicate_name"), 'data'=>''), 400);
|
||||
}
|
||||
}
|
||||
$temp = $file_info->file;
|
||||
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
||||
$userfiletype = finfo_file($finfo, $temp);
|
||||
|
@ -662,7 +674,7 @@ function updateDocument($request, $response, $args) { /* {{{ */
|
|||
* Old upload method which uses put instead of post
|
||||
*/
|
||||
function uploadDocumentPut($request, $response, $args) { /* {{{ */
|
||||
global $dms, $userobj;
|
||||
global $dms, $userobj, $settings;
|
||||
|
||||
if(!$userobj) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>'Not logged in', 'data'=>''), 403);
|
||||
|
@ -687,6 +699,12 @@ function uploadDocumentPut($request, $response, $args) { /* {{{ */
|
|||
$userfiletype = finfo_file($finfo, $temp);
|
||||
$fileType = ".".pathinfo($origfilename, PATHINFO_EXTENSION);
|
||||
finfo_close($finfo);
|
||||
/* Check if name already exists in the folder */
|
||||
if(!$settings->_enableDuplicateDocNames) {
|
||||
if($mfolder->hasDocumentByName($docname)) {
|
||||
return $response->withJson(array('success'=>false, 'message'=>getMLText("document_duplicate_name"), 'data'=>''), 400);
|
||||
}
|
||||
}
|
||||
$res = $mfolder->addDocument($docname, '', 0, $userobj, '', array(), $temp, $origfilename ? $origfilename : basename($temp), $fileType, $userfiletype, 0);
|
||||
unlink($temp);
|
||||
if($res) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user