public ActionResult RedirectAction(string url, string message, int timeout, string cssClass)
        {
            TempData["RedirectionModel"] = new RedirectionModel
            {
                Url      = url,
                Message  = message,
                Timeout  = timeout,
                CssClass = cssClass
            };

            return(RedirectToAction("Redirect", "Redirection"));
        }
示例#2
0
        public static void EditRedirection(CMSDatabase db, int?itemID, RedirectionModel model, HttpContext context, out bool successfullyCompleted)
        {
            if (string.IsNullOrEmpty(model.RedirectionPath) || string.IsNullOrEmpty(model.RequestPath) || !itemID.HasValue ||
                model.RequestPath.Equals(model.RedirectionPath, StringComparison.OrdinalIgnoreCase))
            {
                successfullyCompleted = false;
                return;
            }
            Redirection redirection = db.Redirections.FirstOrDefault(r => r.ID == itemID.Value);

            if (redirection == null)
            {
                successfullyCompleted = false;
                return;
            }
            string oldRequestPath     = redirection.RequestPath;
            string oldRedirectionPath = redirection.RedirectionPath;

            model.RequestPath     = GetCorrectUrlPath(model.RequestPath);
            model.RedirectionPath = GetCorrectUrlPath(model.RedirectionPath);
            if (model.RequestPath.Equals(model.RedirectionPath, StringComparison.Ordinal))
            {
                successfullyCompleted = false;
                return;
            }
            Redirection match = db.Redirections.FirstOrDefault(r => r.ID != itemID.Value && r.RequestPathHash == OtherFunctions.GetHashFromString(model.RequestPath) &&
                                                               r.RequestPath.Equals(model.RequestPath, StringComparison.Ordinal) && r.RedirectionPath.Equals(model.RedirectionPath, StringComparison.Ordinal));

            if (match != null)
            {
                successfullyCompleted = false;
                return;
            }
            redirection.RequestPath     = model.RequestPath;
            redirection.RequestPathHash = OtherFunctions.GetHashFromString(model.RequestPath);
            redirection.RedirectionPath = model.RedirectionPath;
            db.SaveChanges();
            successfullyCompleted = true;

            LogManagementFunctions.AddAdminPanelLog(
                db: db,
                context: context,
                info: $"{oldRequestPath} -> {oldRedirectionPath}: {(context.Items["LogLocalization"] as IAdminPanelLogLocalization)?.RedirectionEditedTo} {redirection.RequestPath} -> {redirection.RedirectionPath}"
                );
        }
示例#3
0
 /// <summary>
 /// Redirects to the Worldline payment module. You can only do this after you've received a redirectionUrl, redirectionData and redirectionVersion
 /// from a Worldline payment request.
 /// </summary>
 /// <param name="redirect">RedirectionModel</param>
 public void RedirectToWorldline(RedirectionModel redirect)
 {
     RedirectToWorldline(redirect.RedirectionUrl, redirect.RedirectionVersion, redirect.RedirectionData);
 }
示例#4
0
 public string RedirectToWorldlineUrl(RedirectionModel redirect)
 {
     return(RedirectToWorldlineUrl(redirect.RedirectionUrl, redirect.RedirectionVersion, redirect.RedirectionData));
 }