<?php

use Icinga\Application\MigrationManager;
use Icinga\Web\Navigation\Renderer\BadgeNavigationItemRenderer;
use ipl\Html\HtmlElement;
use ipl\Web\Widget\Icon;
use ipl\Web\Widget\StateBadge;

?>
<div class="controls">
    <?= $tabs ?>
</div>
<div id="about" class="content">

    <?= $this->img('img/icinga-logo-big.svg', null, array('class' => 'icinga-logo', 'width' => 194)) ?>

    <section>
        <table class="name-value-table">
        <?php if (isset($version['appVersion'])): ?>
            <tr>
                <th><?= $this->translate('Icinga Web 2 Version') ?></th>
                <td><?= $this->escape($version['appVersion']) ?></td>
            </tr>
        <?php endif ?>
        <?php if (isset($version['gitCommitID'])): ?>
            <tr>
                <th><?= $this->translate('Git commit') ?></th>
                <td><?= $this->escape($version['gitCommitID']) ?></td>
            </tr>
        <?php endif ?>
            <tr>
                <th><?= $this->translate('PHP Version') ?></th>
                <td><?= $this->escape(PHP_VERSION) ?></td>
            </tr>
        <?php if (isset($version['gitCommitDate'])): ?>
            <tr>
                <th><?= $this->translate('Git commit date') ?></th>
                <td><?= $this->escape($version['gitCommitDate']) ?></td>
            </tr>
        <?php endif ?>
        </table>

        <div class="external-links">
            <div class="col">
            <?=
                HtmlElement::create('a', [
                    'href'   => 'https://icinga.com/support/',
                    'target' => '_blank',
                    'title'  => $this->translate('Get Icinga Support')
                ], [
                        new Icon('life-ring'),
                        $this->translate('Get Icinga Support'),
                    ]
                );
            ?>
            </div>
            <div class="col">
            <?=
                HtmlElement::create('a', [
                        'href' => 'https://icinga.com/community/',
                        'target'    => '_blank',
                        'title'     => $this->translate('Icinga Community')
                    ], [
                        new Icon('globe-europe'),
                        $this->translate('Icinga Community'),
                    ]
                );
            ?>
            </div>
            <div class="col">
            <?=
                HtmlElement::create('a', [
                    'href'   => 'https://github.com/icinga/icingaweb2/issues',
                    'target' => '_blank',
                    'title'  => $this->translate('Icinga Community')
                ], [
                        new Icon('bullhorn'),
                        $this->translate('Report a bug'),
                    ]
                );
            ?>
            </div>
            <div class="col">
            <?=
                HtmlElement::create('a', [
                    'href'      => 'https://icinga.com/docs/icinga-web-2/'
                        . (isset($version['docVersion']) ? $version['docVersion'] : 'latest'),
                    'target'    => '_blank',
                    'title'     => $this->translate('Icinga Documentation')
                ], [
                        new Icon('book'),
                        $this->translate('Icinga Documentation'),
                    ]
                );
            ?>
            </div>
        </div>

        <?php
            $mm = MigrationManager::instance();
            $hasPending = false;
            try {
                $hasPending = $mm->hasPendingMigrations();
            } catch (Throwable $e) {
                // suppress
            }
        if ($hasPending): ?>
            <div class="pending-migrations clearfix">
                <h2><?= $this->translate('Pending Migrations') ?></h2>
                <table class="name-value-table migrations">
                <?php foreach ($mm->getPendingMigrations() as $migration): ?>
                    <tr>
                        <th><?= $this->escape($migration->getName()) ?></th>
                        <td><?=
                            new StateBadge(
                                count($migration->getMigrations()),
                                BadgeNavigationItemRenderer::STATE_PENDING
                            );
                        ?></td>
                    </tr>
                <?php endforeach ?>
                </table>
                <?= $this->qlink(
                    $this->translate('Show all'),
                    'migrations',
                    null,
                    ['title' => $this->translate('Show all pending migrations')]
                ) ?>
            </div>
        <?php endif ?>

        <h2><?= $this->translate('Loaded Libraries') ?></h2>
        <table class="name-value-table" data-base-target="_next">
        <?php foreach ($libraries as $library): ?>
            <tr>
                <th>
                    <?= $this->escape($library->getName()) ?>
                </th>
                <td>
                    <?= $this->escape($library->getVersion()) ?: '-' ?>
                </td>
            </tr>
        <?php endforeach ?>
        </table>

        <h2><?= $this->translate('Loaded Modules') ?></h2>
        <table class="name-value-table" data-base-target="_next">
        <?php foreach ($modules as $module): ?>
            <tr>
                <th>
                    <?= $this->escape($module->getName()) ?>
                </th>
                <td>
                <td>
                    <?= $this->escape($module->getVersion()) ?>
                </td>
                <td>
                <?php if ($this->hasPermission('config/modules')): ?>
                    <?= $this->qlink(
                        $this->translate('Configure'),
                        'config/module/',
                        array('name' => $module->getName()),
                        array('title' => sprintf($this->translate('Show the overview of the %s module'), $module->getName()))
                    ) ?>
                <?php endif ?>
                </td>
            </tr>
        <?php endforeach ?>
        </table>
    </section>

    <footer>
        <div class="about-copyright">
            <?= $this->translate('Copyright') ?>
            <span>&copy; 2013-<?= date('Y') ?></span>
            <?= $this->qlink(
                'Icinga GmbH',
                'https://icinga.com',
                null,
                array(
                    'target' => '_blank'
                )
            ) ?>
        </div>
        <div class="about-social">
            <?= $this->qlink(
                null,
                'https://www.facebook.com/icinga',
                null,
                array(
                    'target'    => '_blank',
                    'icon'      => 'facebook-squared',
                    'title'     => $this->translate('Icinga on Facebook')
                )
            ) ?>
        </div>
    </footer>
</div>
