Add FLATMAP option to statserv
This commit is contained in:
parent
02eb039eca
commit
550dd47560
6 changed files with 43 additions and 13 deletions
|
@ -4,6 +4,8 @@ Anything we add/remove/fix/change is in here (even our rants)
|
|||
Fish (F), Mark (M), DeadNotBuried (D)
|
||||
===============================================================================
|
||||
* NeoStats * Version 3.0.a3-dev
|
||||
- StatServ: Add FLATMAP option to prevent display of network layout in MAP
|
||||
command and HTML output (Bug 220). (M)
|
||||
- Add support for IRCd protocol modules to make server version requests. (M)
|
||||
- Add support for IRCd protocol modules to call core numeric reply
|
||||
handlers. (M)
|
||||
|
|
|
@ -409,13 +409,22 @@ void get_map( char *uplink, int level )
|
|||
get_map( s->name, level );
|
||||
}
|
||||
/* its not the root server */
|
||||
buf[0]='\0';
|
||||
for( i = 1; i < level; i++ ) {
|
||||
ircsnprintf( buf, MAPBUFSIZE, "%s     |", buf );
|
||||
if( StatServ.flatmap )
|
||||
{
|
||||
os_fprintf( opf, "<tr><td>%s</td><td>%d/%d</td><td>%d/%d</td><td>%d/%d</td></tr>\n",
|
||||
ss->name, s->server->users, ss->users.alltime.max, ss->opers.current, ss->opers.alltime.max,
|
||||
s->server->ping,( int )ss->highest_ping );
|
||||
}
|
||||
else
|
||||
{
|
||||
buf[0]='\0';
|
||||
for( i = 1; i < level; i++ ) {
|
||||
ircsnprintf( buf, MAPBUFSIZE, "%s     |", buf );
|
||||
}
|
||||
os_fprintf( opf, "<tr><td>%s\\_%s</td><td>%d/%d</td><td>%d/%d</td><td>%d/%d</td></tr>\n",
|
||||
buf, ss->name, s->server->users, ss->users.alltime.max, ss->opers.current, ss->opers.alltime.max,
|
||||
s->server->ping,( int )ss->highest_ping );
|
||||
}
|
||||
os_fprintf( opf, "<tr><td>%s\\_%s</td><td>%d/%d</td><td>%d/%d</td><td>%d/%d</td></tr>\n",
|
||||
buf, ss->name, s->server->users, ss->users.alltime.max, ss->opers.current, ss->opers.alltime.max,
|
||||
s->server->ping,( int )ss->highest_ping );
|
||||
get_map( s->name, level + 1 );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -222,14 +222,24 @@ static void makemap(char *uplink, Client * u, int level)
|
|||
makemap(s->name, u, level);
|
||||
}
|
||||
/* its not the root server */
|
||||
buf[0]='\0';
|
||||
for (i = 1; i < level; i++) {
|
||||
strlcat (buf, " |", 256);
|
||||
if( StatServ.flatmap )
|
||||
{
|
||||
irc_prefmsg (ss_bot, u,
|
||||
"\2%-40s [ %d/%d ] [ %d/%d ] [ %d/%ld ]",
|
||||
ss->name, s->server->users, (int)ss->users.alltime.max,
|
||||
ss->opers.current, ss->opers.alltime.max, s->server->ping, ss->highest_ping);
|
||||
}
|
||||
else
|
||||
{
|
||||
buf[0]='\0';
|
||||
for (i = 1; i < level; i++) {
|
||||
strlcat (buf, " |", 256);
|
||||
}
|
||||
irc_prefmsg (ss_bot, u,
|
||||
"%s \\_\2%-40s [ %d/%d ] [ %d/%d ] [ %d/%ld ]",
|
||||
buf, ss->name, s->server->users, (int)ss->users.alltime.max,
|
||||
ss->opers.current, ss->opers.alltime.max, s->server->ping, ss->highest_ping);
|
||||
}
|
||||
irc_prefmsg (ss_bot, u,
|
||||
"%s \\_\2%-40s [ %d/%d ] [ %d/%d ] [ %d/%ld ]",
|
||||
buf, ss->name, s->server->users, (int)ss->users.alltime.max,
|
||||
ss->opers.current, ss->opers.alltime.max, s->server->ping, ss->highest_ping);
|
||||
makemap(s->name, u, level + 1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,6 +63,12 @@ const char *ss_help_set_exclusions[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
const char *ss_help_set_flatmap[] = {
|
||||
"\2FLATMAP <ON|OFF>\2",
|
||||
"Whether StatServ shows map with links or as flat list",
|
||||
NULL
|
||||
};
|
||||
|
||||
const char *ss_help_set_html[] = {
|
||||
"\2HTML <ON|OFF>\2",
|
||||
"Enable or disable HTML statistics generation.",
|
||||
|
|
|
@ -118,6 +118,7 @@ static bot_setting ss_settings[]=
|
|||
{"LAGALERT", &StatServ.lagalert, SET_TYPE_INT, 0, 3, NS_ULEVEL_ADMIN, NULL, ss_help_set_lagalert, NULL, (void *)1},
|
||||
{"RECORDALERT", &StatServ.recordalert, SET_TYPE_INT, 0, 3, NS_ULEVEL_ADMIN, NULL, ss_help_set_recordalert, NULL, (void *)1},
|
||||
{"EXCLUSIONS", &StatServ.exclusions, SET_TYPE_BOOLEAN, 0, 0, NS_ULEVEL_ADMIN, NULL, ss_help_set_exclusions, ss_set_exclusions_cb, (void *)0},
|
||||
{"FLATMAP", &StatServ.flatmap, SET_TYPE_BOOLEAN, 0, 0, NS_ULEVEL_ADMIN, NULL, ss_help_set_flatmap, NULL, (void *)0},
|
||||
{NULL, NULL, 0, 0, 0, 0, NULL, NULL, NULL, (void *)0},
|
||||
};
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@ struct StatServ {
|
|||
int msglimit;
|
||||
int shutdown;
|
||||
int exclusions;
|
||||
int flatmap;
|
||||
} StatServ;
|
||||
|
||||
/* ss_help.c */
|
||||
|
@ -65,6 +66,7 @@ extern const char *ss_help_channel[];
|
|||
extern const char *ss_help_set_htmlpath[];
|
||||
extern const char *ss_help_set_html[];
|
||||
extern const char *ss_help_set_exclusions[];
|
||||
extern const char *ss_help_set_flatmap[];
|
||||
extern const char *ss_help_set_msginterval[];
|
||||
extern const char *ss_help_set_msglimit[];
|
||||
extern const char *ss_help_set_lagtime[];
|
||||
|
|
Reference in a new issue