One Hat Cyber Team
Your IP :
216.73.216.36
Server IP :
162.240.179.46
Server :
Linux vps-14493116.nutrivittasaude.com.br 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
Server Software :
Apache
PHP Version :
8.2.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
lifeprimeti
/
meta.lifeprimeti.com.br
/
public
/
Edit File:
barbeiros.php
<?php require_once __DIR__ . '/../config/database.php'; requireAdmin(); // Pagina legada — redireciona para profissionais.php redirect(URL_BASE . 'public/profissionais.php'); exit; $titulo = 'Barbeiros'; require_once __DIR__ . '/../includes/header.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['acao'])) { $acao = $_POST['acao']; if ($acao === 'cadastrar') { $nome = trim($_POST['nome']); $email = trim($_POST['email']); $telefone = trim($_POST['telefone']); $especialidade = trim($_POST['especialidade']); $descricao = trim($_POST['descricao']); $senha = password_hash('123456', PASSWORD_DEFAULT); try { $pdo->beginTransaction(); $stmt = $pdo->prepare("INSERT INTO usuarios (nome, email, telefone, senha, tipo) VALUES (?, ?, ?, ?, 'barbeiro')"); $stmt->execute([$nome, $email, $telefone, $senha]); $usuarioId = $pdo->lastInsertId(); $stmt = $pdo->prepare("INSERT INTO barbeiros (usuario_id, especialidade, descricao) VALUES (?, ?, ?)"); $stmt->execute([$usuarioId, $especialidade, $descricao]); $pdo->commit(); $_SESSION['success_msg'] = 'Barbeiro cadastrado com sucesso! Senha padrão: 123456'; } catch (Exception $e) { $pdo->rollBack(); $_SESSION['error_msg'] = 'Erro ao cadastrar: ' . $e->getMessage(); } header('Location: barbeiros.php'); exit; } if ($acao === 'editar') { $id = (int) $_POST['id']; $nome = trim($_POST['nome']); $email = trim($_POST['email']); $telefone = trim($_POST['telefone']); $especialidade = trim($_POST['especialidade']); $descricao = trim($_POST['descricao']); try { $pdo->beginTransaction(); $stmt = $pdo->prepare("UPDATE usuarios SET nome = ?, email = ?, telefone = ? WHERE id = (SELECT usuario_id FROM barbeiros WHERE id = ?)"); $barbeiro = $pdo->prepare("SELECT usuario_id FROM barbeiros WHERE id = ?"); $barbeiro->execute([$id]); $b = $barbeiro->fetch(); if ($b) { $stmt->execute([$nome, $email, $telefone, $b['usuario_id']]); } $stmt = $pdo->prepare("UPDATE barbeiros SET especialidade = ?, descricao = ? WHERE id = ?"); $stmt->execute([$especialidade, $descricao, $id]); $pdo->commit(); $_SESSION['success_msg'] = 'Barbeiro atualizado com sucesso!'; } catch (Exception $e) { $pdo->rollBack(); $_SESSION['error_msg'] = 'Erro ao atualizar: ' . $e->getMessage(); } header('Location: barbeiros.php'); exit; } if ($acao === 'excluir') { $id = (int) $_POST['id']; try { $stmt = $pdo->prepare("DELETE FROM barbeiros WHERE id = ?"); $stmt->execute([$id]); $_SESSION['success_msg'] = 'Barbeiro excluído com sucesso!'; } catch (PDOException $e) { $_SESSION['error_msg'] = 'Erro ao excluir: ' . $e->getMessage(); } header('Location: barbeiros.php'); exit; } if ($acao === 'cadastrar_horario') { $barbeiro_id = (int) $_POST['barbeiro_id']; $dia_semana = (int) $_POST['dia_semana']; $hora_inicio = $_POST['hora_inicio']; $hora_fim = $_POST['hora_fim']; try { $stmt = $pdo->prepare("INSERT INTO horarios (barbeiro_id, dia_semana, hora_inicio, hora_fim) VALUES (?, ?, ?, ?)"); $stmt->execute([$barbeiro_id, $dia_semana, $hora_inicio, $hora_fim]); $_SESSION['success_msg'] = 'Horário cadastrado com sucesso!'; } catch (PDOException $e) { $_SESSION['error_msg'] = 'Erro: ' . $e->getMessage(); } header('Location: barbeiros.php'); exit; } if ($acao === 'excluir_horario') { $id = (int) $_POST['id']; try { $stmt = $pdo->prepare("DELETE FROM horarios WHERE id = ?"); $stmt->execute([$id]); $_SESSION['success_msg'] = 'Horário excluído!'; } catch (PDOException $e) { $_SESSION['error_msg'] = 'Erro: ' . $e->getMessage(); } header('Location: barbeiros.php'); exit; } } $stmt = $pdo->prepare(" SELECT b.*, u.nome, u.email, u.telefone FROM barbeiros b JOIN usuarios u ON b.usuario_id = u.id ORDER BY u.nome ASC "); $stmt->execute(); $barbeiros = $stmt->fetchAll(); ?> <div class="row"> <div class="col-12"> <div class="card"> <div class="card-header"> <h3 class="card-title">Barbeiros</h3> <div class="card-tools"> <button type="button" class="btn btn-primary btn-sm" onclick="abrirModal('modalCadastrar')"> <i class="bi bi-plus"></i> Novo Barbeiro </button> </div> </div> <div class="card-body p-0"> <table class="table table-striped"> <thead> <tr> <th>ID</th> <th>Nome</th> <th>Email</th> <th>Telefone</th> <th>Especialidade</th> <th>Ações</th> </tr> </thead> <tbody> <?php if (empty($barbeiros)): ?> <tr><td colspan="6" class="text-center">Nenhum barbeiro cadastrado.</td></tr> <?php else: ?> <?php foreach ($barbeiros as $b): ?> <tr> <td><?= $b['id'] ?></td> <td><?= htmlspecialchars($b['nome']) ?></td> <td><?= htmlspecialchars($b['email']) ?></td> <td><?= htmlspecialchars($b['telefone']) ?></td> <td><?= htmlspecialchars($b['especialidade']) ?></td> <td> <button class="btn btn-info btn-sm" onclick="abrirModal('modalHorarios<?= $b['id'] ?>')"> <i class="bi bi-clock"></i> </button> <button class="btn btn-warning btn-sm" onclick="abrirModal('modalEditar<?= $b['id'] ?>')"> <i class="bi bi-pencil"></i> </button> <form method="POST" style="display:inline" onsubmit="return confirm('Excluir barbeiro?')"> <input type="hidden" name="acao" value="excluir"> <input type="hidden" name="id" value="<?= $b['id'] ?>"> <button class="btn btn-danger btn-sm"><i class="bi bi-trash"></i></button> </form> </td> </tr> <?php endforeach; ?> <?php endif; ?> </tbody> </table> </div> </div> </div> </div> <div class="modal fade" id="modalCadastrar"> <div class="modal-dialog"> <form method="POST" class="modal-content"> <div class="modal-header"><h5 class="modal-title">Novo Barbeiro</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <div class="modal-body"> <input type="hidden" name="acao" value="cadastrar"> <div class="mb-3"> <label class="form-label">Nome</label> <input type="text" name="nome" class="form-control" required> </div> <div class="mb-3"> <label class="form-label">Email</label> <input type="email" name="email" class="form-control" required> </div> <div class="mb-3"> <label class="form-label">Telefone</label> <input type="text" name="telefone" class="form-control"> </div> <div class="mb-3"> <label class="form-label">Especialidade</label> <input type="text" name="especialidade" class="form-control"> </div> <div class="mb-3"> <label class="form-label">Descrição</label> <textarea name="descricao" class="form-control" rows="3"></textarea> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="btn btn-primary">Salvar</button> </div> </form> </div> </div> <?php foreach ($barbeiros as $b): ?> <div class="modal fade" id="modalEditar<?= $b['id'] ?>"> <div class="modal-dialog"> <form method="POST" class="modal-content"> <div class="modal-header"><h5 class="modal-title">Editar Barbeiro</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <div class="modal-body"> <input type="hidden" name="acao" value="editar"> <input type="hidden" name="id" value="<?= $b['id'] ?>"> <div class="mb-3"> <label class="form-label">Nome</label> <input type="text" name="nome" class="form-control" value="<?= htmlspecialchars($b['nome']) ?>" required> </div> <div class="mb-3"> <label class="form-label">Email</label> <input type="email" name="email" class="form-control" value="<?= htmlspecialchars($b['email']) ?>" required> </div> <div class="mb-3"> <label class="form-label">Telefone</label> <input type="text" name="telefone" class="form-control" value="<?= htmlspecialchars($b['telefone']) ?>"> </div> <div class="mb-3"> <label class="form-label">Especialidade</label> <input type="text" name="especialidade" class="form-control" value="<?= htmlspecialchars($b['especialidade']) ?>"> </div> <div class="mb-3"> <label class="form-label">Descrição</label> <textarea name="descricao" class="form-control" rows="3"><?= htmlspecialchars($b['descricao']) ?></textarea> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button> <button type="submit" class="btn btn-primary">Salvar</button> </div> </form> </div> </div> <div class="modal fade" id="modalHorarios<?= $b['id'] ?>"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"><h5 class="modal-title">Horários — <?= htmlspecialchars($b['nome']) ?></h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <div class="modal-body"> <?php $stmtHorarios = $pdo->prepare("SELECT * FROM horarios WHERE barbeiro_id = ? ORDER BY dia_semana, hora_inicio"); $stmtHorarios->execute([$b['id']]); $horarios = $stmtHorarios->fetchAll(); ?> <table class="table table-sm"> <thead> <tr> <th>Dia</th> <th>Início</th> <th>Fim</th> <th></th> </tr> </thead> <tbody> <?php foreach ($horarios as $h): ?> <tr> <td><?= getDiaSemana($h['dia_semana']) ?></td> <td><?= formatarHora($h['hora_inicio']) ?></td> <td><?= formatarHora($h['hora_fim']) ?></td> <td> <form method="POST" onsubmit="return confirm('Excluir horário?')"> <input type="hidden" name="acao" value="excluir_horario"> <input type="hidden" name="id" value="<?= $h['id'] ?>"> <button class="btn btn-danger btn-sm"><i class="bi bi-x"></i></button> </form> </td> </tr> <?php endforeach; ?> <?php if (empty($horarios)): ?> <tr><td colspan="4" class="text-center">Nenhum horário cadastrado.</td></tr> <?php endif; ?> </tbody> </table> <hr> <form method="POST"> <input type="hidden" name="acao" value="cadastrar_horario"> <input type="hidden" name="barbeiro_id" value="<?= $b['id'] ?>"> <div class="row"> <div class="col-4"> <select name="dia_semana" class="form-select form-select-sm"> <option value="1">Segunda</option> <option value="2">Terça</option> <option value="3">Quarta</option> <option value="4">Quinta</option> <option value="5">Sexta</option> <option value="6">Sábado</option> </select> </div> <div class="col-3"> <input type="time" name="hora_inicio" class="form-control form-control-sm" value="08:00"> </div> <div class="col-3"> <input type="time" name="hora_fim" class="form-control form-control-sm" value="18:00"> </div> <div class="col-2"> <button class="btn btn-success btn-sm w-100"><i class="bi bi-plus"></i></button> </div> </div> </form> </div> </div> </div> </div> <?php endforeach; ?> <?php require_once __DIR__ . '/../includes/footer.php'; ?>
Simpan