diff options
-rw-r--r-- | ext/mnogosearch/php_mnogo.c | 39 | ||||
-rw-r--r-- | ext/mnogosearch/php_mnogo.h | 7 | ||||
-rw-r--r-- | ext/mnogosearch/test.php | 2 |
3 files changed, 41 insertions, 7 deletions
diff --git a/ext/mnogosearch/php_mnogo.c b/ext/mnogosearch/php_mnogo.c index 97b2dabeae..24fe5abee0 100644 --- a/ext/mnogosearch/php_mnogo.c +++ b/ext/mnogosearch/php_mnogo.c @@ -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) diff --git a/ext/mnogosearch/php_mnogo.h b/ext/mnogosearch/php_mnogo.h index 4603d8fc27..ac323358c1 100644 --- a/ext/mnogosearch/php_mnogo.h +++ b/ext/mnogosearch/php_mnogo.h @@ -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 diff --git a/ext/mnogosearch/test.php b/ext/mnogosearch/test.php index 2dd86c2a1e..446c209f08 100644 --- a/ext/mnogosearch/test.php +++ b/ext/mnogosearch/test.php @@ -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 |