Skip to content

Commit

Permalink
Merge pull request #700 from nilsonLazarin/pet
Browse files Browse the repository at this point in the history
Alteraçoes modulo pet 10/09 - 13/09
  • Loading branch information
nilsonLazarin authored Sep 13, 2024
2 parents 3b85c3f + 4a6876b commit a1ba1ed
Show file tree
Hide file tree
Showing 10 changed files with 395 additions and 154 deletions.
1 change: 0 additions & 1 deletion dao/pet/AdocaoPet.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ public function inserirAdocao($id_pet, $rg, $data_adocao){

public function nomeAdotante($rg){
$pdo = Conexao::connect();

$pd = $pdo->prepare("SELECT nome, sobrenome FROM pessoa WHERE registro_geral = :rg");
$pd->bindValue(":rg", $rg);
$pd->execute();
Expand Down
25 changes: 14 additions & 11 deletions dao/pet/PetDAO.php
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
<?php

$Conexao_path = "dao/Conexao.php";
if(file_exists($Conexao_path)){
require_once($Conexao_path);
}else{
while(true){
$Conexao_path = "../" . $Conexao_path;
if(file_exists($Conexao_path)) break;
}
define('BASE_DIR', __DIR__);
$Conexao_path = BASE_DIR . "/dao/Conexao.php";
$max_levels = 10; // Limite de níveis para subir
$level = 0;

while (!file_exists($Conexao_path) && $level < $max_levels) {
$Conexao_path = dirname($Conexao_path) . "/../dao/Conexao.php";
$level++;
}

if (file_exists($Conexao_path)) {
require_once($Conexao_path);
} else {
die("Arquivo de conexão não encontrado.");
}

class PetDAO{
Expand Down Expand Up @@ -96,9 +101,7 @@ public function listarTodos(){
}
return json_encode($pets);
}
//===========================================================================================
// funcao de alterar foto
//===========================================================================================

public function alterarFotoPet($arkivo, $nome, $extensao, $id_foto, $id_pet){
$pdo = Conexao::connect();
$pd = $pdo->prepare("SELECT id_pet_foto FROM pet WHERE id_pet =:id_pet");
Expand Down
46 changes: 33 additions & 13 deletions dao/pet/exibir_especie.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,33 @@
<?php
require_once'../Conexao.php';
$pdo = Conexao::connect();

$sql = 'select * from pet_especie';
$stmt = $pdo->query($sql);
$resultado = array();
while ($row = $stmt->fetch()) {
$resultado[] = array('id_especie'=>$row['id_pet_especie'],'especie'=>$row['descricao']);
}
echo json_encode($resultado);

?>
<?php
require_once '../Conexao.php';

try {
// Conectar ao banco de dados
$pdo = Conexao::connect();

// Consulta SQL
$sql = 'SELECT id_pet_especie, descricao FROM pet_especie';

// Preparar e executar a consulta
$stmt = $pdo->query($sql);

// Array para armazenar os resultados
$resultado = array();

// Fetch os resultados e sanitizar os dados
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$id_especie = htmlspecialchars($row['id_pet_especie'], ENT_QUOTES, 'UTF-8');
$especie = htmlspecialchars($row['descricao'], ENT_QUOTES, 'UTF-8');

$resultado[] = array('id_especie' => $id_especie, 'especie' => $especie);
}

// Retornar os resultados em formato JSON
header('Content-Type: application/json');
echo json_encode($resultado);

} catch (PDOException $e) {
// Tratamento de erros de conexão
echo json_encode(array('error' => 'Erro ao conectar ao banco de dados: ' . $e->getMessage()));
}
?>
82 changes: 59 additions & 23 deletions html/pet/cadastrar_medicamento.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,33 +24,69 @@
require_once "../../dao/Conexao.php";
$pdo = Conexao::connect();

// Database connection
$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// Check connection
if (!$conexao) {
die("Connection failed: " . mysqli_connect_error());
}

// Start the session
session_start();

// Get user ID from session
$id_pessoa = $_SESSION['id_pessoa'];
$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa");
if(!is_null($resultado)){
$id_cargo = mysqli_fetch_array($resultado);
if(!is_null($id_cargo)){
$id_cargo = $id_cargo['id_cargo'];
}
$resultado = mysqli_query($conexao, "SELECT * FROM permissao p JOIN acao a ON(p.id_acao=a.id_acao) JOIN recurso r ON(p.id_recurso=r.id_recurso) WHERE id_cargo=$id_cargo AND a.descricao = 'LER, GRAVAR E EXECUTAR' AND r.descricao='Módulo Saúde'");
if(!is_bool($resultado) and mysqli_num_rows($resultado)){
$permissao = mysqli_fetch_array($resultado);
if($permissao['id_acao'] < 7){
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
}
$permissao = $permissao['id_acao'];
}else{

// Prepare and execute the first query to get id_cargo
$stmt = $conexao->prepare("SELECT id_cargo FROM funcionario WHERE id_pessoa = ?");
$stmt->bind_param("i", $id_pessoa);
$stmt->execute();
$resultado = $stmt->get_result();

// Check if we have a valid result
if ($resultado && $row = $resultado->fetch_assoc()) {
$id_cargo = $row['id_cargo'];

// Prepare and execute the second query to check permissions
$stmt = $conexao->prepare(
"SELECT p.id_acao FROM permissao p
JOIN acao a ON p.id_acao = a.id_acao
JOIN recurso r ON p.id_recurso = r.id_recurso
WHERE p.id_cargo = ?
AND a.descricao = 'LER, GRAVAR E EXECUTAR'
AND r.descricao = 'Módulo Saúde'"
);
$stmt->bind_param("i", $id_cargo);
$stmt->execute();
$resultado = $stmt->get_result();

if ($resultado && $row = $resultado->fetch_assoc()) {
// Check the permission level
if ($row['id_acao'] < 7) {
$msg = "Erro de Permissão.";
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}
$permissao = $row['id_acao'];
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
}
}else{
$msg = "Erro de Permissão.";
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
}

$msg = "Erro de Permissão.";
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}

// Close statements and connection
$stmt->close();
mysqli_close($conexao);




$nome = $pdo->query("SELECT p.id_pet, p.nome FROM pet p")->fetchAll(PDO::FETCH_ASSOC);
Expand Down
81 changes: 60 additions & 21 deletions html/pet/cadastro_ficha_medica_pet.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,32 +24,71 @@
require_once "../../dao/Conexao.php";
$pdo = Conexao::connect();


// Database connection
$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// Check connection
if (!$conexao) {
die("Connection failed: " . mysqli_connect_error());
}

// Start the session
session_start();

// Get user ID from session
$id_pessoa = $_SESSION['id_pessoa'];
$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa");
if(!is_null($resultado)){
$id_cargo = mysqli_fetch_array($resultado);
if(!is_null($id_cargo)){
$id_cargo = $id_cargo['id_cargo'];
}
$resultado = mysqli_query($conexao, "SELECT * FROM permissao p JOIN acao a ON(p.id_acao=a.id_acao) JOIN recurso r ON(p.id_recurso=r.id_recurso) WHERE id_cargo=$id_cargo AND a.descricao = 'LER, GRAVAR E EXECUTAR' AND r.descricao='Módulo Saúde'");
if(!is_bool($resultado) and mysqli_num_rows($resultado)){
$permissao = mysqli_fetch_array($resultado);
if($permissao['id_acao'] < 7){
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
}
$permissao = $permissao['id_acao'];
}else{

// Prepare and execute the first query to get id_cargo
$stmt = $conexao->prepare("SELECT id_cargo FROM funcionario WHERE id_pessoa = ?");
$stmt->bind_param("i", $id_pessoa);
$stmt->execute();
$resultado = $stmt->get_result();

// Check if we have a valid result
if ($resultado && $row = $resultado->fetch_assoc()) {
$id_cargo = $row['id_cargo'];

// Prepare and execute the second query to check permissions
$stmt = $conexao->prepare(
"SELECT p.id_acao FROM permissao p
JOIN acao a ON p.id_acao = a.id_acao
JOIN recurso r ON p.id_recurso = r.id_recurso
WHERE p.id_cargo = ?
AND a.descricao = 'LER, GRAVAR E EXECUTAR'
AND r.descricao = 'Módulo Saúde'"
);
$stmt->bind_param("i", $id_cargo);
$stmt->execute();
$resultado = $stmt->get_result();

if ($resultado && $row = $resultado->fetch_assoc()) {
// Check the permission level
if ($row['id_acao'] < 7) {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}
$permissao = $row['id_acao'];
} else {
// No valid permission found
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
}
}else{
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}
} else {
// No valid cargo found
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
}
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}

// Close statement and connection
$stmt->close();
mysqli_close($conexao);




Expand Down
75 changes: 52 additions & 23 deletions html/pet/cadastro_pet.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,36 +16,65 @@
}
require_once($config_path);
}

// Database connection
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$situacao = $mysqli->query("SELECT * FROM situacao");
$cargo = $mysqli->query("SELECT * FROM cargo");
$conexao = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// Check connection
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}

// Start the session
session_start();

// Get user ID from session
$id_pessoa = $_SESSION['id_pessoa'];
$resultado = mysqli_query($conexao, "SELECT * FROM funcionario WHERE id_pessoa=$id_pessoa");
if (!is_null($resultado)) {
$id_cargo = mysqli_fetch_array($resultado);
if (!is_null($id_cargo)) {
$id_cargo = $id_cargo['id_cargo'];
}
$resultado = mysqli_query($conexao, "SELECT * FROM permissao WHERE id_cargo=$id_cargo and id_recurso=11");
if (!is_bool($resultado) and mysqli_num_rows($resultado)) {
$permissao = mysqli_fetch_array($resultado);
if ($permissao['id_acao'] < 3) {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");

// Prepare and execute the first query to get id_cargo
$stmt = $mysqli->prepare("SELECT id_cargo FROM funcionario WHERE id_pessoa = ?");
$stmt->bind_param("i", $id_pessoa);
$stmt->execute();
$resultado = $stmt->get_result();

// Check if we have a valid result
if ($resultado && $row = $resultado->fetch_assoc()) {
$id_cargo = $row['id_cargo'];

// Prepare and execute the second query to check permissions
$stmt = $mysqli->prepare("SELECT id_acao FROM permissao WHERE id_cargo = ? AND id_recurso = 11");
$stmt->bind_param("i", $id_cargo);
$stmt->execute();
$resultado = $stmt->get_result();

if ($resultado && $row = $resultado->fetch_assoc()) {
// Check the permission level
if ($row['id_acao'] < 3) {
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}
$permissao = $row['id_acao'];
} else {
// No valid permission found
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}
$permissao = $permissao['id_acao'];
} else {
} else {
// No valid cargo found
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
}
} else {
$permissao = 1;
$msg = "Você não tem as permissões necessárias para essa página.";
header("Location: ../home.php?msg_c=$msg");
header("Location: ../home.php?msg_c=" . urlencode($msg));
exit;
}

// Close statement and connection
$stmt->close();
$mysqli->close();


require_once ROOT . "/controle/FuncionarioControle.php";
$listaCPF = new FuncionarioControle;
$listaCPF->listarCpf();
Expand Down
Loading

0 comments on commit a1ba1ed

Please sign in to comment.