Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alteraçoes modulo pet 10/09 - 13/09 #700

Merged
merged 10 commits into from
Sep 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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