diff --git a/scripts/server/account.js b/scripts/server/account.js index 16d0a412..936d14e6 100644 --- a/scripts/server/account.js +++ b/scripts/server/account.js @@ -935,6 +935,10 @@ function saveAccountToDatabase(accountData) { let dbQuery2 = queryDatabase(dbConnection, queryString2); freeDatabaseQuery(dbQuery2); + //saveAllAccountCommandAliasesToDatabase(accountData); + //saveAllAccountStaffNotesToDatabase(accountData); + //saveAllAccountKeyBindsToDatabase(accountData); + disconnectFromDatabase(dbConnection); return true; } @@ -1010,6 +1014,39 @@ function saveAccountStaffNotesDatabase(staffNoteData) { // =========================================================================== +function saveAccountCommandAliasesToDatabase(commandAliasData) { + let dbConnection = connectToDatabase(); + if (dbConnection) { + let safeOriginalCommandName = escapeDatabaseString(dbConnection, commandAliasData.forCommand); + let safeAliasCommandName = escapeDatabaseString(dbConnection, commandAliasData.aliasCommand); + + let data = [ + ["acct_cmd_for_cmd", safeOriginalCommandName], + ["acct_cmd_alias_cmd", safeAliasCommandName], + ["acct_cmd_deleted", boolToInt(commandAliasData.whoAdded)], + ["acct_cmd_when_added", commandAliasData.whenAdded], + ["acct_cmd_server", commandAliasData.server], + ["acct_cmd_acct", commandAliasData.account], + ]; + + let dbQuery = null; + if (commandAliasData.databaseId == 0) { + let queryString = createDatabaseInsertQuery("acct_cmd", data); + dbQuery = queryDatabase(dbConnection, queryString); + commandAliasData.databaseId = getDatabaseInsertId(dbConnection); + } else { + let queryString = createDatabaseUpdateQuery("acct_cmd", data, `acct_cmd_id=${commandAliasData.databaseId}`); + dbQuery = queryDatabase(dbConnection, queryString); + } + + commandAliasData.needsSaved = false; + freeDatabaseQuery(dbQuery); + disconnectFromDatabase(dbConnection); + } +} + +// =========================================================================== + /* function saveAccountContactsToDatabase(accountContactData) { let dbConnection = connectToDatabase(); @@ -1544,6 +1581,32 @@ function loadAccountStaffNotesFromDatabase(accountDatabaseID) { // =========================================================================== +function loadAccountCommandAliasesFromDatabase(accountDatabaseID) { + logToConsole(LOG_DEBUG, `[V.RP.Account]: Loading account command aliases for account ${accountDatabaseID} from database ...`); + + let tempAccountCommandAliases = []; + let dbConnection = connectToDatabase(); + let dbAssoc = []; + + if (dbConnection) { + let dbQueryString = `SELECT * FROM acct_cmd WHERE acct_cmd_deleted = 0 AND acct_cmd_acct = ${accountDatabaseID}`; + dbAssoc = fetchQueryAssoc(dbConnection, dbQueryString); + if (dbAssoc.length > 0) { + for (let i in dbAssoc) { + let tempAccountCommandAliasData = new AccountCommandAliasData(dbAssoc[i]); + tempAccountCommandAliases.push(tempAccountCommandAliasData); + logToConsole(LOG_DEBUG, `[V.RP.Account]: Account command alias '${tempAccountCommandAliasData.databaseId}' loaded from database successfully!`); + } + } + disconnectFromDatabase(dbConnection); + } + + logToConsole(LOG_DEBUG, `[V.RP.Account]: ${tempAccountCommandAliases.length} account command aliases for account ${accountDatabaseID} loaded from database successfully!`); + return tempAccountCommandAliases; +} + +// =========================================================================== + function loadAccountContactsFromDatabase(accountDatabaseID) { logToConsole(LOG_DEBUG, `[V.RP.Account]: Loading account contacts for account ${accountDatabaseID} from database ...`); diff --git a/scripts/server/command.js b/scripts/server/command.js index e643f7b7..67e6bc24 100644 --- a/scripts/server/command.js +++ b/scripts/server/command.js @@ -454,6 +454,8 @@ function loadCommands() { new CommandData("language", setLocaleCommand, "", getStaffFlagValue("None"), true, false, "Sets your language"), new CommandData("locale", setLocaleCommand, "", getStaffFlagValue("None"), true, false, "Sets your language"), new CommandData("setlang", setLocaleCommand, "", getStaffFlagValue("None"), true, false, "Sets your language"), + new CommandData("locales", showLocaleListCommand, "", getStaffFlagValue("None"), true, false, "Shows a list of available languages"), + new CommandData("languages", showLocaleListCommand, "", getStaffFlagValue("None"), true, false, "Shows a list of available languages"), ], messaging: [], misc: [ @@ -882,6 +884,12 @@ function processPlayerCommand(command, params, client) { return true; } + let possibleAlias = getPlayerAliasForCommand(command); + if (possibleAlias) { + // Just change to the command the alias is for, then continue as normal + command = possibleAlias.forCommand; + } + let commandData = getCommand(toLowerCase(command)); let paramsDisplay = params;