diff --git a/restapi/index.php b/restapi/index.php index 0095afe61..ac95c69c7 100644 --- a/restapi/index.php +++ b/restapi/index.php @@ -727,94 +727,94 @@ class RestapiController { /* {{{ */ return $response->withJson(array('success'=>false, 'message'=>getMLText("document_duplicate_name"), 'data'=>''), 409); } } - // Get the list of reviewers and approvers for this document. - $reviewers = array(); - $approvers = array(); - $reviewers["i"] = array(); - $reviewers["g"] = array(); - $approvers["i"] = array(); - $approvers["g"] = array(); - $workflow = null; - if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') { - // add mandatory reviewers/approvers - if($settings->_workflowMode == 'traditional') { - $mreviewers = getMandatoryReviewers($mfolder, null, $userobj); - if($mreviewers['i']) - $reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']); - if($mreviewers['g']) - $reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']); - } - $mapprovers = getMandatoryApprovers($mfolder, null, $userobj); - if($mapprovers['i']) - $approvers['i'] = array_merge($approvers['i'], $mapprovers['i']); - if($mapprovers['g']) - $approvers['g'] = array_merge($approvers['g'], $mapprovers['g']); - } elseif($settings->_workflowMode == 'advanced') { - if($workflows = $userobj->getMandatoryWorkflows()) { - $workflow = array_shift($workflows); - } - } + // Get the list of reviewers and approvers for this document. + $reviewers = array(); + $approvers = array(); + $reviewers["i"] = array(); + $reviewers["g"] = array(); + $approvers["i"] = array(); + $approvers["g"] = array(); + $workflow = null; + if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') { + // add mandatory reviewers/approvers + if($settings->_workflowMode == 'traditional') { + $mreviewers = getMandatoryReviewers($mfolder, null, $userobj); + if($mreviewers['i']) + $reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']); + if($mreviewers['g']) + $reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']); + } + $mapprovers = getMandatoryApprovers($mfolder, null, $userobj); + if($mapprovers['i']) + $approvers['i'] = array_merge($approvers['i'], $mapprovers['i']); + if($mapprovers['g']) + $approvers['g'] = array_merge($approvers['g'], $mapprovers['g']); + } elseif($settings->_workflowMode == 'advanced') { + if($workflows = $userobj->getMandatoryWorkflows()) { + $workflow = array_shift($workflows); + } + } $temp = $file_info->file; $finfo = finfo_open(FILEINFO_MIME_TYPE); $userfiletype = finfo_file($finfo, $temp); $fileType = ".".pathinfo($origfilename, PATHINFO_EXTENSION); - finfo_close($finfo); - $attributes_version = []; - $notusers = []; - $notgroups = []; - $controller = Controller::factory('AddDocument'); - $controller->setParam('documentsource', 'restapi'); - $controller->setParam('documentsourcedetails', null); - $controller->setParam('dms', $dms); - $controller->setParam('user', $userobj); - $controller->setParam('folder', $mfolder); - $controller->setParam('fulltextservice', $fulltextservice); - $controller->setParam('name', $docname); - $controller->setParam('comment', $comment); - $controller->setParam('expires', $expires); - $controller->setParam('keywords', $keywords); - $controller->setParam('categories', $cats); - $controller->setParam('owner', $owner ? $owner : $userobj); - $controller->setParam('userfiletmp', $temp); - $controller->setParam('userfilename', $origfilename ? $origfilename : basename($temp)); - $controller->setParam('filetype', $fileType); - $controller->setParam('userfiletype', $userfiletype); - $controller->setParam('sequence', $sequence); - $controller->setParam('reviewers', $reviewers); - $controller->setParam('approvers', $approvers); - $controller->setParam('reqversion', $reqversion); - $controller->setParam('versioncomment', $version_comment); - $controller->setParam('attributes', $attributes); - $controller->setParam('attributesversion', $attributes_version); - $controller->setParam('workflow', $workflow); - $controller->setParam('notificationgroups', $notgroups); - $controller->setParam('notificationusers', $notusers); - $controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText); - $controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs); + finfo_close($finfo); + $attributes_version = []; + $notusers = []; + $notgroups = []; + $controller = Controller::factory('AddDocument'); + $controller->setParam('documentsource', 'restapi'); + $controller->setParam('documentsourcedetails', null); + $controller->setParam('dms', $dms); + $controller->setParam('user', $userobj); + $controller->setParam('folder', $mfolder); + $controller->setParam('fulltextservice', $fulltextservice); + $controller->setParam('name', $docname); + $controller->setParam('comment', $comment); + $controller->setParam('expires', $expires); + $controller->setParam('keywords', $keywords); + $controller->setParam('categories', $cats); + $controller->setParam('owner', $owner ? $owner : $userobj); + $controller->setParam('userfiletmp', $temp); + $controller->setParam('userfilename', $origfilename ? $origfilename : basename($temp)); + $controller->setParam('filetype', $fileType); + $controller->setParam('userfiletype', $userfiletype); + $controller->setParam('sequence', $sequence); + $controller->setParam('reviewers', $reviewers); + $controller->setParam('approvers', $approvers); + $controller->setParam('reqversion', $reqversion); + $controller->setParam('versioncomment', $version_comment); + $controller->setParam('attributes', $attributes); + $controller->setParam('attributesversion', $attributes_version); + $controller->setParam('workflow', $workflow); + $controller->setParam('notificationgroups', $notgroups); + $controller->setParam('notificationusers', $notusers); + $controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText); + $controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs); - if(!($document = $controller())) { - $err = $controller->getErrorMsg(); - if(is_string($err)) - $errmsg = getMLText($err); - elseif(is_array($err)) { - $errmsg = getMLText($err[0], $err[1]); - } else { - $errmsg = $err; - } - unlink($temp); - return $response->withJson(array('success'=>false, 'message'=>'Upload failed', 'data'=>''), 500); - } else { - if($controller->hasHook('cleanUpDocument')) { - $controller->callHook('cleanUpDocument', $document, $file); - } - // Send notification to subscribers of folder. - if($notifier) { - $notifier->sendNewDocumentMail($document, $userobj); - } - unlink($temp); - return $response->withJson(array('success'=>true, 'message'=>'Upload succeded', 'data'=>$this->__getLatestVersionData($document->getLatestContent())), 201); - } - /* + if(!($document = $controller())) { + $err = $controller->getErrorMsg(); + if(is_string($err)) + $errmsg = getMLText($err); + elseif(is_array($err)) { + $errmsg = getMLText($err[0], $err[1]); + } else { + $errmsg = $err; + } + unlink($temp); + return $response->withJson(array('success'=>false, 'message'=>'Upload failed', 'data'=>''), 500); + } else { + if($controller->hasHook('cleanUpDocument')) { + $controller->callHook('cleanUpDocument', $document, $file); + } + // Send notification to subscribers of folder. + if($notifier) { + $notifier->sendNewDocumentMail($document, $userobj); + } + unlink($temp); + return $response->withJson(array('success'=>true, 'message'=>'Upload succeded', 'data'=>$this->__getLatestVersionData($document->getLatestContent())), 201); + } + /* $res = $mfolder->addDocument($docname, $comment, $expires, $owner ? $owner : $userobj, $keywords, $cats, $temp, $origfilename ? $origfilename : basename($temp), $fileType, $userfiletype, $sequence, array(), array(), $reqversion, $version_comment, $attributes); unlink($temp); if($res) { @@ -825,8 +825,8 @@ class RestapiController { /* {{{ */ return $response->withJson(array('success'=>true, 'message'=>'Upload succeded', 'data'=>$this->__getLatestVersionData($doc->getLatestContent())), 201); } else { return $response->withJson(array('success'=>false, 'message'=>'Upload failed', 'data'=>''), 500); - } - */ + } + */ } else { return $response->withJson(array('success'=>false, 'message'=>'No access', 'data'=>''), 403); } @@ -2064,10 +2064,10 @@ class RestapiController { /* {{{ */ $theme = isset($params['theme']) ? $params['theme'] : null; $comment = isset($params['comment']) ? $params['comment'] : ''; $role = isset($params['role']) ? $params['role'] : 3; - $roleobj = $role == 'admin' ? SeedDMS_Core_Role::getInstance(1, $dms) : ($role == 'guest' ? SeedDMS_Core_Role::getInstance(2, $dms) : SeedDMS_Core_Role::getInstance($role, $dms)); - if(!$roleobj) { + $roleobj = $role == 'admin' ? SeedDMS_Core_Role::getInstance(1, $dms) : ($role == 'guest' ? SeedDMS_Core_Role::getInstance(2, $dms) : SeedDMS_Core_Role::getInstance($role, $dms)); + if(!$roleobj) { return $response->withJson(array('success'=>false, 'message'=>'Missing role', 'data'=>''), 400); - } + } $newAccount = $dms->addUser($userName, seed_pass_hash($password), $fullname, $email, $language, $theme, $comment, $roleobj); if ($newAccount === false) { @@ -2098,8 +2098,8 @@ class RestapiController { /* {{{ */ } /* }}} */ /** - * Updates the password of an existing Account, the password - * will be hashed by this method + * Updates the password of an existing Account, the password + * will be hashed by this method * * @param $id The user name or numerical identifier */ @@ -2204,7 +2204,7 @@ class RestapiController { /* {{{ */ $roles = $dms->getAllRoles(); $data = []; foreach($roles as $r) - $data[] = $this->__getRoleData($r); + $data[] = $this->__getRoleData($r); return $response->withJson(array('success'=>true, 'message'=>'', 'data'=>$data), 200); } /* }}} */ @@ -2877,7 +2877,7 @@ class RestapiAuth { /* {{{ */ if(!($userobj = $dms->getUser($settings->_guestID))) return $response->withJson(array('success'=>false, 'message'=>'Could not get guest login', 'data'=>''), 403); } else - return $response->withJson(array('success'=>false, 'message'=>'Login as guest disabled', 'data'=>''), 403); + return $response->withJson(array('success'=>false, 'message'=>'Login as guest disabled', 'data'=>''), 403); } if($userobj->isAdmin()) { if($resArr["su"]) {