<?php
$desabilitaLayout = 1;
$smarty->assign("desabilitaLayout", $desabilitaLayout);
$renderizarPagina = true;
include "login/api_banner.php";
include_once "util/funcoesLicenca.php";
$tentativaErro = 5;
if (isset($_POST['btLogin'])) {
$login = strtolower(substr($_POST["loginUser"], 0, 50));
$senha = substr($_POST["loginPass"], 0, 14);
$validaTentativa = countTentativas($dbcon, $login, $tentativaErro);
if (($validaTentativa == false) & & ($_POST["loginUser"] != 'admin')) {
echo "< script > confirm ( 'Seu acesso foi bloqueado por in<EFBFBD> meras tentativas de acesso inv<EFBFBD> lidos! Para o desbloqueio, realize a altera<EFBFBD> <EFBFBD> o de senha ou consulte seu Administrador.' ) ; < / script > ";
echo "< script > window . location . href = '/index.php' ; < / script > ";
}
// else if (!validarLicenca($dbcon) & & ($_POST["loginUser"] != 'admin')) {
// echo "< script > confirm ( 'Sua licen<EFBFBD> a <EFBFBD> inv<EFBFBD> lida por favor entre em contato com o suporte da Simples IP para ativar sua central!' ) ; < / script > ";
// echo "< script > window . location . href = '/index.php' ; < / script > ";
// }
$query = "select id, nome, apelido, matricula,
case when((select count(*)
from pbx_grupo_usuario a, pbx_grupo_funcoes b, pbx_funcoes c
where b.gp_id = a.gp_id
and c.fun_id = b.fun_id
and a.user_id = u.id
and c.fun_nome = 'mnSupervisor') > 0)then 1 else 0 end as supervisor,
cast( admin as int) as admin, case when(agente = true)then 1 else 0 end as agente,
def_senha,
senha_expira, senha_dias_expira,
senha_ult_atualiza,
senha_ult_atualiza + senha_dias_expira as senha_dt_expira,
case when((senha_ult_atualiza + senha_dias_expira) < CURRENT_DATE ) then 1 else 0 end as senha_expirada ,
penalidade, senha, termo_uso_privacidade
from pbx_usuarios u
where u.check_vl = md5(%s)
and coalesce(status, true) = true
and coalesce(delete_,0) = 0 ";
//where (u.check_vl = md5(%s) OR email = %s)
//$query = sprintf($query, QuotedStr($login), QuotedStr($login));
$query = sprintf($query, QuotedStr($login));
$result = pg_query($dbcon, $query);
// Autentica usu<EFBFBD> rio //
$senhaIsValid = false;
if ($result) {
$row = pg_fetch_array($result);
$senhaUser = $row['senha'];
$senhaLogin = md5($senha);
$senhaIsValid = $senhaUser == $senhaLogin;
}
if ($senhaIsValid & & RegistraAcesso($row['apelido'], $row['id'])) {
$_SESSION["SSTimeOut"] = time();
$_SESSION["SSlogin"] = $login;
$_SESSION["SSnomeUser"] = $row['nome'];
$_SESSION["SSidUser"] = $row['id'];
$_SESSION["SSmatriculaUser"] = $row['matricula'];
$_SESSION["SSsuper"] = $row['supervisor'];
$_SESSION["SSadmin"] = '0'; //$row['admin'];
$_SESSION["SSagente"] = '0'; //$row['agente'];
$_SESSION["SSagentePenalidade"] = $row['penalidade'];
$_SESSION["SSaut"] = "OK";
$_SESSION[SS_SENHA_DEF] = $row["def_senha"];
$_SESSION["SSTermoUsoPrivacidade"] = $row["termo_uso_privacidade"];
//registra o login corrente para registrar log de erros do usuario
// $siteError->SetLogin($row['apelido']);
//parametros do sistema
GetParametros($dbcon);
//armazenha informacoes para relat<EFBFBD> rios de pabx em base diversa
SetDefaultSite($dbcon);
SetHosts($dbcon);
// SetSupervisorAcesso($dbcon); Desativaro era usado para identificar se o superfivor tem acesso nas filas ativas e receptiva.
SetAgente($dbcon);
// Modo de atendimento default
SetModuAtendimentoDefault();
// caminhos para gravar arquivos
GetCofigPadrao($dbcon);
/*
* expiracao de senha
*/
if ($row["senha_expira"]) {
$dataNow = date('Y-m-d');
if (!IsAdmin() & & $row["senha_dias_expira"] > 0 & & (strtotime($dataNow) >= strtotime($row["senha_ult_atualiza"] . "+{$row["senha_dias_expira"]} days"))) {
$query = "UPDATE pbx_usuarios SET def_senha = '1' WHERE apelido = '{$row['apelido']}' AND id = {$row['id']};";
$result = pg_query($dbcon, $query);
}
$_SESSION[SS_EXPIRA_SENHA] = 1;
$_SESSION[SS_PRM_SENHA_EXPIRADA] = $row["senha_expirada"];
$_SESSION[SS_PRM_SENHA_DT_EXP] = $row["senha_dt_expira"];
$_SESSION[SS_PRM_SENHA_ULT_ATU] = $row["senha_ult_atualiza"];
$_SESSION[SS_PRM_SENHA_DIAS_EXP] = $row["senha_dias_expira"];
}
/*
* Informa<EFBFBD> <EFBFBD> es sobre dac padrao
*/
if (true) {
$dacParao = GetDacPadraoAgente($dbcon, false);
$_SESSION[SS_DAC_PADRAO] = $dacParao;
}
/*
* Vefifica Registros que precisam esta incluidos no banco de dados
*/
VerificaDefaults($dbcon);
/*
* Captura a resolu<EFBFBD> <EFBFBD> o do computador cliente.
*/
$w = $_REQUEST['screenW'] ?? 800;
$h = $_REQUEST['screenH'] ?? 600;
/*
* Largura do site.
*/
$tbLayoutW = $_REQUEST['tbLayout'];
SetResScreen($w, $h, $tbLayoutW);
} else {
RegistraAcesso($_POST["loginUser"], ($row['id'] ? $row['id'] : '0'), '1');
GravaFull(0, '', 'Tentativa de login inv<EFBFBD> lido', $_POST["loginUser"]);
$_SESSION["SSaut"] = "er";
echo '< script > a l e r t ( " U s u <EFBFBD> r i o o u s e n h a i n v <EFBFBD> l i d a ! " ) ;
< / script > ';
}
if (isset($_POST['btLogin']) & & $_SESSION["SSaut"] === "OK") {
$desabilitaLayout = null;
$smarty->assign("desabilitaLayout", $desabilitaLayout);
header('Location: ' . $_SERVER['PHP_SELF'] . '?idProg=' . $idProg);
}
}
function countTentativas($dbcon, $login, $tentativaErro)
{
$boll_return = true;
// Use pg_prepare para preparar a consulta com um marcador de posi<EFBFBD> <EFBFBD> o
$query = "SELECT COUNT(*) AS tentativas FROM pbx_controle_acesso WHERE acs_login = $1 AND acs_data_ini::DATE = CURRENT_DATE AND acs_erro = 0;";
// Prepara a consulta
$stmt = pg_prepare($dbcon, "count_query", $query);
// Executa a consulta com o valor do marcador de posi<EFBFBD> <EFBFBD> o
$result = pg_execute($dbcon, "count_query", array($login));
$res = pg_fetch_assoc($result);
if ($res['tentativas'] >= $tentativaErro) {
$boll_return = false;
}
return $boll_return;
}
function ValidaRecuperaSenha($dbcon)
{
$query = "select hosts, usuario, senha, porta from pbx_confmail;";
$result = pg_query($dbcon, $query);
$res = pg_fetch_assoc($result);
return ($res ? true : false);
}
?>
<?php
if ($renderizarPagina & & (!$_GET['action'])) {
?>
<!DOCTYPE html>
< html >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title >
Acesso de Usu<EFBFBD> rio - Simples IP
< / title >
< style >
<?php
include 'css/login.css';
include "components/Footer/footer.css";
?>
< / style >
< link rel = "icon" href = "img/FOOTER_SIMPLES_IP.png" type = "image/png" >
< link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" >
< / head >
< body >
< div class = "container-home" >
< div class = "container-login" >
< div class = "login-content" >
< div class = "left" >
< img src = <? = $imagem ; ?> alt= <? = $urlImagem ?> />
< / div >
< div class = "right" >
< img src = "img/FOOTER_SIMPLES_IP.png" alt = "Logo SimplesIp" >
<?php include "components/Sociais/sociais.php" ; ?>
< div class = "right-content" >
< h4 > SEJA MUITO BEM-VINDO!< / h4 >
< form id = "formulario-login" method = "post" accept-charset = "utf-8" action = "index.php" >
< div class = "group" >
< span > Login/Email< / span >
< input placeholder = "Insira seu email ou login" type = "text" maxlength = "50" name = "loginUser" id = "loginUser" / >
< / div >
< div class = "group" >
< span > Senha< / span >
< input type = "password" placeholder = "Insira a sua senha" maxlength = "14" name = "loginPass" id = "loginPass" / >
< / div >
< div class = "esqueci-senha" >
< a href = "index.php?action=recovery_password" > Recuperar Senha?< / a >
< / div >
< div class = 'bn-login' >
< input type = "submit" name = "btLogin" value = "ENTRAR →" id = "btLogon" class = "bn632-hover bn24" / >
< / div >
< / form >
< / div >
< div class = "right-content" >
< div class = "fo-info" >
< p > Contato: +55 (65)3616-8280< / p >
< p > Email: meajuda@simplesip.com.br< / p >
< p > Vers<EFBFBD> o 1.9.1 | Copyright <EFBFBD> 2024 simplesip.net.br< / p >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
<?php include "components/Footer/footer.php" ; ?>
< script >
document.addEventListener('DOMContentLoaded', function() {
// Aguarde at<EFBFBD> que o DOM esteja completamente carregado
document.getElementById('loginUser').focus();
});
< / script >
<?php
} else {
$renderizarPagina = false;
$desabilitaLayout = null;
$smarty->assign("desabilitaLayout", $desabilitaLayout);
} ?>
< / body >
< / html >