summaryrefslogtreecommitdiff
path: root/resources/views/admin/users-cleanup.phtml
blob: 3fe49c1733475d1523a15081a301589cf9eb1329 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php

use Fisharebest\Webtrees\Carbon;
use Fisharebest\Webtrees\Contracts\UserInterface;
use Fisharebest\Webtrees\Http\RequestHandlers\ControlPanel;
use Fisharebest\Webtrees\Http\RequestHandlers\UserEditPage;
use Fisharebest\Webtrees\Http\RequestHandlers\UserListPage;
use Fisharebest\Webtrees\Http\RequestHandlers\UsersCleanupAction;
use Fisharebest\Webtrees\I18N;
use Illuminate\Support\Collection;

/**
 * @var Collection<UserInterface> $inactive_users
 * @var string                    $title
 * @var Collection<UserInterface> $unverified_users
 */

?>

<?= view('components/breadcrumbs', ['links' => [
    route(ControlPanel::class) => I18N::translate('Control panel'),
    route(UserListPage::class) => I18N::translate('User administration'),
    $title,
]]) ?>

<h1><?= $title ?></h1>

<form method="post" action="<?= e(route(UsersCleanupAction::class)) ?>">
    <?= csrf_field() ?>

    <table class="table table-bordered">
        <?php foreach ($inactive_users as $user) : ?>
            <tr>
                <td>
                    <input type="checkbox" name="delete[]" value="<?= $user->id() ?>" aria-label="<?= e($user->userName()) ?>">
                </td>
                <td>
                    <a href="<?= e(route(UserEditPage::class, ['user_id' => $user->id()])) ?>">
                        <?= e($user->userName()) ?>
                        —
                        <bdi><?= e($user->realName()) ?></bdi>
                    </a>
                </td>
                <td>
                    <?= I18N::translate('User’s account has been inactive too long: ') ?>
                    <?= view('components/datetime', ['timestamp' => Carbon::createFromTimestamp(max((int) $user->getPreference(UserInterface::PREF_TIMESTAMP_REGISTERED), (int) $user->getPreference(UserInterface::PREF_TIMESTAMP_ACTIVE)))]) ?>
                </td>
            </tr>
        <?php endforeach ?>

        <?php foreach ($unverified_users as $user) : ?>
            <tr>
                <td>
                    <input type="checkbox" name="delete[]" value="<?= $user->id() ?>" aria-label="<?= e($user->userName()) ?>">
                </td>
                <td>
                    <a href="<?= e(route(UserEditPage::class, ['user_id' => $user->id()])) ?>">
                        <?= e($user->userName()) ?>
                        —
                        <bdi><?= e($user->realName()) ?></bdi>
                    </a>
                </td>
                <td>
                    <?= I18N::translate('User didn’t verify within 7 days.') ?>
                    <?php if ($user->getPreference(UserInterface::PREF_IS_ACCOUNT_APPROVED) !== '1') : ?>
                        <?= I18N::translate('User not verified by administrator.') ?>
                    <?php endif ?>
                </td>
            </tr>
        <?php endforeach ?>
    </table>

    <p>
        <?php if ($inactive_users->isEmpty() && $unverified_users->isEmpty()) : ?>
            <?= I18N::translate('Nothing found to cleanup') ?>
        <?php else : ?>
            <button type="submit" class="btn btn-primary">
                <?= I18N::translate('delete') ?>
            </button>
        <?php endif ?>
    </p>
</form>