{% extends 'base.html.twig' %} {% block status %} {% from "macros/status.html.twig" import status %} {{ status(constant('App\\Constants::VERSION')) }} {{ status(environment, environment == 'dev' ? 'red' : 'green') }} {% endblock %} {% block main %} {% if release is not null and release is iterable %} {% embed '@theme/embeds/card.html.twig' with {'release': release, boxtype: 'warning'} %} {% block box_title %}Kimai {{ release.version }} available (released on {{ release.date|date_short }}){% endblock %} {% block box_body %} {{ release.content|md2html }}

Read more

{% endblock %} {% endembed %} {% endif %} {% set permissionOpts = {boxtype: 'success'} %} {% for name, value in directories %} {% if value is same as (false) %} {% set permissionOpts = {boxtype: 'danger', open: true} %} {% endif %} {% endfor %} {% embed '@theme/embeds/collapsible.html.twig' with permissionOpts %} {% block title %}File permissions{% endblock %} {% block body %}

If you see a warning icon 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.

{% for name, value in directories %} {% endfor %}
{{ name }} {% if value is same as (false) %} {% else %} {% endif %}
{% endblock %} {% endembed %} {% set extensionOpts = {boxtype: 'success'} %} {% for name, value in extensions %} {% if value is same as (false) %} {% set extensionOpts = {boxtype: 'danger', open: true} %} {% endif %} {% endfor %} {% embed '@theme/embeds/collapsible.html.twig' with extensionOpts %} {% block title %}PHP extensions{% endblock %} {% block body %}

If you see a warning icon in the list below, you should talk to your administrator, as there is a missing PHP extension causing Kimai not to work as expected.

{% for name, value in extensions %} {% endfor %}
{{ name }} {% if value is same as (false) %} {% else %} {% endif %}
{% endblock %} {% endembed %} {% set logOpts = {} %} {% if logSize > 52428800 %} {% set logOpts = {boxtype: 'danger', open: true} %} {% endif %} {% embed '@theme/embeds/collapsible.html.twig' with logOpts %} {% from "@theme/components/button.html.twig" import button %} {% block title %}Logfile (max. {{ logLines }} last lines){% endblock %} {% block body %} {% if logSize > 52428800 %}

Your logfile is larger than 50 MB, consider deleting it (it will be re-created automatically).

{% endif %}
{% for logLine in logs|reverse -%}
                {%- set logLineClass = '' -%}
                {%- if '.CRITICAL' in logLine -%}
                    {%- set logLineClass = 'text-danger text-bold' -%}
                {%- elseif '.WARNING' in logLine -%}
                    {%- set logLineClass = 'text-warning text-bold' -%}
                {%- elseif '.ERROR' in logLine -%}
                    {%- set logLineClass = 'text-warning text-bold' -%}
                {%- elseif '.DEBUG' in logLine -%}
                    {%- set logLineClass = 'text-body-secondary' -%}
                {%- endif -%}
                {{- logLine -}}
            {%- endfor %}
{% if log_delete %} {{ button('delete', {combined: true, 'class': 'confirmation-link btn-danger', 'title': 'delete', 'url': path('doctor_flush_log', {'token': csrf_token('doctor.flush_log')}), 'attr': {'data-question': 'confirm.delete'}}) }} {% endif %} {% endblock %} {% endembed %} {% embed '@theme/embeds/collapsible.html.twig' %} {% import "macros/widgets.html.twig" as widgets %} {% block title %}Composer{% endblock %} {% block body_class %}p-0{% endblock %} {% block body %} {% for name, value in composer %} {% endfor %}
{{ name }} {{ value }}
{% endblock %} {% endembed %} {% embed '@theme/embeds/collapsible.html.twig' %} {% block title %}PHP{% endblock %} {% block body_class %}p-0{% endblock %} {% block body %} {% for name, value in settings %} {% endfor %} {% for name, value in info %} {% endfor %}
{{ 'version'|trans }} {{ constant('PHP_VERSION') }}
Modules {{ modules|join(', ') }}
{{ name }} {% if value is empty %} unknown {% else %} {{ value }} {% endif %}
{{ name }} {{ value|raw }}
{% endblock %} {% endembed %} {% endblock %}