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

📄 ajax.inc.php.svn-base

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 SVN-BASE
字号:
<?php/** * $Id:$ * * KnowledgeTree Community Edition * Document Management Made Simple * Copyright (C) 2008 KnowledgeTree Inc. * Portions copyright The Jam Warehouse Software (Pty) Limited *  * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 3 as published by the * Free Software Foundation. *  * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more * details. *  * You should have received a copy of the GNU General Public License * along with this program.  If not, see <http://www.gnu.org/licenses/>. *  * You can contact KnowledgeTree Inc., PO Box 7775 #87847, San Francisco,  * California 94120-7775, or email info@knowledgetree.com. *  * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. *  * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * KnowledgeTree" logo and retain the original copyright notice. If the display of the  * logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices * must display the words "Powered by KnowledgeTree" and retain the original  * copyright notice. * Contributor( s): ______________________________________ * */require_once('../../config/dmsDefaults.php');session_start();require_once(KT_DIR . '/search2/search/search.inc.php');class AjaxSearchHelper{	const STATUS_SUCCESS = 0;	const STATUS_MISSING_QUERY = 1;	const STATUS_SESSION = 3;	const STATUS_MISSING_WHAT = 4;	const STATUS_MISSING_FIELDSET = 5;	const STATUS_INTERNAL = 99;	const STATUS_PARSE_PROBLEM = 20;	const STATUS_MISSING_SAVED = 6;	const STATUS_MISSING_NAME = 7;	const STATUS_SAVED_SEARCH_EXISTS = 30;	const STATUS_MISSING_DOCUMENT_TYPE = 8;	const STATUS_MISSING_FOLDER = 9;	public static function checkVar($var, $code, $message)	{		if (empty($var))		{			AjaxSearchHelper::createResponse($code,$message);		}		return $var;	}	public static function checkPOST($var, $code, $message)	{		return AjaxSearchHelper::checkVar($_GET[$var], $code, $message);	}	public static function checkSESSION($var, $code, $message)	{		return AjaxSearchHelper::checkVar($_SESSION[$var], $code, $message);	}	public static function getSessionUser()	{		return AjaxSearchHelper::checkSESSION('userID', AjaxSearchHelper::STATUS_SESSION , _kt('Session has expired.'));	}	public static function checkGET($var, $code, $message)	{		return AjaxSearchHelper::checkVar($_GET[$var], $code, $message);	}	public static function createResponse($status, $message=null, $rsName=null,$rs=null)	{		$resp = array('status'=>$status);		if (isset($message))		{			$resp['message'] = $message;		}		if (isset($rsName))		{			$resp[$rsName] = $rs;		}		print json_encode($resp);		exit;	}	public static function parseQuery($txtQuery, $exitOnSuccess=true)	{		try		{			$expr = parseExpression($txtQuery);			if ($exitOnSuccess)			{				AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS );			}			return $expr;		}		catch(Exception $e)		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_PARSE_PROBLEM , $e->getMessage());		}	}	public static function updateQuery($iSavedId,$txtQuery, $userID)	{		$txtQuery = sanitizeForSQL($txtQuery);		$iSavedId = sanitizeForSQL($iSavedId);		$sql = "UPDATE search_saved SET expression='$txtQuery' WHERE id=$iSavedId";		if (!Permission::userIsSystemAdministrator($userID))		{			$sql .= " AND user_id = $userID";		}		$result = DBUtil::runQuery($sql);		if (PEAR::isError($result))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS );	}	public static function saveQuery($txtName,$txtQuery, $userID)	{		$lookup = sanitizeForSQL($txtName);		$sql = "select 1 from search_saved where name='$lookup'";		$result = DBUtil::getResultArray($sql);		if (PEAR::isError($result))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL );		}		if (count($result) > 0)		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SAVED_SEARCH_EXISTS, _kt('Search with this name already exists') );		}		// autoInsert does escaping...		$values = array(		'name'=>$txtName,		'expression'=>$txtQuery,		'type'=>'S',		'shared'=>0,		'user_id' => $userID		);		$result = DBUtil::autoInsert('search_saved', $values);		if (PEAR::isError($result))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS );	}	public static function getSavedSearches($userID)	{		$rs = SearchHelper::getSavedSearches($userID);		if (PEAR::isError($rs))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS , null, 'searches', $rs);	}	public static function getDocumentTypes()	{		$rs = SearchHelper::getDocumentTypes();		if (PEAR::isError($rs))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL, $rs->getMessage() );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS , null, 'documenttypes', $rs);	}	public static function getDocumentTypeFieldsets($documentTypeID)	{		$rs = SearchHelper::getDocumentTypeFieldsets($documentTypeID);		if (PEAR::isError($rs))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL, $rs->getMessage() );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS , null, 'fieldsets', $rs);	}	public static function getFieldsets()	{		$rs = SearchHelper::getFieldsets();		if (PEAR::isError($rs))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL, $rs->getMessage() );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS , null, 'fieldsets', $rs);	}	public static function getFields($fieldsetID)	{		$result = SearchHelper::getFields($fieldsetID);		if (PEAR::isError($result))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_INTERNAL, $result->getMessage() );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS , null, 'fields', $result);	}	public static function getFolder($folderID)	{		$userid = AjaxSearchHelper::getSessionUser();		$folders = SearchHelper::getFolder($folderID, $userid);		if (PEAR::isError($folders))		{			AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_MISSING_FOLDER, $folders->getMessage()  );		}		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS , null, 'folders', $folders);	}	public static function getSearchFields()	{		$results = SearchHelper::getSearchFields();		AjaxSearchHelper::createResponse(AjaxSearchHelper::STATUS_SUCCESS , null, 'fields', $results);	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -