]> granicus.if.org Git - php/commitdiff
Added new Udm_Clear_Search_Limits mnogosearch extension function.
authorSergey Kartashoff <gluke@php.net>
Mon, 5 Feb 2001 15:15:09 +0000 (15:15 +0000)
committerSergey Kartashoff <gluke@php.net>
Mon, 5 Feb 2001 15:15:09 +0000 (15:15 +0000)
@- Added Udm_Clear_Search_Limits mnoGoSearch extension function.

ext/mnogosearch/php_mnogo.c
ext/mnogosearch/php_mnogo.h
ext/mnogosearch/test.php

index 97b2dabeae21394075df04248f683ecbe43f428a..24fe5abee0d95a79996261a46ecfe7f6bbf5d2a8 100644 (file)
@@ -72,17 +72,20 @@ static int le_link,le_res;
 function_entry mnogosearch_functions[] = {
        PHP_FE(udm_alloc_agent,         NULL)
        PHP_FE(udm_set_agent_param,     NULL)
+       
        PHP_FE(udm_add_search_limit,    NULL)
-       PHP_FE(udm_free_agent,          NULL)
-
+       PHP_FE(udm_clear_search_limits, NULL)
+       
        PHP_FE(udm_errno,               NULL)
        PHP_FE(udm_error,               NULL)
 
        PHP_FE(udm_find,                NULL)
-       PHP_FE(udm_free_res,            NULL)
-       PHP_FE(udm_get_res_field,       NULL)
        PHP_FE(udm_get_res_param,       NULL)
-
+       PHP_FE(udm_get_res_field,       NULL)
+       
+       PHP_FE(udm_free_res,            NULL)
+       PHP_FE(udm_free_agent,          NULL)
+       
        {NULL, NULL, NULL}
 };
 
@@ -435,6 +438,32 @@ DLEXPORT PHP_FUNCTION(udm_add_search_limit)
 /* }}} */
 
 
+/* {{{ proto int udm_clear_search_limits(int agent)
+   Clear all mnoGoSearch search restrictions */
+DLEXPORT PHP_FUNCTION(udm_clear_search_limits)
+{
+       pval ** yyagent;
+       UDM_AGENT * Agent;
+       switch(ZEND_NUM_ARGS()){
+               case 1: {
+                               if (zend_get_parameters_ex(1, &yyagent)==FAILURE) {
+                                       RETURN_FALSE;
+                               }
+                       }
+                       break;
+               default:
+                       WRONG_PARAM_COUNT;
+                       break;
+       }
+       ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, -1, "mnoGoSearch-Agent", le_link);
+       
+       UdmClearLimits(Agent->Conf);
+       
+       RETURN_TRUE;
+}
+/* }}} */
+
+
 /* {{{ proto int udm_find(int agent, string query)
    Perform search */
 DLEXPORT PHP_FUNCTION(udm_find)
index 4603d8fc271b3b03b8ac586f275546ad2dff713d..ac323358c18464e57533489e8d17512c4d52a41d 100644 (file)
@@ -48,17 +48,20 @@ DLEXPORT PHP_MINFO_FUNCTION(mnogosearch);
 
 DLEXPORT PHP_FUNCTION(udm_alloc_agent);
 DLEXPORT PHP_FUNCTION(udm_set_agent_param);
+
 DLEXPORT PHP_FUNCTION(udm_add_search_limit);
-DLEXPORT PHP_FUNCTION(udm_free_agent);
+DLEXPORT PHP_FUNCTION(udm_clear_search_limits);
 
 DLEXPORT PHP_FUNCTION(udm_error);
 DLEXPORT PHP_FUNCTION(udm_errno);
 
 DLEXPORT PHP_FUNCTION(udm_find);
-DLEXPORT PHP_FUNCTION(udm_free_res);
 DLEXPORT PHP_FUNCTION(udm_get_res_field);
 DLEXPORT PHP_FUNCTION(udm_get_res_param);
 
+DLEXPORT PHP_FUNCTION(udm_free_res);
+DLEXPORT PHP_FUNCTION(udm_free_agent);
+
 #else
 
 #define mnogosearch_module_ptr NULL
index 2dd86c2a1e294d43ed2eda9d56892b0b88e4b570..446c209f088f6857b635a57fa3bb34b9d443704a 100644 (file)
@@ -43,6 +43,8 @@
 //     Udm_Add_Search_Limit($udm,UDM_LIMIT_TAG,"01");
 //     Udm_Add_Search_Limit($udm,UDM_LIMIT_CAT,"01");
 //     Udm_Add_Search_Limit($udm,UDM_LIMIT_LANG,"en");
+
+//      Udm_Clear_Search_Limits($udm);
        
 // Stage 4: perform search