Beispiel #1
0
        public ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
        {
            var httpContext = context.ControllerContext.RequestContext.HttpContext;

            var site = context.PageRequestContext.Site;

            var repository = site.GetRepository();

            if (repository == null)
            {
                throw new SiteRepositoryNotExists();
            }
            object    model     = null;
            Exception exception = null;

            try
            {
                var folderName = context.ControllerContext.RequestContext.GetRequestValue("FolderName");
                if (!string.IsNullOrEmpty(folderName))
                {
                    var folder = FolderHelper.Parse <TextFolder>(repository, folderName);
                    model = DoPost(repository, folder, context.ControllerContext, context.ControllerContext.HttpContext.Request.Form);
                }
            }
            catch (Exception e)
            {
                exception = e;
            }

            return(PluginHelper.ReturnActionResult(context.ControllerContext, model, exception));
        }
Beispiel #2
0
        public System.Web.Mvc.ActionResult HttpGet(Page_Context context, PagePositionContext positionContext)
        {
            _responseManager.SetHeader("SamplePlugin", "GET");

            //context.ControllerContext.Controller.ViewBag.ovos = "ovos";

            //context.ControllerContext.Controller.ControllerContext.

            return(null);
        }
Beispiel #3
0
        public virtual ActionResult Execute(Page_Context pageContext, PagePositionContext positionContext)
        {
            PageContext         = pageContext;
            PagePositionContext = positionContext;
            Context             = pageContext.ControllerContext.HttpContext;
            Request             = Context.Request;
            Response            = Context.Response;

            return(Execute());
        }
        public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
        {
            HttpRequestBase request    = context.ControllerContext.HttpContext.Request;
            Controller      controller = (Controller)context.ControllerContext.Controller;
            string          username   = request.Params["UserName"];
            string          token      = request.Params["token"];

            if (!ValidateMemberPasswordToken(username, token))
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The password token is invalid.".Localize());
                return(null);
            }
            AntiForgery.Validate();

            var newPassword     = request.Form["newpassword"];
            var confirmPassword = request.Form["confirmPassword"];

            if (newPassword != confirmPassword)
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The passwords do not match.".RawLabel().ToString());
                return(null);
            }
            try
            {
                var httpContext = context.ControllerContext.HttpContext;
                var repository  = Repository.Current;
                var textFolder  = new TextFolder(repository, "Members");
                var content     = textFolder.CreateQuery().WhereEquals("UserName", username).FirstOrDefault();

                var passwordSalt = "";
                if (content["PasswordSalt"] == null)
                {
                    passwordSalt = MemberAuth.GenerateSalt();
                }
                else
                {
                    passwordSalt = content["PasswordSalt"].ToString();
                }

                newPassword = MemberAuth.EncryptPassword(newPassword, passwordSalt);

                ServiceFactory.TextContentManager.Update(textFolder, content.UUID,
                                                         new string[] { "Password", "ForgotPWToken", "PasswordSalt" }, new object[] { newPassword, "", passwordSalt });
                context.ControllerContext.Controller.ViewBag.Message = "The password has been changed.".Label();

                MemberAuth.SetAuthCookie(username, false);
                return(new RedirectResult(context.Url.FrontUrl().PageUrl("Dashboard").ToString()));
            }
            catch (Exception e)
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e.Message);
                Kooboo.HealthMonitoring.Log.LogException(e);
            }
            return(null);
        }
        public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
        {
            HttpRequestBase request    = context.ControllerContext.HttpContext.Request;
            Controller      controller = (Controller)context.ControllerContext.Controller;
            string          username   = request.Form["username"];
            string          email      = request.Form["email"];

            try
            {
                if (string.IsNullOrEmpty(username) && string.IsNullOrEmpty(email))
                {
                    controller.ViewData.ModelState.AddModelError("", "Username or Email is required.".Localize());
                    return(null);
                }
                else if (controller.ViewData.ModelState.IsValid)
                {
                    var         repository = Repository.Current;
                    var         textFolder = new TextFolder(repository, "Members");
                    TextContent content    = null;
                    if (!string.IsNullOrEmpty(username))
                    {
                        content = textFolder.CreateQuery().WhereEquals("UserName", username).FirstOrDefault();
                        email   = content.Get <string>("Email");
                    }
                    else
                    {
                        content  = textFolder.CreateQuery().WhereEquals("Email", email).FirstOrDefault();
                        username = content.Get <string>("UserName");
                    }
                    if (content != null)
                    {
                        string randomValue = Kooboo.UniqueIdGenerator.GetInstance().GetBase32UniqueId(16);
                        ServiceFactory.TextContentManager.Update(textFolder, content.UUID, new string[] { "ForgotPWToken" }, new object[] { randomValue });

                        string link      = new Uri(request.Url, string.Format("ResetPassword?UserName={0}&token={1}".RawLabel().ToString(), username, randomValue)).ToString();
                        string emailBody = "<b>{0}</b> <br/><br/> To change your password, click on the following link:<br/> <br/> <a href='{1}'>{1}</a> <br/>".RawLabel().ToString();
                        string subject   = "Reset your password".RawLabel().ToString();
                        string body      = string.Format(emailBody, username, link);
                        SendMail(email, subject, body, false);
                    }
                    else
                    {
                        controller.ViewData.ModelState.AddModelError("", "The user does not exists.".RawLabel().ToString());
                    }
                    controller.ViewBag.Message = "An email with instructions to choose a new password has been sent to you.".RawLabel().ToString();
                }
            }
            catch (Exception e)
            {
                controller.ViewData.ModelState.AddModelError("", e.Message);
            }

            return(null);
        }
        public System.Web.Mvc.ActionResult HttpGet(Page_Context context, PagePositionContext positionContext)
        {
            HttpRequestBase request    = context.ControllerContext.HttpContext.Request;
            Controller      controller = (Controller)context.ControllerContext.Controller;
            string          username   = request.Params["UserName"];
            string          token      = request.Params["token"];

            if (!ValidateMemberPasswordToken(username, token))
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The password token is invalid.".Localize());
            }
            return(null);
        }
        public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
        {
            AntiForgery.Validate();

            try
            {
                var httpContext = context.ControllerContext.HttpContext;
                var repository  = Repository.Current;
                var textFolder  = new TextFolder(repository, "Members");
                var userContent = MemberAuth.GetMemberContent();

                var oldPassword = httpContext.Request.Form["OldPassword"];
                var newPassword = httpContext.Request.Form["NewPassword"];

                if (userContent["PasswordSalt"] != null)
                {
                    oldPassword = MemberAuth.EncryptPassword(oldPassword, userContent["PasswordSalt"].ToString());
                }
                if (userContent["password"].ToString() == oldPassword)
                {
                    var passwordSalt = "";
                    if (userContent["PasswordSalt"] == null)
                    {
                        passwordSalt = MemberAuth.GenerateSalt();
                    }
                    else
                    {
                        passwordSalt = userContent["PasswordSalt"].ToString();
                    }

                    newPassword = MemberAuth.EncryptPassword(newPassword, passwordSalt);

                    ServiceFactory.TextContentManager.Update(textFolder, userContent.UUID, new string[] { "Password", "PasswordSalt" }, new object[] { newPassword, passwordSalt });
                    context.ControllerContext.Controller.ViewBag.Message = "The password has been changed.".RawLabel().ToString();
                }
                else
                {
                    context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "The old password is invalid.".RawLabel().ToString());
                }
            }
            catch (Exception e)
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e);
                Kooboo.HealthMonitoring.Log.LogException(e);
            }
            return(null);
        }
Beispiel #8
0
        public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
        {
            AntiForgery.Validate();

            try
            {
                var httpContext = context.ControllerContext.HttpContext;
                var repository  = Repository.Current;
                var textFolder  = new TextFolder(repository, "Members");

                string username = httpContext.Request.Form["username"];
                string password = httpContext.Request.Form["password"];


                var member = textFolder.CreateQuery().WhereEquals("UserName", username).FirstOrDefault();

                if (member != null)
                {
                    var encryptedPassword = password;
                    if (member["PasswordSalt"] != null)
                    {
                        var passwordSalt = member["PasswordSalt"].ToString();
                        encryptedPassword = MemberAuth.EncryptPassword(password, passwordSalt);
                    }
                    if (encryptedPassword == member["Password"].ToString())
                    {
                        var rememberme = httpContext.Request.Form["rememberMe"].Contains("true");
                        var returnUrl  = httpContext.Request.QueryString["returnUrl"];
                        if (string.IsNullOrEmpty(returnUrl))
                        {
                            returnUrl = context.Url.FrontUrl().PageUrl("Dashboard").ToString();
                        }
                        MemberAuth.SetAuthCookie(username, rememberme);
                        return(new RedirectResult(returnUrl));
                    }
                }
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", "Username or password is invalid".RawLabel().ToString());
                return(null);
            }
            catch (Exception e)
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e);
                Kooboo.HealthMonitoring.Log.LogException(e);
            }
            return(null);
        }
Beispiel #9
0
        public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
        {
            AntiForgery.Validate();

            try
            {
                var httpContext = context.ControllerContext.HttpContext;
                var repository  = Repository.Current;
                var textFolder  = new TextFolder(repository, "Members");
                var userContent = MemberAuth.GetMemberContent();

                var email    = httpContext.Request.Form["Email"];
                var language = httpContext.Request.Form["Language"];

                ServiceFactory.TextContentManager.Update(textFolder, userContent.UUID, new string[] { "Email", "Language" }, new object[] { email, language });
            }
            catch (Exception e)
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e);
                Kooboo.HealthMonitoring.Log.LogException(e);
            }
            return(null);
        }
Beispiel #10
0
        public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
        {
            AntiForgery.Validate();

            try
            {
                var httpContext = context.ControllerContext.HttpContext;
                var repository  = Repository.Current;
                var textFolder  = new TextFolder(repository, "Members");
                var values      = new NameValueCollection(httpContext.Request.Form);
                values["Published"] = true.ToString();

                var member = textFolder.CreateQuery().WhereEquals("UserName", values["username"]).FirstOrDefault();
                if (member != null)
                {
                    context.ControllerContext.Controller.ViewData.ModelState.AddModelError("UserName", "The user already exists.".RawLabel().ToString());
                }
                else
                {
                    values["PasswordSalt"] = MemberAuth.GenerateSalt();
                    values["Password"]     = MemberAuth.EncryptPassword(values["Password"], values["PasswordSalt"]);

                    var textContext = ServiceFactory.TextContentManager.Add(repository, textFolder, null, null,
                                                                            values, httpContext.Request.Files, null, httpContext.User.Identity.Name);

                    MemberAuth.SetAuthCookie(textContext["UserName"].ToString(), false);

                    return(new RedirectResult(context.Url.FrontUrl().PageUrl("Dashboard").ToString()));
                }
            }
            catch (Exception e)
            {
                context.ControllerContext.Controller.ViewData.ModelState.AddModelError("", e);
                Kooboo.HealthMonitoring.Log.LogException(e);
            }
            return(null);
        }
Beispiel #11
0
 public System.Web.Mvc.ActionResult HttpGet(Page_Context context, PagePositionContext positionContext)
 {
     return(null);
 }
Beispiel #12
0
 public System.Web.Mvc.ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
 {
     _responseManager.SetHeader("SamplePlugin", "POST");
     return(null);
 }
Beispiel #13
0
 public System.Web.Mvc.ActionResult Execute(Page_Context pageViewContext, PagePositionContext positionContext)
 {
     //pageViewContext.ControllerContext.HttpContext.Response.Write("Sample plugin executed.<br/>");
     return(null);
 }
Beispiel #14
0
 public ActionResult HttpGet(Page_Context context, PagePositionContext positionContext)
 {
     return(null);
 }
Beispiel #15
0
 public ActionResult HttpPost(Page_Context context, PagePositionContext positionContext)
 {
     return(SignOut(context));
 }