using framework_business; using framework_library; using System; using System.Reflection; using System.Web.UI; public partial class Reset : System.Web.UI.Page { /// /// Page Load event /// /// /// protected void Page_Load(object sender, EventArgs e) { bool validatedReset = false; try { if(!Page.IsPostBack) { if (Request.QueryString["q"] != null && Request.QueryString["q"] != String.Empty) { encryption encReset = new encryption("r3s3t"); //decrypt query string string resetCode = String.Empty; try { /* Charlene van Heerden - 15 January 2016 * q is UrlEncoded, but Request.QueryString[] automatically decodes, don't decode again, otherwise it messes up some of the char (+) */ resetCode = encReset.decryptData(Request.QueryString["q"]); } catch { } oSetup _setup = handler.ReturnSetup(); foreach (oUser usrReset in xData.GetTypedByCriteriaSpecific("recId", typeof(oUser), "isActive,resetCode,customerCode", "1," + resetCode + "," + _setup.code, "", "pal_",true)) { if (usrReset.isReset && usrReset.dateUpdated.AddHours(12) > DateTime.Now) { Session["userRST"] = usrReset; validatedReset = true; break; } else { validatedReset = false; } } if (validatedReset) { pnlResetPassword.Visible = true; pnlResetExpired.Visible = false; } else { pnlResetPassword.Visible = false; pnlResetExpired.Visible = true; } } else { Response.Redirect("/home", false); } } } catch (Exception ex) { exception.HandleException("Reset:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } /// /// Click event to reset to password and login /// /// /// protected void btnReset_Click(object sender, EventArgs e) { try { if (utils.verifySession("userRST")) { oUser user = (oUser)Session["userRST"]; encryption encrypt = new encryption("p@l3tt3"); user.password = encrypt.encryptValue(txtResetPassword.Value); user.isReset = false; user.resetCode = String.Empty; user.dateUpdated = DateTime.Now; //update user if (xData.UpdateTyped("recId", user.recId.ToString(), typeof(oUser), user, "pal_", true)) { Session["user"] = user; Response.Redirect("/home", false); } } } catch (Exception ex) { exception.HandleException("Reset:", MethodBase.GetCurrentMethod().Name, ex, Session["user"]); Response.Redirect("/error", false); } } }