inherit COMMAND_BASE;
/** @ignore yes */
private string get_last_log( int last_log_on ) {
string retval;
int tmp_time, sec, min, hour, day;
// Should be a nice number.
tmp_time = time() - last_log_on;
if( !tmp_time )
sec = min = hour = day = 0;
if( tmp_time > 24*60*60 ) {
retval = ( day = tmp_time / (24*60*60) )+" day"+( day < 2 ? "" :
"s")+" ago.";
if( day > 14 )
retval = "%^RED%^"+retval+"%^RESET%^";
else if( day > 7 )
retval = "%^YELLOW%^"+retval+"%^RESET%^";
else
retval = "%^GREEN%^"+retval+"%^RESET%^";
} else
retval = "%^GREEN%^Today%^RESET%^";
return retval;
} /* get_last_log() */
/** @ignore yes */
private int dinfo( string name, int option ) {
string ret, *members;
int cols;
if( !DOMAIN_H->query_domain(name) )
return notify_fail("No such domain: "+name+"\n");
cols = (int)TP->query_cols();
members = DOMAIN_H->query_members(name);
members = ( option ? sort_array( members, (: PLAYER_H->test_last($2) -
PLAYER_H->test_last($1) :) ) : sort_array( members, 1 ) );
ret = "The current members of "+CAP(name)+" are:\n";
foreach( name in members )
ret += sprintf("%-12s: Last login: %s\n",
CAP(name), find_player(name)? "%^GREEN%^%^BOLD%^Now%^RESET%^" :
get_last_log( PLAYER_H->test_last(name) ) );
TP->more_string( ret, "Domain Info");
return 1;
} /* dinfo() */
/** @ignore yes */
mixed query_patterns() {
return ({ "<string'domain'>", (: dinfo( $4[0], 0 ) :),
"<string'domain'> [by] login", (: dinfo( $4[0], 1 ) :),
});
} /* query_patterns() */