1dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Bootstrap4; ?> 2dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\I18N; ?> 39e5cb8c9SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleAnalyticsInterface; ?> 4dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleBlockInterface; ?> 5dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleChartInterface; ?> 6dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleConfigInterface; ?> 79cad7645SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleCustomInterface; ?> 88e5c5efeSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleExternalUrlInterface; ?> 933c34396SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleFooterInterface; ?> 10f3244202SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleHistoricEventsInterface; ?> 1111eb8581SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleLanguageInterface; ?> 12*67992b6aSRichard Cissee<?php use Fisharebest\Webtrees\Module\ModuleListInterface; ?> 13dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleMenuInterface; ?> 14dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleReportInterface; ?> 15dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleSidebarInterface; ?> 16dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleTabInterface; ?> 17dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleThemeInterface; ?> 18dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\View; ?> 19dd6b2bfcSGreg Roach 20dd6b2bfcSGreg Roach<?= view('components/breadcrumbs', ['links' => [route('admin-control-panel') => I18N::translate('Control panel'), $title]]) ?> 21dd6b2bfcSGreg Roach 22dd6b2bfcSGreg Roach<h1><?= $title ?></h1> 23dd6b2bfcSGreg Roach 24dd6b2bfcSGreg Roach<?php foreach ($deleted_modules as $module_name) : ?> 25dd6b2bfcSGreg Roach <div class="alert alert-warning" role="alert"> 26244d9cdfSGreg Roach <form action="<?= e(route('delete-module-settings')) ?>" class="form-inline" method="POST"> 27dd6b2bfcSGreg Roach <?= csrf_field() ?> 28dd6b2bfcSGreg Roach <input type="hidden" name="module_name" value="<?= $module_name ?>"> 29dd6b2bfcSGreg Roach <?= I18N::translate('Preferences exist for the module “%s”, but this module no longer exists.', $module_name) ?> 3097c22350SGreg Roach <button type="submit" class="btn btn-secondary"> 31dd6b2bfcSGreg Roach <?= I18N::translate('Delete the preferences for this module.') ?> 32dd6b2bfcSGreg Roach </button> 33dd6b2bfcSGreg Roach </form> 34dd6b2bfcSGreg Roach </div> 35dd6b2bfcSGreg Roach<?php endforeach ?> 36dd6b2bfcSGreg Roach 37f70ab68bSGreg Roach<form method="POST"> 38dd6b2bfcSGreg Roach <input type="hidden" name="route" value="admin-update-module-status"> 39dd6b2bfcSGreg Roach <?= csrf_field() ?> 4049d6539eSGreg Roach <table class="table table-bordered table-hover table-sm table-module-administration" data-info="false" data-paging="false" data-state-save="true" data-filter="false"> 41dd6b2bfcSGreg Roach <caption class="sr-only"> 42dd6b2bfcSGreg Roach <?= I18N::translate('Module administration') ?> 43dd6b2bfcSGreg Roach </caption> 44dd6b2bfcSGreg Roach <thead> 45dd6b2bfcSGreg Roach <tr> 46dd6b2bfcSGreg Roach <th> 47dd6b2bfcSGreg Roach <?= I18N::translate('Module') ?> 48dd6b2bfcSGreg Roach </th> 49dd6b2bfcSGreg Roach <th> 50dd6b2bfcSGreg Roach <?= I18N::translate('Enabled') ?> 51dd6b2bfcSGreg Roach </th> 520cb66f86SGreg Roach <th data-orderable="false"> 53dd6b2bfcSGreg Roach <?= I18N::translate('Description') ?> 54dd6b2bfcSGreg Roach </th> 550cb66f86SGreg Roach <th title="<?= I18N::translate('Preferences') ?>"> 560cb66f86SGreg Roach <?= view('icons/preferences') ?> 570cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Preferences') ?></span> 58dd6b2bfcSGreg Roach </th> 590cb66f86SGreg Roach <th title="<?= I18N::translate('Menus') ?>"> 600cb66f86SGreg Roach <?= view('icons/menu') ?> 610cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Menus') ?></span> 62dd6b2bfcSGreg Roach </th> 630cb66f86SGreg Roach <th title="<?= I18N::translate('Tabs') ?>"> 640cb66f86SGreg Roach <?= view('icons/tab') ?> 650cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Tabs') ?></span> 66dd6b2bfcSGreg Roach </th> 670cb66f86SGreg Roach <th title="<?= I18N::translate('Sidebars') ?>"> 680cb66f86SGreg Roach <?= view('icons/sidebar') ?> 690cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Sidebars') ?></span> 70dd6b2bfcSGreg Roach </th> 710cb66f86SGreg Roach <th title="<?= I18N::translate('Blocks') ?>"> 720cb66f86SGreg Roach <?= view('icons/block') ?> 730cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Blocks') ?></span> 74dd6b2bfcSGreg Roach </th> 750cb66f86SGreg Roach <th title="<?= I18N::translate('Charts') ?>"> 760cb66f86SGreg Roach <?= view('icons/chart') ?> 770cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Charts') ?></span> 78dd6b2bfcSGreg Roach </th> 79*67992b6aSRichard Cissee <th title="<?= I18N::translate('Lists') ?>"> 80*67992b6aSRichard Cissee <?= view('icons/list') ?> 81*67992b6aSRichard Cissee <span class="sr-only"><?= I18N::translate('Lists') ?></span> 82*67992b6aSRichard Cissee </th> 830cb66f86SGreg Roach <th title="<?= I18N::translate('Reports') ?>"> 840cb66f86SGreg Roach <?= view('icons/report') ?> 850cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Reports') ?></span> 86dd6b2bfcSGreg Roach </th> 8733c34396SGreg Roach <th title="<?= I18N::translate('Footers') ?>"> 8833c34396SGreg Roach <?= view('icons/footer') ?> 8933c34396SGreg Roach <span class="sr-only"><?= I18N::translate('Footers') ?></span> 9033c34396SGreg Roach </th> 919e5cb8c9SGreg Roach <th title="<?= I18N::translate('Tracking and analytics') ?>"> 929e5cb8c9SGreg Roach <?= view('icons/analytics') ?> 939e5cb8c9SGreg Roach <span class="sr-only"><?= I18N::translate('Tracking and analytics') ?></span> 949e5cb8c9SGreg Roach </th> 95f3244202SGreg Roach <th title="<?= I18N::translate('Historic events') ?>"> 96f3244202SGreg Roach <?= view('icons/history') ?> 97f3244202SGreg Roach <span class="sr-only"><?= I18N::translate('Historic events') ?></span> 98f3244202SGreg Roach </th> 9911eb8581SGreg Roach <th title="<?= I18N::translate('Themes') ?>"> 1000cb66f86SGreg Roach <?= view('icons/theme') ?> 1010cb66f86SGreg Roach <span class="sr-only"><?= I18N::translate('Themes') ?></span> 102dd6b2bfcSGreg Roach </th> 10311eb8581SGreg Roach <th title="<?= I18N::translate('Languages') ?>"> 10411eb8581SGreg Roach <?= view('icons/language') ?> 10511eb8581SGreg Roach <span class="sr-only"><?= I18N::translate('Languages') ?></span> 10611eb8581SGreg Roach </th> 107dd6b2bfcSGreg Roach </tr> 108dd6b2bfcSGreg Roach </thead> 1090cb66f86SGreg Roach 110dd6b2bfcSGreg Roach <tbody> 11149a243cbSGreg Roach <?php foreach ($modules as $module) : ?> 112dd6b2bfcSGreg Roach <tr> 1130cb66f86SGreg Roach <th scope="row" dir="auto"> 11449a243cbSGreg Roach <?= $module->title() ?> 115dd6b2bfcSGreg Roach </th> 11649a243cbSGreg Roach <td class="text-center" data-sort="<?= $module->isEnabled() ?>"> 117677aaceaSGreg Roach <?= Bootstrap4::checkbox('', false, ['name' => 'status-' . $module->name(), 'checked' => $module->isEnabled()]) ?> 118dd6b2bfcSGreg Roach </td> 1190cb66f86SGreg Roach <td> 12049a243cbSGreg Roach <?= $module->description() ?> 1219cad7645SGreg Roach <?php if ($module instanceof ModuleCustomInterface) : ?> 122dd6b2bfcSGreg Roach <br> 123dd6b2bfcSGreg Roach <?= view('icons/warning') ?> 124dd6b2bfcSGreg Roach <?= I18N::translate('Custom module') ?> 125dd6b2bfcSGreg Roach <?php if ($module::CUSTOM_VERSION) : ?> 126dd6b2bfcSGreg Roach - <?= I18N::translate('Version') ?> <?= $module::CUSTOM_VERSION ?> 127dd6b2bfcSGreg Roach <?php endif ?> 128dd6b2bfcSGreg Roach <?php if ($module::CUSTOM_WEBSITE) : ?> 129dd6b2bfcSGreg Roach - <a href="<?= $module::CUSTOM_WEBSITE ?>"> 130dd6b2bfcSGreg Roach <?= $module::CUSTOM_WEBSITE ?> 131dd6b2bfcSGreg Roach </a> 132dd6b2bfcSGreg Roach <?php endif ?> 133dd6b2bfcSGreg Roach <?php endif ?> 1348e5c5efeSGreg Roach <?php if ($module instanceof ModuleExternalUrlInterface) : ?> 1358e5c5efeSGreg Roach <br> 1368e5c5efeSGreg Roach <a href="<?= e($module->externalUrl()) ?>"> 1378e5c5efeSGreg Roach <?= e($module->externalUrl()) ?> 1388e5c5efeSGreg Roach </a> 1398e5c5efeSGreg Roach <?php endif ?> 140dd6b2bfcSGreg Roach </td> 1410cb66f86SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Preferences') ?>"> 1420cb66f86SGreg Roach <?php if ($module instanceof ModuleConfigInterface) : ?> 1430cb66f86SGreg Roach <a href="<?= e($module->getConfigLink()) ?>" title="<?= I18N::translate('Preferences') ?>"> 1440cb66f86SGreg Roach <?= view('icons/preferences') ?> 1450cb66f86SGreg Roach <span class="sr-only"> 1460cb66f86SGreg Roach <?= I18N::translate('Preferences') ?> 1470cb66f86SGreg Roach </span> 1480cb66f86SGreg Roach </a> 1490cb66f86SGreg Roach <?php endif ?> 1500cb66f86SGreg Roach </td> 1510cb66f86SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Menu') ?>"> 152dd6b2bfcSGreg Roach <?php if ($module instanceof ModuleMenuInterface) : ?> 153dd6b2bfcSGreg Roach <?= view('icons/menu') ?> 154dd6b2bfcSGreg Roach <span class="sr-only"><?= I18N::translate('Menu') ?></span> 155dd6b2bfcSGreg Roach <?php else : ?> 156dd6b2bfcSGreg Roach - 157dd6b2bfcSGreg Roach <?php endif ?> 158dd6b2bfcSGreg Roach </td> 1590cb66f86SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Tab') ?>"> 160dd6b2bfcSGreg Roach <?php if ($module instanceof ModuleTabInterface) : ?> 161dd6b2bfcSGreg Roach <?= view('icons/tab') ?> 162dd6b2bfcSGreg Roach <span class="sr-only"><?= I18N::translate('Tab') ?></span> 1630cb66f86SGreg Roach <?php else : ?> 1640cb66f86SGreg Roach - 165dd6b2bfcSGreg Roach <?php endif ?> 1660cb66f86SGreg Roach </td> 1670cb66f86SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Sidebar') ?>"> 168dd6b2bfcSGreg Roach <?php if ($module instanceof ModuleSidebarInterface) : ?> 169dd6b2bfcSGreg Roach <?= view('icons/sidebar') ?> 170dd6b2bfcSGreg Roach <span class="sr-only"><?= I18N::translate('Sidebar') ?></span> 1710cb66f86SGreg Roach <?php else : ?> 1720cb66f86SGreg Roach - 173dd6b2bfcSGreg Roach <?php endif ?> 1740cb66f86SGreg Roach </td> 1750cb66f86SGreg Roach <td class="text-center text-muted"> 1760cb66f86SGreg Roach <?php if ($module instanceof ModuleBlockInterface) : ?> 1770cb66f86SGreg Roach <?php if ($module->isUserBlock()) : ?> 1780cb66f86SGreg Roach <span title="<?= I18N::translate('My page') ?>"> 179dd6b2bfcSGreg Roach <?= view('icons/block-user') ?> 1800cb66f86SGreg Roach </span> 1810cb66f86SGreg Roach <span class="sr-only"> 1820cb66f86SGreg Roach <?= I18N::translate('My page') ?> 1830cb66f86SGreg Roach </span> 184dd6b2bfcSGreg Roach <?php endif ?> 1850cb66f86SGreg Roach 1860cb66f86SGreg Roach <?php if ($module->isTreeBlock()) : ?> 1870cb66f86SGreg Roach <span title="<?= I18N::translate('Home page') ?>"> 188dd6b2bfcSGreg Roach <?= view('icons/block-tree') ?> 1890cb66f86SGreg Roach </span> 1900cb66f86SGreg Roach <span class="sr-only"> 1910cb66f86SGreg Roach <?= I18N::translate('Home page') ?> 1920cb66f86SGreg Roach </span> 193dd6b2bfcSGreg Roach <?php endif ?> 1940cb66f86SGreg Roach <?php else : ?> 1950cb66f86SGreg Roach - 1960cb66f86SGreg Roach <?php endif ?> 1970cb66f86SGreg Roach </td> 1980cb66f86SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Chart') ?>"> 199dd6b2bfcSGreg Roach <?php if ($module instanceof ModuleChartInterface) : ?> 200dd6b2bfcSGreg Roach <?= view('icons/chart') ?> 201dd6b2bfcSGreg Roach <span class="sr-only"><?= I18N::translate('Chart') ?></span> 2020cb66f86SGreg Roach <?php else : ?> 2030cb66f86SGreg Roach - 204dd6b2bfcSGreg Roach <?php endif ?> 2050cb66f86SGreg Roach </td> 206*67992b6aSRichard Cissee <td class="text-center text-muted" title="<?= I18N::translate('List') ?>"> 207*67992b6aSRichard Cissee <?php if ($module instanceof ModuleListInterface) : ?> 208*67992b6aSRichard Cissee <?= view('icons/list') ?> 209*67992b6aSRichard Cissee <span class="sr-only"><?= I18N::translate('List') ?></span> 210*67992b6aSRichard Cissee <?php else : ?> 211*67992b6aSRichard Cissee - 212*67992b6aSRichard Cissee <?php endif ?> 213*67992b6aSRichard Cissee </td> 2140cb66f86SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Report') ?>"> 215dd6b2bfcSGreg Roach <?php if ($module instanceof ModuleReportInterface) : ?> 216dd6b2bfcSGreg Roach <?= view('icons/report') ?> 217dd6b2bfcSGreg Roach <span class="sr-only"><?= I18N::translate('Report') ?></span> 2180cb66f86SGreg Roach <?php else : ?> 2190cb66f86SGreg Roach - 220dd6b2bfcSGreg Roach <?php endif ?> 2210cb66f86SGreg Roach </td> 22233c34396SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Footer') ?>"> 22333c34396SGreg Roach <?php if ($module instanceof ModuleFooterInterface) : ?> 22433c34396SGreg Roach <?= view('icons/footer') ?> 22533c34396SGreg Roach <span class="sr-only"><?= I18N::translate('Footer') ?></span> 22633c34396SGreg Roach <?php else : ?> 22733c34396SGreg Roach - 22833c34396SGreg Roach <?php endif ?> 22933c34396SGreg Roach </td> 2309e5cb8c9SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Tracking and analytics') ?>"> 2319e5cb8c9SGreg Roach <?php if ($module instanceof ModuleAnalyticsInterface) : ?> 2329e5cb8c9SGreg Roach <?= view('icons/analytics') ?> 2339e5cb8c9SGreg Roach <span class="sr-only"><?= I18N::translate('Tracking and analytics') ?></span> 2349e5cb8c9SGreg Roach <?php else : ?> 2359e5cb8c9SGreg Roach - 2369e5cb8c9SGreg Roach <?php endif ?> 2379e5cb8c9SGreg Roach </td> 238f3244202SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Historic events') ?>"> 239f3244202SGreg Roach <?php if ($module instanceof ModuleHistoricEventsInterface) : ?> 240f3244202SGreg Roach <?= view('icons/history') ?> 241f3244202SGreg Roach <span class="sr-only"><?= I18N::translate('Historic events') ?></span> 242f3244202SGreg Roach <?php else : ?> 243f3244202SGreg Roach - 244f3244202SGreg Roach <?php endif ?> 245f3244202SGreg Roach </td> 24611eb8581SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Theme') ?>"> 247dd6b2bfcSGreg Roach <?php if ($module instanceof ModuleThemeInterface) : ?> 248dd6b2bfcSGreg Roach <?= view('icons/theme') ?> 249dd6b2bfcSGreg Roach <span class="sr-only"><?= I18N::translate('Theme') ?></span> 2500cb66f86SGreg Roach <?php else : ?> 2510cb66f86SGreg Roach - 252dd6b2bfcSGreg Roach <?php endif ?> 253dd6b2bfcSGreg Roach </td> 25411eb8581SGreg Roach <td class="text-center text-muted" title="<?= I18N::translate('Language') ?>"> 25511eb8581SGreg Roach <?php if ($module instanceof ModuleLanguageInterface) : ?> 25611eb8581SGreg Roach <?= view('icons/language') ?> 25711eb8581SGreg Roach <span class="sr-only"><?= I18N::translate('Language') ?></span> 25811eb8581SGreg Roach <?php else : ?> 25911eb8581SGreg Roach - 26011eb8581SGreg Roach <?php endif ?> 26111eb8581SGreg Roach </td> 262dd6b2bfcSGreg Roach </tr> 263dd6b2bfcSGreg Roach <?php endforeach ?> 264dd6b2bfcSGreg Roach </tbody> 265dd6b2bfcSGreg Roach </table> 266dd6b2bfcSGreg Roach <button class="btn btn-primary" type="submit"> 267dd6b2bfcSGreg Roach <?= view('icons/save') ?> 268dd6b2bfcSGreg Roach <?= I18N::translate('save') ?></button> 269dd6b2bfcSGreg Roach</form> 270dd6b2bfcSGreg Roach 271dd6b2bfcSGreg Roach<?php View::push('javascript') ?> 272dd6b2bfcSGreg Roach<script> 273dd6b2bfcSGreg Roach 'use strict'; 274dd6b2bfcSGreg Roach 275dd6b2bfcSGreg Roach $(".table-module-administration").dataTable({<?= I18N::datatablesI18N() ?>}); 276dd6b2bfcSGreg Roach</script> 277dd6b2bfcSGreg Roach<?php View::endpush() ?> 278