cvs: php4 /ext/mnogosearch php_mnogo.c test.php

From: Date: Thu, 22 Feb 2001 10:40:44 +0000
Subject: cvs: php4 /ext/mnogosearch php_mnogo.c test.php
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-4202@lists.php.net to get a copy of this message
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/%");

« previous php.cvs (#4202) next »