public static AuthKey MakeKey(Account a, AuthType t, object state) { AuthKey ak = new AuthKey(); ak.Type = t; ak.State = state; m_AuthKeys[a] = ak; return(ak); }
public static void Command_Account(Server.Commands.CommandEventArgs e) { Mobile m = e.Mobile; if (AutoRestart.Restarting) { m.SendMessage("Accounts cannot be managed during server wars."); return; } Account a = m.Account as Account; if (a == null) // Sanity { return; } AuthKey ak = GetKey(a); string email = GetEMail(a); if (email == null && (ak == null || ak.Expired)) { m.SendMessage("There is no e-mail linked to your account. Please register first."); m.CloseGump(typeof(LinkAddressGump)); m.SendGump(new LinkAddressGump(m, a)); return; } if (ak != null && !ak.Expired) { m.SendMessage("You already have a request pending. Please finalize your current request before making another."); return; } m.CloseGump(typeof(AccountManagementGump)); m.SendGump(new AccountManagementGump(m, a)); }
public static void Event_Login(LoginEventArgs e) { Mobile m = e.Mobile; Account a = m.Account as Account; if (a == null) // Sanity { return; } AuthKey ak = GetKey(a); string email = GetEMail(a); if (email == null && (ak == null || ak.Expired)) { m.SendMessage("Please link a valid e-mail address to this account."); m.SendMessage("This e-mail address will only be used for account management."); m.CloseGump(typeof(LinkAddressGump)); m.SendGump(new LinkAddressGump(m, a)); } //m.SendMessage( "This account is owned by '{0}'.", a.EMail ); }
public static void Command_Register(Server.Commands.CommandEventArgs e) { Mobile m = e.Mobile; if (AutoRestart.Restarting) { m.SendMessage("Validation requests expire during server wars. Please re-request after server restart."); return; } string key = e.ArgString; if (key == null || key == "") { m.SendMessage("You must enter a valid key."); return; } Account a = m.Account as Account; if (a == null) // Sanity { return; } AuthKey ak = GetKey(a); if (ak == null) { m.SendMessage("You have no validations pending."); return; } else if (ak.Expired) { m.SendMessage("That validation key has expired."); return; } else if (ak.Key != key) { m.SendMessage("That validation key is incorrect."); return; } switch (ak.Type) { case AuthType.Register: string email = ak.State as string; a.SetTag("EMail", email); m.SendMessage("Your account has been registered.", email); break; case AuthType.EMail: a.RemoveTag("EMail"); m.SendMessage("Your e-mail address has been reset."); m.SendMessage("You will be prompted to re-register on your next login."); break; case AuthType.Password: string pw = ak.State as string; a.SetPassword(pw); m.SendMessage("Your password has been changed."); break; default: m.SendMessage("ERROR: Invalid AuthType, please page an administrator for assistance."); break; } RemoveKey(a); }
public static AuthKey GetKey(Account a) { AuthKey ak = m_AuthKeys[a] as AuthKey; return(ak); }
public static AuthKey MakeKey( Account a, AuthType t, object state ) { AuthKey ak = new AuthKey(); ak.Type = t; ak.State = state; m_AuthKeys[a] = ak; return ak; }