mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 11:22:27 +00:00 
			
		
		
		
	git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@11039 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
		
			
				
	
	
		
			102 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * Open login dialog
 | |
|  */
 | |
| $(document).ready(function() {
 | |
|     $('#header').remove();
 | |
|     $('#content').remove();
 | |
|     
 | |
|     var winheight = document.body.clientHeight;
 | |
|     var diaheight = $('#login').css('height');
 | |
|     diaheight = diaheight.substr(0, diaheight.length - 2);
 | |
|     diaheight = Number(diaheight);
 | |
|     
 | |
|     // The window's height is to small to show the dialog
 | |
|     var tempheight = 0;
 | |
|     if ((winheight - 50) < diaheight){
 | |
|     	tempheight = 0;
 | |
|     } else {
 | |
|     	tempheight = parseInt((winheight - diaheight - 50) / 2); 
 | |
|     }
 | |
|     
 | |
|     $('#login').css('margin', tempheight + 'px auto');
 | |
|     $('button').bind('click', function(){
 | |
|     	authenticate();
 | |
|     });
 | |
|     
 | |
|     $('#login button').button();
 | |
|     
 | |
| 	if (document.location.protocol == "http:") {
 | |
| 		$("#login_status").html("You are using an unencrypted session!");
 | |
| 		$("#login_status").css("color", "#ff0000");
 | |
| 	}
 | |
| 	
 | |
| 	if ($("#login input[name='username']").val() == "") {
 | |
| 		$("#login input[name='username']").focus();
 | |
| 	} else {
 | |
| 		$("#login input[name='password']").focus();
 | |
| 	}
 | |
| 
 | |
| 	// When enter is hit while in username, advance to password
 | |
| 	$("#login input[name='username']").keydown(function(event) {
 | |
| 		if (event.keyCode == 13) {
 | |
| 			$("#login input[name='password']").focus();
 | |
| 		}
 | |
| 	});
 | |
| 
 | |
| 	// Submit authentication if enter is pressed in password field
 | |
| 	$("#login input[name='password']").keydown(function(event) {
 | |
| 		if (event.keyCode == 13) {
 | |
| 			authenticate();
 | |
| 		}
 | |
| 	});
 | |
| });
 | |
| 
 | |
| /**
 | |
|  * Update login dialog
 | |
|  * 
 | |
|  * @param data
 | |
|  *            Data returned from AJAX call
 | |
|  * @param txtStatus
 | |
|  *            Status of login
 | |
|  * @return
 | |
|  */
 | |
| function onlogin(data, txtStatus) {
 | |
| 	// Clear password field regardless of what happens
 | |
| 	$("#login input[name='password']").val("");
 | |
| 	if (data.authenticated == "yes") {
 | |
| 		$("#login_status").text("Login successful");
 | |
| 
 | |
| 		// Not the first time to log
 | |
| 		if ($.cookie('logonflag')){
 | |
| 			// Remembered what page they were trying to go to
 | |
| 	        window.location = window.location.pathname;
 | |
| 		} else {
 | |
| 		    window.location = 'help.php';
 | |
| 		}
 | |
| 		
 | |
| 		// Set the logonflag
 | |
| 		$.cookie('logonflag', 'yes', {
 | |
| 		    path : '/xcat',
 | |
| 		    expires : 100
 | |
| 		});
 | |
| 		
 | |
| 	} else {
 | |
| 		$("#login_status").text("Authentication failure").css("color", "#FF0000");
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Authenticate user for new session
 | |
|  * 
 | |
|  * @return Nothing
 | |
|  */
 | |
| function authenticate() {
 | |
| 	$("#login_status").css("color", "#000000");
 | |
| 	$("#login_status").html('Authenticating...');
 | |
| 	var passwd = $("#login input[name='password']").val();
 | |
| 	$.post("lib/log.php", {
 | |
| 		username : $("#login input[name='username']").val(),
 | |
| 		password : passwd
 | |
| 	}, onlogin, "json");
 | |
| }
 |