|
|
using System; |
|
|
using System.Collections.Generic; |
|
|
using MySql.Data.MySqlClient; |
|
|
using Microsoft.AspNetCore.Mvc.RazorPages; |
|
|
using Microsoft.Extensions.Logging; |
|
|
|
|
|
namespace NightmareCoreWeb2.Pages |
|
|
{ |
|
|
public class IndexModel : PageModel |
|
|
{ |
|
|
string connStr = $"server={Program.MysqlServer};user={Program.MysqlUser};database={Program.MysqlDatabase};port={Program.MysqlPort};password={Program.MysqlPassword}"; |
|
|
public List<Character> OnlineCharacters = new List<Character>(); |
|
|
public Dictionary<string, string> Realms = new Dictionary<string, string>(); |
|
|
|
|
|
public string ActivateEmail {get; set;} |
|
|
public string ActivatePassword {get; set;} |
|
|
public string ActivateToken {get; set;} |
|
|
public string RequestTokenEmail {get; set;} |
|
|
public string CharacterListType {get; set;} |
|
|
private MySqlConnection conn; |
|
|
|
|
|
private readonly ILogger<IndexModel> _logger; |
|
|
|
|
|
public IndexModel(ILogger<IndexModel> logger) |
|
|
{ |
|
|
_logger = logger; |
|
|
conn = new MySqlConnection(connStr); |
|
|
try |
|
|
{ |
|
|
conn.Open(); |
|
|
|
|
|
string sql = "select username,name,level,race,class from characters.characters join auth.account on characters.characters.account = auth.account.id where characters.characters.online = 1"; |
|
|
MySqlCommand cmd = new MySqlCommand(sql, conn); |
|
|
MySqlDataReader rdr = cmd.ExecuteReader(); |
|
|
CharacterListType = "Online Players"; |
|
|
while (rdr.Read()) |
|
|
{ |
|
|
Character c = new Character(); |
|
|
c.Username = rdr.GetString(0); |
|
|
c.Name = rdr.GetString(1); |
|
|
c.Level = rdr.GetByte(2); |
|
|
c.Race = rdr.GetByte(3); |
|
|
c.Class = rdr.GetByte(4); |
|
|
OnlineCharacters.Add(c); |
|
|
} |
|
|
rdr.Close(); |
|
|
sql = "SELECT name,flag FROM realmlist"; |
|
|
cmd = new MySqlCommand(sql, conn); |
|
|
rdr = cmd.ExecuteReader(); |
|
|
|
|
|
while (rdr.Read()) |
|
|
{ |
|
|
Realms.Add(rdr.GetString(0), rdr.GetString(1).Equals("2") ? "❌" : "✔️"); |
|
|
} |
|
|
rdr.Close(); |
|
|
conn.Close(); |
|
|
} |
|
|
catch (Exception ex) |
|
|
{ |
|
|
Console.WriteLine(ex.ToString()); |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
public void OnGet() {} |
|
|
public void OnGetAccount(string name) { |
|
|
Account a = new Account(name, conn); |
|
|
CharacterListType = $"{name}'s Characters"; |
|
|
OnlineCharacters = a.characters; |
|
|
} |
|
|
|
|
|
public void OnPostActivateAccount() { |
|
|
ActivateEmail = Request.Form["ActivateEmail"]; |
|
|
ActivatePassword = Request.Form["ActivatePassword"]; |
|
|
ActivateToken = Request.Form["ActivateToken"]; |
|
|
} |
|
|
public void OnPostRequestToken() { |
|
|
RequestTokenEmail = Request.Form["RequestTokenEmail"]; |
|
|
} |
|
|
|
|
|
public bool RequestToken() { |
|
|
return false; |
|
|
} |
|
|
public bool CreateAccount() { |
|
|
return false; |
|
|
} |
|
|
public bool IsTokenValid(string username, string token) { |
|
|
return false; |
|
|
} |
|
|
} |
|
|
}
|
|
|
|