HasUuid() public method

public HasUuid ( string uuid ) : bool
uuid string
return bool
Esempio n. 1
0
 protected override void HandleRequest()
 {
     using (var db = new Database())
     {
         if (!IsUsername(Query["newGUID"])) WriteErrorLine("Invalid Username");
         else
         {
             if (db.HasUuid(Query["guid"]) && db.Verify(Query["guid"], "") != null)
             {
                 if (db.HasUuid(Query["newGUID"])) WriteErrorLine("Username is already taken");
                 else
                 {
                     var cmd = db.CreateQuery();
                     cmd.CommandText = "UPDATE accounts SET uuid=@newUuid, name=@newUuid, password=SHA1(@password), guest=FALSE WHERE uuid=@uuid, name=@name;";
                     cmd.Parameters.AddWithValue("@uuid", Query["guid"]);
                     cmd.Parameters.AddWithValue("@newUuid", Query["newGUID"]);
                     cmd.Parameters.AddWithValue("@password", Query["newPassword"]);
                     if (cmd.ExecuteNonQuery() > 0) Success();
                     else WriteErrorLine("Internal Error");
                 }
             }
             else
             {
                 if (db.Register(Query["newGUID"], Query["newPassword"], false) != null) Success();
                 else WriteErrorLine("Internal Error");
             }
         }
     }
 }
Esempio n. 2
0
        public override void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;
            using (var rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            using (var db = new Database(Program.Settings.GetValue("conn")))
            {
                byte[] status;
                if (!IsUsername(query["newGUID"]))
                    status = Encoding.UTF8.GetBytes("<Error>Invalid username</Error>");
                else
                {
                    if (db.HasUuid(query["guid"]) &&
                        db.Verify(query["guid"], "") != null)
                    {
                        if (db.HasUuid(query["newGUID"]))
                            status = Encoding.UTF8.GetBytes("<Error>Duplicate username</Error>");
                        else if (db.HasEmail(query["email"]))
                            status = Encoding.UTF8.GetBytes("<Error>Duplicate email</Error>");
                        else
                        {
                            MySqlCommand cmd = db.CreateQuery();
                            cmd.CommandText =
                                "UPDATE accounts SET uuid=@newUuid, password=SHA1(@password), email=@email, guest=FALSE WHERE uuid=@uuid;";
                            cmd.Parameters.AddWithValue("@uuid", query["guid"]);
                            cmd.Parameters.AddWithValue("@newUuid", query["newGUID"]);
                            cmd.Parameters.AddWithValue("@password", query["newPassword"]);
                            cmd.Parameters.AddWithValue("@email", query["email"]);
                            if (cmd.ExecuteNonQuery() > 0)
                                status = Encoding.UTF8.GetBytes("<Success />");
                            else
                                status = Encoding.UTF8.GetBytes("<Error>Internal Error</Error>");
                        }
                    }
                    else
                    {
                        if (db.HasUuid(query["newGUID"])) {
                            status = Encoding.UTF8.GetBytes("<Error>Duplicate username</Error>");
                        } else if (db.HasEmail(query["email"])) {
                            status = Encoding.UTF8.GetBytes("<Error>Duplicate email</Error>");
                        } else {
                            if (db.Register(query["newGUID"], query["newPassword"], query["email"], false) != null)
                                status = Encoding.UTF8.GetBytes("<Success />");
                            else
                                status = Encoding.UTF8.GetBytes("<Error>Internal Error</Error>");
                        }
                    }
                }
                context.Response.OutputStream.Write(status, 0, status.Length);
            }
        }
Esempio n. 3
0
        public void HandleRequest(HttpListenerContext context)
        {
            NameValueCollection query;
            using (StreamReader rdr = new StreamReader(context.Request.InputStream))
                query = HttpUtility.ParseQueryString(rdr.ReadToEnd());

            using (var db = new Database())
            {
                byte[] status;
                if (0 != 0/*!IsValidEmail(query["newGUID"])*/)
                    status = Encoding.UTF8.GetBytes("<Error>Invalid Username</Error>");
                else
                {
                    if (db.HasUuid(query["guid"]) &&
                        db.Verify(query["guid"], "") != null)
                    {
                        if (db.HasUuid(query["newGUID"]))
                            status = Encoding.UTF8.GetBytes("<Error>Username is already taken!</Error>");
                        else
                        {
                            var cmd = db.CreateQuery();
                            cmd.CommandText = "UPDATE accounts SET uuid=@newUuid, name=@newUuid, password=SHA1(@password), guest=FALSE WHERE uuid=@uuid, name=@name;";
                            cmd.Parameters.AddWithValue("@uuid", query["guid"]);
                            cmd.Parameters.AddWithValue("@newUuid", query["newGUID"]);
                            cmd.Parameters.AddWithValue("@password", query["newPassword"]);
                            if (cmd.ExecuteNonQuery() > 0)
                                status = Encoding.UTF8.GetBytes("<Success />");
                            else
                                status = Encoding.UTF8.GetBytes("<Error>Internal Error</Error>");
                        }
                    }
                    else
                    {
                        if (db.Register(query["newGUID"], query["newPassword"], false) != null)
                            status = Encoding.UTF8.GetBytes("<Success />");
                        else
                            status = Encoding.UTF8.GetBytes("<Error>Internal Error</Error>");
                    }
                }
                context.Response.OutputStream.Write(status, 0, status.Length);
            }
        }
Esempio n. 4
0
 protected override void HandleRequest()
 {
     using (var db = new Database())
     {
         byte[] status;
         if (0 != 0/*!IsValidEmail(query["newGUID"])*/)
             status = Encoding.UTF8.GetBytes("<Error>Invalid Username</Error>");
         else
         {
             if (db.HasUuid(Query["guid"]) &&
                 db.Verify(Query["guid"], "") != null)
             {
                 if (db.HasUuid(Query["newGUID"]))
                     status = Encoding.UTF8.GetBytes("<Error>Username is already taken!</Error>");
                 else
                 {
                     var cmd = db.CreateQuery();
                     cmd.CommandText = "UPDATE accounts SET uuid=@newUuid, name=@newUuid, password=SHA1(@password), guest=FALSE WHERE uuid=@uuid, name=@name;";
                     cmd.Parameters.AddWithValue("@uuid", Query["guid"]);
                     cmd.Parameters.AddWithValue("@newUuid", Query["newGUID"]);
                     cmd.Parameters.AddWithValue("@password", Query["newPassword"]);
                     if (cmd.ExecuteNonQuery() > 0)
                         status = Encoding.UTF8.GetBytes("<Success />");
                     else
                         status = Encoding.UTF8.GetBytes("<Error>Internal Error</Error>");
                 }
             }
             else
             {
                 if (db.Register(Query["newGUID"], Query["newPassword"], false) != null)
                     status = Encoding.UTF8.GetBytes("<Success />");
                 else
                     status = Encoding.UTF8.GetBytes("<Error>Internal Error</Error>");
             }
         }
         Context.Response.OutputStream.Write(status, 0, status.Length);
     }
 }
        protected override void HandleRequest()
        {
            if (Query["ignore"] == null || !String.IsNullOrWhiteSpace(Query["entrytag"]) || String.IsNullOrWhiteSpace(Query["isAgeVerified"]) || !Query["newGUID"].Contains("@"))
            {
                using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
                    wtr.Write("<Error>WebRegister.invalid_email_address</Error>");
                return;
            }

            if (Query.AllKeys.Length != 6)
            {
                using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
                    wtr.Write("<Error>WebRegister.invalid_email_address</Error>");
                return;
            }

            if (!IsValidEmail(Query["newGuid"]))
            {
                using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
                    wtr.Write("<Error>WebRegister.invalid_email_address</Error>");
                return;
            }

            using (Database db = new Database())
            {
                byte[] status;
                if (!IsValidEmail(Query["newGUID"]))
                    status = Encoding.UTF8.GetBytes("<Error>WebForgotPasswordDialog.emailError</Error>");
                if (db.HasUuid(Query["guid"]) &&
                    !db.Verify(Query["guid"], "", Program.GameData).IsGuestAccount)
                {
                    if (db.HasUuid(Query["newGUID"]))
                        status = Encoding.UTF8.GetBytes("<Error>Error.emailAlreadyUsed</Error>");
                    else
                    {
                        var cmd = db.CreateQuery();
                        cmd.CommandText = "UPDATE accounts SET uuid=@newUuid, name=@newUuid, password=SHA1(@password), guest=FALSE, line1=@empty, line2=@empty, line3=@empty WHERE uuid=@uuid, name=@name;";
                        cmd.Parameters.AddWithValue("@uuid", Query["guid"]);
                        cmd.Parameters.AddWithValue("@newUuid", Query["newGUID"]);
                        cmd.Parameters.AddWithValue("@password", Query["newPassword"]);
                        cmd.Parameters.AddWithValue("@empty", string.Empty);

                        if (cmd.ExecuteNonQuery() > 0)
                            status = Encoding.UTF8.GetBytes("<Success />");
                        else
                            status = Encoding.UTF8.GetBytes("<Error>Error.emailAlreadyUsed</Error>");
                    }
                }
                else
                {
                    Account acc = db.Register(Query["newGUID"], Query["newPassword"], false, Program.GameData);
                    if (acc != null)
                    {
                        if (Program.Settings.GetValue<bool>("verifyEmail"))
                        {
                            MailMessage message = new MailMessage();
                            message.To.Add(Query["newGuid"]);
                            message.IsBodyHtml = true;
                            message.Subject = "Please verify your account.";
                            message.From = new MailAddress(Program.Settings.GetValue<string>("serverEmail", ""));
                            message.Body = "<center>Please verify your email via this <a href=\"" + Program.Settings.GetValue<string>("serverDomain", "localhost") + "/account/validateEmail?authToken=" + acc.AuthToken + "\" target=\"_blank\">link</a>.</center>";
                            Program.SendEmail(message, true);
                        }
                        status = Encoding.UTF8.GetBytes("<Success/>");
                    }
                    else
                        status = Encoding.UTF8.GetBytes("<Error>Error.emailAlreadyUsed</Error>");
                }
                Context.Response.OutputStream.Write(status, 0, status.Length);
            }
        }