170 lines
6.7 KiB
Twig
170 lines
6.7 KiB
Twig
{% extends 'base.html.twig' %}
|
|
{% import "doctor/actions.html.twig" as actions %}
|
|
|
|
{% block page_title %}{{ 'menu.doctor'|trans }}{% endblock %}
|
|
{% block page_actions %}{{ actions.doctor('index') }}{% endblock %}
|
|
|
|
{% block main %}
|
|
|
|
{% set permissionOpts = {collapsed: true, boxtype: 'success'} %}
|
|
{% for name, value in directories %}
|
|
{% if value is same as (false) %}
|
|
{% set permissionOpts = {boxtype: 'danger'} %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' with permissionOpts %}
|
|
{% block box_title %}File permissions{% endblock %}
|
|
{% block box_body %}
|
|
<p>
|
|
If you see a warning icon <i class="{{ 'warning'|icon }} text-red"></i> in the list below, you should talk to your administrator.
|
|
The path is either not readable or not writable and Kimai might not work as expected.
|
|
</p>
|
|
<table class="table">
|
|
{% for name, value in directories %}
|
|
<tr>
|
|
<th style="width:15%">{{ name }}</th>
|
|
<td>
|
|
{% if value is same as (false) %}
|
|
<i class="{{ 'warning'|icon }} text-red"></i>
|
|
{% else %}
|
|
<i class="{{ 'success'|icon }} text-green"></i>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
{% set extensionOpts = {collapsed: true, boxtype: 'success'} %}
|
|
{% for name, value in extensions %}
|
|
{% if value is same as (false) %}
|
|
{% set extensionOpts = {boxtype: 'danger'} %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' with extensionOpts %}
|
|
{% block box_title %}Required PHP extensions{% endblock %}
|
|
{% block box_body %}
|
|
<p>
|
|
If you see a warning icon <i class="{{ 'warning'|icon }} text-red"></i> in the list below, you should talk to your administrator.
|
|
There is a missing PHP extension and Kimai might not work as expected.
|
|
</p>
|
|
<table class="table">
|
|
{% for name, value in extensions %}
|
|
<tr>
|
|
<th style="width:15%">{{ name }}</th>
|
|
<td>
|
|
{% if value is same as (false) %}
|
|
<i class="{{ 'warning'|icon }} text-red"></i>
|
|
{% else %}
|
|
<i class="{{ 'success'|icon }} text-green"></i>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
{% set logOpts = {collapsed: true} %}
|
|
{% if logSize > 52428800 %}
|
|
{% set logOpts = {boxtype: 'danger'} %}
|
|
{% endif %}
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' with logOpts %}
|
|
{% block box_title %}Logfile (max. {{ logLines }} last lines){% endblock %}
|
|
{% block box_tools %}
|
|
{% if log_delete %}
|
|
<a class="btn-box-tool confirmation-link" href="{{ path('doctor_flush_log') }}" data-question="confirm.delete"><i class="{{ 'delete'|icon }}"></i></a>
|
|
{% endif %}
|
|
{% endblock %}
|
|
{% block box_body %}
|
|
{% if logSize > 52428800 %}
|
|
<p>Your logfile is larger than 50 MB, consider deleting it (it will be re-created automatically).</p>
|
|
{% endif %}
|
|
<pre>{% for logLine in logs -%}
|
|
{%- set logLineClass = '' -%}
|
|
{%- if '.CRITICAL' in logLine -%}
|
|
{%- set logLineClass = 'text-danger text-bold' -%}
|
|
{%- elseif '.ERROR' in logLine -%}
|
|
{%- set logLineClass = 'text-warning text-bold' -%}
|
|
{%- elseif '.DEBUG' in logLine -%}
|
|
{%- set logLineClass = 'text-muted' -%}
|
|
{%- endif -%}
|
|
<span class="{{ logLineClass }}">{{- logLine -}}</span>
|
|
{%- endfor %}</pre>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' with {collapsed: true} %}
|
|
{% block box_title %}Composer packages{% endblock %}
|
|
{% block box_body %}
|
|
<table class="table">
|
|
{% for name, value in composer %}
|
|
<tr>
|
|
<th style="width:15%">{{ name }}</th>
|
|
<td>{{ value }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' with {collapsed: true} %}
|
|
{% block box_title %}Environment variables{% endblock %}
|
|
{% block box_body %}
|
|
<table class="table">
|
|
{% for name, value in dotenv %}
|
|
<tr>
|
|
<th style="width:15%">{{ name }}</th>
|
|
<td>{{ value }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' with {collapsed: true} %}
|
|
{% block box_title %}PHP{% endblock %}
|
|
{% block box_body %}
|
|
<table class="table">
|
|
<tr>
|
|
<th style="width:15%">Version</th>
|
|
<td>{{ constant('PHP_VERSION') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th style="width:15%;max-width:25%">Modules</th>
|
|
<td>{{ modules|join(', ') }}</td>
|
|
</tr>
|
|
{% for name, value in settings %}
|
|
<tr>
|
|
<th style="width:15%">{{ name }}</th>
|
|
<td>
|
|
{% if value is empty %}
|
|
<i>unknown</i>
|
|
{% else %}
|
|
{{ value }}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
|
|
{% embed '@AdminLTE/Widgets/box-widget.html.twig' with {collapsed: true} %}
|
|
{% block box_title %}Server{% endblock %}
|
|
{% block box_body %}
|
|
<table class="table">
|
|
{% for name, value in info %}
|
|
<tr>
|
|
<th style="width:15%">{{ name }}</th>
|
|
<td>{{ value|raw }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
{% endblock %}
|
|
{% endembed %}
|
|
{% endblock %}
|