gluke           Tue Feb 20 03:29:15 2001 EDT

  Modified files:              
    /php4/ext/mnogosearch       php_mnogo.c test.php 
  Log:
  Phrase search support has been added to mnogosearch extenstion. 
  Min_word_len and Max_word_len support has been added to mnogosearch
  extension. Example updated.
  
  
Index: php4/ext/mnogosearch/php_mnogo.c
diff -u php4/ext/mnogosearch/php_mnogo.c:1.15 php4/ext/mnogosearch/php_mnogo.c:1.16
--- php4/ext/mnogosearch/php_mnogo.c:1.15       Thu Feb 15 03:50:48 2001
+++ php4/ext/mnogosearch/php_mnogo.c    Tue Feb 20 03:29:15 2001
@@ -1,5 +1,5 @@
 /* $Source: /local/repository/php4/ext/mnogosearch/php_mnogo.c,v $ */
-/* $Id: php_mnogo.c,v 1.15 2001/02/15 11:50:48 gluke Exp $ */
+/* $Id: php_mnogo.c,v 1.16 2001/02/20 11:29:15 gluke Exp $ */
 
 /*
    +----------------------------------------------------------------------+
@@ -54,6 +54,9 @@
 #define UDM_PARAM_STOPFILE     8
 #define UDM_PARAM_WEIGHT_FACTOR        9
 #define UDM_PARAM_WORD_MATCH   10
+#define UDM_PARAM_PHRASE_MODE  11
+#define UDM_PARAM_MIN_WORD_LEN 12
+#define UDM_PARAM_MAX_WORD_LEN 13
 
 /* udm_add_search_limit constants */
 #define UDM_LIMIT_URL          1
@@ -65,6 +68,10 @@
 #define UDM_TRACK_ENABLED      1
 #define UDM_TRACK_DISABLED     0
 
+/* phrase modes */
+#define UDM_PHRASE_ENABLED     1
+#define UDM_PHRASE_DISABLED    0
+
 /* udm_get_res_param constants */
 #define UDM_PARAM_NUM_ROWS     256
 #define UDM_PARAM_FOUND                257
@@ -160,6 +167,11 @@
        REGISTER_LONG_CONSTANT("UDM_PARAM_STOP_FILE",   UDM_PARAM_STOPFILE,CONST_CS | 
CONST_PERSISTENT);        
        
REGISTER_LONG_CONSTANT("UDM_PARAM_WEIGHT_FACTOR",UDM_PARAM_WEIGHT_FACTOR,CONST_CS | 
CONST_PERSISTENT);
        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_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);     
        
        /* udm_add_search_limit constants */
        REGISTER_LONG_CONSTANT("UDM_LIMIT_CAT",         UDM_LIMIT_CAT,CONST_CS | 
CONST_PERSISTENT);
@@ -181,6 +193,7 @@
        REGISTER_LONG_CONSTANT("UDM_MODE_ALL",          UDM_MODE_ALL,CONST_CS | 
CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("UDM_MODE_ANY",          UDM_MODE_ANY,CONST_CS | 
CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("UDM_MODE_BOOL",         UDM_MODE_BOOL,CONST_CS | 
CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("UDM_MODE_PHRASE",       UDM_MODE_PHRASE,CONST_CS | 
+CONST_PERSISTENT);
 
        /* search cache params */
        REGISTER_LONG_CONSTANT("UDM_CACHE_ENABLED",     UDM_CACHE_ENABLED,CONST_CS | 
CONST_PERSISTENT);
@@ -190,6 +203,10 @@
        REGISTER_LONG_CONSTANT("UDM_TRACK_ENABLED",     UDM_TRACK_ENABLED,CONST_CS | 
CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("UDM_TRACK_DISABLED",    UDM_TRACK_DISABLED,CONST_CS | 
CONST_PERSISTENT);
        
+       /* phrase mode params */
+       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);
+       
        /* 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);
@@ -333,6 +350,10 @@
                                        case UDM_MODE_BOOL: 
                                                Agent->search_mode=UDM_MODE_BOOL;
                                                break;
+
+                                       case UDM_MODE_PHRASE: 
+                                               Agent->search_mode=UDM_MODE_PHRASE;
+                                               break;
                                                
                                        default:
                                                
php_error(E_WARNING,"Udm_Set_Agent_Param: Unknown search mode");
@@ -404,7 +425,25 @@
                        }
                        
                        break;
+               
+               case UDM_PARAM_PHRASE_MODE: 
+                       switch (atoi(val)){
+                               case UDM_PHRASE_ENABLED:
+                                       Agent->Conf->use_phrases=UDM_PHRASE_ENABLED;
+                                       break;
+                                       
+                               case UDM_PHRASE_DISABLED:
+                                       Agent->Conf->use_phrases=UDM_PHRASE_DISABLED;
+                                       break;
+                                       
+                               default:
+                                       php_error(E_WARNING,"Udm_Set_Agent_Param: 
+Unknown phrase mode");
+                                       RETURN_FALSE;
+                                       break;
+                       }
                        
+                       break;
+
                case UDM_PARAM_CHARSET:
                        Agent->Conf->local_charset=UdmGetCharset(val);
                        Agent->charset=Agent->Conf->local_charset;
@@ -427,6 +466,16 @@
                        
                case UDM_PARAM_WEIGHT_FACTOR: 
                        Agent->weight_factor=strdup(val);
+                           
+                       break;
+                       
+               case UDM_PARAM_MIN_WORD_LEN: 
+                       Agent->Conf->min_word_len=atoi(val);
+                           
+                       break;
+                       
+               case UDM_PARAM_MAX_WORD_LEN: 
+                       Agent->Conf->max_word_len=atoi(val);
                            
                        break;
                        
Index: php4/ext/mnogosearch/test.php
diff -u php4/ext/mnogosearch/test.php:1.11 php4/ext/mnogosearch/test.php:1.12
--- php4/ext/mnogosearch/test.php:1.11  Thu Feb 15 03:50:48 2001
+++ php4/ext/mnogosearch/test.php       Tue Feb 20 03:29:15 2001
@@ -1,13 +1,13 @@
 <!-- 
     $Source: /local/repository/php4/ext/mnogosearch/test.php,v $
-    $Id: test.php,v 1.11 2001/02/15 11:50:48 gluke Exp $ 
+    $Id: test.php,v 1.12 2001/02/20 11:29:15 gluke Exp $ 
 -->
 
 <html>
 <body>
 
 <form method=post>
-<input type=text size=30 name=q value="<? echo $q; ?>">
+<input type=text size=30 name=q value="<? echo htmlspecialchars(stripslashes($q)); 
+?>">
 <input type=submit value=" Search ! ">
 </form>
 
@@ -39,6 +39,9 @@
 //     Udm_Set_Agent_Param($udm,UDM_PARAM_STOPFILE,"stop.txt");
        Udm_Set_Agent_Param($udm,UDM_PARAM_WEIGHT_FACTOR,"F9421");
        Udm_Set_Agent_Param($udm,UDM_PARAM_WORD_MATCH,UDM_MATCH_SUBSTR);
+       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);
 
 // 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