From 908ea6dbd7dc43e9ab413d3349add79712d07a37 Mon Sep 17 00:00:00 2001
From: Ludovic <54670129+lbr38@users.noreply.github.com>
Date: Sat, 4 Jan 2025 13:53:19 +0100
Subject: [PATCH] patch
---
www/controllers/Common.php | 37 ++++++++----------
.../assets/icons/products/almalinux.png | Bin 0 -> 22916 bytes
www/public/assets/icons/products/centos.png | Bin 2790 -> 6327 bytes
www/public/assets/icons/products/fedora.png | Bin 0 -> 29416 bytes
www/public/assets/icons/products/oracle.png | Bin 0 -> 105442 bytes
.../assets/icons/products/rockylinux.png | Bin 0 -> 80273 bytes
www/public/resources/js/functions.js | 11 ++++++
www/public/resources/styles/common.css | 9 +++--
www/public/resources/styles/main.css | 4 ++
www/public/resources/styles/stats-hosts.css | 2 +-
.../includes/containers/hosts/list.inc.php | 15 +++----
11 files changed, 45 insertions(+), 33 deletions(-)
create mode 100644 www/public/assets/icons/products/almalinux.png
create mode 100644 www/public/assets/icons/products/fedora.png
create mode 100644 www/public/assets/icons/products/oracle.png
create mode 100644 www/public/assets/icons/products/rockylinux.png
diff --git a/www/controllers/Common.php b/www/controllers/Common.php
index bc7e6373..90b94b61 100644
--- a/www/controllers/Common.php
+++ b/www/controllers/Common.php
@@ -670,27 +670,24 @@ public static function sizeFormat($bytes, $returnFormat = true)
/**
* Print OS icon image
*/
- public static function printOsIcon(string $os = null, string $osFamily = null)
+ public static function printOsIcon(string $os)
{
- if (!empty($os)) {
- if (preg_match('/centos/i', $os)) {
- return '';
- } elseif (preg_match('/debian|armbian/i', $os)) {
- return '';
- } elseif (preg_match('/ubuntu|kubuntu|xubuntu|mint/i', $os)) {
- return '';
- }
- }
-
- /**
- * If OS could not be found and OS family is specified
- */
- if (!empty($osFamily)) {
- if (preg_match('/debian|ubuntu|kubuntu|xubuntu|armbian|mint/i', $osFamily)) {
- return '';
- } elseif (preg_match('/rhel|centos|fedora/i', $osFamily)) {
- return '';
- }
+ if (preg_match('/centos/i', $os)) {
+ return '';
+ } elseif (preg_match('/rocky/i', $os)) {
+ return '';
+ } elseif (preg_match('/alma/i', $os)) {
+ return '';
+ } elseif (preg_match('/oracle/i', $os)) {
+ return '';
+ } elseif (preg_match('/fedora/i', $os)) {
+ return '';
+ } elseif (preg_match('/redhat/i', $os)) {
+ return '';
+ } elseif (preg_match('/debian|armbian/i', $os)) {
+ return '';
+ } elseif (preg_match('/ubuntu|kubuntu|xubuntu|mint/i', $os)) {
+ return '';
}
/**
diff --git a/www/public/assets/icons/products/almalinux.png b/www/public/assets/icons/products/almalinux.png
new file mode 100644
index 0000000000000000000000000000000000000000..74553c9d7ea021d3addf9aac0838c728c7c6ac1f
GIT binary patch
literal 22916
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