/* /secure/cmds/player/chfn.c * from the Foundation II LPC Library * just when you thought you were safe from lisp * created by Descartes of Borg 950517 */ #include <lib.h> inherit LIB_DAEMON; mixed cmd(string args) { function f; string rname; message("system", "Changing user information for " + (string)previous_object()->GetCapName() + ": ", previous_object()); rname = (string)previous_object()->GetRealName(); message("prompt", "Real name [" + rname + "] ", previous_object()); f = function(string str, string old, object ob) { function g; if( !str || str == "" ) str = old; if( str != old ) { ob->SetRealName(str); message("system", "Real name changed to " + str, ob); } else message("system", "Real name unchanged.", ob); str = (string)ob->GetEmail(); message("prompt", "Email (preceed with # to make admin only) [" + str + "] ", ob); g = function(string str, string old, object ob) { function h; if( !str || str == "" ) str = old; if( str != old ) { string a, b; if( sscanf(str, "%s@%s", a, b) != 2 ) { message("system", "Invalid email.", ob); return; } ob->SetEmail(str); message("system", "Email changed to " + str, ob); } else message("system", "Email unchanged.", ob); str = (ob->GetWebPage() || ""); message("prompt", "Home Page [" + str + "]: ", ob); h = function(string str, object who) { if( str == "" ) { str = 0; } else if( str ) { if( strlen(str) < 5 ) { str = "http://" + str; } else { if( str[0..3] != "http" ) { str = "http://" + str; } } } if( !str ) { message("system", "Home page unchanged.", who); } else { who->SetWebPage(str); message("system", "Home page changed.", who); this_player()->save_player((string)this_player()->GetKeyName()); update("/secure/daemon/finger"); } }; input_to(h, 0, ob); this_player()->save_player((string)this_player()->GetKeyName()); update("/secure/daemon/finger"); }; input_to(g, 0, str, ob); this_player()->save_player((string)this_player()->GetKeyName()); update("/secure/daemon/finger"); }; input_to(f, "" + rname, previous_object()); this_player()->save_player((string)this_player()->GetKeyName()); update("/secure/daemon/finger"); return 1; } void help() { message("help", "Syntax: <chfn>\n\n" "Allows you to change your real life information.\n\n" "See also: passwd", this_player()); }