forked from bruno/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