xref: /webtrees/resources/views/admin/modules.phtml (revision b6c326d8b8798b83b744c4d4a669df5aa9f3e0c2)
1dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\I18N; ?>
29e5cb8c9SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleAnalyticsInterface; ?>
3dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleBlockInterface; ?>
4dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleChartInterface; ?>
5dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleConfigInterface; ?>
69cad7645SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleCustomInterface; ?>
78e5c5efeSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleExternalUrlInterface; ?>
833c34396SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleFooterInterface; ?>
9f3244202SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleHistoricEventsInterface; ?>
1011eb8581SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleLanguageInterface; ?>
1167992b6aSRichard Cissee<?php use Fisharebest\Webtrees\Module\ModuleListInterface; ?>
12dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleMenuInterface; ?>
13dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleReportInterface; ?>
14dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleSidebarInterface; ?>
15dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleTabInterface; ?>
16dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleThemeInterface; ?>
17dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\View; ?>
18dd6b2bfcSGreg Roach
19dd6b2bfcSGreg Roach<?= view('components/breadcrumbs', ['links' => [route('admin-control-panel') => I18N::translate('Control panel'), $title]]) ?>
20dd6b2bfcSGreg Roach
21dd6b2bfcSGreg Roach<h1><?= $title ?></h1>
22dd6b2bfcSGreg Roach
23dd6b2bfcSGreg Roach<?php foreach ($deleted_modules as $module_name) : ?>
24dd6b2bfcSGreg Roach    <div class="alert alert-warning" role="alert">
25244d9cdfSGreg Roach        <form action="<?= e(route('delete-module-settings')) ?>" class="form-inline" method="POST">
26dd6b2bfcSGreg Roach            <?= csrf_field() ?>
27dd6b2bfcSGreg Roach            <input type="hidden" name="module_name" value="<?= $module_name ?>">
28dd6b2bfcSGreg Roach            <?= I18N::translate('Preferences exist for the module “%s”, but this module no longer exists.', $module_name) ?>
2997c22350SGreg Roach            <button type="submit" class="btn btn-secondary">
30dd6b2bfcSGreg Roach                <?= I18N::translate('Delete the preferences for this module.') ?>
31dd6b2bfcSGreg Roach            </button>
32dd6b2bfcSGreg Roach        </form>
33dd6b2bfcSGreg Roach    </div>
34dd6b2bfcSGreg Roach<?php endforeach ?>
35dd6b2bfcSGreg Roach
368d6560c4SGreg Roach<form method="post">
37dd6b2bfcSGreg Roach    <input type="hidden" name="route" value="admin-update-module-status">
38dd6b2bfcSGreg Roach    <?= csrf_field() ?>
39*b6c326d8SGreg Roach    <table class="table table-bordered table-hover table-sm table-module-administration"
40*b6c326d8SGreg Roach        <?= view('lists/datatables-attributes') ?>
41*b6c326d8SGreg Roach        data-info="false"
42*b6c326d8SGreg Roach        data-paging="false"
43*b6c326d8SGreg Roach        data-filter="false"
44*b6c326d8SGreg Roach    >
45dd6b2bfcSGreg Roach        <caption class="sr-only">
46dd6b2bfcSGreg Roach            <?= I18N::translate('Module administration') ?>
47dd6b2bfcSGreg Roach        </caption>
48dd6b2bfcSGreg Roach        <thead>
49dd6b2bfcSGreg Roach            <tr>
50dd6b2bfcSGreg Roach                <th>
51dd6b2bfcSGreg Roach                    <?= I18N::translate('Module') ?>
52dd6b2bfcSGreg Roach                </th>
53dd6b2bfcSGreg Roach                <th>
54dd6b2bfcSGreg Roach                    <?= I18N::translate('Enabled') ?>
55dd6b2bfcSGreg Roach                </th>
560cb66f86SGreg Roach                <th data-orderable="false">
57dd6b2bfcSGreg Roach                    <?= I18N::translate('Description') ?>
58dd6b2bfcSGreg Roach                </th>
590cb66f86SGreg Roach                <th title="<?= I18N::translate('Preferences') ?>">
600cb66f86SGreg Roach                    <?= view('icons/preferences') ?>
610cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Preferences') ?></span>
62dd6b2bfcSGreg Roach                </th>
630cb66f86SGreg Roach                <th title="<?= I18N::translate('Menus') ?>">
640cb66f86SGreg Roach                    <?= view('icons/menu') ?>
650cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Menus') ?></span>
66dd6b2bfcSGreg Roach                </th>
670cb66f86SGreg Roach                <th title="<?= I18N::translate('Tabs') ?>">
680cb66f86SGreg Roach                    <?= view('icons/tab') ?>
690cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Tabs') ?></span>
70dd6b2bfcSGreg Roach                </th>
710cb66f86SGreg Roach                <th title="<?= I18N::translate('Sidebars') ?>">
720cb66f86SGreg Roach                    <?= view('icons/sidebar') ?>
730cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Sidebars') ?></span>
74dd6b2bfcSGreg Roach                </th>
750cb66f86SGreg Roach                <th title="<?= I18N::translate('Blocks') ?>">
760cb66f86SGreg Roach                    <?= view('icons/block') ?>
770cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Blocks') ?></span>
78dd6b2bfcSGreg Roach                </th>
790cb66f86SGreg Roach                <th title="<?= I18N::translate('Charts') ?>">
800cb66f86SGreg Roach                    <?= view('icons/chart') ?>
810cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Charts') ?></span>
82dd6b2bfcSGreg Roach                </th>
8367992b6aSRichard Cissee                <th title="<?= I18N::translate('Lists') ?>">
8467992b6aSRichard Cissee                    <?= view('icons/list') ?>
8567992b6aSRichard Cissee                    <span class="sr-only"><?= I18N::translate('Lists') ?></span>
8667992b6aSRichard Cissee                </th>
870cb66f86SGreg Roach                <th title="<?= I18N::translate('Reports') ?>">
880cb66f86SGreg Roach                    <?= view('icons/report') ?>
890cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Reports') ?></span>
90dd6b2bfcSGreg Roach                </th>
9133c34396SGreg Roach                <th title="<?= I18N::translate('Footers') ?>">
9233c34396SGreg Roach                    <?= view('icons/footer') ?>
9333c34396SGreg Roach                    <span class="sr-only"><?= I18N::translate('Footers') ?></span>
9433c34396SGreg Roach                </th>
959e5cb8c9SGreg Roach                <th title="<?= I18N::translate('Tracking and analytics') ?>">
969e5cb8c9SGreg Roach                    <?= view('icons/analytics') ?>
979e5cb8c9SGreg Roach                    <span class="sr-only"><?= I18N::translate('Tracking and analytics') ?></span>
989e5cb8c9SGreg Roach                </th>
99f3244202SGreg Roach                <th title="<?= I18N::translate('Historic events') ?>">
100f3244202SGreg Roach                    <?= view('icons/history') ?>
101f3244202SGreg Roach                    <span class="sr-only"><?= I18N::translate('Historic events') ?></span>
102f3244202SGreg Roach                </th>
10311eb8581SGreg Roach                <th title="<?= I18N::translate('Themes') ?>">
1040cb66f86SGreg Roach                    <?= view('icons/theme') ?>
1050cb66f86SGreg Roach                    <span class="sr-only"><?= I18N::translate('Themes') ?></span>
106dd6b2bfcSGreg Roach                </th>
10711eb8581SGreg Roach                <th title="<?= I18N::translate('Languages') ?>">
10811eb8581SGreg Roach                    <?= view('icons/language') ?>
10911eb8581SGreg Roach                    <span class="sr-only"><?= I18N::translate('Languages') ?></span>
11011eb8581SGreg Roach                </th>
111dd6b2bfcSGreg Roach            </tr>
112dd6b2bfcSGreg Roach        </thead>
1130cb66f86SGreg Roach
114dd6b2bfcSGreg Roach        <tbody>
11549a243cbSGreg Roach            <?php foreach ($modules as $module) : ?>
116dd6b2bfcSGreg Roach                <tr>
1170cb66f86SGreg Roach                    <th scope="row" dir="auto">
11849a243cbSGreg Roach                        <?= $module->title() ?>
119dd6b2bfcSGreg Roach                    </th>
12049a243cbSGreg Roach                    <td class="text-center" data-sort="<?= $module->isEnabled() ?>">
121*b6c326d8SGreg Roach                        <?= view('components/checkbox', ['label' => '', 'name' => 'status-' . $module->name(), 'checked' => $module->isEnabled()]) ?>
122dd6b2bfcSGreg Roach                    </td>
1230cb66f86SGreg Roach                    <td>
12449a243cbSGreg Roach                        <?= $module->description() ?>
1259cad7645SGreg Roach                        <?php if ($module instanceof ModuleCustomInterface) : ?>
1261bfef740SGreg Roach                            <?= view('admin/custom-module-info', ['module' => $module]) ?>
127dd6b2bfcSGreg Roach                        <?php endif ?>
1288e5c5efeSGreg Roach                        <?php if ($module instanceof ModuleExternalUrlInterface) : ?>
1291bfef740SGreg Roach                            <?= view('admin/external-module-info', ['module' => $module]) ?>
1308e5c5efeSGreg Roach                        <?php endif ?>
131dd6b2bfcSGreg Roach                    </td>
1320cb66f86SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Preferences') ?>">
1330cb66f86SGreg Roach                        <?php if ($module instanceof ModuleConfigInterface) : ?>
1348d6560c4SGreg Roach                            <?php if ($module->isEnabled()) : ?>
1350cb66f86SGreg Roach                                <a href="<?= e($module->getConfigLink()) ?>" title="<?= I18N::translate('Preferences') ?>">
1360cb66f86SGreg Roach                                    <?= view('icons/preferences') ?>
1370cb66f86SGreg Roach                                    <span class="sr-only">
1380cb66f86SGreg Roach                                        <?= I18N::translate('Preferences') ?>
1390cb66f86SGreg Roach                                    </span>
1400cb66f86SGreg Roach                                </a>
1418d6560c4SGreg Roach                            <?php else : ?>
1428d6560c4SGreg Roach                                <?= view('icons/preferences') ?>
1438d6560c4SGreg Roach                            <?php endif ?>
1440cb66f86SGreg Roach                        <?php endif ?>
1450cb66f86SGreg Roach                    </td>
1460cb66f86SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Menu') ?>">
147dd6b2bfcSGreg Roach                        <?php if ($module instanceof ModuleMenuInterface) : ?>
148dd6b2bfcSGreg Roach                            <?= view('icons/menu') ?>
149dd6b2bfcSGreg Roach                            <span class="sr-only"><?= I18N::translate('Menu') ?></span>
150dd6b2bfcSGreg Roach                        <?php else : ?>
151dd6b2bfcSGreg Roach                            -
152dd6b2bfcSGreg Roach                        <?php endif ?>
153dd6b2bfcSGreg Roach                    </td>
1540cb66f86SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Tab') ?>">
155dd6b2bfcSGreg Roach                        <?php if ($module instanceof ModuleTabInterface) : ?>
156dd6b2bfcSGreg Roach                            <?= view('icons/tab') ?>
157dd6b2bfcSGreg Roach                            <span class="sr-only"><?= I18N::translate('Tab') ?></span>
1580cb66f86SGreg Roach                        <?php else : ?>
1590cb66f86SGreg Roach                            -
160dd6b2bfcSGreg Roach                        <?php endif ?>
1610cb66f86SGreg Roach                    </td>
1620cb66f86SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Sidebar') ?>">
163dd6b2bfcSGreg Roach                        <?php if ($module instanceof ModuleSidebarInterface) : ?>
164dd6b2bfcSGreg Roach                            <?= view('icons/sidebar') ?>
165dd6b2bfcSGreg Roach                            <span class="sr-only"><?= I18N::translate('Sidebar') ?></span>
1660cb66f86SGreg Roach                        <?php else : ?>
1670cb66f86SGreg Roach                            -
168dd6b2bfcSGreg Roach                        <?php endif ?>
1690cb66f86SGreg Roach                    </td>
1700cb66f86SGreg Roach                    <td class="text-center text-muted">
1710cb66f86SGreg Roach                        <?php if ($module instanceof ModuleBlockInterface) : ?>
1720cb66f86SGreg Roach                            <?php if ($module->isUserBlock()) : ?>
1730cb66f86SGreg Roach                                <span title="<?= I18N::translate('My page') ?>">
174dd6b2bfcSGreg Roach                                    <?= view('icons/block-user') ?>
1750cb66f86SGreg Roach                                </span>
1760cb66f86SGreg Roach                                <span class="sr-only">
1770cb66f86SGreg Roach                                    <?= I18N::translate('My page') ?>
1780cb66f86SGreg Roach                                </span>
179dd6b2bfcSGreg Roach                            <?php endif ?>
1800cb66f86SGreg Roach
1810cb66f86SGreg Roach                            <?php if ($module->isTreeBlock()) : ?>
1820cb66f86SGreg Roach                                <span title="<?= I18N::translate('Home page') ?>">
183dd6b2bfcSGreg Roach                                    <?= view('icons/block-tree') ?>
1840cb66f86SGreg Roach                                </span>
1850cb66f86SGreg Roach                                <span class="sr-only">
1860cb66f86SGreg Roach                                    <?= I18N::translate('Home page') ?>
1870cb66f86SGreg Roach                                </span>
188dd6b2bfcSGreg Roach                            <?php endif ?>
1890cb66f86SGreg Roach                        <?php else : ?>
1900cb66f86SGreg Roach                            -
1910cb66f86SGreg Roach                        <?php endif ?>
1920cb66f86SGreg Roach                    </td>
1930cb66f86SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Chart') ?>">
194dd6b2bfcSGreg Roach                        <?php if ($module instanceof ModuleChartInterface) : ?>
195dd6b2bfcSGreg Roach                            <?= view('icons/chart') ?>
196dd6b2bfcSGreg Roach                            <span class="sr-only"><?= I18N::translate('Chart') ?></span>
1970cb66f86SGreg Roach                        <?php else : ?>
1980cb66f86SGreg Roach                            -
199dd6b2bfcSGreg Roach                        <?php endif ?>
2000cb66f86SGreg Roach                    </td>
20167992b6aSRichard Cissee                    <td class="text-center text-muted" title="<?= I18N::translate('List') ?>">
20267992b6aSRichard Cissee                        <?php if ($module instanceof ModuleListInterface) : ?>
20367992b6aSRichard Cissee                            <?= view('icons/list') ?>
20467992b6aSRichard Cissee                            <span class="sr-only"><?= I18N::translate('List') ?></span>
20567992b6aSRichard Cissee                        <?php else : ?>
20667992b6aSRichard Cissee                            -
20767992b6aSRichard Cissee                        <?php endif ?>
20867992b6aSRichard Cissee                    </td>
2090cb66f86SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Report') ?>">
210dd6b2bfcSGreg Roach                        <?php if ($module instanceof ModuleReportInterface) : ?>
211dd6b2bfcSGreg Roach                            <?= view('icons/report') ?>
212dd6b2bfcSGreg Roach                            <span class="sr-only"><?= I18N::translate('Report') ?></span>
2130cb66f86SGreg Roach                        <?php else : ?>
2140cb66f86SGreg Roach                            -
215dd6b2bfcSGreg Roach                        <?php endif ?>
2160cb66f86SGreg Roach                    </td>
21733c34396SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Footer') ?>">
21833c34396SGreg Roach                        <?php if ($module instanceof ModuleFooterInterface) : ?>
21933c34396SGreg Roach                            <?= view('icons/footer') ?>
22033c34396SGreg Roach                            <span class="sr-only"><?= I18N::translate('Footer') ?></span>
22133c34396SGreg Roach                        <?php else : ?>
22233c34396SGreg Roach                            -
22333c34396SGreg Roach                        <?php endif ?>
22433c34396SGreg Roach                    </td>
2259e5cb8c9SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Tracking and analytics') ?>">
2269e5cb8c9SGreg Roach                        <?php if ($module instanceof ModuleAnalyticsInterface) : ?>
2279e5cb8c9SGreg Roach                            <?= view('icons/analytics') ?>
2289e5cb8c9SGreg Roach                            <span class="sr-only"><?= I18N::translate('Tracking and analytics') ?></span>
2299e5cb8c9SGreg Roach                        <?php else : ?>
2309e5cb8c9SGreg Roach                            -
2319e5cb8c9SGreg Roach                        <?php endif ?>
2329e5cb8c9SGreg Roach                    </td>
233f3244202SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Historic events') ?>">
234f3244202SGreg Roach                        <?php if ($module instanceof ModuleHistoricEventsInterface) : ?>
235f3244202SGreg Roach                            <?= view('icons/history') ?>
236f3244202SGreg Roach                            <span class="sr-only"><?= I18N::translate('Historic events') ?></span>
237f3244202SGreg Roach                        <?php else : ?>
238f3244202SGreg Roach                            -
239f3244202SGreg Roach                        <?php endif ?>
240f3244202SGreg Roach                    </td>
24111eb8581SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Theme') ?>">
242dd6b2bfcSGreg Roach                        <?php if ($module instanceof ModuleThemeInterface) : ?>
243dd6b2bfcSGreg Roach                            <?= view('icons/theme') ?>
244dd6b2bfcSGreg Roach                            <span class="sr-only"><?= I18N::translate('Theme') ?></span>
2450cb66f86SGreg Roach                        <?php else : ?>
2460cb66f86SGreg Roach                            -
247dd6b2bfcSGreg Roach                        <?php endif ?>
248dd6b2bfcSGreg Roach                    </td>
24911eb8581SGreg Roach                    <td class="text-center text-muted" title="<?= I18N::translate('Language') ?>">
25011eb8581SGreg Roach                        <?php if ($module instanceof ModuleLanguageInterface) : ?>
25111eb8581SGreg Roach                            <?= view('icons/language') ?>
25211eb8581SGreg Roach                            <span class="sr-only"><?= I18N::translate('Language') ?></span>
25311eb8581SGreg Roach                        <?php else : ?>
25411eb8581SGreg Roach                            -
25511eb8581SGreg Roach                        <?php endif ?>
25611eb8581SGreg Roach                    </td>
257dd6b2bfcSGreg Roach                </tr>
258dd6b2bfcSGreg Roach            <?php endforeach ?>
259dd6b2bfcSGreg Roach        </tbody>
260dd6b2bfcSGreg Roach    </table>
261dd6b2bfcSGreg Roach    <button class="btn btn-primary" type="submit">
262dd6b2bfcSGreg Roach        <?= view('icons/save') ?>
263dd6b2bfcSGreg Roach        <?= I18N::translate('save') ?></button>
264dd6b2bfcSGreg Roach</form>
265dd6b2bfcSGreg Roach
266dd6b2bfcSGreg Roach<?php View::push('javascript') ?>
267dd6b2bfcSGreg Roach<script>
268dd6b2bfcSGreg Roach  'use strict';
269dd6b2bfcSGreg Roach
270*b6c326d8SGreg Roach  $(".table-module-administration").dataTable();
271dd6b2bfcSGreg Roach</script>
272dd6b2bfcSGreg Roach<?php View::endpush() ?>
273