summaryrefslogtreecommitdiff
path: root/ext/mnogosearch/php_mnogo.c
diff options
context:
space:
mode:
authorSergey Kartashoff <gluke@php.net>2002-09-07 14:19:52 +0000
committerSergey Kartashoff <gluke@php.net>2002-09-07 14:19:52 +0000
commitd96a5d8c5c3e2b531eed896f686ec654d19e1c62 (patch)
treea20543ed374b3b9e4cae15942afdbf964a6d52c8 /ext/mnogosearch/php_mnogo.c
parentb65073d3eafd8eb6e3d32eeb6a1183d33a83103b (diff)
downloadphp-git-d96a5d8c5c3e2b531eed896f686ec654d19e1c62.tar.gz
- New mnogosearch extension features has been added to group results
by site. - Mnogosearch module fixes and cleanups.
Diffstat (limited to 'ext/mnogosearch/php_mnogo.c')
-rw-r--r--ext/mnogosearch/php_mnogo.c169
1 files changed, 118 insertions, 51 deletions
diff --git a/ext/mnogosearch/php_mnogo.c b/ext/mnogosearch/php_mnogo.c
index 0b0a62ddc6..b3160f6dfa 100644
--- a/ext/mnogosearch/php_mnogo.c
+++ b/ext/mnogosearch/php_mnogo.c
@@ -51,6 +51,7 @@
#define UDM_FIELD_CATEGORY 13
#define UDM_FIELD_LANG 14
#define UDM_FIELD_CHARSET 15
+#define UDM_FIELD_SITEID 16
/* udm_set_agent_param constants */
#define UDM_PARAM_PAGE_SIZE 1
@@ -79,6 +80,8 @@
#define UDM_PARAM_REMOTE_ADDR 24
#define UDM_PARAM_QUERY 25
#define UDM_PARAM_STORED 26
+#define UDM_PARAM_GROUPBYSITE 27
+#define UDM_PARAM_SITEID 28
/* udm_add_search_limit constants */
#define UDM_LIMIT_URL 1
@@ -86,6 +89,7 @@
#define UDM_LIMIT_LANG 3
#define UDM_LIMIT_CAT 4
#define UDM_LIMIT_DATE 5
+#define UDM_LIMIT_TYPE 6
/* word match type */
#define UDM_MATCH_WORD 0
@@ -113,6 +117,10 @@
#define UDM_CROSS_WORDS_ENABLED 1
#define UDM_CROSS_WORDS_DISABLED 0
+/* General modes */
+#define UDM_ENABLED 1
+#define UDM_DISABLED 0
+
/* udm_get_res_param constants */
#define UDM_PARAM_NUM_ROWS 256
#define UDM_PARAM_FOUND 257
@@ -251,6 +259,7 @@ DLEXPORT PHP_MINIT_FUNCTION(mnogosearch)
REGISTER_LONG_CONSTANT("UDM_FIELD_CATEGORY", UDM_FIELD_CATEGORY,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_FIELD_LANG", UDM_FIELD_LANG,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_FIELD_CHARSET", UDM_FIELD_CHARSET,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_FIELD_SITEID", UDM_FIELD_SITEID,CONST_CS | CONST_PERSISTENT);
/* udm_set_agent_param constants */
REGISTER_LONG_CONSTANT("UDM_PARAM_PAGE_SIZE", UDM_PARAM_PAGE_SIZE,CONST_CS | CONST_PERSISTENT);
@@ -295,10 +304,12 @@ DLEXPORT PHP_MINIT_FUNCTION(mnogosearch)
REGISTER_LONG_CONSTANT("UDM_PARAM_SYNONYM", UDM_PARAM_SYNONYM,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_PARAM_SEARCHD", UDM_PARAM_SEARCHD,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_PARAM_STORED", UDM_PARAM_STORED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PARAM_GROUPBYSITE", UDM_PARAM_GROUPBYSITE,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_PARAM_QSTRING", UDM_PARAM_QSTRING,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_PARAM_REMOTE_ADDR", UDM_PARAM_REMOTE_ADDR,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_PARAM_QUERY", UDM_PARAM_QUERY,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PARAM_SITEID", UDM_PARAM_SITEID,CONST_CS | CONST_PERSISTENT);
/* udm_add_search_limit constants */
REGISTER_LONG_CONSTANT("UDM_LIMIT_CAT", UDM_LIMIT_CAT,CONST_CS | CONST_PERSISTENT);
@@ -306,6 +317,7 @@ DLEXPORT PHP_MINIT_FUNCTION(mnogosearch)
REGISTER_LONG_CONSTANT("UDM_LIMIT_TAG", UDM_LIMIT_TAG,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_LIMIT_LANG", UDM_LIMIT_LANG,CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("UDM_LIMIT_DATE", UDM_LIMIT_DATE,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_LIMIT_TYPE", UDM_LIMIT_TYPE,CONST_CS | CONST_PERSISTENT);
/* udm_get_res_param constants */
REGISTER_LONG_CONSTANT("UDM_PARAM_FOUND", UDM_PARAM_FOUND,CONST_CS | CONST_PERSISTENT);
@@ -325,33 +337,37 @@ DLEXPORT PHP_MINIT_FUNCTION(mnogosearch)
REGISTER_LONG_CONSTANT("UDM_MODE_PHRASE", UDM_MODE_PHRASE,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);
+ REGISTER_LONG_CONSTANT("UDM_CACHE_ENABLED", UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_CACHE_DISABLED", UDM_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);
+ REGISTER_LONG_CONSTANT("UDM_TRACK_ENABLED", UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_TRACK_DISABLED", UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
/* phrase mode params */
- 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);
+ REGISTER_LONG_CONSTANT("UDM_PHRASE_ENABLED", UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PHRASE_DISABLED", UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
+
+ /* general params */
+ REGISTER_LONG_CONSTANT("UDM_ENABLED", UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_DISABLED", UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
/* crosswords mode params */
- REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_ENABLED",UDM_CROSS_WORDS_ENABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_ENABLED",UDM_CROSS_WORDS_ENABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_DISABLED",UDM_CROSS_WORDS_DISABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_DISABLED",UDM_CROSS_WORDS_DISABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_CROSS_WORDS_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_CROSSWORDS_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
/* prefixes mode params */
- REGISTER_LONG_CONSTANT("UDM_PREFIXES_ENABLED", UDM_PREFIXES_ENABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_PREFIX_ENABLED", UDM_PREFIXES_ENABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIXES_ENABLED",UDM_PREFIXES_ENABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIX_ENABLED",UDM_PREFIXES_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PREFIXES_ENABLED", UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PREFIX_ENABLED", UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIXES_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIX_ENABLED",UDM_ENABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_PREFIXES_DISABLED", UDM_PREFIXES_DISABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_PREFIX_DISABLED", UDM_PREFIXES_DISABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIXES_DISABLED",UDM_PREFIXES_DISABLED,CONST_CS | CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIX_DISABLED",UDM_PREFIXES_DISABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PREFIXES_DISABLED", UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_PREFIX_DISABLED", UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIXES_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("UDM_ISPELL_PREFIX_DISABLED",UDM_DISABLED,CONST_CS | CONST_PERSISTENT);
/* ispell type params */
REGISTER_LONG_CONSTANT("UDM_ISPELL_TYPE_AFFIX", UDM_ISPELL_TYPE_AFFIX,CONST_CS | CONST_PERSISTENT);
@@ -588,7 +604,7 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_MODE_BOOL:
#if UDM_VERSION_ID >= 30204
- UdmVarListReplaceStr(&Agent->Conf->Vars,"m","all");
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"m","bool");
#else
Agent->search_mode=UDM_MODE_BOOL;
#endif
@@ -662,9 +678,9 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
break;
case UDM_PARAM_CACHE_MODE:
switch (atoi(val)){
- case UDM_CACHE_ENABLED:
+ case UDM_ENABLED:
#if UDM_VERSION_ID < 30200
- Agent->cache_mode=UDM_CACHE_ENABLED;
+ Agent->cache_mode=UDM_ENABLED;
#elif UDM_VERSION_ID >= 30204
UdmVarListReplaceStr(&Agent->Conf->Vars,"Cache","yes");
#else
@@ -672,9 +688,9 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
#endif
break;
- case UDM_CACHE_DISABLED:
+ case UDM_DISABLED:
#if UDM_VERSION_ID < 30200
- Agent->cache_mode=UDM_CACHE_DISABLED;
+ Agent->cache_mode=UDM_DISABLED;
#elif UDM_VERSION_ID >= 30204
UdmVarListReplaceStr(&Agent->Conf->Vars,"Cache","no");
#else
@@ -684,7 +700,7 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
default:
#if UDM_VERSION_ID < 30200
- Agent->cache_mode=UDM_CACHE_DISABLED;
+ Agent->cache_mode=UDM_DISABLED;
#elif UDM_VERSION_ID >= 30204
UdmVarListReplaceStr(&Agent->Conf->Vars,"Cache","no");
#else
@@ -699,7 +715,7 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PARAM_TRACK_MODE:
switch (atoi(val)){
- case UDM_TRACK_ENABLED:
+ case UDM_ENABLED:
#if UDM_VERSION_ID < 30200
Agent->track_mode|=UDM_TRACK_QUERIES;
#elif UDM_VERSION_ID >= 30204
@@ -709,7 +725,7 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
#endif
break;
- case UDM_TRACK_DISABLED:
+ case UDM_DISABLED:
#if UDM_VERSION_ID < 30200
Agent->track_mode &= ~(UDM_TRACK_QUERIES);
#elif UDM_VERSION_ID >= 30204
@@ -738,12 +754,12 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PARAM_PHRASE_MODE:
#if UDM_VERSION_ID < 30200
switch (atoi(val)){
- case UDM_PHRASE_ENABLED:
- Agent->Conf->use_phrases=UDM_PHRASE_ENABLED;
+ case UDM_ENABLED:
+ Agent->Conf->use_phrases=UDM_ENABLED;
break;
- case UDM_PHRASE_DISABLED:
- Agent->Conf->use_phrases=UDM_PHRASE_DISABLED;
+ case UDM_DISABLED:
+ Agent->Conf->use_phrases=UDM_DISABLED;
break;
default:
@@ -756,23 +772,23 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PARAM_ISPELL_PREFIXES:
switch (atoi(val)){
- case UDM_PREFIXES_ENABLED:
+ case UDM_ENABLED:
#if UDM_VERSION_ID < 30200
Agent->Conf->ispell_mode |= UDM_ISPELL_USE_PREFIXES;
#elif UDM_VERSION_ID >= 30204
UdmVarListReplaceStr(&Agent->Conf->Vars,"IspellUsePrefixes","1");
#else
- UdmAddIntVar(Agent->Conf->vars, "IspellUsePrefixes", 1, UDM_VARSRC_GLOBAL);
+ UdmAddIntVar(Agent->Conf->vars, "IspellUsePrefixes", 1, UDM_VARSRC_GLOBAL);
#endif
break;
- case UDM_PREFIXES_DISABLED:
+ case UDM_DISABLED:
#if UDM_VERSION_ID < 30200
Agent->Conf->ispell_mode &= ~UDM_ISPELL_USE_PREFIXES;
#elif UDM_VERSION_ID >= 30204
UdmVarListReplaceStr(&Agent->Conf->Vars,"IspellUsePrefixes","0");
#else
- UdmAddIntVar(Agent->Conf->vars, "IspellUsePrefixes", 0, UDM_VARSRC_GLOBAL);
+ UdmAddIntVar(Agent->Conf->vars, "IspellUsePrefixes", 0, UDM_VARSRC_GLOBAL);
#endif
break;
@@ -944,19 +960,19 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
case UDM_PARAM_CROSS_WORDS:
switch (atoi(val)){
- case UDM_CROSS_WORDS_ENABLED:
+ case UDM_ENABLED:
#if UDM_VERSION_ID >= 30204
UdmVarListReplaceStr(&Agent->Conf->Vars,"CrossWords","yes");
#else
- Agent->Conf->use_crossword=UDM_CROSS_WORDS_ENABLED;
+ Agent->Conf->use_crossword=UDM_ENABLED;
#endif
break;
- case UDM_CROSS_WORDS_DISABLED:
+ case UDM_DISABLED:
#if UDM_VERSION_ID >= 30204
UdmVarListReplaceStr(&Agent->Conf->Vars,"CrossWords","no");
#else
- Agent->Conf->use_crossword=UDM_CROSS_WORDS_DISABLED;
+ Agent->Conf->use_crossword=UDM_DISABLED;
#endif
break;
@@ -980,7 +996,8 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
snprintf(Agent->Conf->vardir,sizeof(Agent->Conf->vardir)-1,"%s%s",val,UDMSLASHSTR);
#endif
break;
-
+#endif
+
#if UDM_VERSION_ID >= 30204
case UDM_PARAM_QUERY:
UdmVarListReplaceStr(&Agent->Conf->Vars,"q",val);
@@ -992,8 +1009,35 @@ DLEXPORT PHP_FUNCTION(udm_set_agent_param)
break;
#endif
+
+#if UDM_VERSION_ID >= 30207
+ case UDM_PARAM_GROUPBYSITE:
+ switch (atoi(val)){
+ case UDM_ENABLED:
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"GroupBySite","yes");
+
+ break;
+
+ case UDM_DISABLED:
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"GroupBySite","no");
+
+ break;
+
+ default:
+ php_error(E_WARNING,"%s(): Unknown crosswords mode", get_active_function_name(TSRMLS_C));
+ RETURN_FALSE;
+ break;
+ }
+
+ break;
+
+ case UDM_PARAM_SITEID:
+ UdmVarListReplaceStr(&Agent->Conf->Vars,"site",val);
+
+ break;
#endif
+
default:
php_error(E_WARNING,"%s(): Unknown agent session parameter", get_active_function_name(TSRMLS_C));
RETURN_FALSE;
@@ -1236,6 +1280,12 @@ DLEXPORT PHP_FUNCTION(udm_add_search_limit)
UdmAddCatLimit(Agent->Conf,val);
#endif
break;
+
+ case UDM_LIMIT_TYPE:
+#if UDM_VERSION_ID >= 30207
+ UdmVarListAddStr(&Agent->Conf->Vars,"type",val);
+#endif
+ break;
case UDM_LIMIT_DATE:
#if UDM_VERSION_ID < 30200
@@ -1729,7 +1779,7 @@ DLEXPORT PHP_FUNCTION(udm_get_res_field)
case UDM_FIELD_MODIFIED:
#if UDM_VERSION_ID >= 30204
- RETURN_LONG(UdmVarListFindInt(&(Res->Doc[row].Sections),"Last-Modified",0));
+ RETURN_STRING((char *)UdmVarListFindStr(&(Res->Doc[row].Sections),"Last-Modified",""),1);
#else
RETURN_LONG((Res->Doc[row].last_mod_time));
#endif
@@ -1775,7 +1825,16 @@ DLEXPORT PHP_FUNCTION(udm_get_res_field)
RETURN_STRING((Res->Doc[row].charset)?(Res->Doc[row].charset):"",1);
#endif
break;
+#endif
+
+#if UDM_VERSION_ID >= 30207
+ case UDM_FIELD_SITEID:
+ RETURN_LONG(UdmVarListFindInt(&(Res->Doc[row].Sections),"Site_id",0));
+
+ break;
#endif
+
+
default:
php_error(E_WARNING,"%s(): Unknown mnoGoSearch field name", get_active_function_name(TSRMLS_C));
@@ -2064,10 +2123,15 @@ DLEXPORT PHP_FUNCTION(udm_cat_list)
#if UDM_VERSION_ID >= 30204
{
int i;
- for(i=0;i<C.ncategories;i++){
- snprintf(buf, UDMSTRSIZ, "%s%s",C.Category[i].link[0]?"@ ":"", C.Category[i].name);
- add_next_index_string(return_value, C.Category[i].link[0]?C.Category[i].link:C.Category[i].path, 1);
- add_next_index_string(return_value, buf, 1);
+ if (C.ncategories) {
+ for(i=0;i<C.ncategories;i++){
+ snprintf(buf, UDMSTRSIZ, "%s%s",C.Category[i].link[0]?"@ ":"", C.Category[i].name);
+ add_next_index_string(return_value, C.Category[i].link[0]?C.Category[i].link:C.Category[i].path, 1);
+ add_next_index_string(return_value, buf, 1);
+ }
+ free(C.Category);
+ } else {
+ RETURN_FALSE;
}
}
#else
@@ -2133,10 +2197,15 @@ DLEXPORT PHP_FUNCTION(udm_cat_path)
#if UDM_VERSION_ID >= 30204
{
int i;
- for(i=0;i<C.ncategories;i++){
- snprintf(buf, UDMSTRSIZ, "%s%s",C.Category[i].link[0]?"@ ":"", C.Category[i].name);
- add_next_index_string(return_value, C.Category[i].link[0]?C.Category[i].link:C.Category[i].path, 1);
- add_next_index_string(return_value, buf, 1);
+ if (C.ncategories) {
+ for(i=0;i<C.ncategories;i++){
+ snprintf(buf, UDMSTRSIZ, "%s%s",C.Category[i].link[0]?"@ ":"", C.Category[i].name);
+ add_next_index_string(return_value, C.Category[i].link[0]?C.Category[i].link:C.Category[i].path, 1);
+ add_next_index_string(return_value, buf, 1);
+ }
+ free(C.Category);
+ } else {
+ RETURN_FALSE;
}
}
#else
@@ -2175,11 +2244,9 @@ DLEXPORT PHP_FUNCTION(udm_get_doc_count)
break;
}
ZEND_FETCH_RESOURCE(Agent, UDM_AGENT *, yyagent, id, "mnoGoSearch-Agent", le_link);
-#if UDM_VERSION_ID >= 30207
+#if UDM_VERSION_ID >= 30204
if (!Agent->doccount) UdmURLAction(Agent,NULL,UDM_URL_ACTION_DOCCOUNT,Agent->Conf->db);
RETURN_LONG(Agent->doccount);
-#elif UDM_VERSION_ID >= 30204
- RETURN_LONG(UdmURLAction(Agent,NULL,UDM_URL_ACTION_DOCCOUNT,Agent->Conf->db));
#else
RETURN_LONG(UdmGetDocCount(Agent));
#endif