private static bool Deserialize(XmlDocument doc) { VitaNexCore.TryCatch( () => { if (doc.FirstChild == null || doc.FirstChild.Name != "messages") { return; } XmlElement root = doc["messages"]; if (root == null) { return; } MOTDMessage message; TimeStamp date; bool published; string author, title, content, uid; foreach (XmlElement node in root) { VitaNexCore.TryCatch( () => { date = node.HasAttribute("timestamp") ? (TimeStamp)Double.Parse(node.GetAttribute("timestamp")) : TimeStamp.UtcNow; published = !node.HasAttribute("published") || Boolean.Parse(node.GetAttribute("published")); author = node.HasAttribute("author") ? node.GetAttribute("author") : "Anonymous"; title = node.HasAttribute("title") ? node.GetAttribute("title") : "Update"; content = node["content"] != null ? node["content"].InnerText.Replace(@"\r\n", "[br]") : String.Empty; uid = node.HasAttribute("uid") ? node.GetAttribute("uid") : CryptoGenerator.GenString(CryptoHashType.MD5, String.Format("{0}", date.Stamp)).Replace("-", ""); message = new MOTDMessage(uid, date, title, content, author, published); if (Messages.ContainsKey(uid)) { Messages[uid] = message; } else { Messages.Add(uid, message); } }, CMOptions.ToConsole); } }, CMOptions.ToConsole); return(true); }
private static bool HandlePopupRequest(PlayerMobile user, MOTDMessage message) { if (user == null || user.Deleted) { return(false); } if (message == null) { user.SendMessage(0x22, "No message to display."); return(false); } SuperGump.Send(new MOTDMessageOverviewGump(user, selected: message)); return(true); }