adjustments to support bootstrap 5.3 color-scheme; set gentoo config-templates to deprecated as there is no active maintainer for it; remove debian 10 and ubuntu 18.04 as they were deprecated in 2.0.x

Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
Michael Kaufmann
2023-10-15 15:49:12 +02:00
parent 041c2d176c
commit 7438786a24
9 changed files with 91 additions and 9792 deletions

View File

@@ -8,8 +8,8 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
php-versions: ['7.4', '8.1'] php-versions: ['7.4', '8.2']
mariadb-version: [10.5, 10.4] mariadb-version: [10.11, 10.5]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3

View File

@@ -8,7 +8,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
php-versions: ['7.4', '8.1'] php-versions: ['7.4', '8.2']
mysql-version: [8.0, 5.7] mysql-version: [8.0, 5.7]
steps: steps:
- name: Checkout - name: Checkout

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<froxlor> <froxlor>
<distribution name="Gentoo" version="3.0" <distribution name="Gentoo" version="3.0"
defaulteditor="/usr/bin/nano"> defaulteditor="/usr/bin/nano" deprecated="true">
<!-- OS defaults to be loaded on installation --> <!-- OS defaults to be loaded on installation -->
<defaults> <defaults>
<default settinggroup="system" varname="nssextrausers" value="1"></default> <default settinggroup="system" varname="nssextrausers" value="1"></default>

View File

@@ -188,6 +188,10 @@ if (is_array($_themeoptions) && (!array_key_exists('variants', $_themeoptions) |
$themevariant = "default"; $themevariant = "default";
} }
if (array_key_exists('global', $_themeoptions)) {
$_themeoptions['variants'][$themevariant] = array_merge_recursive($_themeoptions['variants'][$themevariant], $_themeoptions['global']);
}
// check for custom header-graphic // check for custom header-graphic
$hl_path = 'templates/' . $theme . '/assets/img'; $hl_path = 'templates/' . $theme . '/assets/img';
@@ -209,8 +213,11 @@ if (Settings::Get('panel.logo_overridecustom') == 0 && file_exists($hl_path . '/
} }
} }
$color_scheme = $_themeoptions['variants'][$themevariant]['color-scheme'] ?? 'auto';
UI::twig()->addGlobal('header_logo_login', $header_logo_login); UI::twig()->addGlobal('header_logo_login', $header_logo_login);
UI::twig()->addGlobal('header_logo', $header_logo); UI::twig()->addGlobal('header_logo', $header_logo);
UI::twig()->addGlobal('color_scheme', $color_scheme);
/** /**
* Redirects to index.php (login page) if no session exists * Redirects to index.php (login page) if no session exists

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en" data-bs-theme="{{ color_scheme|default("auto") }}">
<head> <head>
<!-- Required meta tags --> <!-- Required meta tags -->
<meta charset="utf-8"> <meta charset="utf-8">

View File

@@ -1,33 +1,27 @@
{ {
"global": {
"css": [
"custom.css"
],
"js": [
"main.js",
"apikey.js"
],
"img": {
"ui": "logo_white.png",
"login": "logo.png"
}
},
"variants": { "variants": {
"default": { "default": {
"img": { "color-scheme": "light",
"login": "logo.png", "description": "Default (light)"
"ui": "logo_white.png"
},
"css": [
"main.css",
"custom.css"
],
"js": [
"main.js",
"apikey.js"
],
"description": "Default"
}, },
"dark": { "dark": {
"color-scheme": "dark",
"img": { "img": {
"login": "logo_white.png", "login": "logo_white.png"
"ui": "logo_white.png"
}, },
"css": [
"dark.css",
"custom.css"
],
"js": [
"main.js",
"apikey.js"
],
"description": "Darkmode" "description": "Darkmode"
} }
}, },

View File

@@ -20,9 +20,12 @@
<div class="card h-100 mb-3"> <div class="card h-100 mb-3">
<div class="card-body"> <div class="card-body">
<h5 class="card-title">{{ lng('apcuinfo.memnote') }}</h5> <h5 class="card-title">{{ lng('apcuinfo.memnote') }}</h5>
<div class="progress position-relative"> <div class="progress position-relative" role="progressbar" aria-valuenow="{{ apcuinfo.mem_used }}"
<div class="progress-bar bg-success" role="progressbar" style="width: {{ apcuinfo.mem_used_percentage }}%" aria-valuenow="{{ apcuinfo.mem_used }}" aria-valuemin="0" aria-valuemax="{{ apcuinfo.mem_avail }}"></div> aria-valuemin="0" aria-valuemax="{{ apcuinfo.mem_avail }}">
<small class="justify-content-center d-flex position-absolute w-100 text-dark">{{ apcuinfo.mem_used_percentage }}%</small> <div class="progress-bar bg-success" style="width: {{ apcuinfo.mem_used_percentage }}%"></div>
<small
class="justify-content-center d-flex position-absolute w-100 text-dark">{{ apcuinfo.mem_used_percentage }}
%</small>
</div> </div>
</div> </div>
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
@@ -45,10 +48,21 @@
<div class="card h-100 mb-3"> <div class="card h-100 mb-3">
<div class="card-body"> <div class="card-body">
<h5 class="card-title">{{ lng('apcuinfo.hitmiss') }}</h5> <h5 class="card-title">{{ lng('apcuinfo.hitmiss') }}</h5>
<div class="progress position-relative"> <div class="progress-stacked position-relative">
<div class="progress-bar bg-success" role="progressbar" style="width: {{ apcuinfo.num_hits_percentage }}%" aria-valuenow="{{ apcuinfo.num_hits }}" aria-valuemin="0" aria-valuemax="{{ apcuinfo.num_hits_and_misses }}"></div> <div class="progress" role="progressbar" style="width: {{ apcuinfo.num_hits_percentage }}%"
<div class="progress-bar bg-danger" role="progressbar" style="width: {{ 100 - apcuinfo.num_misses_percentage }}%" aria-valuenow="{{ apcuinfo.num_misses }}" aria-valuemin="0" aria-valuemax="{{ apcuinfo.num_hits_and_misses }}"></div> aria-valuenow="{{ apcuinfo.num_hits }}" aria-valuemin="0"
<small class="justify-content-center d-flex position-absolute w-100 text-dark">{{ apcuinfo.num_hits_percentage }}%</small> aria-valuemax="{{ apcuinfo.num_hits_and_misses }}">
<div class="progress-bar bg-success"></div>
</div>
<div class="progress" role="progressbar"
style="width: {{ 100 - apcuinfo.num_misses_percentage }}%"
aria-valuenow="{{ apcuinfo.num_misses }}" aria-valuemin="0"
aria-valuemax="{{ apcuinfo.num_hits_and_misses }}">
<div class="progress-bar bg-danger"></div>
</div>
<small
class="justify-content-center d-flex position-absolute w-100 text-dark">{{ apcuinfo.num_hits_percentage }}
%</small>
</div> </div>
</div> </div>
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
@@ -97,8 +111,13 @@
</div> </div>
{% if apcuinfo.fragmentation is iterable %} {% if apcuinfo.fragmentation is iterable %}
<div class="progress position-relative"> <div class="progress position-relative">
<div class="progress-bar bg-success" role="progressbar" style="width: {{ apcuinfo.fragmentation.used_percentage }}%" aria-valuenow="{{ apcuinfo.fragmentation.used_bytes }}" aria-valuemin="0" aria-valuemax="{{ apcuinfo.fragmentation.total_bytes }}"></div> <div class="progress-bar bg-success" role="progressbar"
<small class="justify-content-center d-flex position-absolute w-100 text-dark">{{ apcuinfo.fragmentation.used_percentage }}%</small> style="width: {{ apcuinfo.fragmentation.used_percentage }}%"
aria-valuenow="{{ apcuinfo.fragmentation.used_bytes }}" aria-valuemin="0"
aria-valuemax="{{ apcuinfo.fragmentation.total_bytes }}"></div>
<small
class="justify-content-center d-flex position-absolute w-100 text-dark">{{ apcuinfo.fragmentation.used_percentage }}
%</small>
</div> </div>
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center"> <li class="list-group-item d-flex justify-content-between align-items-center">
@@ -124,33 +143,33 @@
<div class="card table-responsive mb-3"> <div class="card table-responsive mb-3">
<table class="table table-borderless table-striped align-middle mb-0 px-3"> <table class="table table-borderless table-striped align-middle mb-0 px-3">
<tbody> <tbody>
<tr> <tr>
<th class="text-center" colspan="2" scope="row">{{ lng('apcuinfo.generaltitle') }}</th> <th class="text-center" colspan="2" scope="row">{{ lng('apcuinfo.generaltitle') }}</th>
</tr> </tr>
<tr> <tr>
<th class="fw-bold" scope="row">{{ lng('apcuinfo.version') }}</th> <th class="fw-bold" scope="row">{{ lng('apcuinfo.version') }}</th>
<td class="text-end">{{ apcuinfo.apcversion }}</td> <td class="text-end">{{ apcuinfo.apcversion }}</td>
</tr> </tr>
<tr> <tr>
<th class="fw-bold" scope="row">{{ lng('apcuinfo.phpversion') }}</th> <th class="fw-bold" scope="row">{{ lng('apcuinfo.phpversion') }}</th>
<td class="text-end">{{ apcuinfo.phpversion }}</td> <td class="text-end">{{ apcuinfo.phpversion }}</td>
</tr> </tr>
<tr> <tr>
<th class="fw-bold" scope="row">{{ lng('admin.hostname') }}</th> <th class="fw-bold" scope="row">{{ lng('admin.hostname') }}</th>
<td class="text-end">{{ apcuinfo.host }}</td> <td class="text-end">{{ apcuinfo.host }}</td>
</tr> </tr>
<tr> <tr>
<th class="fw-bold" scope="row">{{ lng('admin.serversoftware') }}</th> <th class="fw-bold" scope="row">{{ lng('admin.serversoftware') }}</th>
<td class="text-end">{{ apcuinfo.server }}</td> <td class="text-end">{{ apcuinfo.server }}</td>
</tr> </tr>
<tr> <tr>
<th class="fw-bold" scope="row">{{ lng('apcuinfo.start') }}</th> <th class="fw-bold" scope="row">{{ lng('apcuinfo.start') }}</th>
<td class="text-end">{{ apcuinfo.start_time|date('d.m.Y H:i:s') }}</td> <td class="text-end">{{ apcuinfo.start_time|date('d.m.Y H:i:s') }}</td>
</tr> </tr>
<tr> <tr>
<th class="fw-bold" scope="row">{{ lng('apcuinfo.uptime') }}</th> <th class="fw-bold" scope="row">{{ lng('apcuinfo.uptime') }}</th>
<td class="text-end">{{ apcuinfo.uptime }}</td> <td class="text-end">{{ apcuinfo.uptime }}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
@@ -159,15 +178,15 @@
<div class="card table-responsive"> <div class="card table-responsive">
<table class="table table-borderless table-striped align-middle mb-0 px-3"> <table class="table table-borderless table-striped align-middle mb-0 px-3">
<tbody> <tbody>
<tr>
<th class="text-center" colspan="2" scope="row">{{ lng('apcuinfo.runtime') }}</th>
</tr>
{% for k,v in apcuinfo.runtimelines %}
<tr> <tr>
<th class="text-center" colspan="2" scope="row">{{ lng('apcuinfo.runtime') }}</th> <th class="fw-bold" scope="row">{{ k|raw }}</th>
<td class="text-end">{{ v|raw }}</td>
</tr> </tr>
{% for k,v in apcuinfo.runtimelines %} {% endfor %}
<tr>
<th class="fw-bold" scope="row">{{ k|raw }}</th>
<td class="text-end">{{ v|raw }}</td>
</tr>
{% endfor %}
</tbody> </tbody>
</table> </table>
</div> </div>