PageSourceSearch

https://miljo-utveckling.se/wp-content/plugins/prenly-connect-wp/a…er_confirm_password_reset.js?ver=3.1.0-beta

js miljo-utveckling.se collected 2026-09-24 19:28:50 UTC 3,527 bytes, 93 lines download raw bytes

1// Handle the password reset form where user enters a new password.
2(function($) {
3    if (window.location.hash === "#confirmed") {
4        // Redirect to startpage, user probably reloaded the page.
5        window.location.href = "/";
6    }
7
8    var form = $("form.prenly-confirm-password-reset");
9    if (!form.length) {
10        return;
11    }
12    var formFieldPrefix = "prenly_auth_";
13
14    var failMessageElement    = $(".prenly-confirm-password-reset-fail-message");
15    var successMessageElement = $(".prenly-confirm-password-reset-success-message");
16    var noTokenElement        = $(".prenly-confirm-password-reset-no-token");
17
18    if (PrenlyAuthConfirmPasswordReset.token === null) {
19        // No token is provided.
20        if (noTokenElement.length) {
21            form.remove();
22            noTokenElement.show();
23        }
24        else {
25            form.replaceWith(
26                $("<div>")
27                    .addClass("prenly-confirm-password-reset-no-token")
28                    .text("Technical error. Please check the link provided in your confirmation e-mail.")
29            );
30        }
31    }
32
33    form.show().on("submit", function(event) {
34        event.preventDefault();
35
36        // Validation is made in the Ajax backend.
37        var postData = {
38            api:      'account',
39            action:   'prenly_confirm_password_reset',
40            security: PrenlyAuthConfirmPasswordReset.security
41        };
42
43        var fieldsToSubmit = {
44            "token":     PrenlyAuthConfirmPasswordReset.token,
45            "password1": form.find("input[name=password1]").val(),
46            "password2": form.find("input[name=password2]").val()
47        };
48        for (var fieldName in fieldsToSubmit) {
49            postData[formFieldPrefix + fieldName] = fieldsToSubmit[fieldName];
50        }
51
52        // Execute the Ajax request.
53        $.post(PrenlyAuthConfirmPasswordReset.ajaxurl, postData)
54            .done(function(response) {
55                try {
56                    var response = JSON.parse(response);
57                }
58                catch (err) {
59                    var response     = Object;
60                    response.status  = 'error';
61                    response.message = err.message;
62                }
63
64                var foldOutOrAlert = function(element, message) {
65                    if (element.length) {
66                        element.show();
67                    } else {
68                        alert(message);
69                    }
70                };
71
72                if (response.status === "success") {
73                    // Change the url to avoid reloading.
74                    window.location.href = window.location.href + "#confirmed";
75
76                    failMessageElement.hide();
77                    $(".prenly-close-on-success").hide();
78                    form.hide().get(0).reset();
79                    foldOutOrAlert(successMessageElement, response.message);
80                } else if (response.status === "fail") {
81                    failMessageElement.find(".message-placeholder").text(response.message);
82                    foldOutOrAlert(failMessageElement, response.message);
83                } else {
84                    failMessageElement.find(".message-placeholder").text(response.message);
85                    foldOutOrAlert(failMessageElement, response.message);
86                }
87            })
88            .fail(function() {
89                alert('A technical error has occured. Please try again later.');
90            })
91        ;
92    });
93})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.