moved website outside of panel folder
This commit is contained in:
parent
92ac778956
commit
08f07dca97
10328 changed files with 90 additions and 501 deletions
|
|
@ -1,173 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Server Status - GameServers.World</title>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
// Include billing bootstrap (loads config and DB helper)
|
||||
require_once(__DIR__ . '/bootstrap.php');
|
||||
|
||||
// Create database connection
|
||||
$db = mysqli_connect($db_host, $db_user, $db_pass, $db_name, isset($db_port) ? (int)$db_port : null);
|
||||
if (!$db) {
|
||||
die("Connection failed: " . mysqli_connect_error());
|
||||
}
|
||||
|
||||
// Include top bar and menu
|
||||
include(__DIR__ . '/includes/top.php');
|
||||
include(__DIR__ . '/includes/menu.php');
|
||||
|
||||
// Check if server status table exists, if not create it
|
||||
$table_check = mysqli_query($db, "SHOW TABLES LIKE '{$table_prefix}server_status'");
|
||||
if (!$table_check || mysqli_num_rows($table_check) === 0) {
|
||||
// Create table for server status updates
|
||||
$create_table = "CREATE TABLE IF NOT EXISTS {$table_prefix}server_status (
|
||||
status_id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
remote_server_id INT NOT NULL,
|
||||
server_name VARCHAR(255) NOT NULL,
|
||||
ip_address VARCHAR(45),
|
||||
status ENUM('online', 'offline', 'maintenance') DEFAULT 'offline',
|
||||
cpu_usage DECIMAL(5,2),
|
||||
memory_usage DECIMAL(5,2),
|
||||
disk_usage DECIMAL(5,2),
|
||||
uptime VARCHAR(50),
|
||||
last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
notes TEXT,
|
||||
INDEX idx_remote_server (remote_server_id),
|
||||
UNIQUE KEY unique_server (remote_server_id)
|
||||
)";
|
||||
mysqli_query($db, $create_table);
|
||||
}
|
||||
|
||||
// Fetch all remote servers and their status
|
||||
$query = "SELECT
|
||||
rs.remote_server_id,
|
||||
rs.remote_server_name,
|
||||
rs.agent_ip,
|
||||
rs.enabled,
|
||||
ss.status,
|
||||
ss.cpu_usage,
|
||||
ss.memory_usage,
|
||||
ss.disk_usage,
|
||||
ss.uptime,
|
||||
ss.last_updated,
|
||||
ss.notes
|
||||
FROM {$table_prefix}remote_servers rs
|
||||
LEFT JOIN {$table_prefix}server_status ss ON rs.remote_server_id = ss.remote_server_id
|
||||
ORDER BY rs.remote_server_name";
|
||||
|
||||
$result = mysqli_query($db, $query);
|
||||
|
||||
?>
|
||||
|
||||
<div class="site-panel">
|
||||
<div class="site-panel-title">Server Status</div>
|
||||
|
||||
<div class="text-center mb-20">
|
||||
<p class="text-muted">Real-time status of our game server infrastructure</p>
|
||||
</div>
|
||||
|
||||
<?php if ($result && mysqli_num_rows($result) > 0): ?>
|
||||
<table class="cart-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Server Name</th>
|
||||
<th>Location/IP</th>
|
||||
<th>Status</th>
|
||||
<th>CPU Usage</th>
|
||||
<th>Memory Usage</th>
|
||||
<th>Disk Usage</th>
|
||||
<th>Uptime</th>
|
||||
<th>Last Updated</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php while ($server = mysqli_fetch_assoc($result)): ?>
|
||||
<?php
|
||||
// Determine status
|
||||
$status = $server['status'] ?? 'unknown';
|
||||
if ($server['enabled'] == 0) {
|
||||
$status = 'maintenance';
|
||||
}
|
||||
|
||||
// Status styling
|
||||
$status_class = '';
|
||||
$status_display = ucfirst($status);
|
||||
switch ($status) {
|
||||
case 'online':
|
||||
$status_class = 'status-online';
|
||||
break;
|
||||
case 'offline':
|
||||
$status_class = 'status-offline';
|
||||
break;
|
||||
case 'maintenance':
|
||||
$status_class = 'status-maintenance';
|
||||
break;
|
||||
default:
|
||||
$status_class = 'status-unknown';
|
||||
$status_display = 'Unknown';
|
||||
}
|
||||
|
||||
// Format last updated
|
||||
$last_updated = 'Never';
|
||||
if ($server['last_updated']) {
|
||||
$timestamp = strtotime($server['last_updated']);
|
||||
$diff = time() - $timestamp;
|
||||
if ($diff < 60) {
|
||||
$last_updated = 'Just now';
|
||||
} elseif ($diff < 3600) {
|
||||
$last_updated = floor($diff / 60) . ' min ago';
|
||||
} elseif ($diff < 86400) {
|
||||
$last_updated = floor($diff / 3600) . ' hours ago';
|
||||
} else {
|
||||
$last_updated = date('M d, Y', $timestamp);
|
||||
}
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td><strong><?php echo htmlspecialchars($server['remote_server_name']); ?></strong></td>
|
||||
<td><?php echo htmlspecialchars($server['agent_ip'] ?? 'N/A'); ?></td>
|
||||
<td>
|
||||
<span class="status-badge <?php echo $status_class; ?>">
|
||||
<?php echo $status_display; ?>
|
||||
</span>
|
||||
</td>
|
||||
<td><?php echo $server['cpu_usage'] ? number_format($server['cpu_usage'], 1) . '%' : 'N/A'; ?></td>
|
||||
<td><?php echo $server['memory_usage'] ? number_format($server['memory_usage'], 1) . '%' : 'N/A'; ?></td>
|
||||
<td><?php echo $server['disk_usage'] ? number_format($server['disk_usage'], 1) . '%' : 'N/A'; ?></td>
|
||||
<td><?php echo htmlspecialchars($server['uptime'] ?? 'N/A'); ?></td>
|
||||
<td><?php echo $last_updated; ?></td>
|
||||
</tr>
|
||||
<?php if (!empty($server['notes'])): ?>
|
||||
<tr>
|
||||
<td colspan="8" class="server-notes">
|
||||
<em><?php echo htmlspecialchars($server['notes']); ?></em>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<?php endwhile; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php else: ?>
|
||||
<div class="panel no-data">
|
||||
<p style="font-size:1.2rem;">No server status information available.</p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="text-center text-muted" style="margin-top:30px;font-size:0.9rem;">
|
||||
<p>Server status is updated automatically every 5 minutes.</p>
|
||||
<p style="margin-top:10px;">If you experience any issues, please contact support.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// Close database connection
|
||||
billing_maybe_close_db($db);
|
||||
?>
|
||||
|
||||
</body>
|
||||
<?php include(__DIR__ . '/includes/footer.php'); ?>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue