"")
{
exit;
}
requiredEmail("email", "formLogin");
requiredField("password", "senha", "formLogin");
$consulta = mysql_query("SELECT * FROM sys_admin WHERE email = '".noInject($email)."' AND password = '".noInject(md5($password))."'");
$result = mysql_num_rows($consulta);
if($result == true)
{
$ln = mysql_fetch_object($consulta);
if($ln->status == "2")
{
echo sweetAlert("Atenção!", "Sua conta está inativa.", "warning");
}
else
{
$_SESSION["adminID"] = $ln->ID;
jsRedir(CP."/view/home");
}
}
else
{
echo sweetAlert("Erro!", "E-mail e/ou senha incorretos.", "error");
exit;
}
}
if(router(2) == "forgot")
{
extract($_POST);
if($nosp <> "")
{
exit;
}
requiredEmail("emailForgot", "formForgot");
requiredField("codigoForgot", "Código", "formForgot");
if($codigoForgot <> $_SESSION["captcha"])
{
echo sweetAlert("Erro!", "Código incorreto, tente novamente.", "error");
echo jsScript("document.getElementById('captcha').src='../system/captcha/captcha.php?'+Math.random();");
exit;
}
$consulta = mysql_query("SELECT * FROM sys_admin WHERE email = '$emailForgot'");
$result = mysql_num_rows($consulta);
if($result == true)
{
$ln = mysql_fetch_object($consulta);
// Gera o token de segurança
$token = sha1(md5(time()));
// Data de expiração do token
$dataExp = date('Y-m-d H:i:s', strtotime("+1 day"));
$msg = '
Olá, '.$ln->nome.', uma nova senha foi solicitada no site '.getStatic("site_mail_exibicao", "texto").'.
Clique no link abaixo para criar uma nova senha:
Desconsidere esse e-mail caso não tenha solicitado uma nova senha.
';
$send = sendMail(
$ln->nome,
$ln->email,
getStatic("site_mail_exibicao", "texto"),
getStatic("site_mail_user", "texto"),
"Recupere sua senha - ".getStatic("site_mail_user", "texto"),
$msg
);
if($send == true)
{
// Insere o token no cadastro do usuário
update(
array(
"token",
"tokenExp"
),
array(
$token,
$dataExp
),
"sys_admin",
"WHERE ID = '".$ln->ID."'"
);
saveLog("Pedido de recuperação de senha. Usuário: ".$ln->email);
echo sweetAlert("Sucesso!", "Você receberá um e-mail com informações para recuperar sua senha.", "success");
}
else
{
saveLog("Falha ao recuperar senha. Usuário: ".$ln->email);
echo sweetAlert("Erro!", "Não foi possível recuperar sua senha, tente mais tarde.", "error");
}
// echo jsScript("
// document.getElementById('captcha').src='../system/captcha/captcha.php?'+Math.random();
// document.formForgot.reset();
// ");
exit;
}
else
{
echo sweetAlert("Erro!", "E-mail não cadastrado no sistema.", "error");
echo jsScript("document.getElementById('captcha').src='../system/captcha/captcha.php?'+Math.random();");
exit;
}
}
if(router(2) == "newPass")
{
extract($_POST);
if($nosp <> "")
{
exit;
}
$consulta = mysql_query("SELECT * FROM sys_admin WHERE token = '".$token."'");
$result = mysql_num_rows($consulta);
if($result == false)
{
echo sweetAlert("Erro!", "Link inválido ou fora do prazo de validade.", "error");
exit;
}
$ln = mysql_fetch_object($consulta);
if($ln->tokenExp < date("Y-m-d H:i:s"))
{
echo sweetAlert("Erro!", "Link inválido ou fora do prazo de validade.", "error");
exit;
}
requiredField("password", "senha", "formNewPass");
if(strlen($password) < 5)
{
echo sweetAlert("Atenção!", "Sua deve deve conter no mínimo 5 caracteres.", "warning");
exit;
}
requiredField("passwordRep", "(Repita a senha)", "formNewPass");
if($password <> $passwordRep)
{
echo sweetAlert("Atenção!", "As senhas digitadas não conferem.", "warning");
exit;
}
update(
array(
"token",
"tokenExp",
"password"
),
array(
"",
"",
md5($password)
),
"sys_admin",
"WHERE ID = '".$ln->ID."'"
);
$_SESSION["adminID"] = $ln->ID;
echo sweetRedir(
"Sucesso!",
"Sua senha foi atualizada.",
"success",
CP."/view/home"
);
}
if(router(2) == "acess")
{
extract($_POST);
if($nosp <> "" or ACESS_ATIVO == false)
{
exit;
}
requiredField("email", "E-mail", "formAcess");
// Verifica se o e-mail recebido é permitido
if($dominio <> ACESS_DOMINIO)
{
echo sweetFunc("Atenção!", "Não foi possível gerar a senha, atualize essa página e tente novamente.", "warning", "Atualizar", "location.reload();");
exit;
}
// Gera uma senha automática
$senha = randPassword(6);
// Data para auto delete do registro
$dataKill = date('Y-m-d H:i:s', strtotime("+1 day"));
// Verifica existência
$consulta = mysql_query("SELECT * FROM sys_admin WHERE email = '".($email."@".ACESS_DOMINIO)."' AND tipo = '2'");
$result = mysql_num_rows($consulta);
$ln = mysql_fetch_object($consulta);
// Insere o e-mail no banco ou atualiza registro existente
if($result == 0)
{
insert(
array(
"tipo",
"nome",
"email",
"password",
"autoKill"
),
array(
"2",
ucwords(strtolower($email))." Temp",
$email."@".ACESS_DOMINIO,
md5($senha),
$dataKill
),
"sys_admin"
);
// Pega o ID do usuário cadastrado acima
$adminID = mysql_insert_id();
}
else
{
update(
array(
"password",
"autoKill"
),
array(
md5($senha),
$dataKill
),
"sys_admin",
"WHERE ID = '".$ln->ID."'"
);
$adminID = $ln->ID;
}
// Deleta caso existam níveis cadastrados em cache
@deleteSql("sys_admin_niveis", "WHERE adminID = '".$adminID."'");
foreach($niveisPadrao as $value => $nome)
{
// Insere os níveis
insert(
array("adminID", "pagina"),
array($adminID, $value),
"sys_admin_niveis"
);
}
// Envia o e-mail
$msg = '
Olá, '.ucwords(strtolower($email)).', uma senha provisória foi gerada no site '.getStatic("site_mail_exibicao", "texto").'.
Para acessar utilize seu e-mail
'.($email."@".ACESS_DOMINIO).' e a senha abaixo:
'.$senha.'
Lembre-se, a validade dessa senha é de 24hs.
';
$send = sendMail(
ucwords(strtolower($email)),
$email."@".ACESS_DOMINIO,
getStatic("site_mail_exibicao", "texto"),
getStatic("site_mail_user", "texto"),
"Senha provisória - ".getStatic("site_mail_user", "texto"),
$msg
);
if($send == true)
{
saveLog("Usuário temporário gerado: ".$email."@".ACESS_DOMINIO);
echo sweetRedir(
"Sucesso!",
"Uma senha foi gerada e enviada para ".($email."@".ACESS_DOMINIO),
"success",
CP."/view/login"
);
}
else
{
saveLog("Falha na geração de senha para usuário temporário para: ".$email."@".ACESS_DOMINIO);
// Deleta o usuário e os níveis caso o e-mail não foi enviado
deleteSql("sys_admin_niveis", "WHERE adminID = '".$adminID."'");
deleteSql("sys_admin", "WHERE email = '".($email."@".ACESS_DOMINIO)."'");
echo sweetAlert("Atenção!", "Não foi possível gerar uma senha para você, tente mais tarde.", "warning");
exit;
}
}
?>