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

📄 php_mnogo.c

📁 php-4.4.7学习linux时下载的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
/* $Source: /repository/php-src/ext/mnogosearch/Attic/php_mnogo.c,v $ *//* $Id: php_mnogo.c,v 1.66.2.14.2.3 2007/01/01 09:46:44 sebastian Exp $ *//*   +----------------------------------------------------------------------+   | PHP Version 4                                                        |   +----------------------------------------------------------------------+   | Copyright (c) 1997-2007 The PHP Group                                |   +----------------------------------------------------------------------+   | This source file is subject to version 3.01 of the PHP license,      |   | that is bundled with this package in the file LICENSE, and is        |   | available through the world-wide-web at the following url:           |   | http://www.php.net/license/3_0.txt.                                  |   | If you did not receive a copy of the PHP license and are unable to   |   | obtain it through the world-wide-web, please send a note to          |   | license@php.net so we can mail you a copy immediately.               |   +----------------------------------------------------------------------+   | Authors:                                                             |   |  Initial version     by  Alex Barkov <bar@izhcom.ru>                 |   |                      and Ramil Kalimullin <ram@izhcom.ru>            |   |  Further development by  Sergey Kartashoff <gluke@mail.ru>           |   +----------------------------------------------------------------------+ */#ifdef HAVE_CONFIG_H#include "config.h"#endif#include "php.h"#include "php_mnogo.h"#include "ext/standard/php_standard.h"#include "ext/standard/info.h"#include "php_globals.h"#ifdef HAVE_MNOGOSEARCH#define UDMSTRSIZ               1024*5#define UDM_FIELD_URLID		1#define UDM_FIELD_URL		2#define UDM_FIELD_CONTENT	3	#define UDM_FIELD_TITLE		4#define UDM_FIELD_KEYWORDS	5#define UDM_FIELD_DESC		6#define UDM_FIELD_TEXT		7#define UDM_FIELD_SIZE		8#define UDM_FIELD_RATING	9#define UDM_FIELD_MODIFIED	10#define UDM_FIELD_ORDER		11#define UDM_FIELD_CRC		12#define UDM_FIELD_CATEGORY	13#define UDM_FIELD_LANG		14#define UDM_FIELD_CHARSET	15#define UDM_FIELD_SITEID	16#define UDM_FIELD_POP_RANK	17#define UDM_FIELD_ORIGINID	18/* udm_set_agent_param constants */#define UDM_PARAM_PAGE_SIZE		1#define UDM_PARAM_PAGE_NUM		2#define UDM_PARAM_SEARCH_MODE		3#define UDM_PARAM_CACHE_MODE		4#define UDM_PARAM_TRACK_MODE		5#define UDM_PARAM_CHARSET		6#define UDM_PARAM_STOPTABLE		7#define UDM_PARAM_STOPFILE		8#define UDM_PARAM_WEIGHT_FACTOR		9#define UDM_PARAM_WORD_MATCH		10#define UDM_PARAM_PHRASE_MODE		11#define UDM_PARAM_MIN_WORD_LEN		12#define UDM_PARAM_MAX_WORD_LEN		13#define UDM_PARAM_ISPELL_PREFIXES	14#define UDM_PARAM_CROSS_WORDS		15#define UDM_PARAM_VARDIR		16#define UDM_PARAM_LOCAL_CHARSET		17#define UDM_PARAM_BROWSER_CHARSET	18#define UDM_PARAM_HLBEG			19#define UDM_PARAM_HLEND			20#define UDM_PARAM_SYNONYM		21#define UDM_PARAM_SEARCHD		22#define UDM_PARAM_QSTRING		23#define UDM_PARAM_REMOTE_ADDR		24#define UDM_PARAM_QUERY			25#define UDM_PARAM_STORED		26#define UDM_PARAM_GROUPBYSITE		27#define UDM_PARAM_SITEID		28#define UDM_PARAM_DETECT_CLONES		29#define UDM_PARAM_SORT_ORDER		30#define UDM_PARAM_RESULTS_LIMIT		31#define UDM_PARAM_EXCERPT_SIZE		32#define UDM_PARAM_EXCERPT_PADDING	33/* udm_add_search_limit constants */#define UDM_LIMIT_URL		1#define UDM_LIMIT_TAG		2#define UDM_LIMIT_LANG		3#define UDM_LIMIT_CAT		4#define UDM_LIMIT_DATE		5#define UDM_LIMIT_TYPE		6/* word match type */#define UDM_MATCH_WORD		0#define UDM_MATCH_BEGIN		1#define UDM_MATCH_SUBSTR	2#define UDM_MATCH_END		3/* track modes */#define UDM_TRACK_ENABLED	1#define UDM_TRACK_DISABLED	0/* cache modes */#define UDM_CACHE_ENABLED	1#define UDM_CACHE_DISABLED	0/* phrase modes */#define UDM_PHRASE_ENABLED	1#define UDM_PHRASE_DISABLED	0/* prefix modes */#define UDM_PREFIXES_ENABLED	1#define UDM_PREFIXES_DISABLED	0/* crosswords modes */#define UDM_CROSS_WORDS_ENABLED	 1#define UDM_CROSS_WORDS_DISABLED 0/* General modes */#define UDM_ENABLED	 	1#define UDM_DISABLED 		0/* udm_get_res_param constants */#define UDM_PARAM_NUM_ROWS	256#define UDM_PARAM_FOUND		257#define UDM_PARAM_WORDINFO	258#define UDM_PARAM_SEARCHTIME	259#define UDM_PARAM_FIRST_DOC	260#define UDM_PARAM_LAST_DOC	261#define UDM_PARAM_WORDINFO_ALL	262/* udm_load_ispell_data constants */#define UDM_ISPELL_TYPE_AFFIX	1#define UDM_ISPELL_TYPE_SPELL	2#define UDM_ISPELL_TYPE_DB	3#define UDM_ISPELL_TYPE_SERVER	4/* True globals, no need for thread safety */static int le_link,le_res;#include <udm_config.h>#include <udmsearch.h>/* {{{ mnogosearch_functions[] */function_entry mnogosearch_functions[] = {	PHP_FE(udm_api_version,		NULL)#if UDM_VERSION_ID >= 30200				PHP_FE(udm_check_charset,	NULL)#if UDM_VERSION_ID == 30203	PHP_FE(udm_open_stored,	NULL)	PHP_FE(udm_check_stored,NULL)	PHP_FE(udm_close_stored,NULL)#endif#if UDM_VERSION_ID >= 30203	PHP_FE(udm_crc32,	NULL)#endif#if UDM_VERSION_ID >= 30204	PHP_FE(udm_parse_query_string,	NULL)	PHP_FE(udm_make_excerpt,	NULL)	PHP_FE(udm_set_agent_param_ex,	NULL)	PHP_FE(udm_get_res_field_ex,	NULL)#endif#if UDM_VERSION_ID >= 30211	PHP_FE(udm_hash32,		NULL)	PHP_FE(udm_alloc_agent_array,	NULL)#endif#endif	PHP_FE(udm_alloc_agent,		NULL)	PHP_FE(udm_set_agent_param,	NULL)		PHP_FE(udm_load_ispell_data,	NULL)	PHP_FE(udm_free_ispell_data,	NULL)		PHP_FE(udm_add_search_limit,	NULL)	PHP_FE(udm_clear_search_limits,	NULL)		PHP_FE(udm_errno,		NULL)	PHP_FE(udm_error,		NULL)	PHP_FE(udm_find,		NULL)	PHP_FE(udm_get_res_param,	NULL)	PHP_FE(udm_get_res_field,	NULL)		PHP_FE(udm_cat_list,		NULL)	PHP_FE(udm_cat_path,		NULL)		PHP_FE(udm_free_res,		NULL)	PHP_FE(udm_free_agent,		NULL)#if UDM_VERSION_ID > 30110	PHP_FE(udm_get_doc_count,	NULL)#endif		{NULL, NULL, NULL}};/* }}} */zend_module_entry mnogosearch_module_entry = {	STANDARD_MODULE_HEADER,	"mnogosearch", 	mnogosearch_functions, 	PHP_MINIT(mnogosearch), 	PHP_MSHUTDOWN(mnogosearch), 	PHP_RINIT(mnogosearch), 	NULL,	PHP_MINFO(mnogosearch),     NO_VERSION_YET,	STANDARD_MODULE_PROPERTIES};#ifdef COMPILE_DL_MNOGOSEARCHZEND_GET_MODULE(mnogosearch)#endifstatic void _free_udm_agent(zend_rsrc_list_entry *rsrc TSRMLS_DC){	UDM_AGENT * Agent = (UDM_AGENT *)rsrc->ptr;#if UDM_VERSION_ID >= 30204	UdmEnvFree(Agent->Conf);	UdmAgentFree(Agent);#else	UdmFreeEnv(Agent->Conf);	UdmFreeAgent(Agent);#endif}static void _free_udm_res(zend_rsrc_list_entry *rsrc TSRMLS_DC){	UDM_RESULT * Res = (UDM_RESULT *)rsrc->ptr;#if UDM_VERSION_ID >= 30204		UdmResultFree(Res);#else	UdmFreeResult(Res);#endif}/* {{{ PHP_MINIT_FUNCTION */DLEXPORT PHP_MINIT_FUNCTION(mnogosearch){	UdmInit();	le_link = zend_register_list_destructors_ex(_free_udm_agent,NULL,"mnogosearch agent",module_number);	le_res = zend_register_list_destructors_ex(_free_udm_res,NULL,"mnogosearch result",module_number);	REGISTER_LONG_CONSTANT("UDM_FIELD_URLID",	UDM_FIELD_URLID,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_URL",		UDM_FIELD_URL,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_CONTENT",	UDM_FIELD_CONTENT,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_TITLE",	UDM_FIELD_TITLE,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_KEYWORDS",	UDM_FIELD_KEYWORDS,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_DESC",	UDM_FIELD_DESC,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_DESCRIPTION",	UDM_FIELD_DESC,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_TEXT",	UDM_FIELD_TEXT,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_SIZE",	UDM_FIELD_SIZE,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_RATING",	UDM_FIELD_RATING,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_SCORE",	UDM_FIELD_RATING,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_MODIFIED",	UDM_FIELD_MODIFIED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_ORDER",	UDM_FIELD_ORDER,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_CRC",		UDM_FIELD_CRC,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_CATEGORY",	UDM_FIELD_CATEGORY,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_LANG",	UDM_FIELD_LANG,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_CHARSET",	UDM_FIELD_CHARSET,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_SITEID",	UDM_FIELD_SITEID,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_POP_RANK",	UDM_FIELD_POP_RANK,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_FIELD_ORIGINID",	UDM_FIELD_ORIGINID,CONST_CS | CONST_PERSISTENT);	/* udm_set_agent_param constants */	REGISTER_LONG_CONSTANT("UDM_PARAM_PAGE_SIZE",	UDM_PARAM_PAGE_SIZE,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_PAGE_NUM",	UDM_PARAM_PAGE_NUM,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCH_MODE",	UDM_PARAM_SEARCH_MODE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_CACHE_MODE",	UDM_PARAM_CACHE_MODE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_TRACK_MODE",	UDM_PARAM_TRACK_MODE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_PHRASE_MODE",	UDM_PARAM_PHRASE_MODE,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_CHARSET",	UDM_PARAM_CHARSET,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_LOCAL_CHARSET",UDM_PARAM_LOCAL_CHARSET,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_BROWSER_CHARSET",UDM_PARAM_BROWSER_CHARSET,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_STOPTABLE",	UDM_PARAM_STOPTABLE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_STOP_TABLE",	UDM_PARAM_STOPTABLE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_STOPFILE",	UDM_PARAM_STOPFILE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_STOP_FILE",	UDM_PARAM_STOPFILE,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_WEIGHT_FACTOR",UDM_PARAM_WEIGHT_FACTOR,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_WORD_MATCH",  UDM_PARAM_WORD_MATCH,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_MAX_WORD_LEN",UDM_PARAM_MAX_WORD_LEN,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_MAX_WORDLEN", UDM_PARAM_MAX_WORD_LEN,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_MIN_WORD_LEN",UDM_PARAM_MIN_WORD_LEN,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_MIN_WORDLEN", UDM_PARAM_MIN_WORD_LEN,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_ISPELL_PREFIXES",UDM_PARAM_ISPELL_PREFIXES,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_ISPELL_PREFIX",UDM_PARAM_ISPELL_PREFIXES,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_PREFIXES",	UDM_PARAM_ISPELL_PREFIXES,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_PREFIX",	UDM_PARAM_ISPELL_PREFIXES,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_CROSS_WORDS",	UDM_PARAM_CROSS_WORDS,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_CROSSWORDS",	UDM_PARAM_CROSS_WORDS,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_VARDIR",	UDM_PARAM_VARDIR,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_DATADIR",	UDM_PARAM_VARDIR,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_HLBEG",	UDM_PARAM_HLBEG,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_HLEND",	UDM_PARAM_HLEND,CONST_CS | CONST_PERSISTENT);			REGISTER_LONG_CONSTANT("UDM_PARAM_SYNONYM",	UDM_PARAM_SYNONYM,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCHD",	UDM_PARAM_SEARCHD,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_STORED",	UDM_PARAM_STORED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_GROUPBYSITE",	UDM_PARAM_GROUPBYSITE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_QSTRING",	UDM_PARAM_QSTRING,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_REMOTE_ADDR",	UDM_PARAM_REMOTE_ADDR,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_QUERY",	UDM_PARAM_QUERY,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_SITEID",	UDM_PARAM_SITEID,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_DETECT_CLONES",UDM_PARAM_DETECT_CLONES,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_SORT_ORDER",UDM_PARAM_SORT_ORDER,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_RESULTS_LIMIT",UDM_PARAM_RESULTS_LIMIT,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PARAM_EXCERPT_SIZE",UDM_PARAM_EXCERPT_SIZE,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_EXCERPT_PADDING",UDM_PARAM_EXCERPT_PADDING,CONST_CS | CONST_PERSISTENT);		/* udm_add_search_limit constants */	REGISTER_LONG_CONSTANT("UDM_LIMIT_CAT",		UDM_LIMIT_CAT,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_LIMIT_URL",		UDM_LIMIT_URL,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_LIMIT_TAG",		UDM_LIMIT_TAG,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_LIMIT_LANG",	UDM_LIMIT_LANG,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_LIMIT_DATE",	UDM_LIMIT_DATE,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_LIMIT_TYPE",	UDM_LIMIT_TYPE,CONST_CS | CONST_PERSISTENT);			/* udm_get_res_param constants */	REGISTER_LONG_CONSTANT("UDM_PARAM_FOUND",	UDM_PARAM_FOUND,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_NUM_ROWS",	UDM_PARAM_NUM_ROWS,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_WORDINFO",	UDM_PARAM_WORDINFO,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_WORDINFO_ALL",UDM_PARAM_WORDINFO_ALL,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_WORD_INFO",	UDM_PARAM_WORDINFO,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCHTIME",	UDM_PARAM_SEARCHTIME,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCH_TIME",	UDM_PARAM_SEARCHTIME,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_FIRST_DOC",	UDM_PARAM_FIRST_DOC,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PARAM_LAST_DOC",	UDM_PARAM_LAST_DOC,CONST_CS | CONST_PERSISTENT);	/* search modes */	REGISTER_LONG_CONSTANT("UDM_MODE_ALL",		UDM_MODE_ALL,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_MODE_ANY",		UDM_MODE_ANY,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_MODE_BOOL",		UDM_MODE_BOOL,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_MODE_PHRASE",	UDM_MODE_PHRASE,CONST_CS | CONST_PERSISTENT);	/* search cache params */	REGISTER_LONG_CONSTANT("UDM_CACHE_ENABLED",	UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_CACHE_DISABLED",	UDM_DISABLED,CONST_CS | CONST_PERSISTENT);		/* track mode params */	REGISTER_LONG_CONSTANT("UDM_TRACK_ENABLED",	UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_TRACK_DISABLED",	UDM_DISABLED,CONST_CS | CONST_PERSISTENT);		/* phrase mode params */	REGISTER_LONG_CONSTANT("UDM_PHRASE_ENABLED",	UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PHRASE_DISABLED",	UDM_DISABLED,CONST_CS | CONST_PERSISTENT);	/* general params */	REGISTER_LONG_CONSTANT("UDM_ENABLED",		UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_DISABLED",		UDM_DISABLED,CONST_CS | CONST_PERSISTENT);		/* crosswords mode params */	REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);		/* prefixes mode params */	REGISTER_LONG_CONSTANT("UDM_PREFIXES_ENABLED",	UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PREFIX_ENABLED",	UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIXES_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIX_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);		REGISTER_LONG_CONSTANT("UDM_PREFIXES_DISABLED",	UDM_DISABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_PREFIX_DISABLED",	UDM_DISABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIXES_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIX_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);		/* ispell type params */	REGISTER_LONG_CONSTANT("UDM_ISPELL_TYPE_AFFIX",	UDM_ISPELL_TYPE_AFFIX,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_ISPELL_TYPE_SPELL",	UDM_ISPELL_TYPE_SPELL,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_ISPELL_TYPE_DB",	UDM_ISPELL_TYPE_DB,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_ISPELL_TYPE_SERVER",UDM_ISPELL_TYPE_SERVER,CONST_CS | CONST_PERSISTENT);	/* word match mode params */	REGISTER_LONG_CONSTANT("UDM_MATCH_WORD",	UDM_MATCH_WORD,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_MATCH_BEGIN",	UDM_MATCH_BEGIN,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_MATCH_SUBSTR",	UDM_MATCH_SUBSTR,CONST_CS | CONST_PERSISTENT);	REGISTER_LONG_CONSTANT("UDM_MATCH_END",		UDM_MATCH_END,CONST_CS | CONST_PERSISTENT);		return SUCCESS;}/* }}} */DLEXPORT PHP_MSHUTDOWN_FUNCTION(mnogosearch){	return SUCCESS;}DLEXPORT PHP_RINIT_FUNCTION(mnogosearch){	return SUCCESS;}DLEXPORT PHP_MINFO_FUNCTION(mnogosearch){	char buf[32];		php_info_print_table_start();	php_info_print_table_row(2, "mnoGoSearch Support", "enabled" );		sprintf(buf,"%d", UDM_VERSION_ID);	php_info_print_table_row(2, "mnoGoSearch library version", buf );	php_info_print_table_end();}static char* MyRemoveHiLightDup(const char *s){	size_t	len=strlen(s)+1;	char	*res=malloc(len);	char	*d;		for(d=res;s[0];s++){		switch(s[0]){			case '\2':			case '\3':				break;			default:				*d++=*s;		}	}	*d='\0';	return res;}/* {{{ proto int udm_alloc_agent(string dbaddr [, string dbmode])   Allocate mnoGoSearch session */

⌨️ 快捷键说明

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