mirror of
https://github.com/Froxlor/Froxlor.git
synced 2024-09-21 10:27:29 +00:00
a bit more dashboard work
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
parent
f836342ff2
commit
5d80c40b25
@ -124,8 +124,6 @@ if ($page == 'overview') {
|
||||
$userinfo['traffic_used'] = \Froxlor\PhpHelper::sizeReadable($userinfo['traffic_used'] * 1024, null, 'bi');
|
||||
$userinfo = \Froxlor\PhpHelper::strReplaceArray('-1', $lng['customer']['unlimited'], $userinfo, 'customers domains diskspace diskspace_bytes traffic traffic_bytes mysqls emails email_accounts email_forwarders email_quota ftps subdomains');
|
||||
|
||||
$userinfo['custom_notes'] = ($userinfo['custom_notes'] != '') ? nl2br($userinfo['custom_notes']) : '';
|
||||
|
||||
$cron_last_runs = \Froxlor\System\Cronjob::getCronjobsLastRun();
|
||||
$outstanding_tasks = \Froxlor\System\Cronjob::getOutstandingTasks();
|
||||
|
||||
@ -187,7 +185,8 @@ if ($page == 'overview') {
|
||||
// @fixme add all the overview/dashboard data from above
|
||||
UI::Twig()->addGlobal('userinfo', $userinfo);
|
||||
UI::TwigBuffer('user/index.html.twig', [
|
||||
'sysinfo' => $sysinfo
|
||||
'sysinfo' => $sysinfo,
|
||||
'overview' => $overview
|
||||
]);
|
||||
UI::TwigOutputBuffer();
|
||||
} elseif ($page == 'change_password') {
|
||||
|
@ -115,8 +115,6 @@ if ($page == 'overview') {
|
||||
$userinfo['traffic_used'] = \Froxlor\PhpHelper::sizeReadable($userinfo['traffic_used'] * 1024, null, 'bi');
|
||||
$userinfo = \Froxlor\PhpHelper::strReplaceArray('-1', $lng['customer']['unlimited'], $userinfo, 'diskspace diskspace_bytes traffic traffic_bytes mysqls emails email_accounts email_forwarders email_quota ftps subdomains');
|
||||
|
||||
$userinfo['custom_notes'] = ($userinfo['custom_notes'] != '') ? nl2br($userinfo['custom_notes']) : '';
|
||||
|
||||
UI::Twig()->addGlobal('userinfo', $userinfo);
|
||||
UI::TwigBuffer('user/index.html.twig', [
|
||||
'domains' => $domainArray,
|
||||
|
@ -2139,3 +2139,5 @@ $lng['serversettings']['phpfpm_settings']['allow_all_customers']['description']
|
||||
$lng['error']['pathmustberelative'] = 'The user does not have the permission to specify directories outside the customers home-directory. Please specify a relative path (no leading /).';
|
||||
$lng['serversettings']['acmeshpath']['title'] = 'Path to acme.sh';
|
||||
$lng['serversettings']['acmeshpath']['description'] = 'Set this to where acme.sh is installed to, including the acme.sh script<br>Default is <b>/root/.acme.sh/acme.sh</b>';
|
||||
|
||||
$lng['panel']['usage_statistics'] = 'Resource usage';
|
||||
|
@ -1785,3 +1785,5 @@ $lng['serversettings']['phpfpm_settings']['allow_all_customers']['description']
|
||||
$lng['error']['pathmustberelative'] = 'Der Benutzer hat nicht die benötigten Berechtigungen, um Pfade außerhalb des Kunden-Heimatverzeichnisses anzugeben. Bitte einen relativen Pfad angeben (kein führendes /).';
|
||||
$lng['serversettings']['acmeshpath']['title'] = 'Pfad zu acme.sh';
|
||||
$lng['serversettings']['acmeshpath']['description'] = 'Installationspfad zu acme.sh, inklusive acme.sh Script<br>Standard ist <b>/root/.acme.sh/acme.sh</b>';
|
||||
|
||||
$lng['panel']['usage_statistics'] = 'Resourcen-Verbrauch';
|
||||
|
@ -14,16 +14,109 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 {% if userinfo.adminsession == 1 %}col-xl-4{% else %}col-xl-8{% endif %} mb-3 mb-xl-0">
|
||||
<div class="card">
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<i class="fa-solid fa-chart-line"></i>
|
||||
{{ lng('panel.usage_statistics') }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>Test</p>
|
||||
<div
|
||||
class="row row-cols-1 row-cols-md-2{% if userinfo.adminsession == 0 %} row-cols-lg-3 row-cols-xl-4{% endif %} g-4">
|
||||
{# admin-resources #}
|
||||
{% if userinfo.adminsession == 1 %}
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
{# customer-resources #}
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card bg-light h-100 p-2">
|
||||
<h5>{{ lng('admin.customers') }} <small>{{ overview.number_customers }}/{{ userinfo.customers }}</small></h5>
|
||||
<div class="progress" style="height: .25rem;">
|
||||
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if userinfo.adminsession == 1 %}
|
||||
<div class="col-12 col-xl-4 mb-3 mb-xl-0">
|
||||
<div
|
||||
class="col-12 col-xl-4 mb-3 mb-xl-0">
|
||||
{# system infos #}
|
||||
<div class="card mb-3"> <div class="card-header">
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<i class="fa-solid fa-gears"></i>
|
||||
{{ lng('admin.systemdetails') }}
|
||||
</div>
|
||||
@ -59,12 +152,12 @@
|
||||
</div>
|
||||
</li>
|
||||
{% if sysinfo.memory is not empty %}
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">{{ lng('admin.memory') }}</div>
|
||||
<pre>{{ sysinfo.memory }}</pre>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">{{ lng('admin.memory') }}</div>
|
||||
<pre>{{ sysinfo.memory }}</pre>
|
||||
</div>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
@ -73,20 +166,20 @@
|
||||
</div>
|
||||
</li>
|
||||
{% if sysinfo.kernel is not empty %}
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">Kernel</div>
|
||||
{{ sysinfo.kernel }}
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">Kernel</div>
|
||||
{{ sysinfo.kernel }}
|
||||
</div>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if sysinfo.uptime is not empty %}
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">Uptime</div>
|
||||
{{ sysinfo.uptime }}
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
<div class="fw-bold">Uptime</div>
|
||||
{{ sysinfo.uptime }}
|
||||
</div>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
@ -134,7 +227,7 @@
|
||||
{% if userinfo.custom_notes is not empty and userinfo.custom_notes_show == 1 %}
|
||||
<div class="card bg-info text-dark mb-3">
|
||||
<div class="card-body">
|
||||
{{ userinfo.custom_notes }}
|
||||
{{ userinfo.custom_notes|nl2br|raw }}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@ -256,7 +349,7 @@
|
||||
{% if userinfo.custom_notes is not empty and userinfo.custom_notes_show == 1 %}
|
||||
<li class="list-group-item list-group-item-info d-flex justify-content-between align-items-start">
|
||||
<div class="ms-2 me-auto">
|
||||
{{ userinfo.custom_notes }}
|
||||
{{ userinfo.custom_notes|nl2br|raw }}
|
||||
</div>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
Loading…
Reference in New Issue
Block a user