gluke           Thu Feb 22 02:40:44 2001 EDT

  Modified files:              
    /php4/ext/mnogosearch       php_mnogo.c test.php 
  Log:
  Added Ispell routines to work with Ispell data loaded into sql tables.
  Example updated.
  
  
Index: php4/ext/mnogosearch/php_mnogo.c
diff -u php4/ext/mnogosearch/php_mnogo.c:1.16 php4/ext/mnogosearch/php_mnogo.c:1.17
--- php4/ext/mnogosearch/php_mnogo.c:1.16       Tue Feb 20 03:29:15 2001
+++ php4/ext/mnogosearch/php_mnogo.c    Thu Feb 22 02:40:43 2001
@@ -1,5 +1,5 @@
 /* $Source: /local/repository/php4/ext/mnogosearch/php_mnogo.c,v $ */
-/* $Id: php_mnogo.c,v 1.16 2001/02/20 11:29:15 gluke Exp $ */
+/* $Id: php_mnogo.c,v 1.17 2001/02/22 10:40:43 gluke Exp $ */
 
 /*
    +----------------------------------------------------------------------+
@@ -57,6 +57,7 @@
 #define UDM_PARAM_PHRASE_MODE  11
 #define UDM_PARAM_MIN_WORD_LEN 12
 #define UDM_PARAM_MAX_WORD_LEN 13
+#define UDM_PARAM_ISPELL_MODE  14
 
 /* udm_add_search_limit constants */
 #define UDM_LIMIT_URL          1
@@ -169,9 +170,10 @@
        REGISTER_LONG_CONSTANT("UDM_PARAM_WORD_MATCH",  UDM_PARAM_WORD_MATCH,CONST_CS 
| CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("UDM_PARAM_PHRASE_MODE", UDM_PARAM_PHRASE_MODE,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_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_MIN_WORDLEN", 
+UDM_PARAM_MIN_WORD_LEN,CONST_CS | CONST_PERSISTENT);    
+       REGISTER_LONG_CONSTANT("UDM_PARAM_ISPELL_MODE", UDM_PARAM_ISPELL_MODE,CONST_CS 
+| CONST_PERSISTENT);     
        
        /* udm_add_search_limit constants */
        REGISTER_LONG_CONSTANT("UDM_LIMIT_CAT",         UDM_LIMIT_CAT,CONST_CS | 
CONST_PERSISTENT);
@@ -207,6 +209,10 @@
        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);
        
+       /* ispell mode params */
+       REGISTER_LONG_CONSTANT("UDM_ISPELL_MODE_DB",    UDM_ISPELL_MODE_DB,CONST_CS | 
+CONST_PERSISTENT);
+       
+REGISTER_LONG_CONSTANT("UDM_ISPELL_USE_PREFIXES",UDM_ISPELL_USE_PREFIXES,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);
@@ -440,6 +446,23 @@
                                        php_error(E_WARNING,"Udm_Set_Agent_Param: 
Unknown phrase mode");
                                        RETURN_FALSE;
                                        break;
+                       }
+                       
+                       break;
+                       
+               case UDM_PARAM_ISPELL_MODE: 
+                       Agent->Conf->ispell_mode = atoi(val) & (UDM_ISPELL_MODE_DB | 
+UDM_ISPELL_USE_PREFIXES);
+                       
+                       if (Agent->Conf->ispell_mode & UDM_ISPELL_MODE_DB) {
+                               if (UdmDBImportAffixes(Agent,Agent->charset) || 
+                                   UdmImportDictionaryFromDB(Agent)) {
+                                       RETURN_FALSE;
+                               } else {
+                                       if(Agent->Conf->nspell) {
+                                               UdmSortDictionary(Agent->Conf);
+                                               UdmSortAffixes(Agent->Conf);
+                                       }
+                               }
                        }
                        
                        break;
Index: php4/ext/mnogosearch/test.php
diff -u php4/ext/mnogosearch/test.php:1.12 php4/ext/mnogosearch/test.php:1.13
--- php4/ext/mnogosearch/test.php:1.12  Tue Feb 20 03:29:15 2001
+++ php4/ext/mnogosearch/test.php       Thu Feb 22 02:40:43 2001
@@ -1,6 +1,6 @@
 <!-- 
     $Source: /local/repository/php4/ext/mnogosearch/test.php,v $
-    $Id: test.php,v 1.12 2001/02/20 11:29:15 gluke Exp $ 
+    $Id: test.php,v 1.13 2001/02/22 10:40:43 gluke Exp $ 
 -->
 
 <html>
@@ -42,6 +42,11 @@
        Udm_Set_Agent_Param($udm,UDM_PARAM_PHRASE_MODE,UDM_PHRASE_DISABLED);
        Udm_Set_Agent_Param($udm,UDM_PARAM_MIN_WORD_LEN,2);
        Udm_Set_Agent_Param($udm,UDM_PARAM_MAX_WORD_LEN,5);
+       
+       if (!Udm_Set_Agent_Param($udm,UDM_PARAM_ISPELL_MODE,UDM_ISPELL_MODE_DB)) {
+               printf("Error #%d: '%s'\n",$errno,Udm_Error($udm));
+               exit;
+       }
 
 // Stage 3: add search limits
 //     Udm_Add_Search_Limit($udm,UDM_LIMIT_URL,"http://www.mydomain.com/%");



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to