Welcome to mirror list, hosted at ThFree Co, Russian Federation.

login.js « templates « Login « plugins - github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 5458942fefc255fb424f844f3b81614d1cf0d01e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*!
 * Piwik - Web Analytics
 *
 * @link http://piwik.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */
(function ($) {

    $(document).ready(function () {
        var switchForm = function (fromFormId, toFormId, message, callback) {
            var fromLoginInputId = '#' + fromFormId + '_login',
                toLoginInputId = '#' + toFormId + '_login',
                toPasswordInputId = '#' + toFormId + '_password',
                fromLoginNavId = '#' + fromFormId + '_nav',
                toLoginNavId = '#' + toFormId + '_nav';

            if ($(toLoginInputId).val() === '') {
                $(toLoginInputId).val($(fromLoginInputId).val());
            }

            // hide the bottom portion of the login screen & show the password reset bits
            $('#' + fromFormId + ',#message_container').fadeOut(500, function () {
                // show lost password instructions
                $('#message_container').html(message);

                $(fromLoginNavId).hide();
                $(toLoginNavId).show();
                $('#' + toFormId + ',#message_container').fadeIn(500, function () {
                    // focus on login or password control based on whether a login exists
                    if ($(toLoginInputId).val() === '') {
                        $(toLoginInputId).focus();
                    }
                    else {
                        $(toPasswordInputId).focus();
                    }

                    if (callback) {
                        callback();
                    }
                });
            });
        };

        // 'lost your password?' on click
        $('#login_form_nav').click(function (e) {
            e.preventDefault();
            switchForm('login_form', 'reset_form', $('#lost_password_instructions').html());
            return false;
        });

        // 'cancel' on click
        $('#reset_form_nav,#alternate_reset_nav').click(function (e) {
            e.preventDefault();
            $('#alternate_reset_nav').hide();
            switchForm('reset_form', 'login_form', '');
            return false;
        });

        // password reset on submit
        $('#reset_form_submit').click(function (e) {
            e.preventDefault();

            var ajaxDone = function (response) {
                $('.loadingPiwik').hide();

                var isSuccess = response.indexOf('id="login_error"') === -1,
                    fadeOutIds = '#message_container';
                if (isSuccess) {
                    fadeOutIds += ',#reset_form,#reset_form_nav';
                }

                $(fadeOutIds).fadeOut(300, function () {
                    if (isSuccess) {
                        $('#alternate_reset_nav').show();
                    }

                    $('#message_container').html(response).fadeIn(300);
                });
            };

            $('.loadingPiwik').show();

            // perform reset password request
            $.ajax({
                type: 'POST',
                url: 'index.php',
                dataType: 'html',
                async: true,
                error: function () { ajaxDone('<div id="login_error"><strong>HTTP Error</strong></div>'); },
                success: ajaxDone,	// Callback when the request succeeds
                data: $('#reset_form').serialize()
            });

            return false;
        });

        $('#login_form_login').focus();
    });

}(jQuery));