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]