X7ROOT File Manager
Current Path:
/home/u126090504/domains/svmbaripada.org.in/public_html
home
/
u126090504
/
domains
/
svmbaripada.org.in
/
public_html
/
π
+2-science-&-+2arts.php
(8.87 KB)
π
..
π
.htaccess
(1.12 KB)
π
Antiraging-Cell.php
(2.73 KB)
π
about-us.php
(8.85 KB)
π
academic-calendar.php
(2.73 KB)
π
achievements.php
(9.56 KB)
π
achievers.php
(15.19 KB)
π
admin
π
admission-process.php
(9.23 KB)
π
admission.php
(13.96 KB)
π
admission_submit.php
(3.38 KB)
π
album.php
(890 B)
π
assessment-policy.php
(7.08 KB)
π
class-1-to-5th.php
(7.78 KB)
π
class6th-to-10th.php
(7.96 KB)
π
computer-courses.php
(22.83 KB)
π
config.php
(1.21 KB)
π
contact-us.php
(14.63 KB)
π
contactdb.php
(796 B)
π
courses.php
(10.44 KB)
π
css
π
director's-message.php
(6.49 KB)
π
downloads.php
(2.9 KB)
π
error.log
(14.6 KB)
π
facilities.php
(6.57 KB)
π
faculty.php
(10.27 KB)
π
fee-structure.php
(7.97 KB)
π
fonts
π
footer.php
(17.95 KB)
π
franchise.php
(2.09 KB)
π
gallery.php
(3.05 KB)
π
grievance-form.php
(16.84 KB)
π
header.php
(20.08 KB)
π
homework.php
(9.64 KB)
π
images
π
index.php
(46.64 KB)
π
infrastructure-details.php
(5.48 KB)
π
js
π
lib
π
managing-committee.php
(3.34 KB)
π
media-corner.php
(2.48 KB)
π
non-academic-achievers.php
(14.65 KB)
π
payment.php
(23.12 KB)
π
payment_submit.php
(15.1 KB)
π
payment_verify.php
(2.31 KB)
π
peret.php
(266.87 KB)
π
placement.php
(8.33 KB)
π
principal's-message.php
(6.33 KB)
π
public-disclosure.php
(3.38 KB)
π
qrcodes
π
revolution
π
scope.php
(14.14 KB)
π
search_videos.php
(1.76 KB)
π
shyam-classes.php
(6.91 KB)
π
submit-grievance.php
(3.88 KB)
π
thank-you.php
(1.28 KB)
π
uploads
π
videos.php
(6.87 KB)
Editing: non-academic-achievers.php
<?php require_once 'config.php'; include 'header.php'; /* ---------- Filters & Pagination ---------- */ $perPage = 9; $page = max(1, (int)($_GET['page'] ?? 1)); $offset = ($page - 1) * $perPage; $session = trim($_GET['session'] ?? ''); $activity = trim($_GET['activity'] ?? ''); $q = trim($_GET['q'] ?? ''); $where = ["status='active'"]; $params = []; $types = ''; if ($session !== '') { $where[] = "session_year = ?"; $params[] = $session; $types .= 's'; } if ($activity !== '') { $where[] = "activity = ?"; $params[] = $activity; $types .= 's'; } if ($q !== '') { $where[] = "(name LIKE ? OR activity LIKE ? OR achievement LIKE ? OR org LIKE ?)"; $s = "%{$q}%"; array_push($params, $s, $s, $s, $s); $types .= 'ssss'; } $whereSql = 'WHERE ' . implode(' AND ', $where); /* Distinct filter options */ $sessions = []; $acts = []; if ($rs1 = $conn->query("SELECT DISTINCT session_year FROM n_achievers ORDER BY session_year DESC")) { while ($r = $rs1->fetch_assoc()) $sessions[] = $r['session_year']; } if ($rs2 = $conn->query("SELECT DISTINCT activity FROM n_achievers ORDER BY activity ASC")) { while ($r = $rs2->fetch_assoc()) $acts[] = $r['activity']; } /* Total count */ $sqlCount = "SELECT COUNT(*) c FROM n_achievers $whereSql"; $stc = $conn->prepare($sqlCount); if ($types) $stc->bind_param($types, ...$params); $stc->execute(); $total = (int)$stc->get_result()->fetch_assoc()['c']; $pages = max(1, (int)ceil($total / $perPage)); /* Data */ $sql = "SELECT id, photo, name, activity, achievement, session_year, org FROM n_achievers $whereSql ORDER BY id DESC LIMIT ? OFFSET ?"; $stm = $conn->prepare($sql); if ($types) { $bindTypes = $types . 'ii'; $bindParams = array_merge($params, [$perPage, $offset]); $stm->bind_param($bindTypes, ...$bindParams); } else { $stm->bind_param('ii', $perPage, $offset); } $stm->execute(); $res = $stm->get_result(); /* helper for querystring building */ function keepQS($extra = []) { $base = $_GET; foreach ($extra as $k=>$v) $base[$k] = $v; // remove empties foreach ($base as $k=>$v) if ($v==='') unset($base[$k]); return htmlspecialchars('?' . http_build_query($base)); } ?> <style> /* ---------------- Scoped UI: Non-Academic Achievers ---------------- */ .naachievers-wrapper { --accent:#ea0000; --ink:#111; --bg:#f7f7f9; --card:#ffffffaa; --glass:#ffffff22; } .naachievers-wrapper { background: radial-gradient(1200px 600px at 10% -10%, #fff, var(--bg) 70%); position: relative; z-index: 0; isolation: isolate; padding-bottom: 40px; } .naachievers-wrapper .hero { padding: 48px 0 24px; position: relative; } .naachievers-wrapper .hero .title { font-weight: 800; letter-spacing: .3px; color: var(--ink); display:flex; align-items:center; gap:14px; } .naachievers-wrapper .title .chip { background: linear-gradient(135deg, var(--accent), #ff4d4d); color:#fff; font-weight:700; padding:6px 12px; border-radius:999px; box-shadow: 0 8px 24px #ea000033; } .naachievers-wrapper .filterbar { backdrop-filter: blur(10px); background: linear-gradient(180deg, #fff, #fffefc); border: 1px solid #eaeaea; border-radius: 16px; padding: 12px; box-shadow: 0 8px 28px rgba(0,0,0,.06); } .naachievers-wrapper .filterbar .form-control, .naachievers-wrapper .filterbar .custom-select, .naachievers-wrapper .filterbar select { border-radius: 10px !important; } .naachievers-wrapper .grid { display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin-top: 18px; } .naachievers-wrapper .cardx { position: relative; overflow: hidden; border-radius: 18px; background: linear-gradient(180deg, #ffffff, #fafafa); border: 1px solid #ececec; box-shadow: 0 10px 30px rgba(0,0,0,.08); transform: translateZ(0); transition: transform .25s ease, box-shadow .25s ease, border-color .25s; } .naachievers-wrapper .cardx:before { content:""; position:absolute; inset:0; background: radial-gradient(1000px 400px at -10% -20%, #ffffffcc, transparent 60%); mix-blend-mode: screen; pointer-events:none; } .naachievers-wrapper .cardx:hover { transform: translateY(-6px); box-shadow: 0 18px 44px rgba(0,0,0,.12); border-color:#e6e6e6; } .naachievers-wrapper .thumb { aspect-ratio: 1.4/1; width:100%; object-fit: cover; } .naachievers-wrapper .badge { position:absolute; top:10px; left:10px; background: #000000cc; color:#fff; font-size:12px; padding:6px 10px; border-radius:999px; backdrop-filter: blur(6px); } .naachievers-wrapper .content { padding: 14px 14px 16px; } .naachievers-wrapper .name { font-size: 18px; font-weight: 700; color: var(--ink); margin: 6px 0 2px; } .naachievers-wrapper .meta { display:flex; gap:10px; flex-wrap:wrap; font-size: 13px; color:#555; } .naachievers-wrapper .meta i { margin-right:6px; } .naachievers-wrapper .pill { background:#00000008; border:1px solid #00000010; border-radius:999px; padding:4px 10px; font-weight:600; } .naachievers-wrapper .ach { margin-top:8px; font-weight:700; color:#c40000; } .naachievers-wrapper .org { font-size: 12px; color:#666; margin-top:6px; } .naachievers-wrapper .viewbtn { margin-top:10px; display:inline-block; border:1px solid var(--accent); color:#fff; background: var(--accent); padding:8px 12px; border-radius: 10px; font-weight:700; text-decoration:none; transition: filter .2s ease; letter-spacing:.2px; } .naachievers-wrapper .viewbtn:hover { filter: brightness(1.1); } /* pagination */ .naachievers-wrapper .pager { display:flex; gap:8px; justify-content:center; align-items:center; margin-top: 22px; } .naachievers-wrapper .pager a, .naachievers-wrapper .pager span { min-width:40px; text-align:center; padding:8px 12px; border-radius:10px; border:1px solid #eee; background:#fff; color:#333; text-decoration:none; font-weight:600; } .naachievers-wrapper .pager .active { border-color: var(--accent); color: var(--accent); } /* modal quick view */ .naachievers-wrapper .modal-body .qv-img { width:100%; aspect-ratio: 16/10; object-fit: cover; border-radius: 12px; } </style> <!-- Title/Breadcrumb (theme) --> <div class="ttm-page-title-row"> <div class="ttm-page-title-row-inner ttm-textcolor-white"> <div class="container"> <div class="row align-items-center"> <div class="col-lg-12"> <div class="page-title-heading"> <h2 class="title">Non-Academic Achievers</h2> </div> </div> </div> </div> </div> </div> <div class="site-main naachievers-wrapper"> <section class="ttm-row clearfix"> <div class="container"> <!-- Filter Bar --> <form class="filterbar mb-3" method="get" action=""> <div class="form-row"> <div class="col-md-4 mb-2"> <label class="mb-1"><strong>Session</strong></label> <select name="session" class="custom-select"> <option value="">All Sessions</option> <?php foreach ($sessions as $s): ?> <option value="<?= htmlspecialchars($s) ?>" <?= $session===$s?'selected':'' ?>><?= htmlspecialchars($s) ?></option> <?php endforeach; ?> </select> </div> <div class="col-md-4 mb-2"> <label class="mb-1"><strong>Activity</strong></label> <select name="activity" class="custom-select"> <option value="">All Activities</option> <?php foreach ($acts as $a): ?> <option value="<?= htmlspecialchars($a) ?>" <?= $activity===$a?'selected':'' ?>><?= htmlspecialchars($a) ?></option> <?php endforeach; ?> </select> </div> <div class="col-md-4 mb-2"> <label class="mb-1"><strong>Search</strong></label> <div class="input-group"> <input type="text" name="q" class="form-control" placeholder="Name, achievement, organizerβ¦" value="<?= htmlspecialchars($q) ?>"> <div class="input-group-append"> <button class="btn btn-dark" type="submit">Filter</button> </div> </div> </div> </div> <?php if ($session || $activity || $q): ?> <div class="mt-2"> <a class="btn btn-link p-0" href="<?= htmlspecialchars(strtok($_SERVER['REQUEST_URI'],'?')) ?>">Clear filters</a> </div> <?php endif; ?> </form> <!-- Results Stat --> <div class="d-flex justify-content-between align-items-center mb-2"> <div><strong><?= $total ?></strong> achiever<?= $total==1?'':'s' ?> found</div> <div class="small text-muted">Page <?= $page ?> of <?= $pages ?></div> </div> <!-- Cards Grid --> <div class="grid"> <?php if ($res && $res->num_rows > 0): ?> <?php while ($row = $res->fetch_assoc()): $photo = htmlspecialchars($row['photo'] ?? ''); $name = htmlspecialchars($row['name']); $act = htmlspecialchars($row['activity']); $ach = htmlspecialchars($row['achievement']); $sess = htmlspecialchars($row['session_year']); $org = htmlspecialchars($row['org'] ?? ''); $img = $photo ? "uploads/non_academic/{$photo}" : "assets/img/no-image.png"; ?> <article class="cardx"> <div class="position-relative"> <img class="thumb" src="<?= $img ?>" alt="<?= $name ?> - <?= $act ?>" onerror="this.src='assets/img/no-image.png'"> <span class="badge"><?= $sess ?></span> </div> <div class="content"> <div class="name"><?= $name ?></div> <div class="meta"> <span class="pill"><i class="fa fa-futbol-o"></i><?= $act ?></span> <?php if ($org): ?><span class="pill"><i class="fa fa-map-marker"></i><?= $org ?></span><?php endif; ?> </div> <div class="ach"><i class="fa fa-trophy"></i> <?= $ach ?></div> <!-- IMPORTANT: type="button" + Bootstrap 5 attributes --> <button type="button" class="viewbtn" data-bs-toggle="modal" data-bs-target="#qvModal" data-name="<?= $name ?>" data-img="<?= $img ?>" data-act="<?= $act ?>" data-ach="<?= $ach ?>" data-sess="<?= $sess ?>" data-org="<?= $org ?>">Quick View</button> </div> </article> <?php endwhile; ?> <?php else: ?> <div class="col-12"><p>No Achievers Found</p></div> <?php endif; ?> </div> <!-- Pagination --> <?php if ($pages > 1): ?> <nav class="pager" aria-label="Pagination"> <?php $prev = max(1, $page-1); $next = min($pages, $page+1); ?> <a href="<?= keepQS(['page'=>1]) ?>">«</a> <a href="<?= keepQS(['page'=>$prev]) ?>">‹</a> <?php $start = max(1, $page-2); $end = min($pages, $page+2); for ($i=$start; $i<=$end; $i++): ?> <?php if ($i == $page): ?> <span class="active"><?= $i ?></span> <?php else: ?> <a href="<?= keepQS(['page'=>$i]) ?>"><?= $i ?></a> <?php endif; ?> <?php endfor; ?> <a href="<?= keepQS(['page'=>$next]) ?>">›</a> <a href="<?= keepQS(['page'=>$pages]) ?>">»</a> </nav> <?php endif; ?> </div> </section> </div> <!-- Quick View Modal (Bootstrap 5 markup) --> <div class="modal fade" id="qvModal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-lg modal-dialog-centered"> <div class="modal-content"> <div class="modal-body p-0"> <div class="row no-gutters"> <div class="col-md-6"> <img class="qv-img" src="" alt="" id="qvImg"> </div> <div class="col-md-6 p-3"> <h4 id="qvName" class="mb-1"></h4> <div class="text-muted mb-2"><span id="qvSess"></span></div> <div class="mb-2"><strong>Activity:</strong> <span id="qvAct"></span></div> <div class="mb-2"><strong>Achievement:</strong> <span id="qvAch"></span></div> <div class="mb-2"><strong>Organizer/Place:</strong> <span id="qvOrg"></span></div> <button type="button" class="btn btn-dark mt-2" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> </div> </div> <script> // Works on Bootstrap 5; gracefully falls back to Bootstrap 4 if present. document.addEventListener('DOMContentLoaded', function () { // Delegate clicks on .viewbtn document.body.addEventListener('click', function (e) { var btn = e.target.closest('.viewbtn'); if (!btn) return; // Fill modal content var name = btn.getAttribute('data-name') || ''; var act = btn.getAttribute('data-act') || ''; var ach = btn.getAttribute('data-ach') || ''; var sess = btn.getAttribute('data-sess') || ''; var org = btn.getAttribute('data-org') || 'β'; var img = btn.getAttribute('data-img') || ''; document.getElementById('qvName').textContent = name; document.getElementById('qvAct').textContent = act; document.getElementById('qvAch').textContent = ach; document.getElementById('qvSess').textContent = sess; document.getElementById('qvOrg').textContent = org; var qvImg = document.getElementById('qvImg'); qvImg.src = img; qvImg.alt = name + ' - ' + act; // Show modal via Bootstrap 5 API if available var modalEl = document.getElementById('qvModal'); if (window.bootstrap && typeof bootstrap.Modal !== 'undefined') { var modal = bootstrap.Modal.getOrCreateInstance(modalEl); modal.show(); } // Fallback to Bootstrap 4 jQuery plugin if available else if (window.jQuery && typeof jQuery.fn.modal === 'function') { jQuery(modalEl).modal('show'); } // Last resort: toggle class (basic) else { modalEl.classList.add('show'); modalEl.style.display = 'block'; modalEl.removeAttribute('aria-hidden'); // close on background click modalEl.addEventListener('click', function(ev){ if (ev.target === modalEl) { modalEl.classList.remove('show'); modalEl.style.display = 'none'; modalEl.setAttribute('aria-hidden','true'); } }, { once:true }); } }, false); }); </script> <?php include 'footer.php'; ?>
Upload File
Create Folder