📄 webservice.php.tmp
字号:
$folder = &$kt->get_folder_by_id($folder_id); if (PEAR::isError($folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$folder); $this->debug("get_folder_detail - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $response); } $detail = $folder->get_detail(); $detail['status_code']=KTWS_SUCCESS; $detail['message']=''; return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $detail); } /** Encode an array as kt_folder_shortcut * * @param array $shortcuts * @param string $name * @return SOAP_Value of kt_folder_shortcuts * @access private * @static */ function _encode_folder_shortcuts($shortcuts, $name='shortcuts') { foreach($shortcuts as $key=>$item) { $shortcuts[$key] = new SOAP_Value('item',"{urn:$this->namespace}kt_folder_shortcut", $item); } return new SOAP_Value($name,"{urn:$this->namespace}kt_folder_shortcuts", $shortcuts); } /** * Retrieves all shortcuts linking to a specific document * * @param string $session_id * @param ing $document_id * * @return kt_document_shortcuts. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS * */ function get_folder_shortcuts($session_id, $folder_id){ $kt = &$this->get_ktapi($session_id ); if (is_array($kt)) { return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_shortcuts", $kt); } $folder = $kt->get_folder_by_id($folder_id); if(PEAR::isError($document)){ $response=array( 'status_code'=>KTWS_ERR_INVALID_FOLDER, 'message'=>$folder->getMessage() ); $this->debug("get_folder_shortcuts - cannot get folder - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_shortcuts", $response); } $shortcuts = $folder->get_shortcuts(); if(PEAR::isError($shortcuts)){ $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$shortcuts); $this->debug("get_folder_shortcuts - cannot retrieve shortcuts linking to $folder_id - " . $shortcuts->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_shortcuts", $response); } $response['status_code'] = KTWS_SUCCESS; $response['history'] = KTWebService::_encode_folder_shortcuts($shortcuts); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_shortcuts", $response); } /** * Returns folder detail given a folder name which could include a full path. * * @param string $session_id * @param string $folder_name * @return kt_folder_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER, or KTWS_SUCCESS. */ function get_folder_detail_by_name($session_id, $folder_name) { $this->debug("get_folder_detail_by_name('$session_id','$folder_name')"); $kt = &$this->get_ktapi($session_id); if (is_array($kt)) { return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $kt); } $folder = &$kt->get_folder_by_name($folder_name); if (PEAR::isError($folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$folder); $this->debug("get_folder_detail_by_name - cannot get folder $folder_name - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $response); } $detail = $folder->get_detail(); $detail['status_code']=KTWS_SUCCESS; $detail['message']=''; return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $detail); } /** * Encodes an array as kt_folder_contents * * @param array $contents * @param string $name * @return SOAP_Value of kt_folder_contents * @access private * @static */ function _encode_folder_items($items) { foreach($items as $key=>$item) { $item['id'] = (int) $item['id']; $item['items'] = KTWebService::_encode_folder_items($item['items']); $items[$key] = new SOAP_Value('item',"{urn:$this->namespace}kt_folder_item", $item); } return new SOAP_Value('items',"{urn:$this->namespace}kt_folder_items", $items); } /** * Returns the contents of a folder. * * @param string $session_id * @param int $folder_id * @param int $depth * @param string $what * @return kt_folder_contents */ function get_folder_contents($session_id, $folder_id, $depth=1, $what='DFS') { $this->debug("get_folder_contents('$session_id',$folder_id,$depth,'$what')"); $kt = &$this->get_ktapi($session_id); if (is_array($kt)) { return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_contents", $kt); } $folder = &$kt->get_folder_by_id($folder_id); if (PEAR::isError($folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$folder); $this->debug("get_folder_contents - cannot get folderid $folder_id - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_contents", $response); } $listing = $folder->get_listing($depth, $what); $contents = array( 'status_code'=>KTWS_SUCCESS, 'message'=>'', 'folder_id' => $folder_id+0, 'folder_name'=>$folder->get_folder_name(), 'full_path'=>$folder->get_full_path(), 'items'=>KTWebService::_encode_folder_items($listing) ); return new SOAP_Value($name,"{urn:$this->namespace}kt_folder_contents", $contents); } /** * Creates a new folder. * * @param string $session_id * @param int $folder_id * @param string $folder_name * @return kt_folder_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER or KTWS_SUCCESS */ function create_folder($session_id, $folder_id, $folder_name) { $this->debug("create_folder('$session_id',$folder_id,'$folder_name')"); $kt = &$this->get_ktapi($session_id ); if (is_array($kt)) { return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $kt); } $folder = &$kt->get_folder_by_id($folder_id); if (PEAR::isError($folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$folder); $this->debug("create_folder - cannot get folderid $folder_id - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $response); } $newfolder = &$folder->add_folder($folder_name); if (PEAR::isError($newfolder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$newfolder); $this->debug("create_folder - cannot create folder $folder_name - " . $newfolder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $response); } $detail = $newfolder->get_detail(); $detail['status_code']=KTWS_SUCCESS; $detail['message']=''; return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $detail); } /** * Creates a shortcut to an existing folder * * @param string $session_id * @param int $target_folder_id Folder to place the shortcut in * @param int $source_folder_id Folder to create the shortcut to * @return kt_folder_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER or KTWS_SUCCESS */ function create_folder_shortcut($session_id, $target_folder_id, $source_folder_id){ $this->debug("create_folder_shortcut('$session_id',$target_folder_id,' $source_folder_id')"); $kt = &$this->get_ktapi($session_id ); if (is_array($kt)) { return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $kt); } $folder = &$kt->get_folder_by_id($target_folder_id); if (PEAR::isError($folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$folder); $this->debug("create_folder_shortcut - cannot get folderid $target_folder_id - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $response); } $source_folder = &$kt->get_folder_by_id($source_folder_id); if (PEAR::isError($source_folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$source_folder); $this->debug("create_folder_shortcut - cannot get folderid $source_folder_id - " . $source_folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $response); } $shortcut = &$folder->add_folder_shortcut($source_folder_id); if (PEAR::isError($shortcut)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$shortcut); $this->debug("create_folder_shortcut - cannot create shortcut to $source_folder_id - " . $shortcut->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $response); } $detail = $shortcut->get_detail(); $detail['status_code']=KTWS_SUCCESS; $detail['message']=''; return new SOAP_Value('return',"{urn:$this->namespace}kt_folder_detail", $detail); } /** * Creates a shortcut to an existing document * * @param string $session_id * @param int $target_folder_id Folder to place the shortcut in * @param int $source_document_id Document to create the shortcut to * @return kt_document_detail. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER,KTWS_ERR_INVALID_DOCUMENT or KTWS_SUCCESS */ function create_document_shortcut($session_id, $target_folder_id, $source_document_id){ $this->debug("create_document_shortcut('$session_id',$target_folder_id,'$source_document_id')"); $kt = &$this->get_ktapi($session_id ); if (is_array($kt)) { return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $kt); } $folder = &$kt->get_folder_by_id($target_folder_id); if (PEAR::isError($folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER,$folder); $this->debug("create_document_shortcut - cannot get folderid $target_folder_id - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $response); } $source_document = &$kt->get_document_by_id($source_document_id); if (PEAR::isError($source_folder)) { $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT,$source_document); $this->debug("create_document_shortcut - cannot get docid $source_document_id - " . $source_document->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $response); } $shortcut = &$folder->add_document_shortcut($source_document_id); if (PEAR::isError($shortcut)) { $response = KTWebService::_status(KTWS_ERR_INVALID_DOCUMENT,$shortcut); $this->debug("create_document_shortcut - cannot create shortcut to $source_document_id - " . $shortcut->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $response); } $detail = $shortcut->get_detail(); $detail['status_code']=KTWS_SUCCESS; $detail['message']=''; return new SOAP_Value('return',"{urn:$this->namespace}kt_document_detail", $detail); } /** * Deletes a folder. * * @param string $session_id * @param int $folder_id * @param string $reason * @return kt_response. status_code can be KTWS_ERR_INVALID_SESSION, KTWS_ERR_INVALID_FOLDER or KTWS_SUCCESS */ function delete_folder($session_id, $folder_id, $reason) { $this->debug("delete_folder('$session_id',$folder_id,'$reason')"); $kt = &$this->get_ktapi($session_id ); if (is_array($kt)) { return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $kt); } $response = KTWebService::_status(KTWS_ERR_INVALID_FOLDER); $folder = &$kt->get_folder_by_id($folder_id); if (PEAR::isError($folder)) { $response['message'] = $folder->getMessage(); $this->debug("delete_folder - cannot get folderid $folder_id - " . $folder->getMessage(), $session_id); return new SOAP_Value('return',"{urn:$this->namespace}kt_response", $response); } $result = $folder->delete($reason); if (PEAR::isError($result)) { $response['status_code'] = KTWS_ERR_PROBLEM; $response['message'] = $result->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -