Add save acct keybinds, fix login check
This commit is contained in:
@@ -249,8 +249,11 @@ function isClientLoggedIn(client) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
let loggedIn = getClientData(client).loggedIn;
|
if(getClientData(client) != null) {
|
||||||
return loggedIn;
|
return getClientData(client).loggedIn;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
@@ -298,14 +301,13 @@ function loadAccountFromName(accountName, fullLoad = false) {
|
|||||||
if(dbQuery.numRows > 0) {
|
if(dbQuery.numRows > 0) {
|
||||||
let dbAssoc = fetchQueryAssoc(dbQuery);
|
let dbAssoc = fetchQueryAssoc(dbQuery);
|
||||||
let tempAccountData = new serverClasses.accountData(dbAssoc);
|
let tempAccountData = new serverClasses.accountData(dbAssoc);
|
||||||
freeDatabaseQuery(dbQuery);
|
|
||||||
if(fullLoad) {
|
if(fullLoad) {
|
||||||
tempAccountData.keyBinds = loadAccountKeybindsFromDatabase(tempAccountData.databaseId);
|
tempAccountData.keyBinds = loadAccountKeybindsFromDatabase(tempAccountData.databaseId);
|
||||||
tempAccountData.messages = loadAccountMessagesFromDatabase(tempAccountData.databaseId);
|
tempAccountData.messages = loadAccountMessagesFromDatabase(tempAccountData.databaseId);
|
||||||
tempAccountData.notes = loadAccountStaffNotesFromDatabase(tempAccountData.databaseId);
|
tempAccountData.notes = loadAccountStaffNotesFromDatabase(tempAccountData.databaseId);
|
||||||
tempAccountData.contacts = loadAccountContactsFromDatabase(tempAccountData.databaseId);
|
tempAccountData.contacts = loadAccountContactsFromDatabase(tempAccountData.databaseId);
|
||||||
}
|
}
|
||||||
|
freeDatabaseQuery(dbQuery);
|
||||||
return tempAccountData;
|
return tempAccountData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -451,6 +453,67 @@ function saveAccountToDatabase(accountData) {
|
|||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function saveAccountKeyBindsDatabase(keyBindData) {
|
||||||
|
let dbConnection = connectToDatabase();
|
||||||
|
if(dbConnection) {
|
||||||
|
let safeCommandString = escapeDatabaseString(dbConnection, keyBindData.commandString);
|
||||||
|
if(keyBindData.databaseId == 0) {
|
||||||
|
let dbQueryString = `INSERT INTO acct_hotkey (acct_hotkey_cmdstr, acct_hotkey_key, acct_hotkey_down, acct_hotkey_enabled) VALUES ('${safeCommandString}', ${keyBindData.key}, ${boolToInt(keyBindData.keyState)}, ${boolToInt(keyBindData.enabled)}, ${keyBindData.account}`;
|
||||||
|
keyBindData.databaseId = getDatabaseInsertId(dbConnection);
|
||||||
|
let dbQuery = queryDatabase(dbConnection, dbQueryString);
|
||||||
|
freeDatabaseQuery(dbQuery);
|
||||||
|
} else {
|
||||||
|
let dbQueryString = `UPDATE acct_hotkey SET acct_hotkey_cmdstr='${safeCommandString}', acct_hotkey_key=${keyBindData.key}, acct_hotkey_down=${boolToInt(keyBindData.keyState)}, acct_hotkey_enabled=${boolToInt(keyBindData.enabled)} WHERE acct_hotkey_id=${keyBindData.databaseId}`;
|
||||||
|
let dbQuery = queryDatabase(dbConnection, dbQueryString);
|
||||||
|
freeDatabaseQuery(dbQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
disconnectFromDatabase(dbConnection);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function saveAccountStaffNotesDatabase(staffNoteData) {
|
||||||
|
let dbConnection = connectToDatabase();
|
||||||
|
if(dbConnection) {
|
||||||
|
let safeNoteContent = escapeDatabaseString(dbConnection, staffNoteData.note);
|
||||||
|
if(staffNoteData.databaseId == 0) {
|
||||||
|
let dbQueryString = `INSERT INTO acct_note (acct_note_message, acct_note_who_added, acct_note_when_added, acct_note_server, acct_note_acct) VALUES ('${safeNoteContent}', ${staffNoteData.whoAdded}, UNIX_TIMESTAMP(), ${serverId}, ${staffNoteData.account}`;
|
||||||
|
staffNoteData.databaseId = getDatabaseInsertId(dbConnection);
|
||||||
|
let dbQuery = queryDatabase(dbConnection, dbQueryString);
|
||||||
|
freeDatabaseQuery(dbQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
disconnectFromDatabase(dbConnection);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/*
|
||||||
|
function saveAccountContactsDatabase(accountContactData) {
|
||||||
|
let dbConnection = connectToDatabase();
|
||||||
|
if(dbConnection) {
|
||||||
|
let safeNoteContent = escapeDatabaseString(dbConnection, accountContactData.note);
|
||||||
|
if(accountContactData.databaseId == 0) {
|
||||||
|
let dbQueryString = `INSERT INTO acct_contact (acct_contact_note, acct_contact_, acct_note_when_added, acct_note_server, acct_note_acct) VALUES ('${safeNoteContent}', ${staffNoteData.whoAdded}, UNIX_TIMESTAMP(), ${serverId}, ${staffNoteData.account}`;
|
||||||
|
staffNoteData.databaseId = getDatabaseInsertId(dbConnection);
|
||||||
|
let dbQuery = queryDatabase(dbConnection, dbQueryString);
|
||||||
|
freeDatabaseQuery(dbQuery);
|
||||||
|
}// else {
|
||||||
|
// let dbQueryString = `UPDATE acct_hotkey SET acct_hotkey_cmdstr='${safeCommandString}', acct_hotkey_key=${keyBindData.key}, acct_hotkey_down=${boolToInt(keyBindData.keyState)}, acct_hotkey_enabled=${boolToInt(keyBindData.enabled)} WHERE acct_hotkey_id=${keyBindData.databaseId}`;
|
||||||
|
// let dbQuery = queryDatabase(dbConnection, dbQueryString);
|
||||||
|
// freeDatabaseQuery(dbQuery);
|
||||||
|
//}
|
||||||
|
|
||||||
|
disconnectFromDatabase(dbConnection);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
function createAccount(name, password, email = "") {
|
function createAccount(name, password, email = "") {
|
||||||
let dbConnection = connectToDatabase();
|
let dbConnection = connectToDatabase();
|
||||||
|
|
||||||
@@ -461,7 +524,9 @@ function createAccount(name, password, email = "") {
|
|||||||
|
|
||||||
let dbQuery = queryDatabase(dbConnection, `INSERT INTO acct_main (acct_name, acct_pass, acct_email) VALUES ('${safeName}', '${hashedPassword}', '${safeEmail}')`);
|
let dbQuery = queryDatabase(dbConnection, `INSERT INTO acct_main (acct_name, acct_pass, acct_email) VALUES ('${safeName}', '${hashedPassword}', '${safeEmail}')`);
|
||||||
if(getDatabaseInsertId(dbConnection) > 0) {
|
if(getDatabaseInsertId(dbConnection) > 0) {
|
||||||
return loadAccountFromId(getDatabaseInsertId(dbConnection));
|
let accountData = loadAccountFromId(getDatabaseInsertId(dbConnection), true);
|
||||||
|
createDefaultKeybindsForAccount(accountData.databaseId);
|
||||||
|
return accountData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -655,13 +720,17 @@ function saveClientToDatabase(client) {
|
|||||||
|
|
||||||
console.log(`[Asshat.Account]: Saving client ${client.name} to database ...`);
|
console.log(`[Asshat.Account]: Saving client ${client.name} to database ...`);
|
||||||
saveAccountToDatabase(getClientData(client).accountData);
|
saveAccountToDatabase(getClientData(client).accountData);
|
||||||
|
|
||||||
|
|
||||||
let subAccountData = getClientCurrentSubAccount(client);
|
let subAccountData = getClientCurrentSubAccount(client);
|
||||||
|
|
||||||
subAccountData.spawnPosition = getPlayerPosition(client);
|
if(client.player != null) {
|
||||||
subAccountData.spawnHeading = getPlayerHeading(client);
|
subAccountData.spawnPosition = getPlayerPosition(client);
|
||||||
|
subAccountData.spawnHeading = getPlayerHeading(client);
|
||||||
|
}
|
||||||
|
|
||||||
saveSubAccountToDatabase(subAccountData);
|
saveSubAccountToDatabase(subAccountData);
|
||||||
console.log(`[Asshat.Account]: Saved client ${client.name} to database successfully!`);
|
console.log(`[Asshat.Account]: Saved client ${getClientDisplayForConsole(client)} to database successfully!`);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -736,13 +805,13 @@ function loadAccountKeybindsFromDatabase(accountDatabaseID) {
|
|||||||
let dbAssoc;
|
let dbAssoc;
|
||||||
|
|
||||||
if(dbConnection) {
|
if(dbConnection) {
|
||||||
dbQuery = queryDatabase(dbConnection, "SELECT * FROM `acct_hotkey` WHERE `acct_hotkey_enabled` = 1 AND `acct_hotkey_acct` = " + toString(accountDatabaseID));
|
dbQuery = queryDatabase(dbConnection, `SELECT * FROM acct_hotkey WHERE acct_hotkey_enabled = 1 AND acct_hotkey_acct = ${accountDatabaseID}`);
|
||||||
if(dbQuery) {
|
if(dbQuery) {
|
||||||
if(dbQuery.numRows > 0) {
|
if(dbQuery.numRows > 0) {
|
||||||
while(dbAssoc = fetchQueryAssoc(dbQuery)) {
|
while(dbAssoc = fetchQueryAssoc(dbQuery)) {
|
||||||
let tempAccountKeyBindData = new serverClasses.accountKeybindData(dbAssoc);
|
let tempAccountKeyBindData = new serverClasses.keyBindData(dbAssoc);
|
||||||
tempAccountKeybinds.push(tempAccountKeybinds);
|
tempAccountKeybinds.push(tempAccountKeyBindData);
|
||||||
console.log(`[Asshat.Account]: Account keybind '${tempAccountKeyBindData.databaseId}' loaded from database successfully!`);
|
console.log(`[Asshat.Account]: Account keybind '${tempAccountKeyBindData.databaseId}' (Key ${tempAccountKeyBindData.key} '${sdl.getKeyName(tempAccountKeyBindData.key)}') loaded from database successfully!`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
freeDatabaseQuery(dbQuery);
|
freeDatabaseQuery(dbQuery);
|
||||||
|
|||||||
Reference in New Issue
Block a user