forked from SimplesIP/pabx-app
Matheo Bonucia
10 months ago
4 changed files with 178 additions and 33 deletions
@ -0,0 +1,64 @@
|
||||
<?php |
||||
|
||||
// Inicializar uma requisição http // |
||||
$key = 'IvDU6Sl6AosNFQ28APSSotJkUOnn53XahGeC3z93j7XCC5VwlcFLaopX'; |
||||
$endPoint = 'https://api.pexels.com/v1/'; |
||||
$type = 'search'; |
||||
|
||||
$url = montarUrl($endPoint, $type); |
||||
// Monta opções do cURL |
||||
$options = array( |
||||
CURLOPT_URL => $url, |
||||
CURLOPT_HEADER => false, |
||||
CURLOPT_RETURNTRANSFER => true, |
||||
CURLOPT_HTTPHEADER => array( |
||||
'Authorization: ' . $key, |
||||
), |
||||
); |
||||
// Iniciar cURL |
||||
$ch = curl_init(); |
||||
curl_setopt_array($ch, $options); |
||||
$resposta = curl_exec($ch); |
||||
|
||||
// Verificar se houve erros na execução do cURL |
||||
if (curl_errno($ch)) { |
||||
echo 'Erro cURL: ' . curl_error($ch); |
||||
} else { |
||||
// Decodificar a resposta JSON |
||||
$resp = json_decode($resposta, true); |
||||
// Verificar se houve erros na decodificação JSON |
||||
if (json_last_error() !== JSON_ERROR_NONE) { |
||||
echo 'Erro ao decodificar JSON: ' . json_last_error_msg(); |
||||
} else { |
||||
$imagem = getBanner($resp); |
||||
} |
||||
} |
||||
|
||||
// Fechar a sessão cURL |
||||
curl_close($ch); |
||||
|
||||
// Funções utilizadas // |
||||
function getBanner($data) |
||||
{ |
||||
$imagem_aleatoria = random_int(0, 15); |
||||
$urlImagem = $data['photos'][$imagem_aleatoria]['src']['original']; |
||||
if (!$urlImagem) { |
||||
throw new Exception('Erro ao adquirir imagem'); |
||||
} |
||||
return $urlImagem; |
||||
} |
||||
|
||||
function montarUrl($endPoint, $type) |
||||
{ |
||||
$endPoint .= $type; |
||||
$params = array( |
||||
'query' => 'phone call', |
||||
'orientation' => 'landscape', |
||||
'size' => 'small', |
||||
); |
||||
|
||||
$url = $endPoint . '?' . http_build_query($params); |
||||
return $url; |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,41 @@
|
||||
<?php |
||||
|
||||
include "util/funcoesLicenca.php"; |
||||
$tentativaErro = 5; |
||||
|
||||
header('Content-Type: application/json'); |
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') { |
||||
if (isset($_POST['loginUser']) && isset($_POST['loginPass'])) { |
||||
$user = $_POST['loginUser']; |
||||
$password = $_POST['loginPass']; |
||||
|
||||
// Exemplo simples de autenticação (não seguro, apenas para fins educacionais) |
||||
if ($user === 'admin' && $password === 'OitoDois80_SiP') { |
||||
echo json_encode(['status' => 'success', 'message' => 'Login bem-sucedido!']); |
||||
// Você pode adicionar mais informações, como um token de autenticação, aqui |
||||
} else { |
||||
echo json_encode(['status' => 'error', 'message' => 'Credenciais inválidas. Tente novamente.']); |
||||
} |
||||
} else { |
||||
echo json_encode(['status' => 'error', 'message' => 'Campos de formulário ausentes.']); |
||||
} |
||||
} else { |
||||
echo json_encode(['status' => 'error', 'message' => 'Método não permitido.']); |
||||
} |
||||
|
||||
|
||||
function countTentativas($dbcon, $login, $tentativaErro) |
||||
{ |
||||
$login = addslashes($login); |
||||
|
||||
$query = "SELECT COUNT(*) AS tentativas FROM pbx_controle_acesso WHERE acs_login = '$login' AND acs_data_ini::DATE = 'now' AND acs_erro = 1;"; |
||||
$result = pg_query($dbcon, $query); |
||||
$res = pg_fetch_assoc($result); |
||||
if ($res['tentativas'] == $tentativaErro) { |
||||
return false; |
||||
} |
||||
return true; |
||||
} |
||||
|
||||
?> |
Loading…
Reference in new issue