public void HandleNotes(IRCMessage sIRCMessage)
{
var sSendMessage = sIrcBase.Networks[sIRCMessage.ServerName].sSendMessage;
if (sIRCMessage.Info.Length >= 6 && sIRCMessage.Info[4].ToLower() == "user" && sIRCMessage.Info[5].ToLower() == "register")
{
}
else
{
if (!Warning(sIRCMessage))
{
return;
}
}
if (sIRCMessage.Info.Length < 5)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoValue", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if (sIRCMessage.Info[4].ToLower() == "info")
{
if (!IsUser(sIRCMessage.Nick, sIRCMessage.Host))
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoDataNoCommand", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
var db = SchumixBase.DManager.Query("SELECT Code FROM notes WHERE Name = '{0}' And ServerName = '{1}'", sIRCMessage.Nick.ToLower(), sIRCMessage.ServerName);
if (!db.IsNull())
{
string codes = string.Empty;
foreach (DataRow row in db.Rows)
{
string code = row["Code"].ToString();
codes += ", " + code;
}
if (codes.IsNullOrEmpty())
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("notes/info", sIRCMessage.Channel, sIRCMessage.ServerName), sLConsole.Other("Nothing"));
}
else
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("notes/info", sIRCMessage.Channel, sIRCMessage.ServerName), codes.Remove(0, 2, ", "));
}
}
else
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("FaultyQuery", sIRCMessage.Channel, sIRCMessage.ServerName));
}
}
else if (sIRCMessage.Info[4].ToLower() == "user")
{
if (sIRCMessage.Info.Length < 6)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoValue", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if (sIRCMessage.Info[5].ToLower() == "access")
{
var text = sLManager.GetCommandTexts("notes/user/access", sIRCMessage.Channel, sIRCMessage.ServerName);
if (text.Length < 4)
{
sSendMessage.SendChatMessage(sIRCMessage, sLConsole.Translations("NoFound2", sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName)));
return;
}
if (sIRCMessage.Info.Length < 7)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoPassword", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
string name = sIRCMessage.Nick;
var db = SchumixBase.DManager.QueryFirstRow("SELECT Password FROM notes_users WHERE Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName);
if (!db.IsNull())
{
if (db["Password"].ToString() == sUtilities.Sha1(sIRCMessage.Info[6]))
{
SchumixBase.DManager.Update("notes_users", string.Format("Vhost = '{0}'", sIRCMessage.Host), string.Format("Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName));
sSendMessage.SendChatMessage(sIRCMessage, text[0]);
}
else
{
sSendMessage.SendChatMessage(sIRCMessage, text[1]);
}
}
if (!sNameList.IsChannelList(name))
{
sSendMessage.SendChatMessage(sIRCMessage, text[2]);
sSendMessage.SendChatMessage(sIRCMessage, text[3]);
sNameList.NewThread(name);
}
}
else if (sIRCMessage.Info[5].ToLower() == "newpassword")
{
var text = sLManager.GetCommandTexts("notes/user/newpassword", sIRCMessage.Channel, sIRCMessage.ServerName);
if (text.Length < 2)
{
sSendMessage.SendChatMessage(sIRCMessage, sLConsole.Translations("NoFound2", sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName)));
return;
}
if (sIRCMessage.Info.Length < 7)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoOldPassword", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if (sIRCMessage.Info.Length < 8)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoNewPassword", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
string name = sIRCMessage.Nick;
var db = SchumixBase.DManager.QueryFirstRow("SELECT Password FROM notes_users WHERE Name = '{0}' And ServerName = '{1}'", name.ToLower(), _servername);
if (!db.IsNull())
{
if (db["Password"].ToString() == sUtilities.Sha1(sIRCMessage.Info[6]))
{
SchumixBase.DManager.Update("notes_users", string.Format("Password = '******'", sUtilities.Sha1(sIRCMessage.Info[7])), string.Format("Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName));
sSendMessage.SendChatMessage(sIRCMessage, text[0], sIRCMessage.Info[7]);
}
else
{
sSendMessage.SendChatMessage(sIRCMessage, text[1]);
}
}
}
else if (sIRCMessage.Info[5].ToLower() == "register")
{
var text = sLManager.GetCommandTexts("notes/user/register", sIRCMessage.Channel, sIRCMessage.ServerName);
if (text.Length < 2)
{
sSendMessage.SendChatMessage(sIRCMessage, sLConsole.Translations("NoFound2", sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName)));
return;
}
if (sIRCMessage.Info.Length < 7)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoPassword", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
string name = sIRCMessage.Nick;
var db = SchumixBase.DManager.QueryFirstRow("SELECT 1 FROM notes_users WHERE Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName);
if (!db.IsNull())
{
sSendMessage.SendChatMessage(sIRCMessage, text[0]);
return;
}
string pass = sIRCMessage.Info[6];
SchumixBase.DManager.Insert("`notes_users`(ServerId, ServerName, Name, Password, Vhost)", sIRCMessage.ServerId, sIRCMessage.ServerName, name.ToLower(), sUtilities.Sha1(pass), sIRCMessage.Host);
sSendMessage.SendChatMessage(sIRCMessage, text[1]);
}
else if (sIRCMessage.Info[5].ToLower() == "remove")
{
var text = sLManager.GetCommandTexts("notes/user/remove", sIRCMessage.Channel, sIRCMessage.ServerName);
if (text.Length < 5)
{
sSendMessage.SendChatMessage(sIRCMessage, sLConsole.Translations("NoFound2", sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName)));
return;
}
if (sIRCMessage.Info.Length < 7)
{
sSendMessage.SendChatMessage(sIRCMessage, text[0]);
return;
}
string name = sIRCMessage.Nick;
var db = SchumixBase.DManager.QueryFirstRow("SELECT 1 FROM notes_users WHERE Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName);
if (db.IsNull())
{
sSendMessage.SendChatMessage(sIRCMessage, text[1]);
return;
}
db = SchumixBase.DManager.QueryFirstRow("SELECT Password FROM notes_users WHERE Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName);
if (!db.IsNull())
{
if (db["Password"].ToString() != sUtilities.Sha1(sIRCMessage.Info[6]))
{
sSendMessage.SendChatMessage(sIRCMessage, text[2]);
sSendMessage.SendChatMessage(sIRCMessage, text[3]);
return;
}
}
SchumixBase.DManager.Delete("notes_users", string.Format("Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName));
SchumixBase.DManager.Delete("notes", string.Format("Name = '{0}' And ServerName = '{1}'", name.ToLower(), sIRCMessage.ServerName));
sSendMessage.SendChatMessage(sIRCMessage, text[4]);
}
}
else if (sIRCMessage.Info[4].ToLower() == "code")
{
if (!IsUser(sIRCMessage.Nick, sIRCMessage.Host))
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoDataNoCommand", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if (sIRCMessage.Info.Length < 6)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoCode", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if (sIRCMessage.Info[5].ToLower() == "remove")
{
var text = sLManager.GetCommandTexts("notes/code/remove", sIRCMessage.Channel, sIRCMessage.ServerName);
if (text.Length < 2)
{
sSendMessage.SendChatMessage(sIRCMessage, sLConsole.Translations("NoFound2", sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName)));
return;
}
if (sIRCMessage.Info.Length < 7)
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoCode", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
var db = SchumixBase.DManager.QueryFirstRow("SELECT 1 FROM notes WHERE Code = '{0}' AND Name = '{1}' And ServerName = '{2}'", sUtilities.SqlEscape(sIRCMessage.Info[6].ToLower()), sIRCMessage.Nick.ToLower(), sIRCMessage.ServerName);
if (db.IsNull())
{
sSendMessage.SendChatMessage(sIRCMessage, text[0]);
return;
}
SchumixBase.DManager.Delete("notes", string.Format("Code = '{0}' AND Name = '{1}' And ServerName = '{2}'", sUtilities.SqlEscape(sIRCMessage.Info[6].ToLower()), sIRCMessage.Nick.ToLower(), sIRCMessage.ServerName));
sSendMessage.SendChatMessage(sIRCMessage, text[1]);
}
else
{
var db = SchumixBase.DManager.QueryFirstRow("SELECT Note FROM notes WHERE Code = '{0}' AND Name = '{1}' And ServerName = '{2}'", sUtilities.SqlEscape(sIRCMessage.Info[5].ToLower()), sIRCMessage.Nick.ToLower(), sIRCMessage.ServerName);
if (!db.IsNull())
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetCommandText("notes/code", sIRCMessage.Channel, sIRCMessage.ServerName), db["Note"].ToString());
}
else
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("FaultyQuery", sIRCMessage.Channel, sIRCMessage.ServerName));
}
}
}
else
{
var text = sLManager.GetCommandTexts("notes", sIRCMessage.Channel, sIRCMessage.ServerName);
if (text.Length < 3)
{
sSendMessage.SendChatMessage(sIRCMessage, sLConsole.Translations("NoFound2", sLManager.GetChannelLocalization(sIRCMessage.Channel, sIRCMessage.ServerName)));
return;
}
if (!IsUser(sIRCMessage.Nick, sIRCMessage.Host))
{
sSendMessage.SendChatMessage(sIRCMessage, sLManager.GetWarningText("NoDataNoCommand", sIRCMessage.Channel, sIRCMessage.ServerName));
return;
}
if (sIRCMessage.Info.Length < 6)
{
sSendMessage.SendChatMessage(sIRCMessage, text[0]);
return;
}
string code = sIRCMessage.Info[4];
var db = SchumixBase.DManager.QueryFirstRow("SELECT 1 FROM notes WHERE Code = '{0}' AND Name = '{1}' And ServerName = '{2}'", sUtilities.SqlEscape(code.ToLower()), sIRCMessage.Nick.ToLower(), sIRCMessage.ServerName);
if (!db.IsNull())
{
sSendMessage.SendChatMessage(sIRCMessage, text[1]);
return;
}
SchumixBase.DManager.Insert("`notes`(ServerId, ServerName, Code, Name, Note)", sIRCMessage.ServerId, sIRCMessage.ServerName, sUtilities.SqlEscape(code.ToLower()), sIRCMessage.Nick.ToLower(), sUtilities.SqlEscape(sIRCMessage.Info.SplitToString(5, SchumixBase.Space)));
sSendMessage.SendChatMessage(sIRCMessage, text[2], code);
}
}