/* Do not remove the headers from this file! see /USAGE for more info. */ /* ** ** Provides various adminstration facilities for admins, domain lords, and ** wizards. ** ** 07-Jun-95. Deathblade. Created. */ #include <commands.h> #include <security.h> #include <daemons.h> inherit __DIR__ "internal/base"; string module_name() { return "main"; } class command_info array module_commands() { class command_info array ret = ({}); string dir = base_name(); string ourname; int idx = strsrch(dir, "/", -1); ourname = dir[idx+1..]; dir = dir[0..idx]; foreach (string file in get_dir(dir + "*.c") - ({ ourname + ".c" })) { string key, name, who; file = dir + file; key = file->module_key(); name = file->module_name(); who = file->module_user(); if (key) ret += ({ new(class command_info, key : key, desc : name, action : (: clone_object, file :), who : who) }); } return ret; } protected void heading() { write("\n%^ADMTOOL_HEADING%^" "--- Administration Tool ---\n" "%^RESET%^\n"); } class command_info array defaults() { return ({ new(class command_info), // blank line new(class command_info, key : "q", desc : "quit", action : (: modal_pop(), destruct() :)), new(class command_info, key : "?", desc : "help", action : (: do_help :)) }); } void create() { if ( clonep() ) { if ( file_name(previous_object()) != CMD_OB_ADMTOOL ) { write("Illegal attempt to clone ADMTOOL\n"); destruct(this_object()); return; } ::create(); } }