Initial Version
211
Links/Links.php
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
<!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>
|
||||||
|
|
||||||
|
<!-- 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>
|
||||||
|
<!-- Chart -->
|
||||||
|
<script src="/js/chart.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%;">LINKS IT</span></h1>
|
||||||
|
<div class="row flex-nowrap text-center">
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="http://web-wintel.appliarmony.net/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-Wintel</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="http://web-infra-reports.appliarmony.net/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-Infra-Reports IT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="http://web-infra-tools.appliarmony.net/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-Infra-Tools IT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="http://web-infra-tools-dev.appliarmony.net/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-Infra-Tools-dev IT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row flex-nowrap text-center">
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="http://web-infra-diy.appliarmony.net/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-infra-diy IT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="http://dash-dtd-systemdk.appliarmony.net/index-ot-dark.html" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Dashboard IT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">LINKS OT</span></h1>
|
||||||
|
<div class="row flex-nowrap text-center">
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="https://web-infra-reports.process.dkm/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-Infra-Reports OT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="https://web-infra-tools.process.dkm/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-Infra-Tools OT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="https://web-infra-diy.process.dmk/" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Web-Infra-diy OT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<a href="http://dash-dtd-systemdk.appliarmony.net/index-ot-dark.html" class="text-decoration-none">
|
||||||
|
<div class="card-header text-dark">
|
||||||
|
<h3>Dashboard OT</h3>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="/js/switch.js"></script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var dataSV = document.getElementById("dataSVI").innerHTML.split(",");
|
||||||
|
var labelsSV = ['2008','2012','2016','2019','2022'];
|
||||||
|
new Chart("ChartServer", {
|
||||||
|
type: 'doughnut',
|
||||||
|
data: {
|
||||||
|
labels: labelsSV,
|
||||||
|
datasets: [{
|
||||||
|
backgroundColor: ['#ff0000','#ff0000','#00ff00','#00ff00','#00ff00'],
|
||||||
|
data: dataSV
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var dataSVA = document.getElementById("dataSVA").innerHTML.split(",");
|
||||||
|
var labelsSVA = ['2008','2012','2016','2019','2022'];
|
||||||
|
new Chart("ChartServerA", {
|
||||||
|
type: 'doughnut',
|
||||||
|
data: {
|
||||||
|
labels: labelsSVA,
|
||||||
|
datasets: [{
|
||||||
|
backgroundColor: ['#ff0000','#ff0000','#00ff00','#00ff00','#00ff00'],
|
||||||
|
data: dataSVA
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var dataLI = document.getElementById("dataLI").innerHTML.split(",");
|
||||||
|
var labelsLI = ['Linux','AIX'];
|
||||||
|
new Chart("ChartLinux", {
|
||||||
|
type: 'doughnut',
|
||||||
|
data: {
|
||||||
|
labels: labelsLI,
|
||||||
|
datasets: [{
|
||||||
|
backgroundColor: ['#00ff00','#ff8c00'],
|
||||||
|
data: dataLI
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var dataType = document.getElementById("dataType").innerHTML.split(",");
|
||||||
|
var labelsType = ['Physical','Virtual'];
|
||||||
|
new Chart("ChartType", {
|
||||||
|
type: 'doughnut',
|
||||||
|
data: {
|
||||||
|
labels: labelsType,
|
||||||
|
datasets: [{
|
||||||
|
backgroundColor: ['#2596be','#eab676'],
|
||||||
|
data: dataType
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
BIN
Links/WIRIT.PNG
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
Links/WIROT.PNG
Normal file
|
After Width: | Height: | Size: 85 KiB |
112
crossover/Crossover-KPI.js
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
function dateDiffInDays(a) {
|
||||||
|
const _MS_PER_DAY = 1000 * 60 * 60 * 24;
|
||||||
|
return Math.floor((Date.now() - new Date(a)) / _MS_PER_DAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(function() {
|
||||||
|
$button.click(function () {
|
||||||
|
$data = $table.bootstrapTable('getData')
|
||||||
|
$dl = $data.length
|
||||||
|
$nSCCM=0; $nAD=0; $nGLPI=0;$nEPO=0;$nNBU=0;$nOS=0;$nSCOM=0;$nZabbix=0;$nS1=0;
|
||||||
|
for( $i=0 ; $i < $dl ; $i++ ){
|
||||||
|
if ($data[$i]['AD'] !== 'Missing') { $nAD++ ; }
|
||||||
|
if ((dateDiffInDays($data[$i]['ADlu'].split(" ")[0]) > 45 || $data[$i]['ADlu'] == 'Missing') && $data[$i]['AD'] !== 'Missing'){ $nAD-- ;}
|
||||||
|
if ($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 ((dateDiffInDays($data[$i]['GLPIlu'].split(" ")[0]) > 7 || $data[$i]['GLPIlu'] == 'Missing') && $data[$i]['GLPI'] !== 'Missing'){ $nGLPI-- ;}
|
||||||
|
if ($data[$i]['EPO'] !== '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 ((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]['SCOM'] !== 'Missing') { $nSCOM++ ; }
|
||||||
|
if ($data[$i]['Zabbix'] !== 'Missing') { $nZabbix++ ; }
|
||||||
|
if ($data[$i]['S1'] !== 'Missing') { $nS1++ ; }
|
||||||
|
if ((dateDiffInDays($data[$i]['S1lu'].split(" ")[0]) > 7 || $data[$i]['S1lu'] == 'Missing') && $data[$i]['S1'] !== 'Missing'){ $nS1-- ;}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIAD").innerHTML = Math.round($nAD/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nAD/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIAD").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nAD/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIAD").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIAD").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIGLPI").innerHTML = Math.round($nGLPI/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nGLPI/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIGLPI").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nGLPI/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIGLPI").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIGLPI").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPISCCM").innerHTML = Math.round($nSCCM/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nSCCM/$dl*100) >=90){
|
||||||
|
document.getElementById("KPISCCM").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nSCCM/$dl*100) >=75){
|
||||||
|
document.getElementById("KPISCCM").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPISCCM").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIEPO").innerHTML = Math.round($nEPO/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nEPO/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIEPO").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nEPO/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIEPO").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIEPO").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPINBU").innerHTML = Math.round($nNBU/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nNBU/$dl*100) >=90){
|
||||||
|
document.getElementById("KPINBU").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nNBU/$dl*100) >=75){
|
||||||
|
document.getElementById("KPINBU").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPINBU").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIOS").innerHTML = Math.round($nOS/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nOS/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIOS").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nOS/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIOS").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIOS").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPISCOM").innerHTML = Math.round($nSCOM/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nSCOM/$dl*100) >=90){
|
||||||
|
document.getElementById("KPISCOM").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nSCOM/$dl*100) >=75){
|
||||||
|
document.getElementById("KPISCOM").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPISCOM").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIzabbix").innerHTML = Math.round($nZabbix/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nZabbix/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIzabbix").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nZabbix/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIzabbix").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIzabbix").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIS1").innerHTML = Math.round($nS1/$dl*1000)/10 + "%";
|
||||||
|
if(Math.round($nS1/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIS1").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nS1/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIS1").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIS1").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIDEVICE").innerHTML = $dl;
|
||||||
|
})
|
||||||
|
})
|
||||||
312
crossover/Detail.php
Normal file
@@ -0,0 +1,312 @@
|
|||||||
|
<!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">
|
||||||
|
<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/db_connect.php" ; ?> <!-- Database connexion -->
|
||||||
|
<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">
|
||||||
|
<?php
|
||||||
|
$server = $_GET['server'];
|
||||||
|
DB_ENTRY02();
|
||||||
|
$rs = $conn->query("SELECT * FROM GlobalCrossover where Server = '$server'");
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!-- Page Title -->
|
||||||
|
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;"><?php echo $server ;?></span></h1>
|
||||||
|
<br>
|
||||||
|
<!-- Main content -->
|
||||||
|
<div class="container" style="zoom: 80%">
|
||||||
|
<!-- Get DATAs -->
|
||||||
|
<form action="/crossover/Detail2.php" method="POST" id="form">
|
||||||
|
<?php
|
||||||
|
while ($row = mysqli_fetch_array($rs)) {
|
||||||
|
echo "<div class='row'>";
|
||||||
|
// OS
|
||||||
|
echo "<div class='col-md-5'>";
|
||||||
|
if(!isset($row['OS']) || $row['OS'] ==''){$row['OS']='Unknown';}
|
||||||
|
if(preg_match('(XP|2003|Windows NT|2000|2008|7|Unknown)', $row['OS']) == 1) {
|
||||||
|
echo "<h3><span class='badge text-bg-warning font-weight-bold'>OS : ".$row['OS']."</span></h3>";
|
||||||
|
}else{
|
||||||
|
echo "<h3><span class='badge text-bg-success text-white font-weight-bold'>OS : ".$row['OS']."</span></h3>";
|
||||||
|
}
|
||||||
|
echo "</div>";
|
||||||
|
// Type
|
||||||
|
echo "<div class='col-md-2'>";
|
||||||
|
$typ="Unknown";
|
||||||
|
if($row['virtual'] =='Y'){$typ = 'Virtual';}
|
||||||
|
if($row['virtual'] =='N'){$typ = 'Physical';}
|
||||||
|
echo "<h3><span class='badge text-bg-primary font-weight-bold'>Type : $typ</span></h3>";
|
||||||
|
echo "</div>";
|
||||||
|
// Crit
|
||||||
|
echo "<div class='col-md-2'>";
|
||||||
|
if(isset($row['crit'])){
|
||||||
|
echo "<h3><span class='badge text-bg-primary font-weight-bold'>Crit : ".$row['crit']."</span></h3>";
|
||||||
|
}
|
||||||
|
echo "</div>";
|
||||||
|
// Dpt
|
||||||
|
echo "<div class='col-md-3'>";
|
||||||
|
if(isset($row['dpt'])){
|
||||||
|
echo "<h3><span class='badge text-bg-primary font-weight-bold'>".$row['dpt']."</span></h3>";
|
||||||
|
}
|
||||||
|
echo "</div>";
|
||||||
|
|
||||||
|
echo "</div><hr style='border-top: 3px solid black'>";
|
||||||
|
|
||||||
|
// Active Directory
|
||||||
|
echo "<h3><span class='font-weight-bold'>Active Directory</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['AD'])){
|
||||||
|
if($row['AD']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['AD']."'></div>";
|
||||||
|
}
|
||||||
|
}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='AD' name ='AD' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
if(isset($row['ADlu'])){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Logon</b></div>";
|
||||||
|
$date1=date_create($row['ADlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if($diff->format("%R%a") > 60){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-danger text-white' disabled value='".$row['ADlu']." (".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['ADlu']." (".abs($diff->format("%R%a"))." days)'></div>";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(!(isset($row['AD']) && $row['AD'] !=="Y")){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Logon</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>";
|
||||||
|
|
||||||
|
// GLPI
|
||||||
|
echo "<h3><span class='font-weight-bold'>GLPI</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['GLPI'])){
|
||||||
|
if($row['GLPI']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white font-weight-bold' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary font-weight-bold' disabled value='".$row['GLPI']."'></div>";
|
||||||
|
}
|
||||||
|
}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='GLPI' name ='GLPI' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
echo "<div class='col-md-9 text-end'></div>";
|
||||||
|
echo "</div><br>";
|
||||||
|
|
||||||
|
// Fusion Inventory
|
||||||
|
echo "<h3><span class='font-weight-bold'>Fusion Inventory</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['GLPIlu']) && $row['GLPIlu'] !== ''){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
if(isset($row['FI'])){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' value='".$row['FI']."'></div>";
|
||||||
|
}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='FI' name ='FI' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$date1=date_create($row['GLPIlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if(isset($row['GLPIlu']) && $row['GLPIlu'] !== ''){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Inventory</b></div>";
|
||||||
|
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['GLPIlu']." (".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['GLPIlu']." (".abs($diff->format("%R%a"))." days)'></div>";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(!(isset($row['FI']) && $row['FI'] !=="Y")){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Inventory</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>";
|
||||||
|
|
||||||
|
// SCCM
|
||||||
|
echo "<h3><span class='font-weight-bold'>SCCM</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['SCCM'])){
|
||||||
|
if($row['SCCM']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['SCCM']."'></div>";
|
||||||
|
}
|
||||||
|
}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='SCCM' name ='SCCM' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
if(isset($row['SCCMlu'])){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Heartbeat</b></div>";
|
||||||
|
$date1=date_create($row['SCCMlu']);
|
||||||
|
$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['SCCMlu']." (".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['SCCMlu']." (".abs($diff->format("%R%a"))." days)'></div>";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(!(isset($row['SCCM']) && $row['SCCM'] !=="Y")){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Heartbeat</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>";
|
||||||
|
|
||||||
|
// EPO
|
||||||
|
echo "<h3><span class='font-weight-bold'>EPO</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['EPO'])){
|
||||||
|
if($row['EPO']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['EPO']."'></div>";
|
||||||
|
}
|
||||||
|
}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>";
|
||||||
|
}
|
||||||
|
if(isset($row['EPOlu'])){
|
||||||
|
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>";
|
||||||
|
|
||||||
|
// NBU
|
||||||
|
echo "<h3><span class='font-weight-bold'>NetBackup</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['NBU'])){
|
||||||
|
if($row['NBU']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['NBU']."'></div>";
|
||||||
|
}
|
||||||
|
}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='NBU' name ='NBU' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
if(isset($row['NBUlu'])){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Backup</b></div>";
|
||||||
|
$date1=date_create($row['NBUlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if($diff->format("%R%a") > 30){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-danger text-white' disabled value='".$row['NBUlu']." (".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['NBUlu']." (".abs($diff->format("%R%a"))." days)'></div>";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(!(isset($row['NBU']) && $row['NBU'] !=="Y")){
|
||||||
|
echo "<div class='col-md-2 text-end text-bottom'><b>Last Backup</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>";
|
||||||
|
|
||||||
|
// SCOM
|
||||||
|
echo "<h3><span class='font-weight-bold'>SCOM</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['SCOM'])){
|
||||||
|
if($row['SCOM']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['SCOM']."'></div>";
|
||||||
|
}
|
||||||
|
}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='SCOM' name ='SCOM' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
echo "<div class='col-md-9'></div>";
|
||||||
|
echo "</div><br>";
|
||||||
|
|
||||||
|
// Zabbix
|
||||||
|
echo "<h3><span class='font-weight-bold'>Zabbix</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['zabbix'])){
|
||||||
|
if($row['zabbix']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['zabbix']."'></div>";
|
||||||
|
}
|
||||||
|
}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='zabbix' name ='zabbix' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
echo "<div class='col-md-9'></div>";
|
||||||
|
echo "</div><br>";
|
||||||
|
|
||||||
|
// SentinelOne
|
||||||
|
echo "<h3><span class='font-weight-bold'>SentinelOne</span></h3>" ;
|
||||||
|
echo "<div class='row'>";
|
||||||
|
if(isset($row['S1'])){
|
||||||
|
if($row['S1']=="Y"){
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='OK'></div>";
|
||||||
|
}else{
|
||||||
|
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['S1']."'></div>";
|
||||||
|
}
|
||||||
|
}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='S1' name ='S1' placeholder='Missing' maxlength = '20'></div></div>";
|
||||||
|
}
|
||||||
|
echo "<div class='col-md-9'></div>";
|
||||||
|
echo "</div><br>";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<input type='text' class='form-control visually-hidden' name="server" id="server" value='<?php echo $_GET['server']; ?>'>
|
||||||
|
<hr>
|
||||||
|
<center><button id="button" type="submit" class="btn btn-primary btn-lg"><i class="bi bi-arrow-clockwise"></i><b> Submit</b></button></center>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="/js/switch.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
93
crossover/Detail2.php
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
<!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">
|
||||||
|
<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>
|
||||||
|
<?php include $_SERVER['DOCUMENT_ROOT']."/include/db_connect.php" ; ?> <!-- Database connexion -->
|
||||||
|
<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">
|
||||||
|
<?php
|
||||||
|
//var_dump($_POST);
|
||||||
|
$server = $_POST['server'];
|
||||||
|
// Update Databases
|
||||||
|
DB_ENTRY02();
|
||||||
|
if(isset($_POST['AD']) && $_POST['AD'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,AD) VALUES ('$server','".substr($_POST['AD'], 0, 20)."') ON DUPLICATE KEY UPDATE AD ='".substr($_POST['AD'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET AD='".substr($_POST['AD'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['GLPI']) && $_POST['GLPI'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,GLPI) VALUES ('$server','".substr($_POST['GLPI'], 0, 20)."') ON DUPLICATE KEY UPDATE GLPI ='".substr($_POST['GLPI'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET GLPI='".substr($_POST['GLPI'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['FI']) && $_POST['FI'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,FI) VALUES ('$server','".substr($_POST['FI'], 0, 20)."') ON DUPLICATE KEY UPDATE FI ='".substr($_POST['FI'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET FI='".substr($_POST['FI'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['SCCM']) && $_POST['SCCM'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,SCCM) VALUES ('$server','".substr($_POST['SCCM'], 0, 20)."') ON DUPLICATE KEY UPDATE SCCM ='".substr($_POST['SCCM'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET SCCM='".substr($_POST['SCCM'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['EPO']) && $_POST['EPO'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,EPO) VALUES ('$server','".substr($_POST['EPO'], 0, 20)."') ON DUPLICATE KEY UPDATE EPO ='".substr($_POST['EPO'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET EPO='".substr($_POST['EPO'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['NBU']) && $_POST['NBU'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,NBU) VALUES ('$server','".substr($_POST['NBU'], 0, 20)."') ON DUPLICATE KEY UPDATE NBU ='".substr($_POST['NBU'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET NBU='".substr($_POST['NBU'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['SCOM']) && $_POST['SCOM'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,SCOM) VALUES ('$server','".substr($_POST['SCOM'], 0, 20)."') ON DUPLICATE KEY UPDATE SCOM ='".substr($_POST['SCOM'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET SCOM='".substr($_POST['SCOM'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['zabbix']) && $_POST['zabbix'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,zabbix) VALUES ('$server','".substr($_POST['zabbix'], 0, 20)."') ON DUPLICATE KEY UPDATE zabbix ='".substr($_POST['zabbix'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET zabbix='".substr($_POST['zabbix'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
if(isset($_POST['S1']) && $_POST['S1'] !==''){
|
||||||
|
$conn->query("INSERT INTO CrossoverExclusions (server,S1) VALUES ('$server','".substr($_POST['S1'], 0, 20)."') ON DUPLICATE KEY UPDATE S1 ='".substr($_POST['S1'], 0, 20)."'");
|
||||||
|
$conn->query("UPDATE GlobalCrossover SET S1='".substr($_POST['S1'], 0, 20)."' where server = '$server'");
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<!-- Page Title -->
|
||||||
|
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;"><?php echo $server ;?></span></h1>
|
||||||
|
<br>
|
||||||
|
<div class="alert alert-success" role="alert"><h2><center>Exception(s) enregistrée(s) !</center></h2></div>
|
||||||
|
<!-- <meta http-equiv="refresh" content="3;url=/crossover/Detail.php?server=<?php //echo $server ; ?>" /> -->
|
||||||
|
<!-- Main content -->
|
||||||
|
</div>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
537
crossover/GlobalCrossover - Copie.php
Normal file
@@ -0,0 +1,537 @@
|
|||||||
|
<!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>
|
||||||
|
|
||||||
|
<!-- 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>
|
||||||
|
<?php include $_SERVER['DOCUMENT_ROOT']."/include/preloader.inc.html" ; ?> <!-- Preloader -->
|
||||||
|
<?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%;">Global Crossover</span></h1>
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<div class="row" style="zoom: 80%">
|
||||||
|
<!-- Get DATAs -->
|
||||||
|
<?php
|
||||||
|
// get all departements
|
||||||
|
DB_Data_Read();
|
||||||
|
$sql = "select distinct substring(dpt,1,Charindex('-',dpt)-1) as dpt1 from globalcrossover where dpt like '%-%' order by dpt1";
|
||||||
|
$rs=odbc_exec($conn,$sql);
|
||||||
|
$opt = "<select class='form-select' id='DPT' name='DPT'><option selected></option>";
|
||||||
|
while ($row = odbc_fetch_array($rs)) {
|
||||||
|
if(isset($row['dpt1'])){
|
||||||
|
$opt .= "<option value='".$row['dpt1']."*'%>".$row['dpt1']."<b>*</b></option>" ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$opt .= "<option disabled>──────────</option>" ;
|
||||||
|
$sql = "select distinct dpt from globalcrossover where dpt <> '' order by dpt";
|
||||||
|
$rs=odbc_exec($conn,$sql);
|
||||||
|
while ($row = odbc_fetch_array($rs)) {
|
||||||
|
$opt .= "<option value='".$row['dpt']."'>".$row['dpt']."</option>" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$opt .="</select>" ;
|
||||||
|
|
||||||
|
$vir="checked";$phy="checked";$dpt="";
|
||||||
|
$where = ""; $typ="";
|
||||||
|
if(isset($_GET['AA'])){
|
||||||
|
$aa="checked"; $where .= "crit = 'AA' or ";
|
||||||
|
}else{$aa="unchecked";}
|
||||||
|
if(isset($_GET['A'])){
|
||||||
|
$a="checked"; $where .= "crit = 'A' or ";
|
||||||
|
}else{$a="unchecked";}
|
||||||
|
if(isset($_GET['B'])){
|
||||||
|
$b="checked"; $where .= "crit = 'B' or ";
|
||||||
|
}else{$b="unchecked";}
|
||||||
|
if(isset($_GET['C'])){
|
||||||
|
$c="checked"; $where .= "crit = 'C' or ";
|
||||||
|
}else{$c="unchecked";}
|
||||||
|
if(isset($_GET['no'])){
|
||||||
|
$no="checked"; $where .= "(crit = '' or crit is null) or ";
|
||||||
|
}else{$no="unchecked";}
|
||||||
|
$crit = rtrim($where, "or ");
|
||||||
|
|
||||||
|
if(isset($_GET['PHY'])){
|
||||||
|
$phy="checked";
|
||||||
|
if(!isset($_GET['VIR'])){
|
||||||
|
$typ .= " AND virtual = 'N'";
|
||||||
|
}
|
||||||
|
}else{$phy="unchecked";}
|
||||||
|
|
||||||
|
if(isset($_GET['VIR'])){
|
||||||
|
$vir="checked";
|
||||||
|
if(!isset($_GET['PHY'])){
|
||||||
|
$typ .= " AND virtual = 'Y'";
|
||||||
|
}
|
||||||
|
}else{$vir="unchecked";}
|
||||||
|
|
||||||
|
|
||||||
|
DB_Data_Read();
|
||||||
|
if($crit <> ""){
|
||||||
|
$sql = "SELECT * FROM GlobalCrossover where ($crit) and Server <> '' ";
|
||||||
|
}else{
|
||||||
|
$sql = "SELECT * FROM GlobalCrossover where Server <> '' ";
|
||||||
|
}
|
||||||
|
if($typ <> ""){
|
||||||
|
$sql .= $typ ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($_GET['DPT']) && $_GET['DPT'] <> ""){
|
||||||
|
$dpt = strtoupper($_GET['DPT']);
|
||||||
|
$d = str_replace('*','',$dpt) ;
|
||||||
|
$sql .= " AND dpt like '$d%' " ;
|
||||||
|
}else{
|
||||||
|
$dpt="";
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql .= " order by Server";
|
||||||
|
//echo $sql ;
|
||||||
|
|
||||||
|
$rs=odbc_exec($conn,$sql);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!-- Criticity selection -->
|
||||||
|
<form class="row row-cols-lg-auto g-3 align-items-center" action="/crossover/GlobalCrossover.php">
|
||||||
|
<div class="col-12"></div>
|
||||||
|
<div class="col-12 border rounded">
|
||||||
|
<small>
|
||||||
|
<b>Criticity Filter : </b>
|
||||||
|
<div class="form-check form-check-inline form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" role="switch" id="AA" <?php echo $aa;?> name="AA" value="1">
|
||||||
|
<label class="form-check-label" for="AA">AA</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" role="switch" id="A" <?php echo $a;?> name="A" value="1">
|
||||||
|
<label class="form-check-label" for="A">A</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" role="switch" id="B" <?php echo $b;?> name="B" value="1">
|
||||||
|
<label class="form-check-label" for="B">B</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" role="switch" id="C" <?php echo $c;?> name="C" value="1">
|
||||||
|
<label class="form-check-label" for="C">C</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" role="switch" id="no" <?php echo $no;?> name="no" value="1">
|
||||||
|
<label class="form-check-label" for="no">Empty</label>
|
||||||
|
</div>
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
<div class="col-12"></div>
|
||||||
|
<div class="col-12 border rounded">
|
||||||
|
<small>
|
||||||
|
<b>Type : </b>
|
||||||
|
<div class="form-check form-check-inline form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" role="switch" id="PHY" <?php echo $phy;?> name="PHY" value="1">
|
||||||
|
<label class="form-check-label" for="PHY">Physical</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-check-inline form-switch">
|
||||||
|
<input class="form-check-input" type="checkbox" role="switch" id="VIR" <?php echo $vir;?> name="VIR" value="1">
|
||||||
|
<label class="form-check-label" for="VIR">Virtual</label>
|
||||||
|
</div>
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12"></div>
|
||||||
|
<div class="col-12">
|
||||||
|
<?php echo str_replace('<option selected></option>','<option selected>'.$dpt.'</option><option></option>',$opt); ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12"></div>
|
||||||
|
<div class="col-12">
|
||||||
|
<button type="submit" class="btn btn-primary btn-small ">Apply</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<table class='table table-bordered table-hover table-sm' id='t1'
|
||||||
|
data-toggle="table" data-search="true" data-show-columns="true" data-pagination="true" data-export-types="['xlsx','csv','json']" data-loading-template="loadingTemplate"
|
||||||
|
data-page-list="[20, 50, 100, All]" data-page-size="Tout" data-height="620" data-show-export="true" data-sortable="true"
|
||||||
|
>
|
||||||
|
<thead>
|
||||||
|
<th data-field="Name" data-sortable="true">Name</th>
|
||||||
|
<th data-field="OS" data-sortable="true">Operating System</th>
|
||||||
|
<th data-field="Criticity" data-sortable="true">Criticity</th>
|
||||||
|
<th data-field="Departement" data-sortable="true">Departement</th>
|
||||||
|
<th data-field="AD" data-sortable="true">AD</th>
|
||||||
|
<th data-field="ADlu" data-sortable="true" data-visible="false">AD Last Logon</th>
|
||||||
|
<th data-field="GLPI" data-sortable="true">GLPI</th>
|
||||||
|
<th data-field="GLPIlu" data-sortable="true" data-visible="false" data-footer-formatter="FI">Last FI Inventory</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="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="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<!-- Display DATAs -->
|
||||||
|
<?php
|
||||||
|
$ok=0;$total=0;$nOS=0;$nAD=0;$nSCCM=0;$nGLPI=0;$nFI=0;$nEPO=0;$nNBU=0;$nDPM=0;
|
||||||
|
while ($row = odbc_fetch_array($rs)) {
|
||||||
|
$total++ ;
|
||||||
|
echo "<tr>";
|
||||||
|
if(isset($row['AD']) && isset($row['GLPI']) && isset($row['SCCM']) && isset($row['EPO']) && isset($row['NBU'])){
|
||||||
|
echo "<td class='bg-success text-white'><b><a href='\crossover\Detail.php?server=".$row['Server']."' target='_blank' class='link-light'>".$row['Server']."</a></b></td>";
|
||||||
|
$ok++;
|
||||||
|
}else{
|
||||||
|
echo "<td><b><a href='\crossover\Detail.php?server=".$row['Server']."' target='_blank'>".$row['Server']."</a></b></td>";
|
||||||
|
}
|
||||||
|
if($row['OS']){
|
||||||
|
if(preg_match('(XP|2003|Windows NT|2000|2008|7)', $row['OS']) !== 1) {
|
||||||
|
$nOS++;
|
||||||
|
echo "<td>".$row['OS']."</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning'>".$row['OS']."</td>";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
echo "<td class='bg-warning'> </td>";
|
||||||
|
}
|
||||||
|
echo "<td>".$row['crit']."</td>";
|
||||||
|
echo "<td>".$row['dpt']."</td>";
|
||||||
|
|
||||||
|
// AD
|
||||||
|
if($row['AD'] == 'Y'){
|
||||||
|
$date1=date_create($row['ADlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if($diff->format("%R%a") > 60){
|
||||||
|
echo "<td class='text-success' 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['ADlu']." (".$diff->format("%R%a")." days)</td>";
|
||||||
|
}else{
|
||||||
|
$nAD++;
|
||||||
|
echo "<td class='bg-success text-success'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>".$row['ADlu']."</td>";
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
if(isset($row['AD'])){
|
||||||
|
$nAD++;
|
||||||
|
echo "<td class='bg-secondary'><small>".$row['AD']."</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nSCCM++;
|
||||||
|
}else{
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GLPI
|
||||||
|
if($row['GLPI'] == 'Y'){
|
||||||
|
$date1=date_create($row['GLPIlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if($diff->format("%R%a") > 7){
|
||||||
|
echo "<td class='text-success' 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['GLPIlu']." (".$diff->format("%R%a")." days)</td>";
|
||||||
|
}else{
|
||||||
|
if($row['GLPIlu'] <> ""){
|
||||||
|
echo "<td class='bg-success text-success'>OK</td>";
|
||||||
|
$nFI++;
|
||||||
|
echo "<td class='bg-success text-white'>".$row['GLPIlu']."</td>";
|
||||||
|
}else{
|
||||||
|
echo "<td class='text-success' 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>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$nGLPI++;
|
||||||
|
}else{
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// SCCM
|
||||||
|
if($row['SCCM'] == 'Y'){
|
||||||
|
$date1=date_create($row['SCCMlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if($diff->format("%R%a") > 7){
|
||||||
|
echo "<td class='text-success' 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['SCCMlu']." (".$diff->format("%R%a")." days)</td>";
|
||||||
|
}else{
|
||||||
|
echo "<td class='bg-success text-success'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>".$row['SCCMlu']."</td>";
|
||||||
|
$nSCCM++;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(isset($row['SCCM'])){
|
||||||
|
echo "<td class='bg-secondary'><small>".$row['SCCM']."</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nSCCM++;
|
||||||
|
}else{
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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-success' 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-success'>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
|
||||||
|
if($row['NBU'] == 'Y'){
|
||||||
|
$date1=date_create($row['NBUlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if($diff->format("%R%a") > 30){
|
||||||
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK (NBU)</td>";
|
||||||
|
echo "<td class='bg-danger text-white'>".$row['NBUlu']." (".$diff->format("%R%a")." days)</td>";
|
||||||
|
}else{
|
||||||
|
echo "<td class='bg-success text-white'>OK (NBU)</td>";
|
||||||
|
echo "<td class='bg-success text-white'>".$row['NBUlu']."</td>";
|
||||||
|
$nNBU++;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if($row['DPM'] == 'Y'){
|
||||||
|
$date1=date_create($row['DPMlu']);
|
||||||
|
$diff=date_diff($date1,date_create(date("Y-m-d")));
|
||||||
|
if($diff->format("%R%a") > 30){
|
||||||
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK (DPM)</td>";
|
||||||
|
echo "<td class='bg-danger text-white'>".$row['DPMlu']." (".$diff->format("%R%a")." days)</td>";
|
||||||
|
}else{
|
||||||
|
echo "<td class='bg-success text-white'>OK (DPM)</td>";
|
||||||
|
echo "<td class='bg-success text-white'>".$row['DPMlu']."</td>";
|
||||||
|
$nDPM++;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(isset($row['NBU'])){
|
||||||
|
echo "<td class='bg-secondary'><small>".$row['NBU']."</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
}else{
|
||||||
|
if(isset($row['DPM'])){
|
||||||
|
echo "<td class='bg-secondary'><small>".$row['DPM']."</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
}
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
|
||||||
|
*/
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<button id="button" type="button" class="btn btn-primary btn-sm invisible"><i class="bi bi-arrow-clockwise"></i><b> Generate KPI</b></button>
|
||||||
|
<div class="row flex-nowrap text-center" style="zoom: 80%">
|
||||||
|
<div class="col"> <!-- CARTE Devices -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header "><b>Devices</b></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIDEVICE"></span></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE OS -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header"><b>Supported OS</b></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIOS"></span></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE AD -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header"><b>AD</b></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIAD"></span></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE GLPI/FI -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header"><b>GLPI/FI</b></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIGLPI"></span></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE SCCM -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header"><b>SCCM</b></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPISCCM"></span></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE EPO -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header"><b>EPO</b></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIEPO"></span></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE NBU -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header"><b>Backup</b></div>
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPINBU"></span></h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php echo '<script type="text/javascript">', "$('#button').click();", '</script>' ;?>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function dateDiffInDays(a) {
|
||||||
|
const _MS_PER_DAY = 1000 * 60 * 60 * 24;
|
||||||
|
return Math.floor((Date.now() - new Date(a)) / _MS_PER_DAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
var $table = $('#t1')
|
||||||
|
var $button = $('#button')
|
||||||
|
|
||||||
|
$(function() {
|
||||||
|
$button.click(function () {
|
||||||
|
$data = $table.bootstrapTable('getData')
|
||||||
|
$dl = $data.length
|
||||||
|
$nSCCM=0; $nAD=0; $nGLPI=0;$nEPO=0;$nNBU=0;$nOS=0;
|
||||||
|
for( $i=0 ; $i < $dl ; $i++ ){
|
||||||
|
if ($data[$i]['AD'] !== 'Missing') { $nAD++ ; }
|
||||||
|
if ((dateDiffInDays($data[$i]['ADlu'].split(" ")[0]) > 60 || $data[$i]['ADlu'] == 'Missing') && $data[$i]['SCCM'] == 'OK'){ $nAD-- ;}
|
||||||
|
if ($data[$i]['SCCM'] !== 'Missing') { $nSCCM++ ; }
|
||||||
|
if ((dateDiffInDays($data[$i]['SCCMlu'].split(" ")[0]) > 7 || $data[$i]['SCCMlu'] == 'Missing') && $data[$i]['SCCM'] == 'OK'){ $nSCCM-- ;}
|
||||||
|
if ($data[$i]['GLPI'] !== 'Missing') { $nGLPI++ ; }
|
||||||
|
if ((dateDiffInDays($data[$i]['GLPIlu'].split(" ")[0]) > 7 || $data[$i]['GLPIlu'] == 'Missing') && $data[$i]['GLPI'] == 'OK'){ $nGLPI-- ;}
|
||||||
|
if ($data[$i]['EPO'] !== 'Missing') { $nEPO++ ; }
|
||||||
|
if ((dateDiffInDays($data[$i]['EPOlu'].split(" ")[0]) > 7 || $data[$i]['EPOlu'] == 'Missing') && $data[$i]['EPO'] == 'OK'){ $nEPO-- ;}
|
||||||
|
if ($data[$i]['Backup'] !== 'Missing') { $nNBU++ ; }
|
||||||
|
if ((dateDiffInDays($data[$i]['NBUlu'].split(" ")[0]) > 30 || $data[$i]['NBUlu'] == 'Missing') && $data[$i]['Backup'].split(" ")[0] == 'OK'){ $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('7') || $data[$i]['OS'].includes('Windows NT')) == false) { $nOS++ ;}
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIAD").innerHTML = Math.round($nAD/$dl*100) + "%";
|
||||||
|
if(Math.round($nAD/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIAD").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nAD/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIAD").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIAD").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIGLPI").innerHTML = Math.round($nGLPI/$dl*100) + "%";
|
||||||
|
if(Math.round($nGLPI/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIGLPI").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nGLPI/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIGLPI").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIGLPI").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPISCCM").innerHTML = Math.round($nSCCM/$dl*100) + "%";
|
||||||
|
if(Math.round($nSCCM/$dl*100) >=90){
|
||||||
|
document.getElementById("KPISCCM").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nSCCM/$dl*100) >=75){
|
||||||
|
document.getElementById("KPISCCM").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPISCCM").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIEPO").innerHTML = Math.round($nEPO/$dl*100) + "%";
|
||||||
|
if(Math.round($nEPO/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIEPO").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nEPO/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIEPO").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIEPO").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPINBU").innerHTML = Math.round($nNBU/$dl*100) + "%";
|
||||||
|
if(Math.round($nNBU/$dl*100) >=90){
|
||||||
|
document.getElementById("KPINBU").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nNBU/$dl*100) >=75){
|
||||||
|
document.getElementById("KPINBU").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPINBU").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIOS").innerHTML = Math.round($nOS/$dl*100) + "%";
|
||||||
|
if(Math.round($nOS/$dl*100) >=90){
|
||||||
|
document.getElementById("KPIOS").className = "badge text-bg-success font-weight-bold";
|
||||||
|
}else if(Math.round($nOS/$dl*100) >=75){
|
||||||
|
document.getElementById("KPIOS").className = "badge text-bg-warning font-weight-bold";
|
||||||
|
}else{
|
||||||
|
document.getElementById("KPIOS").className = "badge text-bg-danger font-weight-bold";
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("KPIDEVICE").innerHTML = $dl;
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
$table.on('all.bs.table', function () {
|
||||||
|
var $button = $('#button')
|
||||||
|
$button.click() ;
|
||||||
|
})
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- remove preloader after loading -->
|
||||||
|
<script>
|
||||||
|
$(window).on('load', function() {
|
||||||
|
$('.preloader').addClass('preloader-deactivate');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
478
crossover/GlobalCrossover.php
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
<!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">
|
||||||
|
<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/preloader.inc.html"; ?> <!-- Preloader -->
|
||||||
|
<?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%;">Global Crossover</span></h1>
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<div class="row" style="zoom: 80%">
|
||||||
|
<!-- Get DATAs -->
|
||||||
|
<?php
|
||||||
|
DB_ENTRY02();
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where server not like 'WS%' order by server ");
|
||||||
|
if (isset($_GET['filter'])) {
|
||||||
|
switch ($_GET['filter']) {
|
||||||
|
case "AD":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where AD is null or (ADlu is not null and DATEDIFF(now(),ADlu) > 45) order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : AD non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "OS":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where OS like '%2003%' or OS like '%2008%' order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : OS non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "GLPI":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where GLPI is null or GLPIlu is null or DATEDIFF(now(),GLPIlu) > 7 order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : GLPI/FI non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "SCCM":
|
||||||
|
$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>";
|
||||||
|
break;
|
||||||
|
case "EPO":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where EPO is null or (EPOlu is not null and DATEDIFF(now(),EPOlu) > 7) order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : EPO non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
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");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : Backup non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "SCOM":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where SCOM is null order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SCOM non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "zabbix":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where zabbix is null order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : Zabbix non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "S1":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where S1 is null or (S1lu is not null and DATEDIFF(now(),S1lu) > 7) order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SentinelOne non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<table class='table table-bordered table-hover table-sm' id='t1' data-toggle="table" data-search="true"
|
||||||
|
data-show-columns="true" data-pagination="true" data-export-types="['xlsx','csv','json']"
|
||||||
|
data-loading-template="loadingTemplate" data-page-list="[20, 50, 100, All]" data-page-size="Tout"
|
||||||
|
data-height="620" data-show-export="true" data-sortable="true">
|
||||||
|
<thead>
|
||||||
|
<th data-field="Name" data-sortable="true">Name</th>
|
||||||
|
<th data-field="OS" data-sortable="true">Operating System</th>
|
||||||
|
<th data-field="Criticity" data-sortable="true">Criticity</th>
|
||||||
|
<th data-field="Departement" data-sortable="true" data-visible="false">Departement</th>
|
||||||
|
<th data-field="AD" data-sortable="true">AD</th>
|
||||||
|
<th data-field="ADlu" data-sortable="true" data-visible="false">AD Last Logon</th>
|
||||||
|
<th data-field="GLPI" data-sortable="true">GLPI</th>
|
||||||
|
<th data-field="GLPIlu" data-sortable="true" data-visible="false" data-footer-formatter="FI">Last FI
|
||||||
|
Inventory</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="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="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
|
||||||
|
<th data-field="SCOM" data-sortable="true">SCOM</th>
|
||||||
|
<th data-field="Zabbix" data-sortable="true">Zabbix</th>
|
||||||
|
<th data-field="S1" data-sortable="true">SentinelOne</th>
|
||||||
|
<th data-field="S1lu" data-sortable="true" data-visible="false">S1 Last Update</th>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<!-- Display DATAs -->
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$ok = 0;
|
||||||
|
$total = 0;
|
||||||
|
$nOS = 0;
|
||||||
|
$nAD = 0;
|
||||||
|
$nSCCM = 0;
|
||||||
|
$nGLPI = 0;
|
||||||
|
$nFI = 0;
|
||||||
|
$nEPO = 0;
|
||||||
|
$nNBU = 0;
|
||||||
|
$nDPM = 0;
|
||||||
|
$nS1 = 0;
|
||||||
|
while ($row = mysqli_fetch_array($result)) {
|
||||||
|
$total++;
|
||||||
|
echo "<tr>";
|
||||||
|
if (isset($row['AD']) && isset($row['GLPI']) && isset($row['SCCM']) && isset($row['EPO']) && (isset($row['NBU']) || isset($row['DPM'])) && isset($row['SCOM'])) {
|
||||||
|
echo "<td class='bg-success text-white'><b><a href='\crossover\Detail.php?server=" . $row['Server'] . "' target='_blank' class='link-light'>" . $row['Server'] . "</a></b></td>";
|
||||||
|
//echo "<td class='bg-success text-white'><b>".$row['Server']."</b></td>";
|
||||||
|
$ok++;
|
||||||
|
} else {
|
||||||
|
echo "<td><b><a href='\crossover\Detail.php?server=" . $row['Server'] . "' target='_blank'>" . $row['Server'] . "</a></b></td>";
|
||||||
|
//echo "<td><b>".$row['Server']."</b></td>";
|
||||||
|
}
|
||||||
|
if ($row['OS']) {
|
||||||
|
if (preg_match('(XP|2003|Windows NT|2000|2008|Windows 7|2012)', $row['OS']) !== 1) {
|
||||||
|
$nOS++;
|
||||||
|
echo "<td>" . $row['OS'] . "</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning'>" . $row['OS'] . "</td>";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning'> </td>";
|
||||||
|
}
|
||||||
|
echo "<td>" . $row['crit'] . "</td>";
|
||||||
|
echo "<td>" . $row['dpt'] . "</td>";
|
||||||
|
|
||||||
|
// AD
|
||||||
|
if ($row['AD'] == 'Y') {
|
||||||
|
$date1 = date_create($row['ADlu']);
|
||||||
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
|
if ($diff->format("%R%a") > 45) {
|
||||||
|
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['ADlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
$nAD++;
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['ADlu'] . "</td>";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (isset($row['AD'])) {
|
||||||
|
$nAD++;
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['AD'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nSCCM++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GLPI
|
||||||
|
if ($row['GLPI'] == 'Y') {
|
||||||
|
$date1 = date_create($row['GLPIlu']);
|
||||||
|
$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['GLPIlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
if ($row['GLPIlu'] <> "" || $row['FI'] <> "") {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
$nFI++;
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['GLPIlu'] . "</td>";
|
||||||
|
} 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='bg-warning text-warning'>Missing</td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$nGLPI++;
|
||||||
|
} else {
|
||||||
|
if (isset($row['GLPI'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['GLPI'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nGLPI++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SCCM
|
||||||
|
if ($row['SCCM'] == 'Y') {
|
||||||
|
$date1 = date_create($row['SCCMlu']);
|
||||||
|
$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['SCCMlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['SCCMlu'] . "</td>";
|
||||||
|
$nSCCM++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isset($row['SCCM'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['SCCM'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nSCCM++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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
|
||||||
|
if ($row['NBU'] == 'Y') {
|
||||||
|
$date1 = date_create($row['NBUlu']);
|
||||||
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
|
if ($diff->format("%R%a") > 30) {
|
||||||
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK (NBU)</td>";
|
||||||
|
echo "<td class='bg-danger text-white'>" . $row['NBUlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK (NBU)</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['NBUlu'] . "</td>";
|
||||||
|
$nNBU++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($row['DPM'] == 'Y') {
|
||||||
|
$date1 = date_create($row['DPMlu']);
|
||||||
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
|
if ($diff->format("%R%a") > 30) {
|
||||||
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK (DPM)</td>";
|
||||||
|
echo "<td class='bg-danger text-white'>" . $row['DPMlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK (DPM)</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['DPMlu'] . "</td>";
|
||||||
|
$nDPM++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isset($row['NBU'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['NBU'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
} else {
|
||||||
|
if (isset($row['DPM'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['DPM'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
}
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SCOM
|
||||||
|
if ($row['SCOM'] == 'Y') {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
} else {
|
||||||
|
if (isset($row['SCOM'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['SCOM'] . "</small></td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// zabbix
|
||||||
|
if ($row['zabbix'] == 'Y') {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
} else {
|
||||||
|
if (isset($row['zabbix'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// S1
|
||||||
|
if ($row['S1'] == 'Y') {
|
||||||
|
$date1 = date_create($row['S1lu']);
|
||||||
|
$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['S1lu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['S1lu'] . "</td>";
|
||||||
|
$nS1++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isset($row['S1'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['S1'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nS1++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<button id="button" type="button" class="btn btn-primary btn-sm invisible"><i
|
||||||
|
class="bi bi-arrow-clockwise"></i><b> Generate KPI</b></button>
|
||||||
|
<div class="row flex-nowrap text-center" style="zoom: 80%">
|
||||||
|
<div class="col"> <!-- CARTE Devices -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>All Devices</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-primary font-weight-bold" id="KPIDEVICE"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE OS -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>Supported OS</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=OS">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIOS"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE AD -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>AD</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=AD">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIAD"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE GLPI/FI -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>GLPI/FI</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=GLPI">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIGLPI"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE SCCM -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>SCCM</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=SCCM">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPISCCM"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</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="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>Backup</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=NBU">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPINBU"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE SCOM -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>SCOM</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=SCOM">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPISCOM"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE Zabbix -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>Zabbix</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=zabbix">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIzabbix"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE SentinelOne -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>SentinelOne</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=S1">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIS1"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="/js/switch.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<script src="/crossover/Crossover-KPI.js"></script>
|
||||||
|
<script>
|
||||||
|
var $table = $('#t1')
|
||||||
|
var $button = $('#button')
|
||||||
|
|
||||||
|
$table.on('search.bs.table', function () {
|
||||||
|
var $button = $('#button')
|
||||||
|
$button.click();
|
||||||
|
})
|
||||||
|
|
||||||
|
$(window).on('load', function () {
|
||||||
|
$('.preloader').addClass('preloader-deactivate');
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", function () { setTimeout(function () { document.getElementById('button').click(); }, 1000); });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</HTML>
|
||||||
477
crossover/GlobalCrossover2.php
Normal file
@@ -0,0 +1,477 @@
|
|||||||
|
<!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>
|
||||||
|
|
||||||
|
<!-- 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/preloader.inc.html"; ?> <!-- Preloader -->
|
||||||
|
<?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%;">Global Crossover</span></h1>
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<div class="row" style="zoom: 80%">
|
||||||
|
<!-- Get DATAs -->
|
||||||
|
<?php
|
||||||
|
DB_ENTRY02();
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where server not like 'WS%' order by server ");
|
||||||
|
if (isset($_GET['filter'])) {
|
||||||
|
switch ($_GET['filter']) {
|
||||||
|
case "AD":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where AD is null or (ADlu is not null and DATEDIFF(now(),ADlu) > 45) order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : AD non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "OS":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where OS like '%2003%' or OS like '%2008%' order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : OS non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "GLPI":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where GLPI is null or GLPIlu is null or DATEDIFF(now(),GLPIlu) > 7 order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : GLPI/FI non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "SCCM":
|
||||||
|
$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>";
|
||||||
|
break;
|
||||||
|
case "EPO":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where EPO is null or (EPOlu is not null and DATEDIFF(now(),EPOlu) > 7) order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : EPO non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
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");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : Backup non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "SCOM":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where SCOM is null order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SCOM non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "zabbix":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where zabbix is null order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : Zabbix non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
case "S1":
|
||||||
|
$result = $conn->query("select * from GlobalCrossover where S1 is null or (S1lu is not null and DATEDIFF(now(),S1lu) > 7) order by server");
|
||||||
|
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SentinelOne non compliant</span></center></h2>";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<table class='table table-bordered table-hover table-sm' id='t1' data-toggle="table" data-search="true"
|
||||||
|
data-show-columns="true" data-pagination="true" data-export-types="['xlsx','csv','json']"
|
||||||
|
data-loading-template="loadingTemplate" data-page-list="[20, 50, 100, All]" data-page-size="Tout"
|
||||||
|
data-height="620" data-show-export="true" data-sortable="true">
|
||||||
|
<thead>
|
||||||
|
<th data-field="Name" data-sortable="true">Name</th>
|
||||||
|
<th data-field="OS" data-sortable="true">Operating System</th>
|
||||||
|
<th data-field="Criticity" data-sortable="true">Criticity</th>
|
||||||
|
<th data-field="Departement" data-sortable="true" data-visible="false">Departement</th>
|
||||||
|
<th data-field="AD" data-sortable="true">AD</th>
|
||||||
|
<th data-field="ADlu" data-sortable="true" data-visible="false">AD Last Logon</th>
|
||||||
|
<th data-field="GLPI" data-sortable="true">GLPI</th>
|
||||||
|
<th data-field="GLPIlu" data-sortable="true" data-visible="false" data-footer-formatter="FI">Last FI
|
||||||
|
Inventory</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="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="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
|
||||||
|
<th data-field="SCOM" data-sortable="true">SCOM</th>
|
||||||
|
<th data-field="Zabbix" data-sortable="true">Zabbix</th>
|
||||||
|
<th data-field="S1" data-sortable="true">SentinelOne</th>
|
||||||
|
<th data-field="S1lu" data-sortable="true" data-visible="false">S1 Last Update</th>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<!-- Display DATAs -->
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$ok = 0;
|
||||||
|
$total = 0;
|
||||||
|
$nOS = 0;
|
||||||
|
$nAD = 0;
|
||||||
|
$nSCCM = 0;
|
||||||
|
$nGLPI = 0;
|
||||||
|
$nFI = 0;
|
||||||
|
$nEPO = 0;
|
||||||
|
$nNBU = 0;
|
||||||
|
$nDPM = 0;
|
||||||
|
$nS1 = 0;
|
||||||
|
while ($row = mysqli_fetch_array($result)) {
|
||||||
|
$total++;
|
||||||
|
echo "<tr>";
|
||||||
|
if (isset($row['AD']) && isset($row['GLPI']) && isset($row['SCCM']) && isset($row['EPO']) && (isset($row['NBU']) || isset($row['DPM'])) && isset($row['SCOM'])) {
|
||||||
|
echo "<td class='bg-success text-white'><b><a href='\crossover\Detail.php?server=" . $row['Server'] . "' target='_blank' class='link-light'>" . $row['Server'] . "</a></b></td>";
|
||||||
|
//echo "<td class='bg-success text-white'><b>".$row['Server']."</b></td>";
|
||||||
|
$ok++;
|
||||||
|
} else {
|
||||||
|
echo "<td><b><a href='\crossover\Detail.php?server=" . $row['Server'] . "' target='_blank'>" . $row['Server'] . "</a></b></td>";
|
||||||
|
//echo "<td><b>".$row['Server']."</b></td>";
|
||||||
|
}
|
||||||
|
if ($row['OS']) {
|
||||||
|
if (preg_match('(XP|2003|Windows NT|2000|2008|Windows 7|2012)', $row['OS']) !== 1) {
|
||||||
|
$nOS++;
|
||||||
|
echo "<td>" . $row['OS'] . "</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning'>" . $row['OS'] . "</td>";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning'> </td>";
|
||||||
|
}
|
||||||
|
echo "<td>" . $row['crit'] . "</td>";
|
||||||
|
echo "<td>" . $row['dpt'] . "</td>";
|
||||||
|
|
||||||
|
// AD
|
||||||
|
if ($row['AD'] == 'Y') {
|
||||||
|
$date1 = date_create($row['ADlu']);
|
||||||
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
|
if ($diff->format("%R%a") > 45) {
|
||||||
|
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['ADlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
$nAD++;
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['ADlu'] . "</td>";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (isset($row['AD'])) {
|
||||||
|
$nAD++;
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['AD'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nSCCM++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// GLPI
|
||||||
|
if ($row['GLPI'] == 'Y') {
|
||||||
|
$date1 = date_create($row['GLPIlu']);
|
||||||
|
$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['GLPIlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
if ($row['GLPIlu'] <> "" || $row['FI'] <> "") {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
$nFI++;
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['GLPIlu'] . "</td>";
|
||||||
|
} 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='bg-warning text-warning'>Missing</td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$nGLPI++;
|
||||||
|
} else {
|
||||||
|
if (isset($row['GLPI'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['GLPI'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nGLPI++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SCCM
|
||||||
|
if ($row['SCCM'] == 'Y') {
|
||||||
|
$date1 = date_create($row['SCCMlu']);
|
||||||
|
$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['SCCMlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['SCCMlu'] . "</td>";
|
||||||
|
$nSCCM++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isset($row['SCCM'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['SCCM'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nSCCM++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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
|
||||||
|
if ($row['NBU'] == 'Y') {
|
||||||
|
$date1 = date_create($row['NBUlu']);
|
||||||
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
|
if ($diff->format("%R%a") > 30) {
|
||||||
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK (NBU)</td>";
|
||||||
|
echo "<td class='bg-danger text-white'>" . $row['NBUlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK (NBU)</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['NBUlu'] . "</td>";
|
||||||
|
$nNBU++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($row['DPM'] == 'Y') {
|
||||||
|
$date1 = date_create($row['DPMlu']);
|
||||||
|
$diff = date_diff($date1, date_create(date("Y-m-d")));
|
||||||
|
if ($diff->format("%R%a") > 30) {
|
||||||
|
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK (DPM)</td>";
|
||||||
|
echo "<td class='bg-danger text-white'>" . $row['DPMlu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK (DPM)</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['DPMlu'] . "</td>";
|
||||||
|
$nDPM++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isset($row['NBU'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['NBU'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
} else {
|
||||||
|
if (isset($row['DPM'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['DPM'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
}
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SCOM
|
||||||
|
if ($row['SCOM'] == 'Y') {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
} else {
|
||||||
|
if (isset($row['SCOM'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['SCOM'] . "</small></td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// zabbix
|
||||||
|
if ($row['zabbix'] == 'Y') {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
} else {
|
||||||
|
if (isset($row['zabbix'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// S1
|
||||||
|
if ($row['S1'] == 'Y') {
|
||||||
|
$date1 = date_create($row['S1lu']);
|
||||||
|
$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['S1lu'] . " (" . $diff->format("%R%a") . " days)</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-success text-white'>OK</td>";
|
||||||
|
echo "<td class='bg-success text-white'>" . $row['S1lu'] . "</td>";
|
||||||
|
$nS1++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (isset($row['S1'])) {
|
||||||
|
echo "<td class='bg-secondary'><small>" . $row['S1'] . "</small></td>";
|
||||||
|
echo "<td class='bg-secondary text-secondary'> </td>";
|
||||||
|
$nS1++;
|
||||||
|
} else {
|
||||||
|
echo "<td class='bg-warning text-warning'>Missing</td>";
|
||||||
|
echo "<td class='bg-warning text-warning'> </td>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</tr>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</tbody>
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<button id="button" type="button" class="btn btn-primary btn-sm invisible"><i
|
||||||
|
class="bi bi-arrow-clockwise"></i><b> Generate KPI</b></button>
|
||||||
|
<div class="row flex-nowrap text-center" style="zoom: 80%">
|
||||||
|
<div class="col"> <!-- CARTE Devices -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>All Devices</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-primary font-weight-bold" id="KPIDEVICE"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE OS -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>Supported OS</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=OS">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIOS"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE AD -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>AD</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=AD">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIAD"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE GLPI/FI -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>GLPI/FI</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=GLPI">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIGLPI"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE SCCM -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>SCCM</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=SCCM">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPISCCM"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</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="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>Backup</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=NBU">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPINBU"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE SCOM -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>SCOM</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=SCOM">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPISCOM"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE Zabbix -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>Zabbix</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=zabbix">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIzabbix"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col"> <!-- CARTE SentinelOne -->
|
||||||
|
<div class="card border-secondary mb-3">
|
||||||
|
<div class="card-header text-dark"><b>SentinelOne</b></div>
|
||||||
|
<a href="/crossover/GlobalCrossover.php?filter=S1">
|
||||||
|
<div class="card-body">
|
||||||
|
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIS1"></span></h2>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End of main content -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="/js/switch.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<script src="/crossover/Crossover-KPI.js"></script>
|
||||||
|
<script>
|
||||||
|
var $table = $('#t1')
|
||||||
|
var $button = $('#button')
|
||||||
|
|
||||||
|
$table.on('search.bs.table', function () {
|
||||||
|
var $button = $('#button')
|
||||||
|
$button.click();
|
||||||
|
})
|
||||||
|
|
||||||
|
$(window).on('load', function () {
|
||||||
|
$('.preloader').addClass('preloader-deactivate');
|
||||||
|
});
|
||||||
|
|
||||||
|
document.addEventListener("DOMContentLoaded", function () { setTimeout(function () { document.getElementById('button').click(); }, 1000); });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</HTML>
|
||||||
4124
css/bootstrap-grid.css
vendored
Normal file
1
css/bootstrap-grid.css.map
Normal file
7
css/bootstrap-grid.min.css
vendored
Normal file
1
css/bootstrap-grid.min.css.map
Normal file
4123
css/bootstrap-grid.rtl.css
vendored
Normal file
1
css/bootstrap-grid.rtl.css.map
Normal file
7
css/bootstrap-grid.rtl.min.css
vendored
Normal file
1
css/bootstrap-grid.rtl.min.css.map
Normal file
3
css/bootstrap-icons/1-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM9.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 278 B |
3
css/bootstrap-icons/1-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM9.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 287 B |
3
css/bootstrap-icons/1-square-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm7.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 294 B |
4
css/bootstrap-icons/1-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-1-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M9.283 4.002V12H7.971V5.338h-.065L6.072 6.656V5.385l1.899-1.383h1.312Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 376 B |
3
css/bootstrap-icons/123.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-123" viewBox="0 0 16 16">
|
||||||
|
<path d="M2.873 11.297V4.142H1.699L0 5.379v1.137l1.64-1.18h.06v5.961h1.174Zm3.213-5.09v-.063c0-.618.44-1.169 1.196-1.169.676 0 1.174.44 1.174 1.106 0 .624-.42 1.101-.807 1.526L4.99 10.553v.744h4.78v-.99H6.643v-.069L8.41 8.252c.65-.724 1.237-1.332 1.237-2.27C9.646 4.849 8.723 4 7.308 4c-1.573 0-2.36 1.064-2.36 2.15v.057h1.138Zm6.559 1.883h.786c.823 0 1.374.481 1.379 1.179.01.707-.55 1.216-1.421 1.21-.77-.005-1.326-.419-1.379-.953h-1.095c.042 1.053.938 1.918 2.464 1.918 1.478 0 2.642-.839 2.62-2.144-.02-1.143-.922-1.651-1.551-1.714v-.063c.535-.09 1.347-.66 1.326-1.678-.026-1.053-.933-1.855-2.359-1.845-1.5.005-2.317.88-2.348 1.898h1.116c.032-.498.498-.944 1.206-.944.703 0 1.206.435 1.206 1.07.005.64-.504 1.106-1.2 1.106h-.75v.96Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 870 B |
3
css/bootstrap-icons/2-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM6.646 6.24c0-.691.493-1.306 1.336-1.306.756 0 1.313.492 1.313 1.236 0 .697-.469 1.23-.902 1.705l-2.971 3.293V12h5.344v-1.107H7.268v-.077l1.974-2.22.096-.107c.688-.763 1.287-1.428 1.287-2.43 0-1.266-1.031-2.215-2.613-2.215-1.758 0-2.637 1.19-2.637 2.402v.065h1.271v-.07Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 458 B |
3
css/bootstrap-icons/2-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM6.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 480 B |
3
css/bootstrap-icons/2-square-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm4.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 487 B |
4
css/bootstrap-icons/2-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-2-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.646 6.24v.07H5.375v-.064c0-1.213.879-2.402 2.637-2.402 1.582 0 2.613.949 2.613 2.215 0 1.002-.6 1.667-1.287 2.43l-.096.107-1.974 2.22v.077h3.498V12H5.422v-.832l2.97-3.293c.434-.475.903-1.008.903-1.705 0-.744-.557-1.236-1.313-1.236-.843 0-1.336.615-1.336 1.306Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 569 B |
3
css/bootstrap-icons/3-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.082.414c.92 0 1.535.54 1.541 1.318.012.791-.615 1.36-1.588 1.354-.861-.006-1.482-.469-1.54-1.066H5.104c.047 1.177 1.05 2.144 2.754 2.144 1.653 0 2.954-.937 2.93-2.396-.023-1.278-1.031-1.846-1.734-1.916v-.07c.597-.1 1.505-.739 1.482-1.876-.03-1.177-1.043-2.074-2.637-2.062-1.675.006-2.59.984-2.625 2.12h1.248c.036-.556.557-1.054 1.348-1.054.785 0 1.348.486 1.348 1.195.006.715-.563 1.237-1.342 1.237h-.838v1.072h.879Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 608 B |
4
css/bootstrap-icons/3-circle.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318Z"/>
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 645 B |
3
css/bootstrap-icons/3-square-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 637 B |
4
css/bootstrap-icons/3-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-3-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.918 8.414h-.879V7.342h.838c.78 0 1.348-.522 1.342-1.237 0-.709-.563-1.195-1.348-1.195-.79 0-1.312.498-1.348 1.055H5.275c.036-1.137.95-2.115 2.625-2.121 1.594-.012 2.608.885 2.637 2.062.023 1.137-.885 1.776-1.482 1.875v.07c.703.07 1.71.64 1.734 1.917.024 1.459-1.277 2.396-2.93 2.396-1.705 0-2.707-.967-2.754-2.144H6.33c.059.597.68 1.06 1.541 1.066.973.006 1.6-.563 1.588-1.354-.006-.779-.621-1.318-1.541-1.318Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 719 B |
3
css/bootstrap-icons/4-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM7.519 5.057c-.886 1.418-1.772 2.838-2.542 4.265v1.12H8.85V12h1.26v-1.559h1.007V9.334H10.11V4.002H8.176c-.218.352-.438.703-.657 1.055ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 391 B |
4
css/bootstrap-icons/4-circle.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.519 5.057c.22-.352.439-.703.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z"/>
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 433 B |
4
css/bootstrap-icons/4-square-fill.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.519 5.057c.22-.352.439-.703.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 440 B |
4
css/bootstrap-icons/4-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-4-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.519 5.057c.22-.352.439-.703.657-1.055h1.933v5.332h1.008v1.107H10.11V12H8.85v-1.559H4.978V9.322c.77-1.427 1.656-2.847 2.542-4.265ZM6.225 9.281v.053H8.85V5.063h-.065c-.867 1.33-1.787 2.806-2.56 4.218Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 507 B |
3
css/bootstrap-icons/5-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.006 4.158c1.74 0 2.924-1.119 2.924-2.806 0-1.641-1.178-2.584-2.56-2.584-.897 0-1.442.421-1.612.68h-.064l.193-2.344h3.621V4.002H5.791L5.445 8.63h1.149c.193-.358.668-.809 1.435-.809.85 0 1.582.604 1.582 1.57 0 1.085-.779 1.682-1.57 1.682-.697 0-1.389-.31-1.53-1.031H5.276c.065 1.213 1.149 2.115 2.72 2.115Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 496 B |
3
css/bootstrap-icons/5-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 1 14 0A7 7 0 0 1 1 8Zm15 0A8 8 0 1 0 0 8a8 8 0 0 0 16 0Zm-8.006 4.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 516 B |
3
css/bootstrap-icons/5-square-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.994 12.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 523 B |
4
css/bootstrap-icons/5-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-5-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.994 12.158c-1.57 0-2.654-.902-2.719-2.115h1.237c.14.72.832 1.031 1.529 1.031.791 0 1.57-.597 1.57-1.681 0-.967-.732-1.57-1.582-1.57-.767 0-1.242.45-1.435.808H5.445L5.791 4h4.705v1.103H6.875l-.193 2.343h.064c.17-.258.715-.68 1.611-.68 1.383 0 2.561.944 2.561 2.585 0 1.687-1.184 2.806-2.924 2.806Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 605 B |
3
css/bootstrap-icons/6-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.21 3.855c-1.868 0-3.116 1.395-3.116 4.407 0 1.183.228 2.039.597 2.642.569.926 1.477 1.254 2.409 1.254 1.629 0 2.847-1.013 2.847-2.783 0-1.676-1.254-2.555-2.508-2.555-1.125 0-1.752.61-1.98 1.155h-.082c-.012-1.946.727-3.036 1.805-3.036.802 0 1.213.457 1.312.815h1.29c-.06-.908-.962-1.899-2.573-1.899Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 619 B |
3
css/bootstrap-icons/6-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM8.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 643 B |
4
css/bootstrap-icons/6-square-fill.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M8.111 7.863c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm6.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 665 B |
4
css/bootstrap-icons/6-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-6-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M8.21 3.855c1.612 0 2.515.99 2.573 1.899H9.494c-.1-.358-.51-.815-1.312-.815-1.078 0-1.817 1.09-1.805 3.036h.082c.229-.545.855-1.155 1.98-1.155 1.254 0 2.508.88 2.508 2.555 0 1.77-1.218 2.783-2.847 2.783-.932 0-1.84-.328-2.409-1.254-.369-.603-.597-1.459-.597-2.642 0-3.012 1.248-4.407 3.117-4.407Zm-.099 4.008c-.92 0-1.564.65-1.564 1.576 0 1.032.703 1.635 1.558 1.635.868 0 1.553-.533 1.553-1.629 0-1.06-.744-1.582-1.547-1.582Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 732 B |
3
css/bootstrap-icons/7-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.37 5.11h3.972v.07L6.025 12H7.42l3.258-6.85V4.002H5.369v1.107Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 252 B |
3
css/bootstrap-icons/7-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0ZM5.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 281 B |
3
css/bootstrap-icons/7-square-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm3.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 288 B |
4
css/bootstrap-icons/7-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-7-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M5.37 5.11V4.001h5.308V5.15L7.42 12H6.025l3.317-6.82v-.07H5.369Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 370 B |
3
css/bootstrap-icons/8-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5.03 1.803c0-1.248-.943-1.84-1.646-1.992v-.065c.598-.187 1.336-.72 1.336-1.781 0-1.225-1.084-2.121-2.654-2.121-1.57 0-2.66.896-2.66 2.12 0 1.044.709 1.589 1.33 1.782v.065c-.697.152-1.647.732-1.647 2.003 0 1.39 1.19 2.344 2.953 2.344 1.77 0 2.989-.96 2.989-2.355Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 694 B |
3
css/bootstrap-icons/8-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-5.03 1.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 720 B |
4
css/bootstrap-icons/8-square-fill.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.623 6.094c0 .738.586 1.254 1.383 1.254s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.644c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm8.97 9.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 741 B |
4
css/bootstrap-icons/8-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-8-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M10.97 9.803c0 1.394-1.218 2.355-2.988 2.355-1.763 0-2.953-.955-2.953-2.344 0-1.271.95-1.851 1.647-2.003v-.065c-.621-.193-1.33-.738-1.33-1.781 0-1.225 1.09-2.121 2.66-2.121s2.654.896 2.654 2.12c0 1.061-.738 1.595-1.336 1.782v.065c.703.152 1.647.744 1.647 1.992Zm-4.347-3.71c0 .739.586 1.255 1.383 1.255s1.377-.516 1.377-1.254c0-.733-.58-1.23-1.377-1.23s-1.383.497-1.383 1.23Zm-.281 3.645c0 .838.72 1.412 1.664 1.412.943 0 1.658-.574 1.658-1.412 0-.843-.715-1.424-1.658-1.424-.944 0-1.664.58-1.664 1.424Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 809 B |
3
css/bootstrap-icons/9-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.223 4.146c2.104 0 3.123-1.464 3.123-4.3 0-3.147-1.459-4.014-2.97-4.014-1.63 0-2.871 1.02-2.871 2.73 0 1.706 1.171 2.667 2.566 2.667 1.06 0 1.7-.557 1.934-1.184h.076c.047 1.67-.475 3.023-1.834 3.023-.71 0-1.149-.363-1.248-.72H5.258c.094.908.926 1.798 2.52 1.798Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 575 B |
3
css/bootstrap-icons/9-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-circle" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8Zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-8.223 4.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 600 B |
4
css/bootstrap-icons/9-square-fill.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.895 8.174c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
<path d="M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2Zm5.777 12.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 623 B |
4
css/bootstrap-icons/9-square.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-9-square" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.777 12.146c-1.593 0-2.425-.89-2.52-1.798h1.296c.1.357.539.72 1.248.72 1.36 0 1.88-1.353 1.834-3.023h-.076c-.235.627-.873 1.184-1.934 1.184-1.395 0-2.566-.961-2.566-2.666 0-1.711 1.242-2.731 2.87-2.731 1.512 0 2.971.867 2.971 4.014 0 2.836-1.02 4.3-3.123 4.3Zm.118-3.972c.808 0 1.535-.528 1.535-1.594s-.668-1.676-1.56-1.676c-.838 0-1.517.616-1.517 1.659 0 1.072.708 1.61 1.54 1.61Z"/>
|
||||||
|
<path d="M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2Zm15 0a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 689 B |
BIN
css/bootstrap-icons/Thumbs.db
Normal file
3
css/bootstrap-icons/activity.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-activity" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M6 2a.5.5 0 0 1 .47.33L10 12.036l1.53-4.208A.5.5 0 0 1 12 7.5h3.5a.5.5 0 0 1 0 1h-3.15l-1.88 5.17a.5.5 0 0 1-.94 0L6 3.964 4.47 8.171A.5.5 0 0 1 4 8.5H.5a.5.5 0 0 1 0-1h3.15l1.88-5.17A.5.5 0 0 1 6 2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 367 B |
3
css/bootstrap-icons/airplane-engines-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-airplane-engines-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M8 0c-.787 0-1.292.592-1.572 1.151A4.347 4.347 0 0 0 6 3v3.691l-2 1V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.191l-1.17.585A1.5 1.5 0 0 0 0 10.618V12a.5.5 0 0 0 .582.493l1.631-.272.313.937a.5.5 0 0 0 .948 0l.405-1.214 2.21-.369.375 2.253-1.318 1.318A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .354-.854l-1.318-1.318.375-2.253 2.21.369.405 1.214a.5.5 0 0 0 .948 0l.313-.937 1.63.272A.5.5 0 0 0 16 12v-1.382a1.5 1.5 0 0 0-.83-1.342L14 8.691V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.191l-2-1V3c0-.568-.14-1.271-.428-1.849C9.292.591 8.787 0 8 0Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 690 B |
3
css/bootstrap-icons/airplane-engines.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-airplane-engines" viewBox="0 0 16 16">
|
||||||
|
<path d="M8 0c-.787 0-1.292.592-1.572 1.151A4.347 4.347 0 0 0 6 3v3.691l-2 1V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.191l-1.17.585A1.5 1.5 0 0 0 0 10.618V12a.5.5 0 0 0 .582.493l1.631-.272.313.937a.5.5 0 0 0 .948 0l.405-1.214 2.21-.369.375 2.253-1.318 1.318A.5.5 0 0 0 5.5 16h5a.5.5 0 0 0 .354-.854l-1.318-1.318.375-2.253 2.21.369.405 1.214a.5.5 0 0 0 .948 0l.313-.937 1.63.272A.5.5 0 0 0 16 12v-1.382a1.5 1.5 0 0 0-.83-1.342L14 8.691V7.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v.191l-2-1V3c0-.568-.14-1.271-.428-1.849C9.292.591 8.787 0 8 0ZM7 3c0-.432.11-.979.322-1.401C7.542 1.159 7.787 1 8 1c.213 0 .458.158.678.599C8.889 2.02 9 2.569 9 3v4a.5.5 0 0 0 .276.447l5.448 2.724a.5.5 0 0 1 .276.447v.792l-5.418-.903a.5.5 0 0 0-.575.41l-.5 3a.5.5 0 0 0 .14.437l.646.646H6.707l.647-.646a.5.5 0 0 0 .14-.436l-.5-3a.5.5 0 0 0-.576-.411L1 11.41v-.792a.5.5 0 0 1 .276-.447l5.448-2.724A.5.5 0 0 0 7 7V3Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
3
css/bootstrap-icons/airplane-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-airplane-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.428 1.151C6.708.591 7.213 0 8 0s1.292.592 1.572 1.151C9.861 1.73 10 2.431 10 3v3.691l5.17 2.585a1.5 1.5 0 0 1 .83 1.342V12a.5.5 0 0 1-.582.493l-5.507-.918-.375 2.253 1.318 1.318A.5.5 0 0 1 10.5 16h-5a.5.5 0 0 1-.354-.854l1.319-1.318-.376-2.253-5.507.918A.5.5 0 0 1 0 12v-1.382a1.5 1.5 0 0 1 .83-1.342L6 6.691V3c0-.568.14-1.271.428-1.849Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 493 B |
3
css/bootstrap-icons/airplane.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-airplane" viewBox="0 0 16 16">
|
||||||
|
<path d="M6.428 1.151C6.708.591 7.213 0 8 0s1.292.592 1.572 1.151C9.861 1.73 10 2.431 10 3v3.691l5.17 2.585a1.5 1.5 0 0 1 .83 1.342V12a.5.5 0 0 1-.582.493l-5.507-.918-.375 2.253 1.318 1.318A.5.5 0 0 1 10.5 16h-5a.5.5 0 0 1-.354-.854l1.319-1.318-.376-2.253-5.507.918A.5.5 0 0 1 0 12v-1.382a1.5 1.5 0 0 1 .83-1.342L6 6.691V3c0-.568.14-1.271.428-1.849Zm.894.448C7.111 2.02 7 2.569 7 3v4a.5.5 0 0 1-.276.447l-5.448 2.724a.5.5 0 0 0-.276.447v.792l5.418-.903a.5.5 0 0 1 .575.41l.5 3a.5.5 0 0 1-.14.437L6.708 15h2.586l-.647-.646a.5.5 0 0 1-.14-.436l.5-3a.5.5 0 0 1 .576-.411L15 11.41v-.792a.5.5 0 0 0-.276-.447L9.276 7.447A.5.5 0 0 1 9 7V3c0-.432-.11-.979-.322-1.401C8.458 1.159 8.213 1 8 1c-.213 0-.458.158-.678.599Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 849 B |
3
css/bootstrap-icons/alarm-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M6 .5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H9v1.07a7.001 7.001 0 0 1 3.274 12.474l.601.602a.5.5 0 0 1-.707.708l-.746-.746A6.97 6.97 0 0 1 8 16a6.97 6.97 0 0 1-3.422-.892l-.746.746a.5.5 0 0 1-.707-.708l.602-.602A7.001 7.001 0 0 1 7 2.07V1h-.5A.5.5 0 0 1 6 .5zm2.5 5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5zM.86 5.387A2.5 2.5 0 1 1 4.387 1.86 8.035 8.035 0 0 0 .86 5.387zM11.613 1.86a2.5 2.5 0 1 1 3.527 3.527 8.035 8.035 0 0 0-3.527-3.527z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 626 B |
4
css/bootstrap-icons/alarm.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alarm" viewBox="0 0 16 16">
|
||||||
|
<path d="M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z"/>
|
||||||
|
<path d="M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 711 B |
3
css/bootstrap-icons/alexa.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alexa" viewBox="0 0 16 16">
|
||||||
|
<path d="M7.996 0A7.998 7.998 0 0 0 0 8a8 8 0 0 0 6.93 7.93v-1.613a1.06 1.06 0 0 0-.717-1.008A5.602 5.602 0 0 1 2.4 7.865 5.579 5.579 0 0 1 8.054 2.4a5.599 5.599 0 0 1 5.535 5.81l-.002.046a6.116 6.116 0 0 1-.012.192l-.005.061a4.85 4.85 0 0 1-.033.284l-.01.068c-.685 4.516-6.564 7.054-6.596 7.068A7.998 7.998 0 0 0 15.992 8 7.998 7.998 0 0 0 7.996.001Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 487 B |
4
css/bootstrap-icons/align-bottom.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-bottom" viewBox="0 0 16 16">
|
||||||
|
<rect width="4" height="12" x="6" y="1" rx="1"/>
|
||||||
|
<path d="M1.5 14a.5.5 0 0 0 0 1v-1zm13 1a.5.5 0 0 0 0-1v1zm-13 0h13v-1h-13v1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 271 B |
3
css/bootstrap-icons/align-center.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-center" viewBox="0 0 16 16">
|
||||||
|
<path d="M8 1a.5.5 0 0 1 .5.5V6h-1V1.5A.5.5 0 0 1 8 1zm0 14a.5.5 0 0 1-.5-.5V10h1v4.5a.5.5 0 0 1-.5.5zM2 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V7z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 315 B |
4
css/bootstrap-icons/align-end.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-end" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M14.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 1 0v-13a.5.5 0 0 0-.5-.5z"/>
|
||||||
|
<path d="M13 7a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V7z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 318 B |
3
css/bootstrap-icons/align-middle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-middle" viewBox="0 0 16 16">
|
||||||
|
<path d="M6 13a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1v10zM1 8a.5.5 0 0 0 .5.5H6v-1H1.5A.5.5 0 0 0 1 8zm14 0a.5.5 0 0 1-.5.5H10v-1h4.5a.5.5 0 0 1 .5.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 316 B |
4
css/bootstrap-icons/align-start.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-start" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M1.5 1a.5.5 0 0 1 .5.5v13a.5.5 0 0 1-1 0v-13a.5.5 0 0 1 .5-.5z"/>
|
||||||
|
<path d="M3 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 318 B |
4
css/bootstrap-icons/align-top.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-align-top" viewBox="0 0 16 16">
|
||||||
|
<rect width="4" height="12" rx="1" transform="matrix(1 0 0 -1 6 15)"/>
|
||||||
|
<path d="M1.5 2a.5.5 0 0 1 0-1v1zm13-1a.5.5 0 0 1 0 1V1zm-13 0h13v1h-13V1z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 287 B |
4
css/bootstrap-icons/alipay.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alipay" viewBox="0 0 16 16">
|
||||||
|
<path d="M2.541 0H13.5a2.551 2.551 0 0 1 2.54 2.563v8.297c-.006 0-.531-.046-2.978-.813-.412-.14-.916-.327-1.479-.536-.303-.113-.624-.232-.957-.353a12.98 12.98 0 0 0 1.325-3.373H8.822V4.649h3.831v-.634h-3.83V2.121H7.26c-.274 0-.274.273-.274.273v1.621H3.11v.634h3.875v1.136h-3.2v.634H9.99c-.227.789-.532 1.53-.894 2.202-2.013-.67-4.161-1.212-5.51-.878-.864.214-1.42.597-1.746.998-1.499 1.84-.424 4.633 2.741 4.633 1.872 0 3.675-1.053 5.072-2.787 2.08 1.008 6.37 2.738 6.387 2.745v.105A2.551 2.551 0 0 1 13.5 16H2.541A2.552 2.552 0 0 1 0 13.437V2.563A2.552 2.552 0 0 1 2.541 0Z"/>
|
||||||
|
<path d="M2.309 9.27c-1.22 1.073-.49 3.034 1.978 3.034 1.434 0 2.868-.925 3.994-2.406-1.602-.789-2.959-1.353-4.425-1.207-.397.04-1.14.217-1.547.58Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 864 B |
3
css/bootstrap-icons/alt.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-alt" viewBox="0 0 16 16">
|
||||||
|
<path d="M1 13.5a.5.5 0 0 0 .5.5h3.797a.5.5 0 0 0 .439-.26L11 3h3.5a.5.5 0 0 0 0-1h-3.797a.5.5 0 0 0-.439.26L5 13H1.5a.5.5 0 0 0-.5.5zm10 0a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0-.5.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 326 B |
3
css/bootstrap-icons/android.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-android" viewBox="0 0 16 16">
|
||||||
|
<path d="M2.76 3.061a.5.5 0 0 1 .679.2l1.283 2.352A8.94 8.94 0 0 1 8 5a8.94 8.94 0 0 1 3.278.613l1.283-2.352a.5.5 0 1 1 .878.478l-1.252 2.295C14.475 7.266 16 9.477 16 12H0c0-2.523 1.525-4.734 3.813-5.966L2.56 3.74a.5.5 0 0 1 .2-.678ZM5 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm6 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 438 B |
3
css/bootstrap-icons/android2.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-android2" viewBox="0 0 16 16">
|
||||||
|
<path d="m10.213 1.471.691-1.26c.046-.083.03-.147-.048-.192-.085-.038-.15-.019-.195.058l-.7 1.27A4.832 4.832 0 0 0 8.005.941c-.688 0-1.34.135-1.956.404l-.7-1.27C5.303 0 5.239-.018 5.154.02c-.078.046-.094.11-.049.193l.691 1.259a4.25 4.25 0 0 0-1.673 1.476A3.697 3.697 0 0 0 3.5 5.02h9c0-.75-.208-1.44-.623-2.072a4.266 4.266 0 0 0-1.664-1.476ZM6.22 3.303a.367.367 0 0 1-.267.11.35.35 0 0 1-.263-.11.366.366 0 0 1-.107-.264.37.37 0 0 1 .107-.265.351.351 0 0 1 .263-.11c.103 0 .193.037.267.11a.36.36 0 0 1 .112.265.36.36 0 0 1-.112.264Zm4.101 0a.351.351 0 0 1-.262.11.366.366 0 0 1-.268-.11.358.358 0 0 1-.112-.264c0-.103.037-.191.112-.265a.367.367 0 0 1 .268-.11c.104 0 .19.037.262.11a.367.367 0 0 1 .107.265c0 .102-.035.19-.107.264ZM3.5 11.77c0 .294.104.544.311.75.208.204.46.307.76.307h.758l.01 2.182c0 .276.097.51.292.703a.961.961 0 0 0 .7.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h1.343v2.182c0 .276.097.51.292.703a.972.972 0 0 0 .71.288.973.973 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h.76c.291 0 .54-.103.749-.308.207-.205.311-.455.311-.75V5.365h-9v6.404Zm10.495-6.587a.983.983 0 0 0-.702.278.91.91 0 0 0-.293.685v4.063c0 .271.098.501.293.69a.97.97 0 0 0 .702.284c.28 0 .517-.095.712-.284a.924.924 0 0 0 .293-.69V6.146a.91.91 0 0 0-.293-.685.995.995 0 0 0-.712-.278Zm-12.702.283a.985.985 0 0 1 .712-.283c.273 0 .507.094.702.283a.913.913 0 0 1 .293.68v4.063a.932.932 0 0 1-.288.69.97.97 0 0 1-.707.284.986.986 0 0 1-.712-.284.924.924 0 0 1-.293-.69V6.146c0-.264.098-.491.293-.68Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
4
css/bootstrap-icons/app-indicator.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-app-indicator" viewBox="0 0 16 16">
|
||||||
|
<path d="M5.5 2A3.5 3.5 0 0 0 2 5.5v5A3.5 3.5 0 0 0 5.5 14h5a3.5 3.5 0 0 0 3.5-3.5V8a.5.5 0 0 1 1 0v2.5a4.5 4.5 0 0 1-4.5 4.5h-5A4.5 4.5 0 0 1 1 10.5v-5A4.5 4.5 0 0 1 5.5 1H8a.5.5 0 0 1 0 1H5.5z"/>
|
||||||
|
<path d="M16 3a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 387 B |
3
css/bootstrap-icons/app.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-app" viewBox="0 0 16 16">
|
||||||
|
<path d="M11 2a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V5a3 3 0 0 1 3-3h6zM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 282 B |
4
css/bootstrap-icons/apple.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-apple" viewBox="0 0 16 16">
|
||||||
|
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43Zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282Z"/>
|
||||||
|
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516.024.034 1.52.087 2.475-1.258.955-1.345.762-2.391.728-2.43Zm3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422.212-2.189 1.675-2.789 1.698-2.854.023-.065-.597-.79-1.254-1.157a3.692 3.692 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56.244.729.625 1.924 1.273 2.796.576.984 1.34 1.667 1.659 1.899.319.232 1.219.386 1.843.067.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758.347-.79.505-1.217.473-1.282Z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
3
css/bootstrap-icons/archive-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-archive-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M12.643 15C13.979 15 15 13.845 15 12.5V5H1v7.5C1 13.845 2.021 15 3.357 15h9.286zM5.5 7h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1 0-1zM.8 1a.8.8 0 0 0-.8.8V3a.8.8 0 0 0 .8.8h14.4A.8.8 0 0 0 16 3V1.8a.8.8 0 0 0-.8-.8H.8z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 359 B |
3
css/bootstrap-icons/archive.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-archive" viewBox="0 0 16 16">
|
||||||
|
<path d="M0 2a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1v7.5a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 1 12.5V5a1 1 0 0 1-1-1V2zm2 3v7.5A1.5 1.5 0 0 0 3.5 14h9a1.5 1.5 0 0 0 1.5-1.5V5H2zm13-3H1v2h14V2zM5 7.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 401 B |
3
css/bootstrap-icons/arrow-90deg-down.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-down" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M4.854 14.854a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V3.5A2.5 2.5 0 0 1 6.5 1h8a.5.5 0 0 1 0 1h-8A1.5 1.5 0 0 0 5 3.5v9.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 350 B |
3
css/bootstrap-icons/arrow-90deg-left.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-left" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M1.146 4.854a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 4H12.5A2.5 2.5 0 0 1 15 6.5v8a.5.5 0 0 1-1 0v-8A1.5 1.5 0 0 0 12.5 5H2.707l3.147 3.146a.5.5 0 1 1-.708.708l-4-4z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 349 B |
3
css/bootstrap-icons/arrow-90deg-right.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-right" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M14.854 4.854a.5.5 0 0 0 0-.708l-4-4a.5.5 0 0 0-.708.708L13.293 4H3.5A2.5 2.5 0 0 0 1 6.5v8a.5.5 0 0 0 1 0v-8A1.5 1.5 0 0 1 3.5 5h9.793l-3.147 3.146a.5.5 0 0 0 .708.708l4-4z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 350 B |
3
css/bootstrap-icons/arrow-90deg-up.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-90deg-up" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M4.854 1.146a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L4 2.707V12.5A2.5 2.5 0 0 0 6.5 15h8a.5.5 0 0 0 0-1h-8A1.5 1.5 0 0 1 5 12.5V2.707l3.146 3.147a.5.5 0 1 0 .708-.708l-4-4z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 349 B |
3
css/bootstrap-icons/arrow-bar-down.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-down" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M1 3.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5zM8 6a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 0 1 .708-.708L7.5 12.293V6.5A.5.5 0 0 1 8 6z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 375 B |
3
css/bootstrap-icons/arrow-bar-left.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-left" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5zM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 375 B |
3
css/bootstrap-icons/arrow-bar-right.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-right" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M6 8a.5.5 0 0 0 .5.5h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L12.293 7.5H6.5A.5.5 0 0 0 6 8zm-2.5 7a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 375 B |
3
css/bootstrap-icons/arrow-bar-up.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-bar-up" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M8 10a.5.5 0 0 0 .5-.5V3.707l2.146 2.147a.5.5 0 0 0 .708-.708l-3-3a.5.5 0 0 0-.708 0l-3 3a.5.5 0 1 0 .708.708L7.5 3.707V9.5a.5.5 0 0 0 .5.5zm-7 2.5a.5.5 0 0 1 .5-.5h13a.5.5 0 0 1 0 1h-13a.5.5 0 0 1-.5-.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 376 B |
4
css/bootstrap-icons/arrow-clockwise.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-clockwise" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"/>
|
||||||
|
<path d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 352 B |
4
css/bootstrap-icons/arrow-counterclockwise.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-counterclockwise" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z"/>
|
||||||
|
<path d="M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 359 B |
3
css/bootstrap-icons/arrow-down-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 321 B |
3
css/bootstrap-icons/arrow-down-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-circle" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 370 B |
3
css/bootstrap-icons/arrow-down-left-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 0 0 8a8 8 0 0 0 16 0zm-5.904-2.803a.5.5 0 1 1 .707.707L6.707 10h2.768a.5.5 0 0 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.525a.5.5 0 0 1 1 0v2.768l4.096-4.096z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 326 B |
3
css/bootstrap-icons/arrow-down-left-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-circle" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-5.904-2.854a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 377 B |
3
css/bootstrap-icons/arrow-down-left-square-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M2 16a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2zm8.096-10.803L6 9.293V6.525a.5.5 0 0 0-1 0V10.5a.5.5 0 0 0 .5.5h3.975a.5.5 0 0 0 0-1H6.707l4.096-4.096a.5.5 0 1 0-.707-.707z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 363 B |
3
css/bootstrap-icons/arrow-down-left-square.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left-square" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm10.096 3.146a.5.5 0 1 1 .707.708L6.707 9.95h2.768a.5.5 0 1 1 0 1H5.5a.5.5 0 0 1-.5-.5V6.475a.5.5 0 1 1 1 0v2.768l4.096-4.097z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 451 B |
3
css/bootstrap-icons/arrow-down-left.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-left" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M2 13.5a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1H3.707L13.854 2.854a.5.5 0 0 0-.708-.708L3 12.293V7.5a.5.5 0 0 0-1 0v6z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 286 B |
3
css/bootstrap-icons/arrow-down-right-circle-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-circle-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm5.904-2.803a.5.5 0 1 0-.707.707L9.293 10H6.525a.5.5 0 0 0 0 1H10.5a.5.5 0 0 0 .5-.5V6.525a.5.5 0 0 0-1 0v2.768L5.904 5.197z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 326 B |
3
css/bootstrap-icons/arrow-down-right-circle.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-circle" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.854 5.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 379 B |
3
css/bootstrap-icons/arrow-down-right-square-fill.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-square-fill" viewBox="0 0 16 16">
|
||||||
|
<path d="M14 16a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12zM5.904 5.197 10 9.293V6.525a.5.5 0 0 1 1 0V10.5a.5.5 0 0 1-.5.5H6.525a.5.5 0 0 1 0-1h2.768L5.197 5.904a.5.5 0 0 1 .707-.707z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 365 B |
3
css/bootstrap-icons/arrow-down-right-square.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right-square" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm5.854 3.146a.5.5 0 1 0-.708.708L9.243 9.95H6.475a.5.5 0 1 0 0 1h3.975a.5.5 0 0 0 .5-.5V6.475a.5.5 0 1 0-1 0v2.768L5.854 5.146z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 453 B |
3
css/bootstrap-icons/arrow-down-right.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-arrow-down-right" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M14 13.5a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1 0-1h4.793L2.146 2.854a.5.5 0 1 1 .708-.708L13 12.293V7.5a.5.5 0 0 1 1 0v6z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 289 B |