blash/commands/logout.json

67 lines
1.4 KiB
JSON

{
"name" : "logout",
"info" : {
"syntax" : "logout",
"brief" : "End the current user session",
},
"action" : function ( arg )
{
var out = '';
if ( !shell.has_users )
{
return "Users module not enabled<br/>\n";
}
if ( shell.user == shell.json.user )
{
return out;
}
shell.user = shell.json.user;
document.cookie = '';
var users_php = window.location.href;
users_php = users_php.replace ( /\/([a-zA-Z\.]+)$/, '/modules/users/users.php' );
params = 'action=logout';
var http = new XMLHttpRequest();
http.open ( "POST", users_php, true );
http.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
http.setRequestHeader( "Content-length", params.length );
http.setRequestHeader( "Connection", "close" );
http.onreadystatechange = function ()
{
if ( http.readyState == 4 && http.status == 200 )
{
shell.refreshFiles();
}
}
http.send ( params );
shell.path = shell.json.basepath;
var json_config = window.location.href;
json_config = json_config.replace ( /\/([a-zA-Z_\.]+)$/, '/system/blash.json' );
var http2 = new XMLHttpRequest();
http2.open ( "GET", json_config, true );
http2.onreadystatechange = function ()
{
if ( http2.readyState == 4 && http2.status == 200 )
{
shell.json = eval ( '(' + http2.responseText + ')' );
}
}
http2.send ( null );
return out;
},
}