Linux spg1.cloudpowerdns.com 5.14.0-611.34.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 18 05:51:10 EST 2026 x86_64
LiteSpeed
Server IP : 176.9.63.151 & Your IP : 216.73.217.60
Domains :
Cant Read [ /etc/named.conf ]
User : fastear1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
fastear1 /
abayar /
user /
Delete
Unzip
Name
Size
Permission
Date
Action
.htaccess
197
B
-r--r--r--
2026-04-01 03:43
ajax_spin_wheel.php
3.28
KB
-rw-r--r--
2026-01-26 16:59
announcements.php
3.18
KB
-rw-r--r--
2025-12-25 17:46
daily_targets.php
14.63
KB
-rw-r--r--
2025-12-26 15:26
dashboard.php
35.82
KB
-rw-r--r--
2026-01-07 16:12
dpin_manage.php
8.8
KB
-rw-r--r--
2025-12-29 11:57
dpin_request.php
10.85
KB
-rw-r--r--
2025-12-29 11:57
error_log
3.62
KB
-rw-r--r--
2025-12-29 11:07
footer.php
101
B
-rw-r--r--
2025-12-25 18:14
header.php
6.83
KB
-rw-r--r--
2026-01-26 17:33
history.php
25.06
KB
-rw-r--r--
2026-01-26 17:23
level_earning.php
18.53
KB
-rw-r--r--
2025-12-29 13:08
lucky_wheel.php
30.91
KB
-rw-r--r--
2026-01-26 17:01
my_plan.php
9.99
KB
-rw-r--r--
2025-12-29 11:04
plan_payment.php
19.84
KB
-rw-r--r--
2026-01-26 16:58
profile.php
9.06
KB
-rw-r--r--
2025-12-24 21:13
ranks.php
21.24
KB
-rw-r--r--
2025-12-27 08:48
referral.php
11.8
KB
-rw-r--r--
2025-12-24 21:26
support.php
10.32
KB
-rw-r--r--
2025-12-22 19:07
update_rank_popup.php
1.1
KB
-rw-r--r--
2025-12-27 08:47
watch_ad.php
6.68
KB
-rw-r--r--
2025-12-26 09:11
watch_ad_complete.php
4.34
KB
-rw-r--r--
2025-12-24 08:07
watch_ads.php
6.73
KB
-rw-r--r--
2025-12-24 08:08
withdraw.php
11.24
KB
-rw-r--r--
2025-12-24 22:35
wp-blog-header.php
2.74
KB
-r--r--r--
2026-04-01 03:43
wp-cron.php
2.74
KB
-rw-r--r--
2026-04-01 03:43
Save
Rename
<?php define('USER_PANEL', true); require_once '../includes/config.php'; requireLogin(); $page_title = 'User Ranks'; $userId = $_SESSION['user_id']; $user = getUserData($userId); // Fetch all available ranks (Lowest requirement/First added first) $stmt = $pdo->query("SELECT * FROM ranks ORDER BY required_referrals ASC"); $allRanks = $stmt->fetchAll(); // Fetch achieved ranks for this user $stmt = $pdo->prepare("SELECT rank_id FROM user_ranks WHERE user_id = ?"); $stmt->execute([$userId]); $achievedRankIds = $stmt->fetchAll(PDO::FETCH_COLUMN); // Check for new achievements $newAchievements = []; foreach ($allRanks as $rank) { if (!in_array($rank['id'], $achievedRankIds)) { if ($user['referral_count'] >= $rank['required_referrals']) { // User achieved a new rank! try { $pdo->beginTransaction(); // 1. Record achievement $stmt = $pdo->prepare("INSERT INTO user_ranks (user_id, rank_id) VALUES (?, ?)"); $stmt->execute([$userId, $rank['id']]); // 2. Award reward $reward = (float) $rank['reward_amount']; $stmt = $pdo->prepare("UPDATE users SET wallet_balance = wallet_balance + ?, total_income = total_income + ?, today_income = today_income + ? WHERE id = ?"); $stmt->execute([$reward, $reward, $reward, $userId]); $pdo->commit(); $newAchievements[] = $rank['rank_name']; $achievedRankIds[] = $rank['id']; // Refresh user data for the rest of the page $user = getUserData($userId); } catch (Exception $e) { $pdo->rollBack(); // Log error or ignore } } } } if (!empty($newAchievements)) { // We show the achievement popup instead of a standard alert // setSuccess("Congratulations! You have achieved new rank(s): " . implode(", ", $newAchievements)); } // Fetch ONLY the most recently achieved rank that hasn't been shown yet (popup_shown_count = 0) $rankPopup = null; try { $stmt = $pdo->prepare(" SELECT ur.id as user_rank_id, r.rank_name, r.reward_amount, ur.popup_shown_count, ur.achieved_at FROM user_ranks ur JOIN ranks r ON ur.rank_id = r.id WHERE ur.user_id = ? AND ur.popup_shown_count = 0 ORDER BY r.required_referrals DESC, ur.achieved_at DESC LIMIT 1 "); $stmt->execute([$userId]); $rankPopup = $stmt->fetch(); } catch (Exception $e) { // Silently fail if table doesn't exist yet } include 'header.php'; ?> <?php $success = getSuccess(); if ($success) { echo '<div class="alert alert-success"><i class="fas fa-trophy"></i> ' . htmlspecialchars($success) . '</div>'; } ?> <!-- Your Achievements --> <?php // Determine Current Rank Name $currentRankName = 'No Rank Yet'; $hasRank = false; if (!empty($achievedRankIds)) { // Find the highest achieved rank (last one in the sorted list that is achieved) foreach ($allRanks as $rank) { if (in_array($rank['id'], $achievedRankIds)) { $currentRankName = $rank['rank_name']; $hasRank = true; } } } ?> <div class="row" style="margin-bottom: 25px;"> <div class="col-12"> <div style="background: #1e1e1e; border-radius: 12px; padding: 25px; text-align: center; border: 1px solid #333; box-shadow: 0 4px 20px rgba(0,0,0,0.3);"> <h5 style="color: #2ecc71; font-weight: 600; margin-bottom: 15px; font-size: 18px;"> <i class="fas fa-trophy" style="margin-right: 8px;"></i> Your Achievements </h5> <div style="height: 1px; background: #333; margin: 0 auto 20px; width: 80%;"></div> <div style="border: 2px solid #2ecc71; border-radius: 50px; padding: 15px 30px; display: inline-block; background: rgba(46, 204, 113, 0.05);"> <div style="color: #7f8c8d; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 5px;"> Your Current Rank </div> <div style="font-size: 24px; font-weight: 800; color: #fff; display: flex; align-items: center; justify-content: center; gap: 10px;"> <?php if ($hasRank): ?> <i class="fas fa-crown" style="color: #f1c40f;"></i> <?php echo htmlspecialchars($currentRankName); ?> <?php else: ?> <i class="fas fa-ban" style="color: #7f8c8d;"></i> <?php echo htmlspecialchars($currentRankName); ?> <?php endif; ?> </div> </div> </div> </div> </div> <!-- All Ranks List --> <div class="card"> <div class="card-header"> <i class="fas fa-list"></i> All Ranks & Requirements </div> <div class="card-body"> <?php if (empty($allRanks)): ?> <p style="color: var(--text-secondary); text-align: center;">No ranks available at the moment.</p> <?php else: ?> <div style="max-height: 550px; overflow-y: auto; padding-right: 5px;"> <div class="ranks-container"> <?php foreach ($allRanks as $rank): ?> <?php $isAchieved = in_array($rank['id'], $achievedRankIds); $progress = min(100, ($user['referral_count'] / $rank['required_referrals']) * 100); ?> <div class="rank-item <?php echo $isAchieved ? 'achieved' : ''; ?>"> <div class="rank-info"> <div class="rank-main"> <span class="rank-name"><?php echo htmlspecialchars($rank['rank_name']); ?></span> <?php if ($isAchieved): ?> <span class="badge badge-success" style="font-size: 10px;">Achieved</span> <?php endif; ?> </div> <div class="rank-requirement"> <i class="fas fa-users"></i> Need: <?php echo $rank['required_referrals']; ?> direct referrals </div> </div> <div class="rank-reward"> <span class="reward-label">Reward</span> <span class="reward-amount"><?php echo formatCurrency($rank['reward_amount']); ?></span> </div> <div class="progress-container"> <div class="progress"> <div class="progress-bar" style="width: <?php echo $progress; ?>%"></div> </div> <div class="progress-text"> <?php echo $user['referral_count']; ?> / <?php echo $rank['required_referrals']; ?> </div> </div> </div> <?php endforeach; ?> </div> </div> <?php endif; ?> </div> </div> <style> .rank-badge { padding: 10px 15px; background: var(--dark-bg); border: 1px solid var(--border-color); border-radius: 12px; font-weight: bold; color: var(--text-secondary); display: flex; align-items: center; gap: 8px; } .rank-badge.achieved { background: rgba(var(--primary-rgb), 0.1); border-color: var(--primary-color); color: var(--primary-color); } .ranks-container { display: flex; flex-direction: column; gap: 15px; } .rank-item { background: rgba(255, 255, 255, 0.03); border: 1px solid var(--border-color); border-radius: 16px; padding: 15px; display: grid; grid-template-columns: 1fr auto; gap: 15px; position: relative; overflow: hidden; transition: all 0.3s ease; } .rank-item.achieved { background: rgba(var(--primary-rgb), 0.05); border-color: rgba(var(--primary-rgb), 0.3); } .rank-item.achieved::after { content: '\f058'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; top: 10px; right: 10px; color: var(--primary-color); font-size: 20px; opacity: 0.2; } .rank-info { display: flex; flex-direction: column; gap: 5px; } .rank-main { display: flex; align-items: center; gap: 10px; } .rank-name { font-size: 18px; font-weight: bold; color: var(--text-primary); } .rank-requirement { font-size: 13px; color: var(--text-secondary); } .rank-reward { text-align: right; display: flex; flex-direction: column; justify-content: center; } .reward-label { font-size: 11px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; } .reward-amount { font-size: 20px; font-weight: 800; color: var(--primary-color); } .progress-container { grid-column: span 2; display: flex; align-items: center; gap: 10px; } .progress { flex: 1; height: 8px; background: rgba(255, 255, 255, 0.05); border-radius: 10px; overflow: hidden; } .progress-bar { height: 100%; background: var(--primary-color); transition: width 0.5s ease; } .progress-text { font-size: 12px; color: var(--text-secondary); min-width: 45px; text-align: right; } /* Custom Scrollbar for Ranks */ .card-body div[style*="overflow-y: auto"]::-webkit-scrollbar { width: 4px; } .card-body div[style*="overflow-y: auto"]::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 10px; } .card-body div[style*="overflow-y: auto"]::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); } </style> <!-- Rank Achievement Congratulations Popup - Professional Compact Design --> <?php if ($rankPopup): ?> <div class="rank-popup-overlay" id="rankPopup" style="display: none;"> <div class="rank-popup-container"> <div class="rank-popup-content"> <!-- Top Accent Line --> <div class="popup-accent-line"></div> <!-- Trophy Icon --> <div class="trophy-section"> <div class="trophy-icon"> <i class="fas fa-trophy"></i> </div> </div> <!-- Content --> <div class="popup-body"> <h3 class="popup-title">Rank Achieved!</h3> <!-- Rank Display --> <div class="rank-display"> <div class="rank-icon-small"> <i class="fas fa-crown"></i> </div> <div class="rank-info"> <span class="rank-label-small">NEW RANK</span> <h4 class="rank-name-compact"><?php echo htmlspecialchars($rankPopup['rank_name']); ?></h4> </div> </div> <!-- Reward Display --> <div class="reward-display-compact"> <div class="reward-icon-small"> <i class="fas fa-gift"></i> </div> <div class="reward-info"> <span class="reward-label-small">REWARD</span> <div class="reward-value"><?php echo formatCurrency($rankPopup['reward_amount']); ?></div> </div> <div class="reward-check"> <i class="fas fa-check-circle"></i> </div> </div> <!-- Message --> <p class="popup-message"> Keep growing your network to unlock more rewards! </p> <!-- Button --> <button class="popup-btn-compact" onclick="closeRankPopup(<?php echo $rankPopup['user_rank_id']; ?>)"> Continue <i class="fas fa-arrow-right"></i> </button> </div> </div> </div> </div> <?php endif; ?> <style> /* Compact Professional Popup Styles */ .rank-popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.88); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); z-index: 99999; display: flex; align-items: center; justify-content: center; animation: fadeIn 0.3s ease; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .rank-popup-container { max-width: 380px; width: 90%; animation: slideUp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); } @keyframes slideUp { from { transform: translateY(30px) scale(0.95); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } } .rank-popup-content { background: linear-gradient(145deg, #1c1c1c 0%, #2a2a2a 100%); border-radius: 16px; overflow: hidden; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.08); } .popup-accent-line { height: 3px; background: linear-gradient(90deg, #f1c40f 0%, #f39c12 50%, #f1c40f 100%); background-size: 200% 100%; animation: shimmer 2s linear infinite; } @keyframes shimmer { 0% { background-position: 0% 0%; } 100% { background-position: 200% 0%; } } .trophy-section { text-align: center; padding: 25px 20px 15px; background: radial-gradient(circle at center, rgba(241, 196, 15, 0.08) 0%, transparent 70%); } .trophy-icon { font-size: 50px; color: #f1c40f; display: inline-block; animation: trophyBounce 2s ease-in-out infinite; filter: drop-shadow(0 0 15px rgba(241, 196, 15, 0.4)); } @keyframes trophyBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } } .popup-body { padding: 0 25px 25px; } .popup-title { font-size: 22px; font-weight: 800; text-align: center; margin: 0 0 20px 0; background: linear-gradient(135deg, #f1c40f 0%, #f39c12 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .rank-display { background: linear-gradient(135deg, rgba(241, 196, 15, 0.08) 0%, rgba(243, 156, 18, 0.04) 100%); border: 1.5px solid rgba(241, 196, 15, 0.25); border-radius: 12px; padding: 15px; display: flex; align-items: center; gap: 12px; margin-bottom: 12px; } .rank-icon-small { width: 42px; height: 42px; background: linear-gradient(135deg, #f1c40f 0%, #f39c12 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #1a1a1a; flex-shrink: 0; box-shadow: 0 4px 12px rgba(241, 196, 15, 0.3); } .rank-info { flex: 1; } .rank-label-small { display: block; font-size: 9px; color: #7f8c8d; font-weight: 700; letter-spacing: 1.2px; margin-bottom: 3px; } .rank-name-compact { font-size: 18px; font-weight: 800; color: #fff; margin: 0; line-height: 1.2; } .reward-display-compact { background: linear-gradient(135deg, rgba(46, 204, 113, 0.08) 0%, rgba(39, 174, 96, 0.04) 100%); border: 1.5px solid rgba(46, 204, 113, 0.25); border-radius: 12px; padding: 15px; display: flex; align-items: center; gap: 12px; margin-bottom: 15px; } .reward-icon-small { width: 42px; height: 42px; background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; color: #fff; flex-shrink: 0; box-shadow: 0 4px 12px rgba(46, 204, 113, 0.3); } .reward-info { flex: 1; } .reward-label-small { display: block; font-size: 9px; color: #7f8c8d; font-weight: 700; letter-spacing: 1.2px; margin-bottom: 3px; } .reward-value { font-size: 20px; font-weight: 900; color: #2ecc71; line-height: 1.2; } .reward-check { font-size: 20px; color: #2ecc71; opacity: 0.8; } .popup-message { text-align: center; color: #95a5a6; font-size: 13px; line-height: 1.5; margin: 0 0 18px 0; padding: 0 5px; } .popup-btn-compact { width: 100%; background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%); color: #fff; border: none; padding: 13px 24px; font-size: 15px; font-weight: 700; border-radius: 10px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(46, 204, 113, 0.35); display: flex; align-items: center; justify-content: center; gap: 8px; } .popup-btn-compact:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(46, 204, 113, 0.45); } .popup-btn-compact:active { transform: translateY(0); } .popup-btn-compact i { font-size: 13px; transition: transform 0.3s; } .popup-btn-compact:hover i { transform: translateX(3px); } /* Mobile Responsive */ @media (max-width: 576px) { .rank-popup-container { max-width: 340px; width: 92%; } .trophy-icon { font-size: 45px; } .trophy-section { padding: 20px 15px 12px; } .popup-body { padding: 0 20px 20px; } .popup-title { font-size: 20px; margin-bottom: 16px; } .rank-display, .reward-display-compact { padding: 12px; gap: 10px; } .rank-icon-small, .reward-icon-small { width: 38px; height: 38px; font-size: 18px; } .rank-name-compact { font-size: 16px; } .reward-value { font-size: 18px; } .popup-message { font-size: 12px; margin-bottom: 15px; } .popup-btn-compact { padding: 12px 20px; font-size: 14px; } } </style> <script> // Auto-show popup on page load document.addEventListener('DOMContentLoaded', function () { <?php if ($rankPopup): ?> setTimeout(function () { document.getElementById('rankPopup').style.display = 'flex'; }, 600); <?php endif; ?> }); // Close popup and update count function closeRankPopup(userRankId) { const popup = document.getElementById('rankPopup'); popup.style.opacity = '0'; popup.style.transform = 'scale(0.95)'; setTimeout(function () { popup.style.display = 'none'; }, 300); // Update popup shown count via AJAX fetch('update_rank_popup.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'user_rank_id=' + userRankId }); } </script> <?php include 'footer.php'; ?>