From d7b7c7283fd491b2104d81dea5ab97b11d451e22 Mon Sep 17 00:00:00 2001 From: Sergey Kartashoff Date: Thu, 1 Feb 2001 13:06:26 +0000 Subject: [PATCH] UDM_PARAM_CHARSET parameter in Udm_Set_Agent_Param() has been added to set local charset you are using. Example updated also. @- UDM_PARAM_CHARSET parameter in Udm_Set_Agent_Param() has been added to @ set local charset you are using. Example updated also. (gluke) --- ext/mnogosearch/Makefile.in | 2 ++ ext/mnogosearch/php_mnogo.c | 57 ++++++++++++++++++++++++++----------- ext/mnogosearch/test.php | 3 +- 3 files changed, 44 insertions(+), 18 deletions(-) diff --git a/ext/mnogosearch/Makefile.in b/ext/mnogosearch/Makefile.in index 52c226a869..bccc75f79a 100644 --- a/ext/mnogosearch/Makefile.in +++ b/ext/mnogosearch/Makefile.in @@ -1,3 +1,5 @@ +# $Source$ +# $Id$ LTLIBRARY_NAME = libmnogosearch.la LTLIBRARY_SOURCES = php_mnogo.c diff --git a/ext/mnogosearch/php_mnogo.c b/ext/mnogosearch/php_mnogo.c index 8a413ff9e5..5cde4fa17b 100644 --- a/ext/mnogosearch/php_mnogo.c +++ b/ext/mnogosearch/php_mnogo.c @@ -47,6 +47,7 @@ #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_TRACK_ENABLED 1 #define UDM_TRACK_DISABLED 0 @@ -126,6 +127,7 @@ DLEXPORT PHP_MINIT_FUNCTION(mnogosearch) 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_CHARSET",UDM_PARAM_CHARSET,CONST_CS | CONST_PERSISTENT); /* udm_get_res_param constants */ REGISTER_LONG_CONSTANT("UDM_PARAM_FOUND",UDM_PARAM_FOUND,CONST_CS | CONST_PERSISTENT); @@ -238,16 +240,16 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param) switch(ZEND_NUM_ARGS()){ - case 3: { - if(zend_get_parameters_ex(3,&yyagent,&yyvar,&yyval)==FAILURE){ - RETURN_FALSE; - } - convert_to_long_ex(yyvar); - convert_to_string_ex(yyval); - ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, -1, "mnoGoSearch-agent", le_link); - var = (*yyvar)->value.lval; - val = (*yyval)->value.str.val; + case 3: + if(zend_get_parameters_ex(3,&yyagent,&yyvar,&yyval)==FAILURE){ + RETURN_FALSE; } + convert_to_long_ex(yyvar); + convert_to_string_ex(yyval); + ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, -1, "mnoGoSearch-agent", le_link); + var = (*yyvar)->value.lval; + val = (*yyval)->value.str.val; + break; default: @@ -256,59 +258,80 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param) } switch(var){ - case UDM_PARAM_PAGE_SIZE: { - Agent->page_size=atoi(val); - if(Agent->page_size<1)Agent->page_size=20; - } + case UDM_PARAM_PAGE_SIZE: + Agent->page_size=atoi(val); + if(Agent->page_size<1)Agent->page_size=20; + break; - case UDM_PARAM_PAGE_NUM: { - Agent->page_number=atoi(val); - if(Agent->page_number<0)Agent->page_number=0; - } + + case UDM_PARAM_PAGE_NUM: + Agent->page_number=atoi(val); + if(Agent->page_number<0)Agent->page_number=0; + break; + case UDM_PARAM_SEARCH_MODE: switch (atoi(val)){ case UDM_MODE_ALL: Agent->search_mode=UDM_MODE_ALL; break; + case UDM_MODE_ANY: Agent->search_mode=UDM_MODE_ANY; break; + case UDM_MODE_BOOL: Agent->search_mode=UDM_MODE_BOOL; break; + default: RETURN_STRING("",1); break; } + break; + case UDM_PARAM_CACHE_MODE: switch (atoi(val)){ case UDM_CACHE_ENABLED: Agent->cache_mode=UDM_CACHE_ENABLED; break; + case UDM_CACHE_DISABLED: Agent->cache_mode=UDM_CACHE_DISABLED; break; + default: Agent->cache_mode=UDM_CACHE_DISABLED; RETURN_STRING("",1); break; } + break; + case UDM_PARAM_TRACK_MODE: switch (atoi(val)){ case UDM_TRACK_ENABLED: Agent->track_mode|=UDM_TRACK_QUERIES; break; + case UDM_TRACK_DISABLED: Agent->track_mode &= ~(UDM_TRACK_QUERIES); break; + default: RETURN_STRING("",1); break; } + break; + + case UDM_PARAM_CHARSET: + Agent->Conf->local_charset=UdmGetCharset(val); + Agent->charset=Agent->Conf->local_charset; + + break; + default: RETURN_STRING("",1); break; diff --git a/ext/mnogosearch/test.php b/ext/mnogosearch/test.php index 7dc0b0e365..a97ffd1da1 100644 --- a/ext/mnogosearch/test.php +++ b/ext/mnogosearch/test.php @@ -32,8 +32,9 @@ Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_SIZE,$page_size); Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_NUM,$page_number); Udm_Set_Agent_Param($udm,UDM_PARAM_SEARCH_MODE,UDM_MODE_BOOL); - Udm_Set_Agent_Param($udm,UDM_PARAM_CACHE_MODE,UDM_PARAM_CACHE_DISABLED); + Udm_Set_Agent_Param($udm,UDM_PARAM_CACHE_MODE,UDM_CACHE_DISABLED); Udm_Set_Agent_Param($udm,UDM_PARAM_TRACK_MODE,UDM_TRACK_DISABLED); + Udm_Set_Agent_Param($udm,UDM_PARAM_CHARSET,"koi8-r"); // Stage 3: perform search -- 2.40.0