{% extends 'admin.twig' %}

{% macro humanReadableValue(value) %}
    {% if value is false %}
        false
    {% elseif value is true %}
        true
    {% elseif value is null %}
    {% elseif value is emptyString %}
        ''
    {% elseif value is empty %}
        []
    {% elseif value is iterable %}
        <div class="pre">{{ value|json_encode(constant('JSON_PRETTY_PRINT')) }}</div>
    {% else %}
        {{ value|join(', ') }}
    {% endif %}
{% endmacro %}

{% block content %}
<div piwik-content-block
     content-title="{{ 'Diagnostics_ConfigFileTitle'|translate|e('html_attr') }}" feature="true">
    <p>
        {{ 'Diagnostics_ConfigFileIntroduction'|translate('<code>"config/config.ini.php"</code>')|raw }}
        {{ 'Diagnostics_HideUnchanged'|translate('<a ng-click="hideGlobalConfigValues=!hideGlobalConfigValues">', '</a>')|raw }}

        <h3>{{ 'Diagnostics_Sections'|translate }}</h3>
        {% for category, values in allConfigValues %}
            <a href="#{{ category|e('html_attr') }}">{{ category }}</a><br />
        {% endfor %}
    </p>

    <table class="diagnostics configfile" piwik-content-table>
        <tbody>
        {% for category, configValues in allConfigValues %}
            <tr><td colspan="3"><a name="{{ category|e('html_attr') }}"></a><h3>{{ category }}</h3></td></tr>

            {% for key, configEntry in configValues %}
                <tr {% if configEntry.isCustomValue %}class="custom-value"{% else %}ng-hide="hideGlobalConfigValues"{% endif %}>
                    <td class="name">{{ key }}{% if configEntry.value is iterable %}[]{% endif %}</td>
                    <td class="value">
                        {{ _self.humanReadableValue(configEntry.value) }}
                    </td>
                    <td class="description">
                        {{ configEntry.description|raw }}

                        {% if (configEntry.isCustomValue or configEntry.value is null) and configEntry.defaultValue is not null %}
                            {% if configEntry.description %}<br />{% endif %}

                            {{ 'General_Default'|translate }}:
                            <span class="defaultValue">{{ _self.humanReadableValue(configEntry.defaultValue) }}<span>
                        {% endif %}
                    </td>
                </tr>
            {% endfor %}
        {% endfor %}
        </tbody>
    </table>

</div>
{% endblock %}
