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
/
admin
/
Edit File:
planos.php
<?php require_once __DIR__ . '/../config/database.php'; requireSuperAdmin(); $titulo = 'Gerenciar Planos'; require_once __DIR__ . '/../includes/header.php'; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $acao = $_POST['acao'] ?? ''; if ($acao === 'novo' || $acao === 'editar') { $id = (int)($_POST['id'] ?? 0); $nome = trim($_POST['nome']); $valor = str_replace(['R$', ' ', '.', ','], ['', '', '', '.'], $_POST['valor'] ?? 0); $recorencia = $_POST['recorencia'] ?? 'mensal'; $limite_profissionais = (int)($_POST['limite_profissionais'] ?? 0); $limite_clientes = (int)($_POST['limite_clientes'] ?? 0); $recursos = $_POST['recursos'] ?? []; $ativo = (int)($_POST['ativo'] ?? 0); $whatsapp_available = (int)($_POST['whatsapp_available'] ?? 0); $gateway_hubpay = (int)($_POST['gateway_hubpay'] ?? 0); $gateway_mercadopago = (int)($_POST['gateway_mercadopago'] ?? 0); $gateway_asaas = (int)($_POST['gateway_asaas'] ?? 0); $gateway_manual = (int)($_POST['gateway_manual'] ?? 0); $recursosJson = json_encode($recursos); try { if ($acao === 'novo') { $pdo->prepare("INSERT INTO planos (nome, valor, recorencia, limite_profissionais, limite_clientes, recursos, ativo, whatsapp_available, gateway_hubpay, gateway_mercadopago, gateway_asaas, gateway_manual) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)") ->execute([$nome, $valor, $recorencia, $limite_profissionais, $limite_clientes, $recursosJson, $ativo, $whatsapp_available, $gateway_hubpay, $gateway_mercadopago, $gateway_asaas, $gateway_manual]); } else { $pdo->prepare("UPDATE planos SET nome=?, valor=?, recorencia=?, limite_profissionais=?, limite_clientes=?, recursos=?, ativo=?, whatsapp_available=?, gateway_hubpay=?, gateway_mercadopago=?, gateway_asaas=?, gateway_manual=? WHERE id=?") ->execute([$nome, $valor, $recorencia, $limite_profissionais, $limite_clientes, $recursosJson, $ativo, $whatsapp_available, $gateway_hubpay, $gateway_mercadopago, $gateway_asaas, $gateway_manual, $id]); } $_SESSION['success_msg'] = 'Plano salvo!'; } catch (PDOException $e) { $_SESSION['error_msg'] = 'Erro: ' . $e->getMessage(); } redirect('planos.php'); } if ($acao === 'delete') { $id = (int)$_POST['id']; $pdo->prepare("DELETE FROM planos WHERE id=?")->execute([$id]); $_SESSION['success_msg'] = 'Plano removido!'; redirect('planos.php'); } } $planos = $pdo->query("SELECT * FROM planos ORDER BY valor")->fetchAll(); $recursosDisponiveis = [ 'dashboard' => 'Dashboard', 'agendamentos' => 'Agendamentos', 'clientes' => 'Clientes', 'profissionais' => 'Profissionais', 'servicos' => 'Servicos', 'relatorios' => 'Relatorios', 'financeiro' => 'Financeiro', 'campanhas' => 'Campanhas', 'whatsapp' => 'WhatsApp', 'pagamentos' => 'Pagamentos', 'api' => 'API', 'multiusuario' => 'Multi-usuario', ]; ?> <div class="card"> <div class="card-header d-flex justify-content-between align-items-center"> <h3 class="card-title"><i class="bi bi-card-checklist me-2 text-info"></i>Planos</h3> <button class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#modalPlano"><i class="bi bi-plus-lg me-1"></i>Novo Plano</button> </div> <div class="card-body p-0"> <table class="table table-striped mb-0"> <thead><tr><th>ID</th><th>Nome</th><th>Valor</th><th>Recorrencia</th><th>Limite Prof.</th><th>Ativo</th><th>Acoes</th></tr></thead> <tbody> <?php foreach ($planos as $p): ?> <tr> <td><?= $p['id'] ?></td> <td><strong><?= sanitize($p['nome']) ?></strong></td> <td><?= formatarMoeda($p['valor']) ?></td> <td><?= ucfirst($p['recorencia']) ?></td> <td><?= $p['limite_profissionais'] ?: 'Ilimitado' ?></td> <td><?= $p['ativo'] ? '<span class="badge bg-success">Sim</span>' : '<span class="badge bg-danger">Nao</span>' ?></td> <td> <button class="btn btn-sm btn-info" data-bs-toggle="modal" data-bs-target="#modalPlano<?= $p['id'] ?>"><i class="bi bi-pencil"></i></button> <form method="POST" style="display:inline" onsubmit="return confirm('Excluir plano?')"> <input type="hidden" name="acao" value="delete"> <input type="hidden" name="id" value="<?= $p['id'] ?>"> <button class="btn btn-sm btn-danger"><i class="bi bi-trash"></i></button> </form> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> </div> <div class="modal fade" id="modalPlano" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <form method="POST"> <input type="hidden" name="acao" value="novo"> <div class="modal-header"><h5 class="modal-title">Novo Plano</h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <div class="modal-body"> <?php include __DIR__ . '/_form_plano.php'; ?> </div> <div class="modal-footer"><button type="submit" class="btn btn-primary"><i class="bi bi-save me-1"></i>Salvar</button></div> </form> </div> </div> </div> <?php foreach ($planos as $p): $recursosPlano = json_decode($p['recursos'] ?? '[]', true) ?: []; ?> <div class="modal fade" id="modalPlano<?= $p['id'] ?>" tabindex="-1"> <div class="modal-dialog"> <div class="modal-content"> <form method="POST"> <input type="hidden" name="acao" value="editar"> <input type="hidden" name="id" value="<?= $p['id'] ?>"> <div class="modal-header"><h5 class="modal-title">Editar: <?= sanitize($p['nome']) ?></h5><button type="button" class="btn-close" data-bs-dismiss="modal"></button></div> <div class="modal-body"> <div class="mb-3"><label class="form-label">Nome</label><input type="text" name="nome" class="form-control" value="<?= sanitize($p['nome']) ?>" required></div> <div class="mb-3"><label class="form-label">Valor</label><input type="text" name="valor" class="form-control mask-valor" value="<?= number_format($p['valor'], 2, ',', '.') ?>"></div> <div class="mb-3"><label class="form-label">Recorrencia</label> <select name="recorencia" class="form-select"> <option value="mensal" <?= $p['recorencia'] === 'mensal' ? 'selected' : '' ?>>Mensal</option> <option value="trimestral" <?= $p['recorencia'] === 'trimestral' ? 'selected' : '' ?>>Trimestral</option> <option value="semestral" <?= $p['recorencia'] === 'semestral' ? 'selected' : '' ?>>Semestral</option> <option value="anual" <?= $p['recorencia'] === 'anual' ? 'selected' : '' ?>>Anual</option> </select> </div> <div class="row g-3 mb-3"> <div class="col-6"><label class="form-label">Limite Profissionais</label><input type="number" name="limite_profissionais" class="form-control" value="<?= $p['limite_profissionais'] ?>"><small class="text-secondary">0 = ilimitado</small></div> <div class="col-6"><label class="form-label">Limite Clientes</label><input type="number" name="limite_clientes" class="form-control" value="<?= $p['limite_clientes'] ?>"><small class="text-secondary">0 = ilimitado</small></div> </div> <div class="mb-3"><label class="form-label">Recursos</label> <div class="row g-2"> <?php foreach ($recursosDisponiveis as $key => $label): ?> <div class="col-6"><div class="form-check"><input type="checkbox" class="form-check-input" name="recursos[]" value="<?= $key ?>" <?= in_array($key, $recursosPlano) ? 'checked' : '' ?>><label class="form-check-label"><?= $label ?></label></div></div> <?php endforeach; ?> </div> </div> <div class="form-check mb-2"><input type="checkbox" class="form-check-input" name="whatsapp_available" value="1" <?= !empty($p['whatsapp_available']) ? 'checked' : '' ?>><label class="form-check-label">WhatsApp Disponivel (DigiGO)</label></div> <div class="mb-3"><label class="form-label">Gateways de Pagamento (Plano)</label> <div class="row g-2"> <div class="col-6"><div class="form-check"><input type="checkbox" class="form-check-input" name="gateway_hubpay" value="1" <?= !empty($p['gateway_hubpay']) ? 'checked' : '' ?>><label class="form-check-label">Hubpay</label></div></div> <div class="col-6"><div class="form-check"><input type="checkbox" class="form-check-input" name="gateway_mercadopago" value="1" <?= !empty($p['gateway_mercadopago']) ? 'checked' : '' ?>><label class="form-check-label">Mercado Pago</label></div></div> <div class="col-6"><div class="form-check"><input type="checkbox" class="form-check-input" name="gateway_asaas" value="1" <?= !empty($p['gateway_asaas']) ? 'checked' : '' ?>><label class="form-check-label">Asaas</label></div></div> <div class="col-6"><div class="form-check"><input type="checkbox" class="form-check-input" name="gateway_manual" value="1" <?= !empty($p['gateway_manual']) ? 'checked' : '' ?>><label class="form-check-label">Manual (Aprovacao Super Admin)</label></div></div> </div> </div> <div class="form-check"><input type="checkbox" class="form-check-input" name="ativo" value="1" <?= $p['ativo'] ? 'checked' : '' ?>><label class="form-check-label">Ativo</label></div> </div> <div class="modal-footer"><button type="submit" class="btn btn-primary"><i class="bi bi-save me-1"></i>Salvar</button></div> </form> </div> </div> </div> <?php endforeach; ?> <?php require_once __DIR__ . '/../includes/footer.php'; ?>
Simpan