#include <amxmodx>
#include <amxmisc>
#include <sqlx>
#define PLUGIN "UsersWeb"
#define VERSION "1.0"
#define AUTHOR "CrAsH"
new Handle:MYSQL_Tuple
new Handle:MYSQL_Connect
new g_LoadUsers[81]
new g_Cvar[5]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_Cvar[1] = register_cvar("amx_mysql_hostname", "127.0.0.1")
g_Cvar[2] = register_cvar("amx_mysql_username", "root")
g_Cvar[3] = register_cvar("amx_mysql_password", "vertrigo")
g_Cvar[4] = register_cvar("amx_mysql_database", "usersweb")
set_task(1.0, "MYSQL_Load")
}
public plugin_cfg()
{
get_configsdir(g_LoadUsers, charsmax( g_LoadUsers ))
formatex(g_LoadUsers, charsmax( g_LoadUsers ), "%s/users.ini", g_LoadUsers)
}
public MYSQL_Load()
{
new szHostname[30], szUsername[30], szPassword[30], szDatabase[30]
new szError[512], szErr
get_pcvar_string(g_Cvar[1], szHostname, charsmax( szHostname ))
get_pcvar_string(g_Cvar[2], szUsername, charsmax( szUsername ))
get_pcvar_string(g_Cvar[3], szPassword, charsmax( szPassword ))
get_pcvar_string(g_Cvar[4], szDatabase, charsmax( szDatabase ))
MYSQL_Tuple = SQL_MakeDbTuple(szHostname, szUsername, szPassword, szDatabase)
MYSQL_Connect= SQL_Connect(MYSQL_Tuple, szErr, szError, charsmax( szError ))
if(MYSQL_Connect == Empty_Handle)
set_fail_state( szError )
Loaded()
}
public Loaded()
{
new szError[512]
new szParse[128]
new szParseData[64], szParsePassword[64], szParseFlags[32]
new szFixData[64]
new szLine, szNum
new Handle:szInsert = SQL_PrepareQuery(MYSQL_Connect, "DELETE FROM `users`;")
if(!SQL_Execute( szInsert ))
{
SQL_QueryError(szInsert, szError, charsmax( szError ))
set_fail_state( szError )
}
for(szLine=0;read_file(g_LoadUsers, szLine, szParse, charsmax( szParse ), szNum);szLine++)
{
if(szNum > 0 && szParse[0] != ';')
{
parse(szParse, szParseData, charsmax( szParseData ), szParsePassword, charsmax( szParsePassword ), szParseFlags, charsmax( szParseFlags ))
SQL_QuoteString(MYSQL_Connect ,szFixData, charsmax( szFixData ), szParseData)
new Handle:szInsert = SQL_PrepareQuery(MYSQL_Connect, "INSERT INTO `users` (`nickname`, `flags`) VALUES ('%s', '%s');", szFixData, szParseFlags)
if(!SQL_Execute( szInsert ))
{
SQL_QueryError(szInsert, szError, charsmax( szError ))
set_fail_state( szError )
}
}
}
}