forked from safrinnetwork/GACS-Dashboard
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdevice-detail.php
More file actions
129 lines (112 loc) · 5.21 KB
/
device-detail.php
File metadata and controls
129 lines (112 loc) · 5.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
require_once __DIR__ . '/config/config.php';
requireLogin();
$pageTitle = 'Device Detail';
$currentPage = 'devices';
$genieacsConfigured = isGenieACSConfigured();
// Get device ID from URL
$deviceId = isset($_GET['id']) ? $_GET['id'] : null;
if (!$deviceId) {
header('Location: /devices.php');
exit;
}
include __DIR__ . '/views/layouts/header.php';
?>
<?php if (!$genieacsConfigured): ?>
<div class="alert alert-warning">
<i class="bi bi-exclamation-triangle"></i>
GenieACS belum dikonfigurasi. Silakan konfigurasi terlebih dahulu di
<a href="/configuration.php">halaman Configuration</a>.
</div>
<?php else: ?>
<!-- Back Button -->
<div class="mb-3">
<a href="/devices.php" class="btn btn-secondary">
<i class="bi bi-arrow-left"></i> Back to Devices
</a>
<button class="btn btn-primary" onclick="summonDevice()">
<i class="bi bi-lightning-charge"></i> Summon Device
</button>
<button class="btn btn-success" onclick="showAddTagModal()">
<i class="bi bi-tag"></i> Add Tag
</button>
<button class="btn btn-warning" onclick="showRemoveTagModal()">
<i class="bi bi-tag-fill"></i> Remove Tag
</button>
<button class="btn btn-info" onclick="loadDeviceDetail()">
<i class="bi bi-arrow-clockwise"></i> Refresh
</button>
</div>
<!-- Device Detail Card with Tabs -->
<div class="card">
<div class="card-header">
<i class="bi bi-router"></i> Device Details
<span id="device-id-badge" class="badge bg-secondary ms-2">Loading...</span>
<span id="device-tags-badge"></span>
</div>
<div class="card-body">
<!-- Loading Spinner (shown initially) -->
<div id="loading-spinner" class="text-center">
<div class="spinner"></div>
</div>
<!-- Tab Navigation (hidden initially) -->
<ul class="nav nav-tabs" id="deviceTabs" role="tablist" style="display:none;">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="overview-tab" data-bs-toggle="tab" data-bs-target="#overview" type="button" role="tab">
<i class="bi bi-info-circle"></i> Overview
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="topology-tab" data-bs-toggle="tab" data-bs-target="#topology" type="button" role="tab">
<i class="bi bi-diagram-3"></i> Topology Location
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="wan-tab" data-bs-toggle="tab" data-bs-target="#wan" type="button" role="tab">
<i class="bi bi-globe"></i> WAN Connections <span id="wan-count-badge" class="badge bg-primary ms-1">0</span>
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="dhcp-tab" data-bs-toggle="tab" data-bs-target="#dhcp" type="button" role="tab">
<i class="bi bi-router"></i> DHCP Server
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="devices-tab" data-bs-toggle="tab" data-bs-target="#devices" type="button" role="tab">
<i class="bi bi-hdd-network"></i> Connected Devices <span id="devices-count-badge" class="badge bg-primary ms-1">0</span>
</button>
</li>
</ul>
<!-- Tab Content (hidden initially) -->
<div class="tab-content mt-3" id="deviceTabContent" style="display:none;">
<!-- Overview Tab -->
<div class="tab-pane fade show active" id="overview" role="tabpanel">
<div id="overview-content"></div>
</div>
<!-- Topology Location Tab -->
<div class="tab-pane fade" id="topology" role="tabpanel">
<div id="topology-content"></div>
</div>
<!-- WAN Connections Tab -->
<div class="tab-pane fade" id="wan" role="tabpanel">
<div id="wan-content"></div>
</div>
<!-- DHCP Server Tab -->
<div class="tab-pane fade" id="dhcp" role="tabpanel">
<div id="dhcp-content"></div>
</div>
<!-- Connected Devices Tab -->
<div class="tab-pane fade" id="devices" role="tabpanel">
<div id="devices-content"></div>
</div>
</div>
</div>
</div>
<?php endif; ?>
<?php include __DIR__ . '/views/device-detail/modals.php'; ?>
<script>
// Global configuration for device-detail.js
window.DEVICE_ID = '<?php echo htmlspecialchars($deviceId, ENT_QUOTES, 'UTF-8'); ?>';
</script>
<script src="/assets/js/device-detail.js?v=<?php echo time(); ?>"></script>
<?php include __DIR__ . '/views/layouts/footer.php'; ?>