]> granicus.if.org Git - php/commitdiff
UDM_PARAM_CROSS_WORDS mnoGoSearch extension session parameter has been
authorSergey Kartashoff <gluke@php.net>
Thu, 1 Mar 2001 14:51:12 +0000 (14:51 +0000)
committerSergey Kartashoff <gluke@php.net>
Thu, 1 Mar 2001 14:51:12 +0000 (14:51 +0000)
added to use crosswords available since version 3.1.11 of mnogosearch.
Example updated.

ext/mnogosearch/php_mnogo.c
ext/mnogosearch/test.php

index f609ccac06fffb9147a581f59334835941ac7920..cdc4c72d8f1fa142af54da9ed619cf8c8e6c2854 100644 (file)
@@ -58,6 +58,7 @@
 #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
 
 /* udm_add_search_limit constants */
 #define UDM_LIMIT_URL          1
 #define UDM_PREFIXES_ENABLED   1
 #define UDM_PREFIXES_DISABLED  0
 
+/* crosswords modes */
+#define UDM_CROSS_WORDS_ENABLED         1
+#define UDM_CROSS_WORDS_DISABLED 0
+
 /* udm_get_res_param constants */
 #define UDM_PARAM_NUM_ROWS     256
 #define UDM_PARAM_FOUND                257
@@ -205,6 +210,9 @@ DLEXPORT PHP_MINIT_FUNCTION(mnogosearch)
        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);     
+       
        /* 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);
@@ -240,6 +248,12 @@ DLEXPORT PHP_MINIT_FUNCTION(mnogosearch)
        REGISTER_LONG_CONSTANT("UDM_PHRASE_ENABLED",    UDM_PHRASE_ENABLED,CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("UDM_PHRASE_DISABLED",   UDM_PHRASE_DISABLED,CONST_CS | CONST_PERSISTENT);
        
+       /* crosswords mode params */
+       REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_ENABLED",UDM_CROSS_WORDS_ENABLED,CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_ENABLED",UDM_CROSS_WORDS_ENABLED,CONST_CS | CONST_PERSISTENT);   
+       REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_DISABLED",UDM_CROSS_WORDS_DISABLED,CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_DISABLED",UDM_CROSS_WORDS_DISABLED,CONST_CS | CONST_PERSISTENT);
+       
        /* prefixes mode params */
        REGISTER_LONG_CONSTANT("UDM_PREFIXES_ENABLED",  UDM_PREFIXES_ENABLED,CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("UDM_PREFIX_ENABLED",    UDM_PREFIXES_ENABLED,CONST_CS | CONST_PERSISTENT);
@@ -552,6 +566,28 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
                            
                        break;
                        
+#if UDM_VERSION_ID > 30110
+
+               case UDM_PARAM_CROSS_WORDS: 
+                       switch (atoi(val)){
+                               case UDM_CROSS_WORDS_ENABLED:
+                                       Agent->Conf->use_crossword=UDM_CROSS_WORDS_ENABLED;
+                                       break;
+                                       
+                               case UDM_CROSS_WORDS_DISABLED:
+                                       Agent->Conf->use_crossword=UDM_CROSS_WORDS_DISABLED;
+                                       break;
+                                       
+                               default:
+                                       php_error(E_WARNING,"Udm_Set_Agent_Param: Unknown crosswords mode");
+                                       RETURN_FALSE;
+                                       break;
+                       }
+                       
+                       break;
+                       
+#endif
+                       
                default:
                        php_error(E_WARNING,"Udm_Set_Agent_Param: Unknown agent session parameter");
                        RETURN_FALSE;
index 94ff006c1ab9f3fc0052424c64a8144a9c0daf59..57e01be95c662b58a876052ed4dc6e6846d4a9bb 100644 (file)
        Udm_Set_Agent_Param($udm,UDM_PARAM_MIN_WORD_LEN,2);
        Udm_Set_Agent_Param($udm,UDM_PARAM_MAX_WORD_LEN,16);
        Udm_Set_Agent_Param($udm,UDM_PARAM_PREFIX,UDM_PREFIX_DISABLED);
+       
+       if (Udm_Api_Version() >= 30111) {
+               Udm_Set_Agent_Param($udm,UDM_PARAM_CROSS_WORDS,UDM_CROSS_WORDS_DISABLED);
+       }
 
 //     if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_DB,'','',1)) {
 //             printf("Error #%d: '%s'\n",Udm_Errno($udm),Udm_Error($udm));