.
This commit is contained in:
168
Hyper-V/VMs-Backups.php
Normal file
168
Hyper-V/VMs-Backups.php
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
<!-- Page Title -->
|
||||||
|
<title>Web Infra Reports IT</title>
|
||||||
|
<link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">
|
||||||
|
|
||||||
|
<!-- JQuery -->
|
||||||
|
<script src="/js/jquery-3.6.1.min.js"></script>
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" href="/css/bootstrap-icons/bootstrap-icons.css">
|
||||||
|
<link rel="stylesheet" href="/css/preloader.css">
|
||||||
|
<script src="/js/bootstrap.bundle.min.js"></script>
|
||||||
|
<!-- Bootstrap-tables -->
|
||||||
|
<link rel="stylesheet" href="/css/bootstrap-table.min.css">
|
||||||
|
<script src="/js/bootstrap-table.min.js"></script>
|
||||||
|
<script src="/js/bootstrap-table-fr-FR.min.js"></script>
|
||||||
|
<script src="/js/tableExport.min.js"></script>
|
||||||
|
<script src="/js/bootstrap-table-export.min.js"></script>
|
||||||
|
<script src="/js/libs/js-xlsx/xlsx.core.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="bg-light text-dark">
|
||||||
|
<?php include $_SERVER['DOCUMENT_ROOT'] . "/include/all.php"; ?> <!-- Include All -->
|
||||||
|
<?php // DATA
|
||||||
|
$answers = Invoke_WebInfraReports("SELECT a.VM, a.LastBackup, a.Result, a.LastGoodBackup, a.Host, b.OS
|
||||||
|
FROM netbackup_vms a
|
||||||
|
left join globalcrossover b on a.VM = b.Server
|
||||||
|
where a.vm not like 'WS%' order by a.VM");
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!-- HTML -->
|
||||||
|
<div class="container-fluid" id="content">
|
||||||
|
<div class="row flex-nowrap">
|
||||||
|
<!-- Left NAVBAR -->
|
||||||
|
<div class="col-auto col-md-2 col-xl-2 px-sm-2 px-0 bg-dark" style="-ms-flex: 0 0 230px;flex: 0 0 230px;">
|
||||||
|
<?php include $_SERVER['DOCUMENT_ROOT'] . "/navbar.html"; ?>
|
||||||
|
</div>
|
||||||
|
<!-- Display -->
|
||||||
|
<div class="col py-3">
|
||||||
|
<!-- Page Title -->
|
||||||
|
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;" id="ERR"></span></h1>
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<!-- MODAL WAIT -->
|
||||||
|
<div class="modal fade bs-example-modal-sm" id="wait" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="padding-top: 15%;">
|
||||||
|
<div class="modal-dialog modal-sm">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title mb-1 text-dark text-uppercase">
|
||||||
|
<center><i class="bi bi-hourglass-split"></i><br> Work in progress ...</center>
|
||||||
|
</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="progress">
|
||||||
|
<div class="progress-bar progress-bar-secondary progress-bar-striped progress-bar-animated" style="width: 100%"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- TABLE -->
|
||||||
|
<div>
|
||||||
|
<table class='table table-bordered table-hover table-sm' id='t1' data-height="620" data-toggle="table" data-search="true" data-show-columns="true" data-export-types="['xlsx','csv','json']" data-show-export="true" data-sortable="true" data-sort-name="VM">
|
||||||
|
<thead> <!-- Header -->
|
||||||
|
<th data-field='vm' data-sortable='true'>VM</th>
|
||||||
|
<th data-field='Last Backup' data-sortable='true'>Last Backup</th>
|
||||||
|
<th data-field='LastGood' data-sortable='true'>Last Good Backup</th>
|
||||||
|
<th data-field='OS' data-sortable='true'>OS</th>
|
||||||
|
<th data-field='Host' data-sortable='true'>Host</th>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody> <!-- Body -->
|
||||||
|
<?php
|
||||||
|
$er = 0;
|
||||||
|
foreach ($answers as $row) {
|
||||||
|
$ok = 1;
|
||||||
|
if($row['LastBackup'] == 0){
|
||||||
|
echo '<tr class="table-primary">';
|
||||||
|
echo '<td><b>'.$row['VM'].'</b></td>';
|
||||||
|
echo '<td>Excluded via VMM</td>';
|
||||||
|
echo '<td></td><td>'.$row['OS'].'</td><td>'.$row['Host'].'</td>';
|
||||||
|
}else{
|
||||||
|
echo '<tr>';
|
||||||
|
$date1 = date_create($row['LastGoodBackup']);
|
||||||
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
|
if ($diff->format("%R%a") > 3 || $row['LastGoodBackup'] == ""){
|
||||||
|
echo '<td class="table-danger"><b>'.$row['VM'].'</b></td>';
|
||||||
|
$ok = 0;
|
||||||
|
}else{
|
||||||
|
echo '<td class="table-success"><b>'.$row['VM'].'</b></td>';
|
||||||
|
}
|
||||||
|
if($row['Result'] === "0"){
|
||||||
|
echo '<td class="table-success">OK</td>';
|
||||||
|
}else{
|
||||||
|
$ok = 0;
|
||||||
|
if($row['Result'] == " : FAILED"){
|
||||||
|
echo '<td class="table-danger"> SNAPSHOT FAILED</td>';
|
||||||
|
}else{
|
||||||
|
echo '<td class="table-warning"> ERROR '.$row['Result'].'</td>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($diff->format("%R%a") > 3 || $row['LastGoodBackup'] == ""){
|
||||||
|
echo '<td class="table-danger">'.$row['LastGoodBackup'].'</td>';
|
||||||
|
$ok = 0;
|
||||||
|
}else{
|
||||||
|
echo '<td class="table-success">'.$row['LastGoodBackup'].'</td>';
|
||||||
|
}
|
||||||
|
echo '<td>'.$row['OS'].'</td>';
|
||||||
|
echo '<td>'.$row['Host'].'</td>';
|
||||||
|
echo '</tr>' ;
|
||||||
|
}
|
||||||
|
if($ok ==0){$er++;}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script src="/js/switch.js"></script>
|
||||||
|
</HTML>
|
||||||
|
|
||||||
|
<SCRIPT>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#t1').DataTable({
|
||||||
|
scrollY: '50vh',
|
||||||
|
scrollCollapse: true,
|
||||||
|
paging: false,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
var options = $('#t1').bootstrapTable('getOptions');
|
||||||
|
options.height= document.getElementById('content').clientHeight-170;
|
||||||
|
$('#t1').bootstrapTable('refreshOptions',options);
|
||||||
|
});
|
||||||
|
|
||||||
|
function tableresize() {
|
||||||
|
var options = $('#t1').bootstrapTable('getOptions');
|
||||||
|
options.height= document.getElementById('content').clientHeight-170;
|
||||||
|
$('#t1').bootstrapTable('refreshOptions',options);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener("resize", tableresize);
|
||||||
|
|
||||||
|
document.getElementById("ERR").innerHTML = "<?php echo 'VMs backups ('.$er.' issues)'; ?>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</SCRIPT>
|
||||||
@@ -15,8 +15,7 @@ $(function() {
|
|||||||
if ((dateDiffInDays($data[$i]['SCCMlu'].split(" ")[0]) > 7 || $data[$i]['SCCMlu'] == 'Missing') && $data[$i]['SCCM'] !== 'Missing'){ $nSCCM-- ;}
|
if ((dateDiffInDays($data[$i]['SCCMlu'].split(" ")[0]) > 7 || $data[$i]['SCCMlu'] == 'Missing') && $data[$i]['SCCM'] !== 'Missing'){ $nSCCM-- ;}
|
||||||
if ($data[$i]['GLPI'] !== 'Missing') { $nGLPI++ ; }
|
if ($data[$i]['GLPI'] !== 'Missing') { $nGLPI++ ; }
|
||||||
if ((dateDiffInDays($data[$i]['GLPIlu'].split(" ")[0]) > 7 || $data[$i]['GLPIlu'] == 'Missing') && $data[$i]['GLPI'] !== 'Missing'){ $nGLPI-- ;}
|
if ((dateDiffInDays($data[$i]['GLPIlu'].split(" ")[0]) > 7 || $data[$i]['GLPIlu'] == 'Missing') && $data[$i]['GLPI'] !== 'Missing'){ $nGLPI-- ;}
|
||||||
if ($data[$i]['EPO'] !== 'Missing') { $nEPO++ ; }
|
if ($data[$i]['NESSUS'] !== 'Missing') { $nEPO++ ; }
|
||||||
if ((dateDiffInDays($data[$i]['EPOlu'].split(" ")[0]) > 7 || $data[$i]['EPOlu'] == 'Missing') && $data[$i]['EPO'] !== 'Missing'){ $nEPO-- ;}
|
|
||||||
if ($data[$i]['Backup'] !== 'Missing') { $nNBU++ ; }
|
if ($data[$i]['Backup'] !== 'Missing') { $nNBU++ ; }
|
||||||
if ((dateDiffInDays($data[$i]['NBUlu'].split(" ")[0]) > 30 || $data[$i]['NBUlu'] == 'Missing') && $data[$i]['Backup'].split(" ")[0] !== 'Missing'){ $nNBU-- ;}
|
if ((dateDiffInDays($data[$i]['NBUlu'].split(" ")[0]) > 30 || $data[$i]['NBUlu'] == 'Missing') && $data[$i]['Backup'].split(" ")[0] !== 'Missing'){ $nNBU-- ;}
|
||||||
if (($data[$i]['OS'].includes('XP') || $data[$i]['OS'].includes('2000') || $data[$i]['OS'].includes('2003') || $data[$i]['OS'].includes('2008') || $data[$i]['OS'].includes('2012') || $data[$i]['OS'].includes('7') || $data[$i]['OS'].includes('Windows NT')) == false && $data[$i]['OS'] !==' ') { $nOS++ ;}
|
if (($data[$i]['OS'].includes('XP') || $data[$i]['OS'].includes('2000') || $data[$i]['OS'].includes('2003') || $data[$i]['OS'].includes('2008') || $data[$i]['OS'].includes('2012') || $data[$i]['OS'].includes('7') || $data[$i]['OS'].includes('Windows NT')) == false && $data[$i]['OS'] !==' ') { $nOS++ ;}
|
||||||
|
|||||||
@@ -188,8 +188,8 @@
|
|||||||
echo "<div class='col-md-4'></div>";
|
echo "<div class='col-md-4'></div>";
|
||||||
echo "</div><br>";
|
echo "</div><br>";
|
||||||
|
|
||||||
// EPO
|
// Nessus
|
||||||
echo "<h3><span class='font-weight-bold'>EPO</span></h3>" ;
|
echo "<h3><span class='font-weight-bold'>Nessus</span></h3>" ;
|
||||||
echo "<div class='row'>";
|
echo "<div class='row'>";
|
||||||
if(isset($row['EPO'])){
|
if(isset($row['EPO'])){
|
||||||
if($row['EPO']=="Y"){
|
if($row['EPO']=="Y"){
|
||||||
@@ -198,24 +198,9 @@
|
|||||||
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['EPO']."'></div>";
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['EPO']."'></div>";
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
echo "<div class='col-md-3'><div class='input-group'><span class='input-group-text'><i class='bi bi-pencil-square text-primary'></i></span><input type='text' class='form-control' id='EPO' name ='EPO' Placeholder='Missing' maxlength = '20'></div></div>";
|
echo "<div class='col-md-3'><div class='input-group'><span class='input-group-text'><i class='bi bi-pencil-square text-primary'></i></span><input type='text' class='form-control' id='EPO' name ='EPO' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
}
|
}
|
||||||
if(isset($row['EPOlu'])){
|
echo "<div class='col-md-9'></div>";
|
||||||
echo "<div class='col-md-2 text-end text-bottom'><b>Last Update</b></div>";
|
|
||||||
$date1=date_create($row['EPOlu']);
|
|
||||||
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
|
||||||
if($diff->format("%R%a") > 7){
|
|
||||||
echo "<div class='col-md-3'><input type='text' class='form-control bg-danger text-white' disabled value='".$row['EPOlu']." (".abs($diff->format("%R%a"))." days)'></div>";
|
|
||||||
}else{
|
|
||||||
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='".$row['EPOlu']." (".abs($diff->format("%R%a"))." days)'></div>";
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
if(!(isset($row['EPO']) && $row['EPO'] !=="Y")){
|
|
||||||
echo "<div class='col-md-2 text-end text-bottom'><b>Last Update</b></div>";
|
|
||||||
echo "<div class='col-md-3'><input type='text' class='form-control bg-warning' disabled value='Missing'></div>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
echo "<div class='col-md-4'></div>";
|
|
||||||
echo "</div><br>";
|
echo "</div><br>";
|
||||||
|
|
||||||
// NBU
|
// NBU
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
<!-- Display -->
|
<!-- Display -->
|
||||||
<div class="col py-3">
|
<div class="col py-3">
|
||||||
<!-- Page Title -->
|
<!-- Page Title -->
|
||||||
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">Global Crossover</span></h1>
|
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">Global Crossover <small>(Updated every 15mn)</small></span></h1>
|
||||||
|
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<div class="row" style="zoom: 80%">
|
<div class="row" style="zoom: 80%">
|
||||||
@@ -66,9 +66,9 @@
|
|||||||
$result = $conn->query("select * from GlobalCrossover where SCCM is null or (SCCMlu is not null and DATEDIFF(now(),SCCMlu) > 7) order by server");
|
$result = $conn->query("select * from GlobalCrossover where SCCM is null or (SCCMlu is not null and DATEDIFF(now(),SCCMlu) > 7) order by server");
|
||||||
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SCCM non compliant</span></center></h2>";
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SCCM non compliant</span></center></h2>";
|
||||||
break;
|
break;
|
||||||
case "EPO":
|
case "NESSUS":
|
||||||
$result = $conn->query("select * from GlobalCrossover where EPO is null or (EPOlu is not null and DATEDIFF(now(),EPOlu) > 7) order by server");
|
$result = $conn->query("select * from GlobalCrossover where EPO is null order by server");
|
||||||
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : EPO non compliant</span></center></h2>";
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : NESSUS non compliant</span></center></h2>";
|
||||||
break;
|
break;
|
||||||
case "NBU":
|
case "NBU":
|
||||||
$result = $conn->query("select * from GlobalCrossover where NBU is null or (NBUlu is not null and DATEDIFF(now(),NBUlu) > 30) order by server");
|
$result = $conn->query("select * from GlobalCrossover where NBU is null or (NBUlu is not null and DATEDIFF(now(),NBUlu) > 30) order by server");
|
||||||
@@ -107,8 +107,7 @@
|
|||||||
Inventory</th>
|
Inventory</th>
|
||||||
<th data-field="SCCM" data-sortable="true">SCCM<br></th>
|
<th data-field="SCCM" data-sortable="true">SCCM<br></th>
|
||||||
<th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th>
|
<th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th>
|
||||||
<th data-field="EPO" data-sortable="true">EPO</th>
|
<th data-field="NESSUS" data-sortable="true">NESSUS</th>
|
||||||
<th data-field="EPOlu" data-sortable="true" data-visible="false">EPO Last Update</th>
|
|
||||||
<th data-field="Backup" data-sortable="true">Backup</th>
|
<th data-field="Backup" data-sortable="true">Backup</th>
|
||||||
<th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
|
<th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
|
||||||
<th data-field="SCOM" data-sortable="true">SCOM</th>
|
<th data-field="SCOM" data-sortable="true">SCOM</th>
|
||||||
@@ -128,7 +127,7 @@
|
|||||||
$nSCCM = 0;
|
$nSCCM = 0;
|
||||||
$nGLPI = 0;
|
$nGLPI = 0;
|
||||||
$nFI = 0;
|
$nFI = 0;
|
||||||
$nEPO = 0;
|
$nNESSUS = 0;
|
||||||
$nNBU = 0;
|
$nNBU = 0;
|
||||||
$nDPM = 0;
|
$nDPM = 0;
|
||||||
$nS1 = 0;
|
$nS1 = 0;
|
||||||
@@ -148,7 +147,7 @@
|
|||||||
$nOS++;
|
$nOS++;
|
||||||
echo "<td>" . $row['OS'] . "</td>";
|
echo "<td>" . $row['OS'] . "</td>";
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning'>" . $row['OS'] . "</td>";
|
echo "<td class='bg-warning text-black'>" . $row['OS'] . "</td>";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning'> </td>";
|
echo "<td class='bg-warning'> </td>";
|
||||||
@@ -176,7 +175,7 @@
|
|||||||
echo "<td class='bg-secondary text-secondary'> </td>";
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
$nSCCM++;
|
$nSCCM++;
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
echo "<td class='bg-warning text-warning'> </td>";
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -195,7 +194,7 @@
|
|||||||
echo "<td class='bg-success text-white'>" . $row['GLPIlu'] . "</td>";
|
echo "<td class='bg-success text-white'>" . $row['GLPIlu'] . "</td>";
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(255,193,7,1) 100%);'>OK</td>";
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(255,193,7,1) 100%);'>OK</td>";
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$nGLPI++;
|
$nGLPI++;
|
||||||
@@ -205,7 +204,7 @@
|
|||||||
echo "<td class='bg-secondary text-secondary'> </td>";
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
$nGLPI++;
|
$nGLPI++;
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
echo "<td class='bg-warning text-warning'> </td>";
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -228,31 +227,20 @@
|
|||||||
echo "<td class='bg-secondary text-secondary'> </td>";
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
$nSCCM++;
|
$nSCCM++;
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
echo "<td class='bg-warning text-warning'> </td>";
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// EPO
|
// NESSUS
|
||||||
if ($row['EPO'] == 'Y') {
|
if (strpos($row['EPO'], '.') !== false ) {
|
||||||
$date1 = date_create($row['EPOlu']);
|
echo "<td class='bg-success text-white'>".$row['EPO']."</td>";
|
||||||
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
|
||||||
if ($diff->format("%R%a") > 7) {
|
|
||||||
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK</td>";
|
|
||||||
echo "<td class='bg-danger text-white'>" . $row['EPOlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
|
||||||
} else {
|
|
||||||
echo "<td class='bg-success text-white'>OK</td>";
|
|
||||||
echo "<td class='bg-success text-white'>" . $row['EPOlu'] . "</td>";
|
|
||||||
$nEPO++;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (isset($row['EPO'])) {
|
if (isset($row['EPO']) && $row['EPO'] != 'Y' && $row['EPO'] != 'N') {
|
||||||
echo "<td class='bg-secondary'><small>" . $row['EPO'] . "</small></td>";
|
echo "<td class='bg-secondary'><small>" . $row['EPO'] . "</small></td>";
|
||||||
echo "<td class='bg-secondary text-secondary'> </td>";
|
|
||||||
$nEPO++;
|
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
echo "<td class='bg-warning text-warning'> </td>";
|
$nNESSUS++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -289,7 +277,7 @@
|
|||||||
echo "<td class='bg-secondary'><small>" . $row['DPM'] . "</small></td>";
|
echo "<td class='bg-secondary'><small>" . $row['DPM'] . "</small></td>";
|
||||||
echo "<td class='bg-secondary text-secondary'> </td>";
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
}
|
}
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
echo "<td class='bg-warning text-warning'> </td>";
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -302,41 +290,42 @@
|
|||||||
if (isset($row['SCOM'])) {
|
if (isset($row['SCOM'])) {
|
||||||
echo "<td class='bg-secondary'><small>" . $row['SCOM'] . "</small></td>";
|
echo "<td class='bg-secondary'><small>" . $row['SCOM'] . "</small></td>";
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// zabbix
|
// zabbix
|
||||||
if ($row['zabbix'] == 'Y') {
|
if ($row['zabbix'] == 'Y' || strpos($row['zabbix'], '.') !== false ) {
|
||||||
echo "<td class='bg-success text-white'>OK</td>";
|
echo "<td class='bg-success text-white'>".str_replace('Y','OK',$row['zabbix'])."</td>";
|
||||||
} else {
|
} else {
|
||||||
if (isset($row['zabbix'])) {
|
if (isset($row['zabbix'])) {
|
||||||
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
|
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// S1
|
// S1
|
||||||
if ($row['S1'] == 'Y') {
|
if ($row['S1'] == 'Y' || strpos($row['S1'], '.') !== false) {
|
||||||
$date1 = date_create($row['S1lu']);
|
$date1 = date_create($row['S1lu']);
|
||||||
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
if ($diff->format("%R%a") > 7) {
|
if ($diff->format("%R%a") > 7) {
|
||||||
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK</td>";
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>".str_replace('Y','OK',$row['S1'])."</td>";
|
||||||
echo "<td class='bg-danger text-white'>" . $row['S1lu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
echo "<td class='bg-danger text-white'>" . $row['S1lu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-success text-white'>OK</td>";
|
echo "<td class='bg-success text-white'>".str_replace('Y','OK',$row['S1'])."</td>";
|
||||||
echo "<td class='bg-success text-white'>" . $row['S1lu'] . "</td>";
|
echo "<td class='bg-success text-white'>" . $row['S1lu'] . "</td>";
|
||||||
$nS1++;
|
$nS1++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (isset($row['S1'])) {
|
if (isset($row['S1'])) {
|
||||||
|
if($row['S1'] == "N"){$row['S1'] = "Non Supported OS";}
|
||||||
echo "<td class='bg-secondary'><small>" . $row['S1'] . "</small></td>";
|
echo "<td class='bg-secondary'><small>" . $row['S1'] . "</small></td>";
|
||||||
echo "<td class='bg-secondary text-secondary'> </td>";
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
$nS1++;
|
$nS1++;
|
||||||
} else {
|
} else {
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
echo "<td class='bg-warning text-black'>Missing</td>";
|
||||||
echo "<td class='bg-warning text-warning'> </td>";
|
echo "<td class='bg-warning text-black'> </td>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
@@ -401,8 +390,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col"> <!-- CARTE EPO -->
|
<div class="col"> <!-- CARTE EPO -->
|
||||||
<div class="card border-secondary mb-3">
|
<div class="card border-secondary mb-3">
|
||||||
<div class="card-header text-dark"><b>EPO</b></div>
|
<div class="card-header text-dark"><b>NESSUS</b></div>
|
||||||
<a href="/crossover/GlobalCrossover.php?filter=EPO">
|
<a href="/crossover/GlobalCrossover.php?filter=NESSUS">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIEPO"></span></h2>
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIEPO"></span></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
<!-- Page Title -->
|
<!-- Page Title -->
|
||||||
<title>Web Infra Reports</title>
|
<title>Web Infra Reports</title>
|
||||||
|
<link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">
|
||||||
|
|
||||||
<!-- JQuery -->
|
<!-- JQuery -->
|
||||||
<script src="/js/jquery-3.6.1.min.js"></script>
|
<script src="/js/jquery-3.6.1.min.js"></script>
|
||||||
@@ -106,8 +107,6 @@
|
|||||||
Inventory</th>
|
Inventory</th>
|
||||||
<th data-field="SCCM" data-sortable="true">SCCM<br></th>
|
<th data-field="SCCM" data-sortable="true">SCCM<br></th>
|
||||||
<th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th>
|
<th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th>
|
||||||
<th data-field="EPO" data-sortable="true">EPO</th>
|
|
||||||
<th data-field="EPOlu" data-sortable="true" data-visible="false">EPO Last Update</th>
|
|
||||||
<th data-field="Backup" data-sortable="true">Backup</th>
|
<th data-field="Backup" data-sortable="true">Backup</th>
|
||||||
<th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
|
<th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
|
||||||
<th data-field="SCOM" data-sortable="true">SCOM</th>
|
<th data-field="SCOM" data-sortable="true">SCOM</th>
|
||||||
@@ -127,7 +126,6 @@
|
|||||||
$nSCCM = 0;
|
$nSCCM = 0;
|
||||||
$nGLPI = 0;
|
$nGLPI = 0;
|
||||||
$nFI = 0;
|
$nFI = 0;
|
||||||
$nEPO = 0;
|
|
||||||
$nNBU = 0;
|
$nNBU = 0;
|
||||||
$nDPM = 0;
|
$nDPM = 0;
|
||||||
$nS1 = 0;
|
$nS1 = 0;
|
||||||
@@ -232,28 +230,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// EPO
|
|
||||||
if ($row['EPO'] == 'Y') {
|
|
||||||
$date1 = date_create($row['EPOlu']);
|
|
||||||
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
|
||||||
if ($diff->format("%R%a") > 7) {
|
|
||||||
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK</td>";
|
|
||||||
echo "<td class='bg-danger text-white'>" . $row['EPOlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
|
||||||
} else {
|
|
||||||
echo "<td class='bg-success text-white'>OK</td>";
|
|
||||||
echo "<td class='bg-success text-white'>" . $row['EPOlu'] . "</td>";
|
|
||||||
$nEPO++;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (isset($row['EPO'])) {
|
|
||||||
echo "<td class='bg-secondary'><small>" . $row['EPO'] . "</small></td>";
|
|
||||||
echo "<td class='bg-secondary text-secondary'> </td>";
|
|
||||||
$nEPO++;
|
|
||||||
} else {
|
|
||||||
echo "<td class='bg-warning text-warning'>Missing</td>";
|
|
||||||
echo "<td class='bg-warning text-warning'> </td>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// BACKUP
|
// BACKUP
|
||||||
if ($row['NBU'] == 'Y') {
|
if ($row['NBU'] == 'Y') {
|
||||||
@@ -306,8 +282,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// zabbix
|
// zabbix
|
||||||
if ($row['zabbix'] == 'Y') {
|
if ($row['zabbix'] == 'Y' || strpos($row['zabbix'], '.') !== false ) {
|
||||||
echo "<td class='bg-success text-white'>OK</td>";
|
echo "<td class='bg-success text-white'>".str_replace('Y','OK',$row['zabbix'])."</td>";
|
||||||
} else {
|
} else {
|
||||||
if (isset($row['zabbix'])) {
|
if (isset($row['zabbix'])) {
|
||||||
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
|
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
|
||||||
@@ -398,16 +374,6 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col"> <!-- CARTE EPO -->
|
|
||||||
<div class="card border-secondary mb-3">
|
|
||||||
<div class="card-header text-dark"><b>EPO</b></div>
|
|
||||||
<a href="/crossover/GlobalCrossover.php?filter=EPO">
|
|
||||||
<div class="card-body">
|
|
||||||
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIEPO"></span></h2>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col"> <!-- CARTE Backup (NBU + DPM) -->
|
<div class="col"> <!-- CARTE Backup (NBU + DPM) -->
|
||||||
<div class="card border-secondary mb-3">
|
<div class="card border-secondary mb-3">
|
||||||
<div class="card-header text-dark"><b>Backup</b></div>
|
<div class="card-header text-dark"><b>Backup</b></div>
|
||||||
|
|||||||
@@ -37,14 +37,14 @@
|
|||||||
<!-- Display -->
|
<!-- Display -->
|
||||||
<div class="col py-3">
|
<div class="col py-3">
|
||||||
<!-- Page Title -->
|
<!-- Page Title -->
|
||||||
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">EPO</span></h1>
|
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">NESSUS</span></h1>
|
||||||
|
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- Get DATAs -->
|
<!-- Get DATAs -->
|
||||||
<?php
|
<?php
|
||||||
DB_ENTRY02();
|
DB_ENTRY02();
|
||||||
$result = $conn->query("SELECT * FROM GlobalCrossover where epo = 'Y' order by server");
|
$result = $conn->query("SELECT * FROM GlobalCrossover where epo like '%.%' order by server");
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table class='table table-bordered table-hover table-sm'
|
<table class='table table-bordered table-hover table-sm'
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
>
|
>
|
||||||
<thead>
|
<thead>
|
||||||
<th data-field="Name" data-sortable="true">Name</th>
|
<th data-field="Name" data-sortable="true">Name</th>
|
||||||
<th data-field="LastUpdate" data-sortable="true">Last Update</th>
|
<th data-field="LastUpdate" data-sortable="true">Version</th>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<!-- Display DATAs -->
|
<!-- Display DATAs -->
|
||||||
@@ -61,12 +61,7 @@
|
|||||||
while ($row = mysqli_fetch_array($result)) {
|
while ($row = mysqli_fetch_array($result)) {
|
||||||
echo "<tr>";
|
echo "<tr>";
|
||||||
echo "<td>".$row['Server']."</td>";
|
echo "<td>".$row['Server']."</td>";
|
||||||
$lu=date_create($row['EPOlu']);
|
echo "<td class='bg-success'>".$row['EPO']."</td>";
|
||||||
$diff=date_diff($lu,date_create(date("Y-m-d")));
|
|
||||||
if($diff->format("%R%a") > 7){
|
|
||||||
echo "<td class='bg-warning'>".$row['EPOlu']."</td>";
|
|
||||||
}else{
|
|
||||||
echo "<td class='bg-success'>".$row['EPOlu']."</td>";
|
|
||||||
}
|
}
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
}
|
}
|
||||||
|
|||||||
79
dashboard/Nessus-Detail.php
Normal file
79
dashboard/Nessus-Detail.php
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
|
||||||
|
<!-- Page Title -->
|
||||||
|
<title>Web Infra Reports</title>
|
||||||
|
<link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">
|
||||||
|
|
||||||
|
<!-- JQuery -->
|
||||||
|
<script src="/js/jquery-3.6.1.min.js"></script>
|
||||||
|
<!-- Bootstrap -->
|
||||||
|
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" href="/css/bootstrap-icons/bootstrap-icons.css">
|
||||||
|
<script src="/js/bootstrap.bundle.min.js"></script>
|
||||||
|
<!-- Bootstrap-tables -->
|
||||||
|
<link rel="stylesheet" href="/css/bootstrap-table.min.css">
|
||||||
|
<script src="/js/bootstrap-table.min.js"></script>
|
||||||
|
<script src="/js/bootstrap-table-fr-FR.min.js"></script>
|
||||||
|
<script src="/js/tableExport.min.js"></script>
|
||||||
|
<script src="/js/bootstrap-table-export.min.js"></script>
|
||||||
|
<script src="/js/libs/js-xlsx/xlsx.core.min.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="bg-light text-dark>
|
||||||
|
<?php include $_SERVER['DOCUMENT_ROOT']."/include/db_connect.php" ; ?> <!-- Database connexion -->
|
||||||
|
<?php //include $_SERVER['DOCUMENT_ROOT']."/include/functions.inc.php" ; ?> <!-- Functions -->
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row flex-nowrap">
|
||||||
|
<!-- Left NAVBAR -->
|
||||||
|
<div class="col-auto col-md-2 col-xl-2 px-sm-2 px-0 bg-dark" style="-ms-flex: 0 0 230px;flex: 0 0 230px;">
|
||||||
|
<?php include $_SERVER['DOCUMENT_ROOT']."/navbar.html" ; ?> <!-- Left Navbar -->
|
||||||
|
</div>
|
||||||
|
<!-- Display -->
|
||||||
|
<div class="col py-3">
|
||||||
|
<!-- Page Title -->
|
||||||
|
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">NESSUS</span></h1>
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<div class="row">
|
||||||
|
<!-- Get DATAs -->
|
||||||
|
<?php
|
||||||
|
DB_ENTRY02();
|
||||||
|
$result = $conn->query("SELECT * FROM GlobalCrossover where epo like '%.%' order by server");
|
||||||
|
?>
|
||||||
|
|
||||||
|
<table class='table table-bordered table-hover table-sm'
|
||||||
|
data-toggle="table" data-search="true" data-show-columns="true" data-pagination="true" data-export-types="['xlsx','csv','json']"
|
||||||
|
data-page-list="[20, 50, 100, All]" data-page-size="Tout" data-height="820" data-show-export="true" data-sortable="true"
|
||||||
|
>
|
||||||
|
<thead>
|
||||||
|
<th data-field="Name" data-sortable="true">Name</th>
|
||||||
|
<th data-field="LastUpdate" data-sortable="true">Version</th>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<!-- Display DATAs -->
|
||||||
|
<?php
|
||||||
|
while ($row = mysqli_fetch_array($result)) {
|
||||||
|
echo "<tr>";
|
||||||
|
echo "<td>".$row['Server']."</td>";
|
||||||
|
echo "<td class='bg-success'>".$row['EPO']."</td>";
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="/js/switch.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<!-- Get DATAs -->
|
<!-- Get DATAs -->
|
||||||
<?php
|
<?php
|
||||||
DB_ENTRY02();
|
DB_ENTRY02();
|
||||||
$result = $conn->query("SELECT * FROM GlobalCrossover where S1 = 'Y' order by server");
|
$result = $conn->query("SELECT * FROM GlobalCrossover where S1 like '%.%' order by server");
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<table class='table table-bordered table-hover table-sm'
|
<table class='table table-bordered table-hover table-sm'
|
||||||
@@ -64,9 +64,9 @@
|
|||||||
$lu=date_create($row['S1lu']);
|
$lu=date_create($row['S1lu']);
|
||||||
$diff=date_diff($lu,date_create(date("Y-m-d")));
|
$diff=date_diff($lu,date_create(date("Y-m-d")));
|
||||||
if($diff->format("%R%a") > 7){
|
if($diff->format("%R%a") > 7){
|
||||||
echo "<td class='bg-warning'>".$row['EPOlu']."</td>";
|
echo "<td class='bg-warning'>".$row['S1lu']."</td>";
|
||||||
}else{
|
}else{
|
||||||
echo "<td class='bg-success'>".$row['EPOlu']."</td>";
|
echo "<td class='bg-success'>".$row['S1lu']."</td>";
|
||||||
}
|
}
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,26 @@ function Invoke_WebInfraTools($request)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MySQL web-infra-tools sur DUN-SUP-S2ENTRY
|
||||||
|
function Invoke_WebInfraReports($request)
|
||||||
|
{
|
||||||
|
$user = "admin";
|
||||||
|
$pwd = "Arth3m1s&*0";
|
||||||
|
$server = "dun-sup-s2entry.armony.net:3306";
|
||||||
|
$database = "web-infra-reports";
|
||||||
|
$conn = new mysqli($server, $user, $pwd, $database);
|
||||||
|
if (!($conn)) {
|
||||||
|
echo "Pas de connexion";
|
||||||
|
}
|
||||||
|
$rs = $conn->query($request);
|
||||||
|
while ($row = mysqli_fetch_array($rs)) {
|
||||||
|
$answer[] = $row;
|
||||||
|
}
|
||||||
|
if (isset($answer)) {
|
||||||
|
return $answer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//INFRA sur DUN-PRD-R1MSSQL\PRD
|
//INFRA sur DUN-PRD-R1MSSQL\PRD
|
||||||
function Invoke_Infra($request)
|
function Invoke_Infra($request)
|
||||||
{
|
{
|
||||||
|
|||||||
12
index.php
12
index.php
@@ -114,16 +114,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col"> <!-- CARTE EPO -->
|
<div class="col"> <!-- CARTE NESSUS -->
|
||||||
<div class="card border-primary mb-3">
|
<div class="card border-primary mb-3">
|
||||||
<div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> EPO</h5></div>
|
<div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> NESSUS</h5></div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<?php
|
<?php
|
||||||
DB_ENTRY02();
|
DB_ENTRY02();
|
||||||
$result = $conn->query("SELECT count(*) as nbepo FROM GlobalCrossover where epo = 'Y'");
|
$result = $conn->query("SELECT count(*) as nbnessus FROM GlobalCrossover where epo like '%.%'");
|
||||||
$nbepo = mysqli_fetch_array($result)['nbepo'];
|
$nbnessus = mysqli_fetch_array($result)['nbnessus'];
|
||||||
?>
|
?>
|
||||||
<p class="card-text text-center"><b><a href="\dashboard\EPO-detail.php"><?php echo $nbepo; ?></b> Agents</a></p>
|
<p class="card-text text-center"><b><a href="\dashboard\Nessus-detail.php"><?php echo $nbnessus; ?></b> Agents</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
<div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> SentinelOne</h5></div>
|
<div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> SentinelOne</h5></div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<?php
|
<?php
|
||||||
$result = $conn->query("SELECT count(*) as nbS1 FROM GlobalCrossover where S1 = 'Y'");
|
$result = $conn->query("SELECT count(*) as nbS1 FROM GlobalCrossover where S1 like '%.%'");
|
||||||
$nbS1 = mysqli_fetch_array($result)['nbS1'];
|
$nbS1 = mysqli_fetch_array($result)['nbS1'];
|
||||||
?>
|
?>
|
||||||
<p class="card-text text-center"><b><a href="\dashboard\S1-detail.php"><?php echo $nbS1; ?></b> Agents</a></p>
|
<p class="card-text text-center"><b><a href="\dashboard\S1-detail.php"><?php echo $nbS1; ?></b> Agents</a></p>
|
||||||
|
|||||||
@@ -54,6 +54,8 @@
|
|||||||
<ul class="collapse nav flex-column ms-1" id="HyperV" data-bs-parent="#menu">
|
<ul class="collapse nav flex-column ms-1" id="HyperV" data-bs-parent="#menu">
|
||||||
<li class="w-100">
|
<li class="w-100">
|
||||||
<a href="/Hyper-V/clusters.php" class="nav-link px-0"> <span class="d-none d-sm-inline text-white h7">- Hyper-V Clusters</span></a>
|
<a href="/Hyper-V/clusters.php" class="nav-link px-0"> <span class="d-none d-sm-inline text-white h7">- Hyper-V Clusters</span></a>
|
||||||
|
<a href="/Hyper-V/VMs-Backups.php" class="nav-link px-0"> <span class="d-none d-sm-inline text-white h7">- VMs Backups</span></a>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
Reference in New Issue
Block a user