]> granicus.if.org Git - php/commitdiff
UDM_ISPELL_TYPE_SERVER parameter in udm_load_ispell_data has been added
authorSergey Kartashoff <gluke@php.net>
Fri, 2 Mar 2001 11:41:35 +0000 (11:41 +0000)
committerSergey Kartashoff <gluke@php.net>
Fri, 2 Mar 2001 11:41:35 +0000 (11:41 +0000)
to work with ispell server. This feature is available starting from
mnoGoSearch 3.1.12 or later. Fixed Udm_Free_Ispell_Data(). Example updated.

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

index cdc4c72d8f1fa142af54da9ed619cf8c8e6c2854..3032b00239a945a38163e3110c6a581159fd95c1 100644 (file)
@@ -643,6 +643,10 @@ DLEXPORT PHP_FUNCTION(udm_load_ispell_data)
                        
                case UDM_ISPELL_TYPE_AFFIX: 
                        Agent->Conf->ispell_mode &= ~UDM_ISPELL_MODE_DB;
+
+#if UDM_VERSION_ID > 30111
+                       Agent->Conf->ispell_mode &= ~UDM_ISPELL_MODE_SERVER;
+#endif
                        
                        if (UdmImportAffixes(Agent->Conf,val1,val2,NULL,0)) {
                                php_error(E_WARNING,"Udm_Load_Ispell_Data: Cannot load affix file %s",val2);
@@ -654,16 +658,28 @@ DLEXPORT PHP_FUNCTION(udm_load_ispell_data)
                case UDM_ISPELL_TYPE_SPELL: 
                        Agent->Conf->ispell_mode &= ~UDM_ISPELL_MODE_DB;
                        
+#if UDM_VERSION_ID > 30111
+                       Agent->Conf->ispell_mode &= ~UDM_ISPELL_MODE_SERVER;
+#endif
+                       
                        if (UdmImportDictionary(Agent->Conf,val1,val2,1,"")) {
                                php_error(E_WARNING,"Udm_Load_Ispell_Data: Cannot load spell file %s",val2);
                                RETURN_FALSE;
                        }
                        
                        break;
-                       
+
+#if UDM_VERSION_ID > 30111
+
                case UDM_ISPELL_TYPE_SERVER:
+                       Agent->Conf->ispell_mode &= ~UDM_ISPELL_MODE_DB;
+                       Agent->Conf->ispell_mode |=  UDM_ISPELL_MODE_SERVER;
+                       
+                       Agent->Conf->spellhost = strdup(val1);
                
                        break;
+                       
+#endif
 
                default:
                        php_error(E_WARNING,"Udm_Load_Ispell_Data: Unknown ispell type parameter");
@@ -702,7 +718,9 @@ DLEXPORT PHP_FUNCTION(udm_free_ispell_data)
        }
        ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, -1, "mnoGoSearch-Agent", le_link);
        
-       /* UdmClearIspellData(Agent->Conf); */
+#if UDM_VERSION_ID > 30111
+       UdmFreeIspell(Agent->Conf);
+#endif
        
        RETURN_TRUE;
 }
index 57e01be95c662b58a876052ed4dc6e6846d4a9bb..d57e7e6707532ef2b24fe80c3e171eacd56cbf86 100644 (file)
 
 //     if ((! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_AFFIX,'en','/opt/udm/ispell/en.aff',0)) ||
 //         (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SPELL,'en','/opt/udm/ispell/en.dict',1))) {
-//             printf("Error #%d: '%s'\n",Udm_Errno($udm),Udm_Error($udm));
+//             printf("Error loading ispell data from files<br>\n");
 //             exit;
 //     }
 
+       if (! Udm_Load_Ispell_Data($udm,UDM_ISPELL_TYPE_SERVER,'','',1)) {
+               printf("Error loading ispell data from server<br>\n");
+               exit;
+       }
 
 // Stage 3: add search limits
 //     Udm_Add_Search_Limit($udm,UDM_LIMIT_URL,"http://www.mydomain.com/%");