Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Obs: Quando usar o mysql_format, invés de usar %s, deverá ser usado %e
- */
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_LOGIN)
- {
- if(response)
- {
- if(!strlen(inputtext))
- return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Digite sua senha para entrar:", "Entrar", "Sair");
- if(!strcmp(inputtext, Player[playerid][Password]))
- {
- SendClientMessage(playerid, -1, "[SERVER]: Login feito com sucesso.");
- SpawnPlayer(playerid);
- }
- else
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{FF0000}Senha Incorreta!\n\n{FFFFFF}Digite sua senha para entrar:", "Entrar", "Sair");
- }
- }
- else if(dialogid == DIALOG_REGISTER)
- {
- if(response)
- {
- if(strlen(inputtext) < 5)
- return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registro", "Digite uma senha para registrar:", "Registrar", "Sair");
- format(Player[playerid][Password], 80, "%s", inputtext); // Armazenei na variável a senha digitada para inserir depois.
- ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Digite seu email para registrar:", "Confirmar", "Sair");
- }
- }
- else if(dialogid == DIALOG_EMAIL)
- {
- if(response)
- {
- if(!strlen(inputtext))
- return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Digite seu email para registrar:", "Confirmar", "Sair");
- if(!isValidEmail(inputtext)) // Verifica se o email é válido (ex: gmail, hotmail, etc), stock no final do código.
- return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "{E44235}Email Inválido!\n{FFFFFF}Digite outro email para registrar:", "Confirmar", "Fechar");
- // Vamos checar se já existe algum email registrado igual o que foi digitado. O resultado será na callback ResultEmail.
- mysql_format(ConnectMySQL, String, sizeof String, "SELECT `Email` FROM `players` WHERE `Email` = '%e' LIMIT 1", inputtext);
- mysql_tquery(ConnectMySQL, String, "ResultEmail", "is", playerid, inputtext);
- // Selecionei todas as colunas email da tabela player, onde o email é igual a inputtext(o que foi digitado na dialog);
- }
- }
- return 1;
- }
- ResultEmail(playerid, inputtext[]);
- public ResultEmail(playerid, inputtext[])
- {
- if(cache_get_row_count()) // Acho resultado, então já existe algum email registrado igual o que foi digitado. Retornaremos para dialog para digitar outro email.
- return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "{E44235}Este Email já foi registrado!\n{FFFFFF}Digite outro email para registrar:", "Confirmar", "Fechar");
- else // Não existe nenhum email registrado igual o que foi digitado, então podemos inserir todos os dados e criar a conta.
- {
- mysql_format(ConnectMySQL, String, sizeof String, "INSERT INTO `players` (`Nick`, `Password`, `Email`) VALUES ('%e', '%e', '%e')", GetName[playerid], Player[playerid][Password], inputtext);
- mysql_tquery(ConnectMySQL, String);
- SendClientMessage(playerid, -1, "[SERVER]: Sua conta foi criada com sucesso.");
- SpawnPlayer(playerid);
- }
- return 1;
- }
- stock isValidEmail(email[]) // Stock para verificar o domínio do email.
- {
- static const ValidEmails[17][16] =
- {
- {"@gmail.com"},
- {"@hotmail.com.br"},
- {"@hotmail.com"},
- {"@globo.com"},
- {"@globomail.com"},
- {"@uol.com"},
- {"@outlook.com"},
- {"@live.com"},
- {"@msn.com"},
- {"@yahoo.com.br"},
- {"@ymail.com"},
- {"@rocketmail.com"},
- {"@ig.com.br"},
- {"@pop.com.br"},
- {"@bol.com.br"},
- {"@oi.com.br"},
- {"@r7.com"}
- };
- for(new i; i < sizeof ValidEmails; i++)
- {
- if(strfind(email, ValidEmails[i], false) != -1)
- return true;
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement