summaryrefslogtreecommitdiff
path: root/ext/mnogosearch/php_mnogo.c
diff options
context:
space:
mode:
authorSergey Kartashoff <gluke@php.net>2002-06-05 13:06:56 +0000
committerSergey Kartashoff <gluke@php.net>2002-06-05 13:06:56 +0000
commit30afc3585cfc2ffa2448f2021c18abd98f020622 (patch)
tree002c29a5f4a8e537812bcf1cb111aec36e1e8376 /ext/mnogosearch/php_mnogo.c
parenta06a3e1f7f83945c5a189bf3d8037320daf66629 (diff)
downloadphp-git-30afc3585cfc2ffa2448f2021c18abd98f020622.tar.gz
more mnogosearch compilation fixes
Diffstat (limited to 'ext/mnogosearch/php_mnogo.c')
-rw-r--r--ext/mnogosearch/php_mnogo.c80
1 files changed, 66 insertions, 14 deletions
diff --git a/ext/mnogosearch/php_mnogo.c b/ext/mnogosearch/php_mnogo.c
index 9999a2597c..6833fa941b 100644
--- a/ext/mnogosearch/php_mnogo.c
+++ b/ext/mnogosearch/php_mnogo.c
@@ -519,7 +519,7 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
switch(var){
case UDM_PARAM_PAGE_SIZE:
#if UDM_VERSION_ID >= 30204
- UdmVarListAddInt(&Agent->Conf->Vars,"ps",atoi(val));
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"ps",val);
#else
Agent->page_size=atoi(val);
if(Agent->page_size<1)Agent->page_size=20;
@@ -528,7 +528,7 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PARAM_PAGE_NUM:
#if UDM_VERSION_ID >= 30204
- UdmVarListAddInt(&Agent->Conf->Vars,"np",atoi(val));
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"np",val);
#else
Agent->page_number=atoi(val);
if(Agent->page_number<0)Agent->page_number=0;
@@ -726,6 +726,8 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PREFIXES_ENABLED:
#if UDM_VERSION_ID < 30200
Agent->Conf->ispell_mode |= UDM_ISPELL_USE_PREFIXES;
+#elif UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"IspellUsePrefixes","1");
#else
UdmAddIntVar(Agent->Conf->vars, "IspellUsePrefixes", 1, UDM_VARSRC_GLOBAL);
#endif
@@ -734,6 +736,8 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PREFIXES_DISABLED:
#if UDM_VERSION_ID < 30200
Agent->Conf->ispell_mode &= ~UDM_ISPELL_USE_PREFIXES;
+#elif UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"IspellUsePrefixes","0");
#else
UdmAddIntVar(Agent->Conf->vars, "IspellUsePrefixes", 0, UDM_VARSRC_GLOBAL);
#endif
@@ -743,6 +747,8 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
default:
#if UDM_VERSION_ID < 30200
Agent->Conf->ispell_mode |= UDM_ISPELL_USE_PREFIXES;
+#elif UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"IspellUsePrefixes","0");
#else
UdmAddIntVar(Agent->Conf->vars, "IspellUsePrefixes", 1, UDM_VARSRC_GLOBAL);
#endif
@@ -758,6 +764,12 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
#if UDM_VERSION_ID < 30200
Agent->Conf->local_charset=UdmGetCharset(val);
Agent->charset=Agent->Conf->local_charset;
+#elif UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"LocalCharset",val);
+ {
+ const char * charset=UdmVarListFindStr(&Agent->Conf->Vars,"LocalCharset","iso-8859-1");
+ Agent->Conf->lcs=UdmGetCharSet(charset);
+ }
#else
Agent->Conf->local_charset=strdup(val);
UdmReplaceStrVar(Agent->Conf->vars,"LocalCharset",val,UDM_VARSRC_GLOBAL);
@@ -767,29 +779,47 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
#if UDM_VERSION_ID >= 30200
case UDM_PARAM_BROWSER_CHARSET:
+#if UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"BrowserCharset",val);
+ {
+ const char * charset=UdmVarListFindStr(&Agent->Conf->Vars,"BrowserCharset","iso-8859-1");
+ Agent->Conf->lcs=UdmGetCharSet(charset);
+ }
+#else
Agent->Conf->browser_charset=strdup(val);
UdmReplaceStrVar(Agent->Conf->vars,"BrowserCharset",val,UDM_VARSRC_GLOBAL);
-
+#endif
break;
case UDM_PARAM_HLBEG:
+#if UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"HlBeg",val);
+#else
UdmReplaceStrVar(Agent->Conf->vars,"HlBeg",val,UDM_VARSRC_GLOBAL);
-
+#endif
break;
case UDM_PARAM_HLEND:
- UdmReplaceStrVar(Agent->Conf->vars,"HlBeg",val,UDM_VARSRC_GLOBAL);
-
+#if UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"HlEnd",val);
+#else
+ UdmReplaceStrVar(Agent->Conf->vars,"HlEnd",val,UDM_VARSRC_GLOBAL);
+#endif
break;
case UDM_PARAM_SYNONYM:
if (UdmSynonymListLoad(Agent->Conf,val)) {
php_error(E_WARNING,Agent->Conf->errstr);
RETURN_FALSE;
+#if UDM_VERSION_ID >= 30204
+ } else UdmSynonymListSort(&(Agent->Conf->Synonyms));
+#else
} else UdmSynonymListSort(&(Agent->Conf->SynList));
+#endif
break;
case UDM_PARAM_SEARCHD:
+#if UDM_VERSION_ID <= 30203
UdmSDCLientListAdd(&(Agent->Conf->sdcl),val);
{
size_t i;
@@ -797,17 +827,23 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
UdmSDCLientListAdd(&Agent->sdcl,Agent->Conf->sdcl.Clients[i].addr);
}
}
-
+#endif
break;
case UDM_PARAM_QSTRING:
+#if UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"QUERY_STRING",val);
+#else
UdmReplaceStrVar(Agent->Conf->vars,"QUERY_STRING",val,UDM_VARSRC_GLOBAL);
-
+#endif
break;
case UDM_PARAM_REMOTE_ADDR:
+#if UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"IP",val);
+#else
UdmReplaceStrVar(Agent->Conf->vars,"IP",val,UDM_VARSRC_GLOBAL);
-
+#endif
break;
#endif
@@ -828,6 +864,8 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PARAM_WEIGHT_FACTOR:
#if UDM_VERSION_ID < 30200
Agent->weight_factor=strdup(val);
+#elif UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"wf",val);
#else
UdmReplaceStrVar(Agent->Conf->vars,"wf",val,UDM_VARSRC_GLOBAL);
{
@@ -851,23 +889,37 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
break;
case UDM_PARAM_MIN_WORD_LEN:
+#if UDM_VERSION_ID >= 30204
+ Agent->Conf->WordParam.min_word_len=atoi(val);
+#else
Agent->Conf->min_word_len=atoi(val);
-
+#endif
break;
case UDM_PARAM_MAX_WORD_LEN:
+#if UDM_VERSION_ID >= 30204
+ Agent->Conf->WordParam.max_word_len=atoi(val);
+#else
Agent->Conf->max_word_len=atoi(val);
-
+#endif
break;
case UDM_PARAM_CROSS_WORDS:
switch (atoi(val)){
case UDM_CROSS_WORDS_ENABLED:
+#if UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"CrossWords","yes");
+#else
Agent->Conf->use_crossword=UDM_CROSS_WORDS_ENABLED;
+#endif
break;
case UDM_CROSS_WORDS_DISABLED:
+#if UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"CrossWords","no");
+#else
Agent->Conf->use_crossword=UDM_CROSS_WORDS_DISABLED;
+#endif
break;
default:
@@ -883,14 +935,14 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PARAM_VARDIR:
#if UDM_VERSION_ID < 30200
udm_snprintf(Agent->Conf->vardir,sizeof(Agent->Conf->vardir)-1,"%s%s",val,UDMSLASHSTR);
+#elif UDM_VERSION_ID >= 30204
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"Vardir",val);
+ snprintf(Agent->Conf->vardir,sizeof(Agent->Conf->vardir)-1,"%s%s",val,UDMSLASHSTR);
#else
snprintf(Agent->Conf->vardir,sizeof(Agent->Conf->vardir)-1,"%s%s",val,UDMSLASHSTR);
#endif
-
break;
-
#endif
-
default:
php_error(E_WARNING,"Udm_Set_Agent_Param: Unknown agent session parameter");
RETURN_FALSE;