diff --git a/ShiftOS.Server.WebAdmin/App.config b/ShiftOS.Server.WebAdmin/App.config deleted file mode 100644 index 2a7dffa..0000000 --- a/ShiftOS.Server.WebAdmin/App.config +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Program.cs b/ShiftOS.Server.WebAdmin/Program.cs deleted file mode 100644 index 1e4a0b8..0000000 --- a/ShiftOS.Server.WebAdmin/Program.cs +++ /dev/null @@ -1,808 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2017 Michael VanOverbeek and ShiftOS devs - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Nancy; -using Nancy.Authentication.Forms; -using Nancy.Bootstrapper; -using Nancy.Hosting.Self; -using Nancy.ModelBinding; -using Nancy.Security; -using Nancy.TinyIoc; -using Newtonsoft.Json; -using ShiftOS.Objects; - -namespace ShiftOS.Server.WebAdmin -{ - class Program - { - static void Main(string[] args) - { - var HostConf = new HostConfiguration(); - HostConf.UrlReservations.CreateAutomatically = true; - HostConf.RewriteLocalhost = true; - using(var nancy = new NancyHost(HostConf, new Uri("http://localhost:13371/mudadmin/"))) - { - nancy.Start(); - Console.WriteLine($"[{DateTime.Now}] Initiating on localhost:13371..."); - Console.ReadLine(); - } - } - } - - public static class PageBuilder - { - public static string Build(string page, Dictionary templateParams = null) - { - string templatehtml = Properties.Resources.HtmlTemplate; - if (templateParams == null) - { - templateParams = new Dictionary(); - } - if (!templateParams.ContainsKey("{logout}")) - { - templateParams.Add("{logout}", "
  • Log out
  • "); - } - if (SystemManager.MudIsRunning()) - { - templateParams.Add("{mud_power}", "
  • Power off
  • "); - templateParams.Add("{mud_restart}", "
  • Restart
  • "); - } - else - { - templateParams.Add("{mud_power}", "
  • Power on
  • "); - templateParams.Add("{mud_restart}", ""); - } - - if(templateParams["{logout}"] == "") - { - templateParams["{mud_power}"] = ""; - templateParams["{mud_restart}"] = ""; - - } - - switch (page) - { - case "status": - templatehtml = templatehtml.Replace("{body}", Properties.Resources.Status); - break; - case "login": - templatehtml = templatehtml.Replace("{body}", Properties.Resources.LoginView); - break; - case "initialsetup": - templatehtml = templatehtml.Replace("{body}", Properties.Resources.SetupView); - break; - } - try - { - foreach (var param in templateParams) - { - templatehtml = templatehtml.Replace(param.Key, param.Value); - } - } - catch { } - return templatehtml; - } - } - - public class MudUserIdentity : IUserIdentity - { - public MudUserIdentity(string username) - { - _username = username; - } - - public IEnumerable Claims - { - get - { - return SystemManager.GetClaims(_username); - } - } - - private string _username = ""; - - public string UserName - { - get - { - return _username; - } - } - } - - public static class SystemManager - { - public static bool MudIsRunning() - { - var processes = System.Diagnostics.Process.GetProcessesByName("ShiftOS.Server"); - return processes.Length > 0; - } - - public static void KillMud() - { - var processes = System.Diagnostics.Process.GetProcessesByName("ShiftOS.Server"); - for(int i = 0; i < processes.Length; i++) - { - try - { - processes[i].Kill(); - } - catch - { - } - } - } - - public static List GetClaims(string username) - { - foreach(var save in GetSaves()) - { - if (save.IsMUDAdmin) - { - return new List { "User", "Admin" }; - } - } - return new List(new[] { "User" }); - } - - public static Save[] GetSaves() - { - List saves = new List(); - if (Directory.Exists("saves")) - { - foreach(var saveFile in Directory.GetFiles("saves")) - { - try - { - saves.Add(JsonConvert.DeserializeObject(Server.Program.ReadEncFile(saveFile))); - } - catch { } - } - } - return saves.ToArray(); - } - - public static bool Login(string username, string password, out Guid id) - { - foreach (var user in GetSaves()) - { - if (user.Username == username && user.Password == password) - { - id = user.ID; - return true; - } - } - id = new Guid(); - return false; - } - - public static string BuildFormFromObject(object obj) - { - StringBuilder sb = new StringBuilder(); - sb.AppendLine("
    "); - foreach(var prop in obj.GetType().GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)) - { - string name = ""; - string description = "No description."; - foreach(var attrib in prop.GetCustomAttributes(false)) - { - if(attrib is FriendlyNameAttribute) - { - name = (attrib as FriendlyNameAttribute).Name; - } - if(attrib is FriendlyDescriptionAttribute) - { - description = (attrib as FriendlyDescriptionAttribute).Description; - } - } - if (name != "") - { - sb.AppendLine(""); - - sb.AppendLine($@" -"); - } - else - { - sb.AppendLine($""); - } - } - sb.AppendLine(""); - sb.AppendLine("
    -

    {name}

    -

    {description}

    -
    "); - if (prop.PropertyType == typeof(bool)) - { - string isChecked = ((bool)prop.GetValue(obj) == true) ? "checked" : ""; - sb.AppendLine($""); - } - else if (prop.PropertyType == typeof(string)) - { - sb.AppendLine($""); - } - - sb.AppendLine("
    "); - return sb.ToString(); - } - - public static Channel GetChat(string id) - { - if (File.Exists("chats.json")) - foreach (var channel in JsonConvert.DeserializeObject>(File.ReadAllText("chats.json"))) - { - if (channel.ID == id) - return channel; - } - return new Channel(); - } - - public static string BuildSaveListing(Save[] list) - { - StringBuilder sb = new StringBuilder(); - sb.AppendLine(""); - - sb.AppendLine(@" - - - - - - -"); - - foreach(var save in list) - { - sb.AppendLine($@" - - - - - - -"); - } - - sb.AppendLine("
    UsernameSystem NameCodepointsShiftorium UpgradesIs MUD AdminActions
    {save.Username}{save.SystemName}{save.Codepoints}{save.CountUpgrades()} installed, {save.Upgrades.Count} total{save.IsMUDAdmin} - Toggle admin - Delete save -
    "); - return sb.ToString(); - } - - - public static string GetAllChats() - { - StringBuilder sb = new StringBuilder(); - sb.AppendLine(""); - sb.AppendLine($@" - - - - - - "); - if (File.Exists("chats.json")) - { - foreach(var chat in JsonConvert.DeserializeObject>(File.ReadAllText("chats.json"))) - { - sb.AppendLine($@" - - - - - - - -"); - sb.AppendLine(CreateModal(chat.ID, "Delete " + chat.Name + "?", "Are you sure you want to delete this chat?", "/deletechat/" + chat.ID)); - } - } - sb.AppendLine("
    IDNameTopicIs Discord RelayDiscord channel IDDiscord Bot TokenActions
    {chat.ID}{chat.Name}{chat.Topic}{chat.IsDiscordProxy}{chat.DiscordChannelID}{chat.DiscordBotToken} - Edit - Delete -
    "); - return sb.ToString(); - } - - public static string CreateModal(string id, string title, string msg, string callbackUrl) - { - return $@"
    -
    - - -
    -
    - -

    {title}

    -
    -
    -

    {msg}

    -
    -
    - Yes - -
    -
    - -
    -
    "; - } - - public static string GetCPWorth() - { - if (System.IO.Directory.Exists("saves")) - { - long cp = 0; - - foreach(var file in System.IO.Directory.GetFiles("saves")) - { - if (file.EndsWith(".save")) - { - var save = JsonConvert.DeserializeObject(Server.Program.ReadEncFile(file)); - cp += save.Codepoints; - } - } - return cp.ToString(); - } - else - { - return "0"; - } - } - - public static string GetUserCount() - { - if (System.IO.Directory.Exists("saves")) - { - return System.IO.Directory.GetFiles("saves").Length.ToString(); - } - else - { - return "0"; - } - } - - public static MudUserIdentity GetIdentity(Guid id) - { - foreach (var user in GetSaves()) - { - if (user.ID == id) - { - return new WebAdmin.MudUserIdentity(user.Username); - } - } - return null; - } - - internal static void MakeAdmin(string username) - { - Save sav = null; - foreach(var save in GetSaves()) - { - if (save.Username == username) - sav = save; - } - if(sav != null) - { - sav.IsMUDAdmin = true; - Server.Program.WriteEncFile("saves/" + username + ".save", JsonConvert.SerializeObject(sav)); - } - } - - internal static Save[] GetAdmins() - { - var saves = new List(); - foreach(var save in GetSaves()) - { - if(save.IsMUDAdmin == true) - { - saves.Add(save); - } - } - return saves.ToArray(); - } - } - - public class MudUser - { - [FriendlyName("Username")] - [FriendlyDescription("The username you will appear as in-game.")] - public string Username { get; set; } - - [FriendlyName("Password")] - [FriendlyDescription("A password that you will use to log in to the admin panel and the game.")] - public string Password { get; set; } - - [FriendlyName("System name")] - [FriendlyDescription("An in-game hostname for your account. In ShiftOS, your user ID is always yourusername@yoursystemname. Be creative.")] - public string SystemName { get; set; } - - public Guid ID { get; set; } - } - - public class MudBootstrapper : DefaultNancyBootstrapper - { - protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) - { - var formsAuthConfiguration = new FormsAuthenticationConfiguration(); - formsAuthConfiguration.RedirectUrl = "~/login"; - formsAuthConfiguration.UserMapper = container.Resolve(); - FormsAuthentication.Enable(pipelines, formsAuthConfiguration); - base.ApplicationStartup(container, pipelines); - } - } - - - public class MudUserMapper : IUserMapper - { - public IUserIdentity GetUserFromIdentifier(Guid identifier, NancyContext context) - { - return SystemManager.GetIdentity(identifier); - } - } - - public class LoginModule : NancyModule - { - public LoginModule() - { - Get["/login"] = parameters => - { - if (SystemManager.GetSaves().Length > 0) - { - if (SystemManager.GetAdmins().Length > 0) - { - return PageBuilder.Build("login", new Dictionary - { - {"{logout}", "" } - }); - } - else - { - return PageBuilder.Build("initialsetup", new Dictionary - { - {"{logout}", "" }, - {"{savelist}", BuildSaveList() } - }); - } - } - else - { - return PageBuilder.Build("bla", new Dictionary - { - {"{body}", Properties.Resources.NoUsersFound }, - {"{user_create_form}", SystemManager.BuildFormFromObject(new MudUser()) } - }); - } - }; - - Get["/logout"] = parameters => - { - return this.Logout("~/"); - }; - - Post["/login"] = parameters => - { - if (SystemManager.GetSaves().Length > 0) - { - if (SystemManager.GetAdmins().Length == 0) - { - var user = this.Bind(); - SystemManager.MakeAdmin(user.username); - Guid id = new Guid(); - if(SystemManager.Login(user.username, user.password, out id) == true) - { - return this.Login(id); - } - return new UserModule().Redirect("/login"); - } - else - { - var user = this.Bind(); - Guid id = new Guid(); - if (SystemManager.Login(user.username, user.password, out id) == true) - { - return this.Login(id); - } - return new UserModule().Redirect("/login"); - } - } - else - { - var newUser = this.Bind(); - var save = new Save(); - save.Username = newUser.Username; - save.SystemName = newUser.SystemName; - save.Password = newUser.Password; - save.Codepoints = 0; - save.MyShop = ""; - save.Upgrades = new Dictionary(); - save.IsMUDAdmin = true; - save.StoryPosition = 1; - - if (!Directory.Exists("saves")) - Directory.CreateDirectory("saves"); - save.ID = Guid.NewGuid(); - - Server.Program.WriteEncFile("saves/" + save.Username + ".save", JsonConvert.SerializeObject(save)); - return this.Login(save.ID); - } - }; - } - - private string BuildSaveList() - { - StringBuilder sb = new StringBuilder(); - sb.AppendLine(""); - sb.AppendLine($@" - - - - -"); - - foreach(var save in SystemManager.GetSaves()) - { - sb.AppendLine($@" - - - - -"); - } - - sb.AppendLine("
    UsernameSystem nameCodepointsActions
    {save.Username}{save.SystemName}{save.Codepoints}
    - - -
    "); - return sb.ToString(); - } - } - - - - public class UserModule : NancyModule - { - public string Redirect(string url) - { - return $@" - - - -"; - } - - public UserModule() - { - this.RequiresAuthentication(); - this.RequiresClaims("Admin"); - Get["/"] = _ => - { - return Redirect("/status"); - }; - - Get["/toggleadmin/{id}"] = parameters => - { - string id = parameters.id; - for (int i = 0; i < SystemManager.GetSaves().Length; i++) - { - var save = SystemManager.GetSaves()[i]; - if(save.Username.ToString() == id) - { - save.IsMUDAdmin = !save.IsMUDAdmin; - Server.Program.WriteEncFile("saves/" + save.Username + ".save", JsonConvert.SerializeObject(save)); - } - } - return Redirect("/saves"); - - }; - - Get["/deletesave/{username}"] = parameters => - { - - - string id = parameters.username; - for (int i = 0; i < SystemManager.GetSaves().Length; i++) - { - if (SystemManager.GetSaves()[i].Username.ToString() == id) - { - File.Delete("saves/" + SystemManager.GetSaves()[i].Username + ".save"); - } - } - return Redirect("/saves"); - }; - - - Get["/saves"] = _ => - { - return PageBuilder.Build("bla", new Dictionary - { - { "{body}", Properties.Resources.GenericTableList }, - { "{listtitle}", "Test subjects" }, - { "{listdesc}", "Below is a list of test subjects (save files) on your multi-user domain. You can see their username, system name, Codepoints, amount of installed upgrades, and you can also perform basic actions on each save." }, - { "{list}", SystemManager.BuildSaveListing(SystemManager.GetSaves()) } - }); - }; - - Get["/status"] = _ => - { - return statusBuilder(); - }; - - Get["/deletechat/{id}"] = parameters => - { - string chatID = parameters.id; - var chats = JsonConvert.DeserializeObject>(File.ReadAllText("chats.json")); - for(int i = 0; i < chats.Count; i++) - { - try - { - if (chats[i].ID == chatID) - chats.RemoveAt(i); - } - catch { } - } - File.WriteAllText("chats.json", JsonConvert.SerializeObject(chats, Formatting.Indented)); - return Redirect("/chats"); - }; - - Get["/chats"] = _ => - { - return chatsListBuilder(); - }; - - Get["/createchat"] = _ => - { - return PageBuilder.Build("editchat", new Dictionary - { - {"{body}", Properties.Resources.ChatEditTemplate }, - {"{form}", SystemManager.BuildFormFromObject(new Channel()) } - }); - }; - - Post["/createchat"] = parameters => - { - var chat = this.Bind(); - chat.ID = chat.Name.ToLower().Replace(" ", "_"); - List chats = new List(); - if (File.Exists("chats.json")) - chats = JsonConvert.DeserializeObject>(File.ReadAllText("chats.json")); - - bool chatExists = false; - - for (int i = 0; i < chats.Count; i++) - { - if (chats[i].ID == chat.ID) - { - chats[i] = chat; - chatExists = true; - } - } - - if (!chatExists) - { - chats.Add(chat); - } - - File.WriteAllText("chats.json", JsonConvert.SerializeObject(chats, Formatting.Indented)); - - return Redirect("/chats"); - }; - - Get["/editchat/{id}"] = parameters => - { - return PageBuilder.Build("editchat", new Dictionary - { - {"{body}", Properties.Resources.ChatEditTemplate }, - {"{form}", SystemManager.BuildFormFromObject(SystemManager.GetChat(parameters.id)) } - }); - }; - - Post["/editchat/{id}"] = parameters => - { - var chat = this.Bind(); - chat.ID = chat.Name.ToLower().Replace(" ", "_"); - List chats = new List(); - if (File.Exists("chats.json")) - chats = JsonConvert.DeserializeObject>(File.ReadAllText("chats.json")); - - bool chatExists = false; - - for (int i = 0; i < chats.Count; i++) - { - if (chats[i].ID == chat.ID) - { - chats[i] = chat; - chatExists = true; - } - } - - if (!chatExists) - { - chats.Add(chat); - } - - File.WriteAllText("chats.json", JsonConvert.SerializeObject(chats, Formatting.Indented)); - return Redirect("/chats"); - }; - - Get["/poweron"] = _ => - { - if (!SystemManager.MudIsRunning()) - { - System.Diagnostics.Process.Start("ShiftOS.Server.exe"); - } - return Redirect("/"); - }; - - Get["/poweroff"] = _ => - { - if (SystemManager.MudIsRunning()) - { - SystemManager.KillMud(); - } - return Redirect("/"); - }; - Get["/restart"] = _ => - { - if (SystemManager.MudIsRunning()) - { - SystemManager.KillMud(); - } - return Redirect("/poweron"); - }; - } - - private string statusBuilder() - { - return PageBuilder.Build("status", new Dictionary{ - { "{cp_worth}", SystemManager.GetCPWorth() }, - { "{user_count}", SystemManager.GetUserCount() }, - { "{system_time}", DateTime.Now.ToString() }, - }); - - } - - private string chatsListBuilder() - { - return PageBuilder.Build("bla", new Dictionary - { - { "{body}", Properties.Resources.ChatListView }, - { "{chat_table}", SystemManager.GetAllChats() } - }); - } - } - - public class LoginRequest - { - public string username { get; set; } - public string password { get; set; } - } -} diff --git a/ShiftOS.Server.WebAdmin/Properties/AssemblyInfo.cs b/ShiftOS.Server.WebAdmin/Properties/AssemblyInfo.cs deleted file mode 100644 index 7a9d939..0000000 --- a/ShiftOS.Server.WebAdmin/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,60 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2017 Michael VanOverbeek and ShiftOS devs - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ShiftOS.Server.WebAdmin")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ShiftOS.Server.WebAdmin")] -[assembly: AssemblyCopyright("Copyright © 2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("b29fdd06-e6fe-40a2-8258-283728ced81a")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ShiftOS.Server.WebAdmin/Properties/Resources.Designer.cs b/ShiftOS.Server.WebAdmin/Properties/Resources.Designer.cs deleted file mode 100644 index 870aea3..0000000 --- a/ShiftOS.Server.WebAdmin/Properties/Resources.Designer.cs +++ /dev/null @@ -1,220 +0,0 @@ -/* - * MIT License - * - * Copyright (c) 2017 Michael VanOverbeek and ShiftOS devs - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace ShiftOS.Server.WebAdmin.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ShiftOS.Server.WebAdmin.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to <h3>Create/edit chat</h3> - /// - ///<p>Please fill out the details below for your channel list to be modified.</p> - /// - ///{form}. - /// - internal static string ChatEditTemplate { - get { - return ResourceManager.GetString("ChatEditTemplate", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <h3>Chats</h3> - /// - ///<p>On this page you can find a list of all chats in the system. Chats are a part of the multi-user domain that allows online players to talk to eachother in the 'MUD Chat' application.</p> - /// - ///<p>If you have a Discord server for your multi-user domain, you can also designate a ShiftOS chat to listen on a specific channel on your server. You will need to create a Discord Bot Token and specify the ID of the channel you want tolisten to.</p> - /// - ///<p>Once the chat is set up, you should see a bot [rest of string was truncated]";. - /// - internal static string ChatListView { - get { - return ResourceManager.GetString("ChatListView", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <h3>{listtitle}</h3> - /// - ///<p>{listdesc}</p> - /// - ///{list}. - /// - internal static string GenericTableList { - get { - return ResourceManager.GetString("GenericTableList", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <html> - /// <head> - /// <title>Multi-user domain &bull; ShiftOS</title> - /// <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> - /// - /// <link rel="stylesheet" href="http://getshiftos.ml/css/theme.css"/> - /// - /// <!-- Latest compiled and minified JavaScript --> - /// <script src="https://code.jquery.com/jquery-3.1.1.js" integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7C [rest of string was truncated]";. - /// - internal static string HtmlTemplate { - get { - return ResourceManager.GetString("HtmlTemplate", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <h3>Access denied.</h3> - /// - ///<p>You require a higher authentication level to access this part of the multi-user domain. Please enter the username and password of whom has access to this sector.</p> - /// - ///<form method="post" action=""> - /// <table class="table"> - /// <tr> - /// <td><strong>Username:</strong></td> - /// <td><input class="form-control" type="text" name="username"/></td> - /// </tr> - /// <tr> - /// <td><strong>Password:</strong></td> - /// <td><input class="form-control" type="password" name="password"/></td> - /// </tr [rest of string was truncated]";. - /// - internal static string LoginView { - get { - return ResourceManager.GetString("LoginView", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <h3>No users found.</h3> - /// - ///<p>Your multi-user domain is newly-created. Before you can use the admin panel, you must create a ShiftOS user to act as the administrator of the MUD.</p> - /// - ///{user_create_form}. - /// - internal static string NoUsersFound { - get { - return ResourceManager.GetString("NoUsersFound", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <h1>Initial setup</h1> - /// - ///<p>This multi-user domain contains some users, however none of them are administrators. Please choose your user to make it an admin.</p> - /// - ///{savelist}. - /// - internal static string SetupView { - get { - return ResourceManager.GetString("SetupView", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to <h3>System status</h3> - /// - ///<p>Below is a summary of this multi-user domain's status.</p> - /// - ///<div class="row"> - /// <div class="col-xs-6"> - /// <h4>MUD stats</h4> - /// <ul> - /// <li>This server is worth <strong>{cp_worth}</strong> Codepoints.</li> - /// <li>This server has <strong>{user_count}</strong> players registered.</li> - /// </ul> - /// </div> - /// <div class="col-xs-6"> - /// <h4>System environment</h4> - /// <ul> - /// <li><strong>Current system time:</strong> {system_time}</li> - /// </ul> - /// </div> - ///</div>. - /// - internal static string Status { - get { - return ResourceManager.GetString("Status", resourceCulture); - } - } - } -} diff --git a/ShiftOS.Server.WebAdmin/Properties/Resources.resx b/ShiftOS.Server.WebAdmin/Properties/Resources.resx deleted file mode 100644 index b756946..0000000 --- a/ShiftOS.Server.WebAdmin/Properties/Resources.resx +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - ..\Resources\ChatEditTemplate.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\ChatListView.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\GenericTableList.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\HtmlTemplate.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\LoginView.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\NoUsersFound.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\SetupView.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - - ..\Resources\Status.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - - \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/ChatEditTemplate.txt b/ShiftOS.Server.WebAdmin/Resources/ChatEditTemplate.txt deleted file mode 100644 index 0c8a7b5..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/ChatEditTemplate.txt +++ /dev/null @@ -1,5 +0,0 @@ -

    Create/edit chat

    - -

    Please fill out the details below for your channel list to be modified.

    - -{form} \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/ChatListView.txt b/ShiftOS.Server.WebAdmin/Resources/ChatListView.txt deleted file mode 100644 index eedfc07..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/ChatListView.txt +++ /dev/null @@ -1,11 +0,0 @@ -

    Chats

    - -

    On this page you can find a list of all chats in the system. Chats are a part of the multi-user domain that allows online players to talk to eachother in the 'MUD Chat' application.

    - -

    If you have a Discord server for your multi-user domain, you can also designate a ShiftOS chat to listen on a specific channel on your server. You will need to create a Discord Bot Token and specify the ID of the channel you want tolisten to.

    - -

    Once the chat is set up, you should see a bot join your Discord server. Once it does, any messages received by the server in that channel will be relayed into ShiftOS, and any messages received by the MUD in the ShiftOS channel will be relayed to Discord.

    - - Create chat - -{chat_table} \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/GenericTableList.txt b/ShiftOS.Server.WebAdmin/Resources/GenericTableList.txt deleted file mode 100644 index 3cbfd6e..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/GenericTableList.txt +++ /dev/null @@ -1,5 +0,0 @@ -

    {listtitle}

    - -

    {listdesc}

    - -{list} \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/HtmlTemplate.txt b/ShiftOS.Server.WebAdmin/Resources/HtmlTemplate.txt deleted file mode 100644 index 82893e9..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/HtmlTemplate.txt +++ /dev/null @@ -1,58 +0,0 @@ - - - Multi-user domain • ShiftOS - - - - - - - - - - - - - -
    -
    - {body} - -

    ShiftOS - MUD admin panel - Copyright © 2017 ShiftOS developers

    -
    -
    - - \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/LoginView.txt b/ShiftOS.Server.WebAdmin/Resources/LoginView.txt deleted file mode 100644 index d5e61cf..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/LoginView.txt +++ /dev/null @@ -1,31 +0,0 @@ -

    Access denied.

    - -

    You require a higher authentication level to access this part of the multi-user domain. Please enter the username and password of whom has access to this sector.

    - -
    - - - - - - - - - - - - - -
    Username:
    Password:
    -
    - -
    -
    -

    What are my credentials?

    -

    If you do not know your credentials, you are not a ShiftOS developer with write-access to the GitHub repository and authorized access to the multi-user domain's backend, so we ask that you get off this site and try to hack the MUD in-game. Thank you.

    -
    -
    -

    I am a developer.

    -

    Please contact Michael VanOverbeek if you are a developer and have not yet received your credentials.

    -
    -
    \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/NoUsersFound.txt b/ShiftOS.Server.WebAdmin/Resources/NoUsersFound.txt deleted file mode 100644 index 7524fa5..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/NoUsersFound.txt +++ /dev/null @@ -1,5 +0,0 @@ -

    No users found.

    - -

    Your multi-user domain is newly-created. Before you can use the admin panel, you must create a ShiftOS user to act as the administrator of the MUD.

    - -{user_create_form} \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/SetupView.txt b/ShiftOS.Server.WebAdmin/Resources/SetupView.txt deleted file mode 100644 index 9e83a45..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/SetupView.txt +++ /dev/null @@ -1,5 +0,0 @@ -

    Initial setup

    - -

    This multi-user domain contains some users, however none of them are administrators. Please choose your user to make it an admin.

    - -{savelist} \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/Resources/Status.txt b/ShiftOS.Server.WebAdmin/Resources/Status.txt deleted file mode 100644 index b63d9cd..0000000 --- a/ShiftOS.Server.WebAdmin/Resources/Status.txt +++ /dev/null @@ -1,19 +0,0 @@ -

    System status

    - -

    Below is a summary of this multi-user domain's status.

    - -
    -
    -

    MUD stats

    -
      -
    • This server is worth {cp_worth} Codepoints.
    • -
    • This server has {user_count} players registered.
    • -
    -
    -
    -

    System environment

    -
      -
    • Current system time: {system_time}
    • -
    -
    -
    \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/ShiftOS.Server.WebAdmin.csproj b/ShiftOS.Server.WebAdmin/ShiftOS.Server.WebAdmin.csproj deleted file mode 100644 index faec295..0000000 --- a/ShiftOS.Server.WebAdmin/ShiftOS.Server.WebAdmin.csproj +++ /dev/null @@ -1,126 +0,0 @@ - - - - - Debug - AnyCPU - {B29FDD06-E6FE-40A2-8258-283728CED81A} - Exe - Properties - ShiftOS.Server.WebAdmin - ShiftOS.Server.WebAdmin - v4.5.2 - 512 - true - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\packages\Nancy.1.4.3\lib\net40\Nancy.dll - True - - - ..\packages\Nancy.Authentication.Forms.1.4.1\lib\net40\Nancy.Authentication.Forms.dll - True - - - ..\packages\Nancy.Authentication.Stateless.1.4.1\lib\net40\Nancy.Authentication.Stateless.dll - True - - - ..\packages\Nancy.Hosting.Self.1.4.1\lib\net40\Nancy.Hosting.Self.dll - True - - - ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll - True - - - - - - - - - - - - - - - True - True - Resources.resx - - - - - - - - - {A069089A-8962-4607-B2B2-4CF4A371066E} - ShiftOS.Objects - - - {226c63b4-e60d-4949-b4e7-7a2ddbb96776} - ShiftOS.Server - - - - - ResXFileCodeGenerator - Resources.Designer.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ShiftOS.Server.WebAdmin/packages.config b/ShiftOS.Server.WebAdmin/packages.config deleted file mode 100644 index a403e33..0000000 --- a/ShiftOS.Server.WebAdmin/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file