gluke Wed Jan 31 06:04:30 2001 EDT Modified files: /php4/ext/mnogosearch README config.m4 php_mnogo.c php_mnogo.h setup.stub test.php Log: Added search cache and track query features. @-Added search cache and track query features. # For example please refer at ext/mnogosearch/test.php
Index: php4/ext/mnogosearch/README diff -u php4/ext/mnogosearch/README:1.1 php4/ext/mnogosearch/README:1.2 --- php4/ext/mnogosearch/README:1.1 Tue Jan 30 04:53:49 2001 +++ php4/ext/mnogosearch/README Wed Jan 31 06:04:29 2001 @@ -1,3 +1,6 @@ +$Source: /local/repository/php4/ext/mnogosearch/README,v $ +$Id: README,v 1.2 2001/01/31 14:04:29 gluke Exp $ + mnoGoSearch extension module version 0.3 for PHP4. Basic mnoGoSearch function implementation. Index: php4/ext/mnogosearch/config.m4 diff -u php4/ext/mnogosearch/config.m4:1.1 php4/ext/mnogosearch/config.m4:1.2 --- php4/ext/mnogosearch/config.m4:1.1 Tue Jan 30 04:53:50 2001 +++ php4/ext/mnogosearch/config.m4 Wed Jan 31 06:04:29 2001 @@ -1,5 +1,5 @@ -dnl $Id: config.m4,v 1.1 2001/01/30 12:53:50 gluke Exp $ - +dnl $Source: /local/repository/php4/ext/mnogosearch/config.m4,v $ +dnl $Id: config.m4,v 1.2 2001/01/31 14:04:29 gluke Exp $ PHP_ARG_WITH(mnogosearch,for mnoGoSearch support, [ --with-mnogosearch[=DIR] Include mnoGoSearch support. DIR is the mnoGoSearch base Index: php4/ext/mnogosearch/php_mnogo.c diff -u php4/ext/mnogosearch/php_mnogo.c:1.1 php4/ext/mnogosearch/php_mnogo.c:1.2 --- php4/ext/mnogosearch/php_mnogo.c:1.1 Tue Jan 30 04:53:50 2001 +++ php4/ext/mnogosearch/php_mnogo.c Wed Jan 31 06:04:29 2001 @@ -1,3 +1,6 @@ +/* $Source: /local/repository/php4/ext/mnogosearch/php_mnogo.c,v $ */ +/* $Id: php_mnogo.c,v 1.2 2001/01/31 14:04:29 gluke Exp $ */ + /* +----------------------------------------------------------------------+ | PHP version 4.0 | @@ -18,8 +21,6 @@ | Further development by Sergey Kartashoff <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ - -/* $Id: php_mnogo.c,v 0.3 2001/01/27 15:30:00 */ #include "php.h" #include "php_mnogo.h" @@ -40,12 +41,19 @@ #define UDM_FIELD_SCORE 256 #define UDM_FIELD_MODIFIED 512 +/* udm_set_agent_param constants */ #define UDM_PARAM_PAGE_SIZE 1 #define UDM_PARAM_PAGE_NUM 2 -#define UDM_PARAM_SEARCH_MODE 4 -#define UDM_PARAM_CHARSET 8 -#define UDM_PARAM_NUM_ROWS 16 -#define UDM_PARAM_FOUND 32 +#define UDM_PARAM_SEARCH_MODE 3 +#define UDM_PARAM_CACHE_MODE 4 +#define UDM_PARAM_TRACK_MODE 5 + +#define UDM_TRACK_ENABLED 1 +#define UDM_TRACK_DISABLED 0 + +/* udm_get_res_param constants */ +#define UDM_PARAM_NUM_ROWS 256 +#define UDM_PARAM_FOUND 257 /* True globals, no need for thread safety */ static int le_link,le_res; @@ -112,18 +120,30 @@ REGISTER_LONG_CONSTANT("UDM_FIELD_SCORE", UDM_FIELD_SCORE,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_FIELD_MODIFIED",UDM_FIELD_MODIFIED,CONST_CS | CONST_PERSISTENT); + /* udm_set_agent_param constants */ REGISTER_LONG_CONSTANT("UDM_PARAM_PAGE_SIZE",UDM_PARAM_PAGE_SIZE,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_PARAM_PAGE_NUM",UDM_PARAM_PAGE_NUM,CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCH_MODE",UDM_PARAM_SEARCH_MODE,CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("UDM_PARAM_CHARSET",UDM_PARAM_CHARSET,CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCH_MODE",UDM_PARAM_SEARCH_MODE,CONST_CS +| CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_CACHE_MODE",UDM_PARAM_CACHE_MODE,CONST_CS | +CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_PARAM_TRACK_MODE",UDM_PARAM_TRACK_MODE,CONST_CS | +CONST_PERSISTENT); + + /* udm_get_res_param constants */ REGISTER_LONG_CONSTANT("UDM_PARAM_FOUND",UDM_PARAM_FOUND,CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("UDM_PARAM_NUM_ROWS",UDM_PARAM_NUM_ROWS,CONST_CS | CONST_PERSISTENT); - + /* search modes */ 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); + /* search cache params */ + REGISTER_LONG_CONSTANT("UDM_CACHE_ENABLED",UDM_CACHE_ENABLED,CONST_CS | +CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("UDM_CACHE_DISABLED",UDM_CACHE_DISABLED,CONST_CS | +CONST_PERSISTENT); + + /* track mode params */ + 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); + return SUCCESS; } @@ -246,8 +266,8 @@ if(Agent->page_number<0)Agent->page_number=0; } break; - case UDM_PARAM_SEARCH_MODE: { - switch (atoi(val)){ + case UDM_PARAM_SEARCH_MODE: + switch (atoi(val)){ case UDM_MODE_ALL: Agent->search_mode=UDM_MODE_ALL; break; @@ -260,7 +280,33 @@ default: RETURN_STRING("<Udm_Set_Agent_Param: Unknown search mode>",1); break; - } + } + break; + case UDM_PARAM_CACHE_MODE: + switch (atoi(val)){ + case UDM_CACHE_ENABLED: + Agent->cache_mode=UDM_CACHE_ENABLED; + break; + case UDM_CACHE_DISABLED: + Agent->cache_mode=UDM_CACHE_DISABLED; + break; + default: + Agent->cache_mode=UDM_CACHE_DISABLED; + RETURN_STRING("<Udm_Set_Agent_Param: Unknown +cache mode>",1); + break; + } + break; + case UDM_PARAM_TRACK_MODE: + switch (atoi(val)){ + case UDM_TRACK_ENABLED: + Agent->track_mode|=UDM_TRACK_QUERIES; + break; + case UDM_TRACK_DISABLED: + Agent->track_mode &= ~(UDM_TRACK_QUERIES); + break; + default: + RETURN_STRING("<Udm_Set_Agent_Param: Unknown +track_mode>",1); + break; } break; default: Index: php4/ext/mnogosearch/php_mnogo.h diff -u php4/ext/mnogosearch/php_mnogo.h:1.1 php4/ext/mnogosearch/php_mnogo.h:1.2 --- php4/ext/mnogosearch/php_mnogo.h:1.1 Tue Jan 30 04:53:50 2001 +++ php4/ext/mnogosearch/php_mnogo.h Wed Jan 31 06:04:29 2001 @@ -1,3 +1,6 @@ +/* $Source: /local/repository/php4/ext/mnogosearch/php_mnogo.h,v $ */ +/* $Id: php_mnogo.h,v 1.2 2001/01/31 14:04:29 gluke Exp $ */ + /* +----------------------------------------------------------------------+ | PHP HTML Embedded Scripting Language Version 3.0 | @@ -29,9 +32,6 @@ | Further development by Sergey Kartashoff <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ - -/* $Id: php_mnogo.h,v 0.3 2001/01/27 15:30:00 */ - #ifndef _PHP_MNOGO_H #define _PHP_MNOGO_H Index: php4/ext/mnogosearch/setup.stub diff -u php4/ext/mnogosearch/setup.stub:1.1 php4/ext/mnogosearch/setup.stub:1.2 --- php4/ext/mnogosearch/setup.stub:1.1 Tue Jan 30 04:53:50 2001 +++ php4/ext/mnogosearch/setup.stub Wed Jan 31 06:04:29 2001 @@ -1,5 +1,5 @@ # $Source: /local/repository/php4/ext/mnogosearch/setup.stub,v $ -# $Id: setup.stub,v 1.1 2001/01/30 12:53:50 gluke Exp $ +# $Id: setup.stub,v 1.2 2001/01/31 14:04:29 gluke Exp $ define_option with-mnogosearch 'mnoGoSearch support?' yesnodir \ 'no /usr/local/udmsearch mnoGoSearch install' \ Index: php4/ext/mnogosearch/test.php diff -u php4/ext/mnogosearch/test.php:1.1 php4/ext/mnogosearch/test.php:1.2 --- php4/ext/mnogosearch/test.php:1.1 Tue Jan 30 04:53:50 2001 +++ php4/ext/mnogosearch/test.php Wed Jan 31 06:04:29 2001 @@ -1,3 +1,8 @@ +<!-- + $Source: /local/repository/php4/ext/mnogosearch/test.php,v $ + $Id: test.php,v 1.2 2001/01/31 14:04:29 gluke Exp $ +--> + <html> <body> @@ -23,14 +28,13 @@ $page_size=10; $page_number=0; - $search_mode=UDM_MODE_BOOL; - $first=$page_size*$page_number+1; - + Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_SIZE,$page_size); Udm_Set_Agent_Param($udm,UDM_PARAM_PAGE_NUM,$page_number); - Udm_Set_Agent_Param($udm,UDM_PARAM_SEARCH_MODE,$search_mode); + Udm_Set_Agent_Param($udm,UDM_PARAM_SEARCH_MODE,UDM_MODE_BOOL); + Udm_Set_Agent_Param($udm,UDM_PARAM_CACHE_MODE,UDM_PARAM_CACHE_DISABLED); + Udm_Set_Agent_Param($udm,UDM_PARAM_TRACK_MODE,UDM_TRACK_DISABLED); - // Stage 3: perform search $res=Udm_Find($udm,$q); @@ -42,7 +46,8 @@ // Display error message printf("Error #%d: '%s'\n",$errno,Udm_Error($udm)); }else{ - + $first=$page_size*$page_number+1; + // Get result parameters $total=Udm_Get_Res_Param($res,UDM_PARAM_FOUND); $rows=Udm_Get_Res_Param($res,UDM_PARAM_NUM_ROWS);
-- 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]