⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webservice.php.tmp

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 TMP
📖 第 1 页 / 共 5 页
字号:
    	$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 + -