httpauth/login-hook.js
author Dan Fuhry <dan@enanocms.org>
Thu, 07 Apr 2016 12:29:38 +0000
changeset 0 29e93991703b
permissions -rw-r--r--
Initial commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     1
addOnloadHook(function()
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     2
	{
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     3
		attachHook('login_build_form', 'http_auth_login_hook(table, data);');
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     4
	});
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     5
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     6
function http_auth_login_hook(table, data)
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     7
{
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     8
	if ( window.shift )
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
     9
		return;
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    10
	
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    11
	if (window.logindata.user_level <= USER_LEVEL_MEMBER)
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    12
	{
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    13
		window.location = makeUrlNS('Special', 'LoginHTTP');
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    14
	}
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    15
	else
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    16
	{
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    17
		// re-auth
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    18
		ajaxGet(makeUrlNS('Special', 'LoginHTTP', 'ajax&level=' + window.logindata.user_level), function(xhr)
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    19
			{
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    20
				if ( xhr.readyState == 4 && xhr.status == 200 ) {
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    21
					var result = JSON.parse(xhr.responseText);
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    22
					if ( result.result == 'success' ) {
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    23
						window.logindata.successfunc(result.sid);
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    24
					}
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    25
				}
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    26
			});
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    27
	}
29e93991703b Initial commit
Dan Fuhry <dan@enanocms.org>
parents:
diff changeset
    28
}