Tul xxx Tul
User / IP
:
216.73.216.217
Host / Server
:
45.84.207.204 / aircan.me
System
:
Linux lt-bnk-web1726.main-hosting.eu 5.14.0-611.36.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 3 11:23:52 EST 2026 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
u931257429
/
domains
/
aircan.me
/
public_html
/
eventos
/
admin
/
pages
/
Viewing: story.php
<?php $db = getDB(); $settings = $db->query('SELECT setting_key, setting_value FROM site_settings')->fetchAll(PDO::FETCH_KEY_PAIR); ?> <div class="admin-card"> <div class="card-header"> <div class="card-title"><i class="ph-fill ph-book-open"></i> Historia y Frase Personalizada</div> </div> <form id="storyForm" onsubmit="saveStory(event)"> <!-- FRASE PERSONALIZADA --> <div class="section-divider" style="margin-bottom:1.5rem; padding-bottom:0.5rem; border-bottom:1px solid var(--admin-border);"> <h4 style="margin:0; color:var(--admin-purple);"><i class="ph-bold ph-quotes"></i> Frase Especial</h4> </div> <div class="form-group" style="margin-bottom:1.5rem;"> <label class="form-label" style="display:flex; align-items:center; gap:0.8rem; cursor:pointer;"> <div class="admin-switch"> <input type="checkbox" name="quote_show" value="1" <?= ($settings['quote_show'] ?? '0') === '1' ? 'checked' : '' ?>> <span class="admin-slider"></span> </div> <span>Mostrar Frase Personalizada</span> </label> </div> <div class="form-group"> <label class="form-label">La Frase</label> <textarea name="quote_text" class="form-control" rows="3" placeholder="Ej: 'El amor no mira con los ojos, sino con el alma...'"><?= htmlspecialchars($settings['quote_text'] ?? '') ?></textarea> </div> <div class="form-group"> <label class="form-label">Autor / Firma (Opcional)</label> <input type="text" name="quote_author" class="form-control" value="<?= htmlspecialchars($settings['quote_author'] ?? '') ?>" placeholder="Ej: William Shakespeare"> </div> <!-- HISTORIA / DESCRIPCION --> <div class="section-divider" style="margin:2.5rem 0 1.5rem; padding-bottom:0.5rem; border-bottom:1px solid var(--admin-border);"> <h4 style="margin:0; color:var(--admin-purple);"><i class="ph-bold ph-article"></i> Historia o Descripción</h4> </div> <div class="form-group" style="margin-bottom:1.5rem;"> <label class="form-label" style="display:flex; align-items:center; gap:0.8rem; cursor:pointer;"> <div class="admin-switch"> <input type="checkbox" name="story_show" value="1" <?= ($settings['story_show'] ?? '0') === '1' ? 'checked' : '' ?>> <span class="admin-slider"></span> </div> <span>Mostrar Historia/Descripción</span> </label> </div> <div class="form-group"> <label class="form-label">Título de la Historia</label> <input type="text" name="story_title" class="form-control" value="<?= htmlspecialchars($settings['story_title'] ?? '') ?>" placeholder="Ej: Nuestra Historia"> </div> <div class="form-group"> <label class="form-label">Contenido / Descripción</label> <textarea name="story_content" class="form-control" rows="6" placeholder="Cuéntanos un poco más sobre el evento..."><?= htmlspecialchars($settings['story_content'] ?? '') ?></textarea> </div> <div class="form-group"> <label class="form-label">Imagen de la Historia</label> <div style="display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap;"> <div style="width:150px; height:150px; border-radius:12px; background:var(--admin-surface); border:1px solid var(--admin-border); display:grid; place-items:center; overflow:hidden;"> <img id="storyImgPreview" src="../<?= htmlspecialchars($settings['story_image'] ?? 'public/assets/images/historia_default.jpg') ?>" style="width:100%; height:100%; object-fit:cover;"> </div> <div style="flex:1; min-width:200px;"> <input type="file" name="story_image" class="form-control" accept="image/*" onchange="previewStoryImg(this)"> <p style="font-size:0.75rem; color:var(--admin-text-muted); margin-top:0.5rem;"> <i class="ph-bold ph-info"></i> Se recomienda una imagen rectangular o cuadrada de alta calidad. </p> </div> </div> </div> <div style="margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--admin-border);"> <button type="submit" class="btn btn-primary" style="width:100%; justify-content:center; padding:1rem;"> <i class="ph-bold ph-floppy-disk"></i> Guardar Historia y Frase </button> </div> </form> </div> <script> async function saveStory(e) { e.preventDefault(); const form = e.target; const formData = new FormData(form); formData.append('action', 'save_settings'); // Manejar los checkboxes ya que FormData no envía 0 si no están marcados if (!formData.has('quote_show')) formData.append('quote_show', '0'); if (!formData.has('story_show')) formData.append('story_show', '0'); try { const res = await fetch('api.php', { method: 'POST', body: formData }); const data = await res.json(); if (data.success) { showToast('Contenido guardado correctamente', 'success'); } else { showToast(data.message, 'error'); } } catch (err) { showToast('Error al conectar con el servidor', 'error'); } } function previewStoryImg(input) { if (input.files && input.files[0]) { const reader = new FileReader(); reader.onload = function(e) { document.getElementById('storyImgPreview').src = e.target.result; } reader.readAsDataURL(input.files[0]); } } </script>
Coded With 💗 by
0x6ick