diff --git a/ktapi/KTAPIDocument.inc.php b/ktapi/KTAPIDocument.inc.php index ac08cc5..99e9c4f 100644 --- a/ktapi/KTAPIDocument.inc.php +++ b/ktapi/KTAPIDocument.inc.php @@ -1611,7 +1611,7 @@ class KTAPI_Document extends KTAPI_FolderItem $detail['workflow_state']=$workflowstate; // get the full path - $detail['full_path'] = $this->ktapi_folder->get_full_path() . '/' . $this->get_title(); + $detail['full_path'] = '/' . $this->document->getFullPath(); // get mime info $mimetypeid = $document->getMimeTypeID(); diff --git a/ktapi/KTAPIFolder.inc.php b/ktapi/KTAPIFolder.inc.php index 1af0901..aa49c9f 100644 --- a/ktapi/KTAPIFolder.inc.php +++ b/ktapi/KTAPIFolder.inc.php @@ -210,8 +210,8 @@ class KTAPI_Folder extends KTAPI_FolderItem function get_full_path() { - $path = $this->folder->getFullPath() . '/' . $this->folder->getName(); - if (substr($path,0,1) == '/') $path = substr($path,1); + $path = $this->folder->getFullPath(); + if (empty($path)) $path = '/'; return $path; } @@ -604,7 +604,7 @@ class KTAPI_Folder extends KTAPI_FolderItem } else { - return new PEAR_Error('The document type could not be resolved or is disabled: ' . $documenttype); + return new KTAPI_DocumentTypeError('The document type could not be resolved or is disabled: ' . $documenttype); } } diff --git a/ktapi/ktapi.inc.php b/ktapi/ktapi.inc.php index 9967aa0..c68e74c 100644 --- a/ktapi/ktapi.inc.php +++ b/ktapi/ktapi.inc.php @@ -70,7 +70,7 @@ class KTAPI_FolderItem class KTAPI_Error extends PEAR_Error { - function KTAPI_Error($msg, $obj) + function KTAPI_Error($msg, $obj = null) { if (PEAR::isError($obj)) { @@ -83,6 +83,8 @@ class KTAPI_Error extends PEAR_Error } } +class KTAPI_DocumentTypeError extends KTAPI_Error {} + class KTAPI { /** diff --git a/ktwebservice/webservice.php b/ktwebservice/webservice.php index addaf46..fe4ba6d 100644 --- a/ktwebservice/webservice.php +++ b/ktwebservice/webservice.php @@ -1951,7 +1951,8 @@ class KTWebService $document = &$folder->add_document($title, $filename, $documenttype, $tempfilename); if (PEAR::isError($document)) { - $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT,$document); + $status = is_a($document, 'KTAPI_DocumentTypeError')?KTWS_ERR_INVALID_DOCUMENT_TYPE:KTWS_ERR_INVALID_DOCUMENT; + $response = KTWebService::_status($status, $document); $this->debug("add_document - cannot add document - " . $document->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $response); } @@ -2130,7 +2131,8 @@ class KTWebService $document = &$folder->add_document($title, $filename, $documenttype, $tempfilename); if (PEAR::isError($document)) { - $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT,$document); + $status = is_a($document, 'KTAPI_DocumentTypeError')?KTWS_ERR_INVALID_DOCUMENT_TYPE:KTWS_ERR_INVALID_DOCUMENT; + $response = KTWebService::_status($status,$document); $this->debug("add_small_document - cannot add document - " . $document->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $response); diff --git a/sql/mysql/install/user.sql b/sql/mysql/install/user.sql index dd8b8c9..09b2f27 100644 --- a/sql/mysql/install/user.sql +++ b/sql/mysql/install/user.sql @@ -34,6 +34,6 @@ -- -- default dms user -GRANT SELECT, INSERT, UPDATE, DELETE ON * TO dms@localhost IDENTIFIED BY 'djw9281js'; +GRANT SELECT, INSERT, UPDATE, DELETE ON dms.* TO dms@localhost IDENTIFIED BY 'djw9281js'; -- admin dms user -GRANT ALL PRIVILEGES ON * TO dmsadmin@localhost IDENTIFIED BY 'js9281djw'; +GRANT ALL PRIVILEGES ON dms.* TO dmsadmin@localhost IDENTIFIED BY 'js9281djw';