<?php

use Icinga\Data\Extensible;
use Icinga\Data\Reducible;

if (! $this->compact): ?>
<div class="controls separated">
    <?= $this->tabs ?>
    <?= $this->paginator ?>
    <div class="sort-controls-container">
        <?= $this->limiter ?>
        <?= $this->sortBox ?>
    </div>
    <?= $this->backendSelection ?>
    <?= $this->filterEditor ?>
</div>
<?php endif ?>
<div class="content">
<?php

if (! isset($backend)) {
    echo $this->translate('No backend found which is able to list users') . '</div>';
    return;
} else {
    $extensible = $this->hasPermission('config/authentication/users/add') && $backend instanceof Extensible;
    $reducible = $this->hasPermission('config/authentication/users/remove') && $backend instanceof Reducible;
}
?>

<?php if ($extensible): ?>
    <?= $this->qlink(
        $this->translate('Add a New User') ,
        'user/add',
        array('backend' => $backend->getName()),
        array(
            'class'             => 'button-link',
            'data-base-target'  => '_next',
            'icon'              => 'plus'
        )
    ) ?>
<?php endif ?>

<?php if (! $users->hasResult()): ?>
    <p><?= $this->translate('No users found matching the filter') ?></p>
</div>
<?php return; endif ?>

    <table data-base-target="_next" class="table-row-selectable common-table">
    <thead>
        <tr>
            <th><?= $this->translate('Username') ?></th>
        <?php if ($reducible): ?>
            <th><?= $this->translate('Remove') ?></th>
        <?php endif ?>
        </tr>
    </thead>
    <tbody>
    <?php foreach ($users as $user): ?>
        <tr>
            <td><?= $this->qlink(
                $user->user_name,
                'user/show',
                array(
                    'backend'   => $backend->getName(),
                    'user'      => $user->user_name
                ),
                array(
                    'title'     => sprintf($this->translate('Show detailed information about %s'), $user->user_name)
                )
            ) ?></td>
        <?php if ($reducible): ?>
            <td class="icon-col"><?= $this->qlink(
                null,
                'user/remove',
                array(
                    'backend'   => $backend->getName(),
                    'user'      => $user->user_name
                ),
                array(
                    'class' => 'action-link',
                    'icon'  => 'cancel',
                    'title' => sprintf($this->translate('Remove user %s'), $user->user_name)
                )
            ) ?></td>
            <?php endif ?>
        </tr>
    <?php endforeach ?>
    </tbody>
    </table>
</div>
