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: 28171b47ab05611a702447c6dabe1f8021c51aed (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
101
102
103
104
105
106
107
/*!
 * 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));