Commit d4782b2f94512183659bc25fc26873cab664d5d2
1 parent
dd126320
Added new functions to add_document_with_key for file uploads without the tempfilename.
Committed by: Megan Watson
Showing
1 changed file
with
51 additions
and
15 deletions
ktwebservice/webservice.php
| @@ -954,11 +954,25 @@ class KTWebService | @@ -954,11 +954,25 @@ class KTWebService | ||
| 954 | { | 954 | { |
| 955 | // add_document | 955 | // add_document |
| 956 | $this->__dispatch_map['add_document'] = | 956 | $this->__dispatch_map['add_document'] = |
| 957 | - array('in' => array('session_id'=>'string','folder_id'=>'int','title'=>'string','filename'=>'string','documentype' =>'string','tempfilename' =>'string', 'unique_file_id' => 'string' ), | 957 | + array('in' => array('session_id'=>'string','folder_id'=>'int','title'=>'string','filename'=>'string','documentype' =>'string','tempfilename' =>'string'), |
| 958 | 'out' => array( 'return' => "{urn:$this->namespace}kt_document_detail" ), | 958 | 'out' => array( 'return' => "{urn:$this->namespace}kt_document_detail" ), |
| 959 | ); | 959 | ); |
| 960 | 960 | ||
| 961 | $this->__dispatch_map['add_document_with_metadata'] = | 961 | $this->__dispatch_map['add_document_with_metadata'] = |
| 962 | + array('in' => array('session_id'=>'string','folder_id'=>'int','title'=>'string','filename'=>'string','documentype' =>'string','tempfilename' =>'string', 'metadata'=>"{urn:$this->namespace}kt_metadata_fieldsets",'sysdata'=>"{urn:$this->namespace}kt_sysdata"), | ||
| 963 | + 'out' => array( 'return' => "{urn:$this->namespace}kt_document_detail" ) | ||
| 964 | + ); | ||
| 965 | + } | ||
| 966 | + | ||
| 967 | + if($this->version >= 2) | ||
| 968 | + { | ||
| 969 | + // add_document | ||
| 970 | + $this->__dispatch_map['add_document_with_key'] = | ||
| 971 | + array('in' => array('session_id'=>'string','folder_id'=>'int','title'=>'string','filename'=>'string','documentype' =>'string','tempfilename' =>'string', 'unique_file_id' => 'string' ), | ||
| 972 | + 'out' => array( 'return' => "{urn:$this->namespace}kt_document_detail" ), | ||
| 973 | + ); | ||
| 974 | + | ||
| 975 | + $this->__dispatch_map['add_document_with_key_with_metadata'] = | ||
| 962 | array('in' => array('session_id'=>'string','folder_id'=>'int','title'=>'string','filename'=>'string','documentype' =>'string','tempfilename' =>'string', 'metadata'=>"{urn:$this->namespace}kt_metadata_fieldsets",'sysdata'=>"{urn:$this->namespace}kt_sysdata", 'unique_file_id' => 'string' ), | 976 | array('in' => array('session_id'=>'string','folder_id'=>'int','title'=>'string','filename'=>'string','documentype' =>'string','tempfilename' =>'string', 'metadata'=>"{urn:$this->namespace}kt_metadata_fieldsets",'sysdata'=>"{urn:$this->namespace}kt_sysdata", 'unique_file_id' => 'string' ), |
| 963 | 'out' => array( 'return' => "{urn:$this->namespace}kt_document_detail" ) | 977 | 'out' => array( 'return' => "{urn:$this->namespace}kt_document_detail" ) |
| 964 | ); | 978 | ); |
| @@ -2263,18 +2277,7 @@ class KTWebService | @@ -2263,18 +2277,7 @@ class KTWebService | ||
| 2263 | 2277 | ||
| 2264 | } | 2278 | } |
| 2265 | 2279 | ||
| 2266 | - /** | ||
| 2267 | - * Adds a document to the repository. | ||
| 2268 | - * | ||
| 2269 | - * @param string $session_id | ||
| 2270 | - * @param int $folder_id | ||
| 2271 | - * @param string $title | ||
| 2272 | - * @param string $filename | ||
| 2273 | - * @param string $documenttype | ||
| 2274 | - * @param string $tempfilename | ||
| 2275 | - * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER, KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS | ||
| 2276 | - */ | ||
| 2277 | - function add_document($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename, $unique_file_id = null) | 2280 | + function add_document_with_key($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename, $unique_file_id = null) |
| 2278 | { | 2281 | { |
| 2279 | if(empty($tempfilename) && !empty($unique_file_id)){ | 2282 | if(empty($tempfilename) && !empty($unique_file_id)){ |
| 2280 | $upload_manager = new KTUploadManager(); | 2283 | $upload_manager = new KTUploadManager(); |
| @@ -2288,6 +2291,22 @@ class KTWebService | @@ -2288,6 +2291,22 @@ class KTWebService | ||
| 2288 | } | 2291 | } |
| 2289 | } | 2292 | } |
| 2290 | 2293 | ||
| 2294 | + return $this->add_document($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename); | ||
| 2295 | + } | ||
| 2296 | + | ||
| 2297 | + /** | ||
| 2298 | + * Adds a document to the repository. | ||
| 2299 | + * | ||
| 2300 | + * @param string $session_id | ||
| 2301 | + * @param int $folder_id | ||
| 2302 | + * @param string $title | ||
| 2303 | + * @param string $filename | ||
| 2304 | + * @param string $documenttype | ||
| 2305 | + * @param string $tempfilename | ||
| 2306 | + * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER, KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS | ||
| 2307 | + */ | ||
| 2308 | + function add_document($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename) | ||
| 2309 | + { | ||
| 2291 | $this->debug("add_document('$session_id',$folder_id,'$title','$filename','$documenttype','$tempfilename')"); | 2310 | $this->debug("add_document('$session_id',$folder_id,'$title','$filename','$documenttype','$tempfilename')"); |
| 2292 | $kt = &$this->get_ktapi($session_id ); | 2311 | $kt = &$this->get_ktapi($session_id ); |
| 2293 | if (is_array($kt)) | 2312 | if (is_array($kt)) |
| @@ -2373,9 +2392,26 @@ class KTWebService | @@ -2373,9 +2392,26 @@ class KTWebService | ||
| 2373 | return $update_result; | 2392 | return $update_result; |
| 2374 | } | 2393 | } |
| 2375 | 2394 | ||
| 2376 | - function add_document_with_metadata($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename, $metadata, $sysdata, $unique_file_id = null) | 2395 | + function add_document_with_key_with_metadata($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename, $metadata, $sysdata, $unique_file_id = null) |
| 2396 | + { | ||
| 2397 | + if(empty($tempfilename) && !empty($unique_file_id)){ | ||
| 2398 | + $upload_manager = new KTUploadManager(); | ||
| 2399 | + $tempfilename = $upload_manager->get_tempfile_from_unique_id($unique_file_id); | ||
| 2400 | + | ||
| 2401 | + if (PEAR::isError($tempfilename)) | ||
| 2402 | + { | ||
| 2403 | + $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT, "Invalid unique file id: {$tempfilename->getMessage()}."); | ||
| 2404 | + $this->debug("add_document - cannot add document - " . $tempfilename->getMessage(), $session_id); | ||
| 2405 | + return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $response); | ||
| 2406 | + } | ||
| 2407 | + } | ||
| 2408 | + | ||
| 2409 | + return $this->add_document_with_metadata($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename, $metadata, $sysdata); | ||
| 2410 | + } | ||
| 2411 | + | ||
| 2412 | + function add_document_with_metadata($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename, $metadata, $sysdata) | ||
| 2377 | { | 2413 | { |
| 2378 | - $add_result = $this->add_document($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename, $unique_file_id); | 2414 | + $add_result = $this->add_document($session_id, $folder_id, $title, $filename, $documenttype, $tempfilename); |
| 2379 | 2415 | ||
| 2380 | $status_code = $add_result->value['status_code']; | 2416 | $status_code = $add_result->value['status_code']; |
| 2381 | if ($status_code != 0) | 2417 | if ($status_code != 0) |