mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 15:14:58 +00:00
new command transferdocument and linkdocument
transferdocument moves the version of one document to another document linkdocument creates a link between on document and another document
This commit is contained in:
parent
d11887311c
commit
16e9d3748c
|
@ -341,6 +341,96 @@ switch($command) {
|
|||
}
|
||||
break; /* }}} */
|
||||
|
||||
case 'transfercontent': /* {{{ */
|
||||
if($user) {
|
||||
if(!checkFormKey('movedocument', 'GET')) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token'), 'data'=>''));
|
||||
} else {
|
||||
$mdocument = $dms->getDocument($_REQUEST['docid']);
|
||||
if($mdocument) {
|
||||
if ($mdocument->getAccessMode($user, 'transferContent') >= M_READWRITE) {
|
||||
/* Check if source document has more than one version */
|
||||
$versions = $mdocument->getContent();
|
||||
if(count($versions) == 1) {
|
||||
if($targetdoc = $dms->getDocument($_REQUEST['targetdocumentid'])) {
|
||||
if($targetdoc->getAccessMode($user, 'transferContent') >= M_READWRITE) {
|
||||
if($targetdoc->addContent($versions[0]->getComment(), $versions[0]->getUser(), $dms->contentDir . $versions[0]->getPath(), $versions[0]->getOriginalFileName(), $versions[0]->getFileType(), $versions[0]->getMimeType())) { //, $reviewers=array(), $approvers=array(), $version=0, $attributes=array(), $workflow=null) {
|
||||
if($mdocument->remove()) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_transfer_content'), 'data'=>''));
|
||||
add_log_line();
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>'Error removing source document', 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>'Error transfering content', 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('splash_source_doc_has_versions'), 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
|
||||
}
|
||||
}
|
||||
}
|
||||
break; /* }}} */
|
||||
|
||||
case 'linkdocument': /* {{{ */
|
||||
if($user) {
|
||||
if(!checkFormKey('movedocument', 'GET')) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token'), 'data'=>''));
|
||||
} else {
|
||||
$mdocument = $dms->getDocument($_REQUEST['docid']);
|
||||
if($mdocument) {
|
||||
if ($mdocument->getAccessMode($user, 'linkDocument') >= M_READ) {
|
||||
if($targetdoc = $dms->getDocument($_REQUEST['targetdocumentid'])) {
|
||||
if($targetdoc->getAccessMode($user, 'linkDocument') >= M_READWRITE) {
|
||||
if($targetdoc->addDocumentLink($mdocument->getID(), $user->getID(), false)) {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_link_document'), 'data'=>''));
|
||||
add_log_line();
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>'Error linking document', 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
|
||||
}
|
||||
} else {
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
|
||||
}
|
||||
}
|
||||
}
|
||||
break; /* }}} */
|
||||
|
||||
case 'deletefolder': /* {{{ */
|
||||
if($user) {
|
||||
if(!checkFormKey('removefolder', 'GET')) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user