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:
app_config.php
<?php require_once __DIR__ . '/../config/database.php'; requireSuperAdmin(); $titulo = 'Configuracao do Sistema'; require_once __DIR__ . '/../includes/header.php'; $uploadDir = __DIR__ . '/../assets/uploads/'; if (!is_dir($uploadDir)) { mkdir($uploadDir, 0755, true); } if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['acao'])) { $acao = $_POST['acao']; if ($acao === 'salvar') { $app_nome = trim($_POST['app_nome'] ?? ''); $login_bg_tipo = $_POST['login_bg_tipo'] ?? ''; $configAtual = $pdo->query("SELECT * FROM configuracoes WHERE empresa_id = 1")->fetch(); $login_bg_arquivo = $configAtual['login_bg_arquivo'] ?? null; if (!empty($_FILES['login_bg_arquivo']['name'])) { $ext = strtolower(pathinfo($_FILES['login_bg_arquivo']['name'], PATHINFO_EXTENSION)); $allowedImg = ['jpg','jpeg','png','gif','webp']; $allowedVid = ['mp4','webm','ogg']; if ($login_bg_tipo === 'imagem' && in_array($ext, $allowedImg)) { if ($login_bg_arquivo && file_exists($uploadDir . $login_bg_arquivo)) { unlink($uploadDir . $login_bg_arquivo); } $nomeArquivo = 'login_bg_' . time() . '.' . $ext; move_uploaded_file($_FILES['login_bg_arquivo']['tmp_name'], $uploadDir . $nomeArquivo); $login_bg_arquivo = $nomeArquivo; } elseif ($login_bg_tipo === 'video' && in_array($ext, $allowedVid)) { if ($login_bg_arquivo && file_exists($uploadDir . $login_bg_arquivo)) { unlink($uploadDir . $login_bg_arquivo); } $nomeArquivo = 'login_bg_' . time() . '.' . $ext; move_uploaded_file($_FILES['login_bg_arquivo']['tmp_name'], $uploadDir . $nomeArquivo); $login_bg_arquivo = $nomeArquivo; } } if (!$configAtual) { $pdo->prepare("INSERT INTO configuracoes (empresa_id, app_nome, login_bg_tipo, login_bg_arquivo) VALUES (1,?,?,?)") ->execute([$app_nome ?: null, $login_bg_tipo ?: null, $login_bg_arquivo]); } else { $pdo->prepare("UPDATE configuracoes SET app_nome=?, login_bg_tipo=?, login_bg_arquivo=? WHERE empresa_id=1") ->execute([$app_nome ?: null, $login_bg_tipo ?: null, $login_bg_arquivo]); } if (!empty($_POST['remover_bg'])) { if ($login_bg_arquivo && file_exists($uploadDir . $login_bg_arquivo)) { unlink($uploadDir . $login_bg_arquivo); } $pdo->exec("UPDATE configuracoes SET login_bg_tipo=NULL, login_bg_arquivo=NULL WHERE empresa_id=1"); } $_SESSION['success_msg'] = 'Configuracoes do sistema salvas!'; redirect('app_config.php'); } } $config = $pdo->query("SELECT * FROM configuracoes WHERE empresa_id = 1")->fetch(); ?> <div class="card animate-fadeIn"> <div class="card-header"><h3 class="card-title"><i class="bi bi-gear me-2 text-info"></i>Configuracao do Sistema</h3></div> <div class="card-body"> <form method="POST" enctype="multipart/form-data"> <input type="hidden" name="acao" value="salvar"> <div class="row g-3 mb-3"> <div class="col-md-6"> <label class="form-label">Nome do Sistema</label> <input type="text" name="app_nome" class="form-control" value="<?= sanitize($config['app_nome'] ?? '') ?>" placeholder="<?= APP_NAME ?>"> <div class="form-text">Deixe em branco para usar o nome padrao (<?= APP_NAME ?>).</div> </div> </div> <hr> <h6 class="fw-semibold mb-3"><i class="bi bi-image me-1"></i>Background da Tela de Login</h6> <div class="row g-3 mb-3"> <div class="col-md-4"> <label class="form-label">Tipo</label> <select name="login_bg_tipo" class="form-select" onchange="trocarTipoBg(this.value)"> <option value="">Nenhum</option> <option value="imagem" <?= ($config['login_bg_tipo'] ?? '') === 'imagem' ? 'selected' : '' ?>>Imagem</option> <option value="video" <?= ($config['login_bg_tipo'] ?? '') === 'video' ? 'selected' : '' ?>>Video</option> </select> </div> <div class="col-md-8"> <label class="form-label">Arquivo</label> <input type="file" name="login_bg_arquivo" class="form-control" accept=".jpg,.jpeg,.png,.gif,.webp,.mp4,.webm,.ogg"> <div class="form-text">Imagens: JPG, PNG, GIF, WebP. Videos: MP4, WebM, OGG.</div> </div> </div> <?php if (!empty($config['login_bg_arquivo']) && !empty($config['login_bg_tipo'])): ?> <div class="mb-3" id="preview-area"> <label class="form-label">Preview</label> <div class="border rounded overflow-hidden" style="max-width:400px;max-height:250px"> <?php if ($config['login_bg_tipo'] === 'imagem'): ?> <img src="<?= URL_BASE ?>assets/uploads/<?= sanitize($config['login_bg_arquivo']) ?>" class="img-fluid" alt="Preview"> <?php elseif ($config['login_bg_tipo'] === 'video'): ?> <video src="<?= URL_BASE ?>assets/uploads/<?= sanitize($config['login_bg_arquivo']) ?>" class="w-100" muted autoplay loop style="max-height:250px"></video> <?php endif; ?> </div> <div class="form-check mt-2"> <input type="checkbox" name="remover_bg" class="form-check-input" id="removerBg" value="1"> <label class="form-check-label text-danger" for="removerBg">Remover background atual</label> </div> </div> <?php endif; ?> <div class="mt-4"> <button type="submit" class="btn btn-primary"><i class="bi bi-save me-1"></i>Salvar</button> </div> </form> </div> </div> <script> function trocarTipoBg(tipo) { var input = document.querySelector('input[name="login_bg_arquivo"]'); if (tipo === 'imagem') { input.accept = '.jpg,.jpeg,.png,.gif,.webp'; } else if (tipo === 'video') { input.accept = '.mp4,.webm,.ogg'; } else { input.accept = ''; } } </script> <?php require_once __DIR__ . '/../includes/footer.php'; ?>
Simpan