1beefaa8eSGreg Roach<?php 2beefaa8eSGreg Roach 3beefaa8eSGreg Roachuse Fisharebest\Webtrees\I18N; 4beefaa8eSGreg Roachuse Fisharebest\Webtrees\Module\ModuleConfigInterface; 5beefaa8eSGreg Roachuse Fisharebest\Webtrees\Module\ModuleCustomInterface; 6beefaa8eSGreg Roachuse Fisharebest\Webtrees\Webtrees; 7beefaa8eSGreg Roachuse Illuminate\Support\Collection; 8beefaa8eSGreg Roach 9beefaa8eSGreg Roach/** 10beefaa8eSGreg Roach * @var string $latest_version 11beefaa8eSGreg Roach * @var string $title 12beefaa8eSGreg Roach * @var Collection $server_errors 13beefaa8eSGreg Roach * @var Collection $server_warnings 14beefaa8eSGreg Roach */ 15beefaa8eSGreg Roach 16beefaa8eSGreg Roach?> 17dd6b2bfcSGreg Roach 18dd6b2bfcSGreg Roach<h1><?= $title ?></h1> 19dd6b2bfcSGreg Roach 20dd6b2bfcSGreg Roach<!-- WEBSITE / WEBTREES --> 21dd6b2bfcSGreg Roach<div class="card mb-4"> 22dd6b2bfcSGreg Roach <div class="card-header"> 23dd6b2bfcSGreg Roach <h2 class="mb-0"> 24dd6b2bfcSGreg Roach <?= I18N::translate('Website') ?> 25dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 268d0ebef0SGreg Roach <?= e(Webtrees::VERSION) ?> 27dd6b2bfcSGreg Roach </span> 28dd6b2bfcSGreg Roach </h2> 29dd6b2bfcSGreg Roach </div> 30dd6b2bfcSGreg Roach <div class="card-body"> 31b7059dccSGreg Roach <?php foreach ($server_errors as $server_error) : ?> 32b7059dccSGreg Roach <p class="alert alert-danger"><?= $server_error ?></p> 33b7059dccSGreg Roach <?php endforeach ?> 34b7059dccSGreg Roach 35dd6b2bfcSGreg Roach <?php foreach ($server_warnings as $server_warning) : ?> 36dd6b2bfcSGreg Roach <p class="alert alert-warning"><?= $server_warning ?></p> 37dd6b2bfcSGreg Roach <?php endforeach ?> 38dd6b2bfcSGreg Roach 39dd6b2bfcSGreg Roach <p class="card-text"> 40dd6b2bfcSGreg Roach <?= /* I18N: %s is a URL/link to the project website */ 41dd6b2bfcSGreg Roach I18N::translate('Support and documentation can be found at %s.', '<a href="https://webtrees.net/">webtrees.net</a>') ?> 42dd6b2bfcSGreg Roach </p> 43dd6b2bfcSGreg Roach <p class="card-text "> 44dd6b2bfcSGreg Roach <?php if ($latest_version === '') : ?> 45dd6b2bfcSGreg Roach <?= I18N::translate('No upgrade information is available.') ?> 468d0ebef0SGreg Roach <?php elseif (version_compare(Webtrees::VERSION, $latest_version) < 0) : ?> 47dd6b2bfcSGreg Roach <?= I18N::translate('A new version of webtrees is available.') ?> 48dd6b2bfcSGreg Roach <a href="<?= e(route('upgrade')) ?>" class="error"> 49dd6b2bfcSGreg Roach <?= /* I18N: %s is a version number */ 50dd6b2bfcSGreg Roach I18N::translate('Upgrade to webtrees %s.', e($latest_version)) ?> 51dd6b2bfcSGreg Roach </a> 52dd6b2bfcSGreg Roach <?php else : ?> 53dd6b2bfcSGreg Roach <?= I18N::translate('This is the latest version of webtrees. No upgrade is available.') ?> 54dd6b2bfcSGreg Roach <?php endif ?> 55dd6b2bfcSGreg Roach </p> 56dd6b2bfcSGreg Roach 57dd6b2bfcSGreg Roach <div class="row"> 58dd6b2bfcSGreg Roach <div class="col-sm-6"> 59dd6b2bfcSGreg Roach <ul class="fa-ul"> 60dd6b2bfcSGreg Roach <li> 61dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 62dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-preferences')) ?>"> 63dd6b2bfcSGreg Roach <?= I18N::translate('Website preferences') ?> 64dd6b2bfcSGreg Roach </a> 65dd6b2bfcSGreg Roach </li> 66dd6b2bfcSGreg Roach <li> 67dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 68dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-mail')) ?>"> 69dd6b2bfcSGreg Roach <?= I18N::translate('Sending email') ?> 70dd6b2bfcSGreg Roach </a> 71dd6b2bfcSGreg Roach </li> 72dd6b2bfcSGreg Roach <li> 73dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 74dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-registration')) ?>"> 75dd6b2bfcSGreg Roach <?= I18N::translate('Sign-in and registration') ?> 76dd6b2bfcSGreg Roach </a> 77dd6b2bfcSGreg Roach </li> 78dd6b2bfcSGreg Roach <li> 79dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 80dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-languages')) ?>"> 81dd6b2bfcSGreg Roach <?= I18N::translate('Languages') ?> 82dd6b2bfcSGreg Roach </a> 83dd6b2bfcSGreg Roach </li> 84dd6b2bfcSGreg Roach </ul> 85dd6b2bfcSGreg Roach </div> 86dd6b2bfcSGreg Roach <div class="col-sm-6"> 87dd6b2bfcSGreg Roach <ul class="fa-ul"> 88dd6b2bfcSGreg Roach <li> 89dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 90dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-logs')) ?>"> 91dd6b2bfcSGreg Roach <?= I18N::translate('Website logs') ?> 92dd6b2bfcSGreg Roach </a> 93dd6b2bfcSGreg Roach </li> 94dd6b2bfcSGreg Roach <li> 95dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 96dd6b2bfcSGreg Roach <a href="<?= e(route('admin-clean-data')) ?>"> 97dd6b2bfcSGreg Roach <?= I18N::translate('Clean up data folder') ?> 98dd6b2bfcSGreg Roach </a> 99dd6b2bfcSGreg Roach </li> 100dd6b2bfcSGreg Roach <li> 101dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 102dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-information')) ?>"> 103dd6b2bfcSGreg Roach <?= I18N::translate('Server information') ?> 104dd6b2bfcSGreg Roach </a> 105dd6b2bfcSGreg Roach </li> 106dd6b2bfcSGreg Roach </ul> 107dd6b2bfcSGreg Roach </div> 108dd6b2bfcSGreg Roach </div> 109dd6b2bfcSGreg Roach </div> 110dd6b2bfcSGreg Roach</div> 111dd6b2bfcSGreg Roach 112dd6b2bfcSGreg Roach<!-- FAMILY TREES --> 1134e73f0bdSGreg Roach<div class="card mb-4 <?= array_sum($changes) ? 'card-outline-danger' : '' ?>"> 114dd6b2bfcSGreg Roach <div class="card-header"> 115dd6b2bfcSGreg Roach <h2 class="mb-0"> 116dd6b2bfcSGreg Roach <?= I18N::translate('Family trees') ?> 117dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 118dd6b2bfcSGreg Roach <?= I18N::number(count($all_trees)) ?> 119dd6b2bfcSGreg Roach </span> 120dd6b2bfcSGreg Roach </h2> 121dd6b2bfcSGreg Roach </div> 122dd6b2bfcSGreg Roach <div class="card-body"> 123dd6b2bfcSGreg Roach <table class="table table-sm"> 124dd6b2bfcSGreg Roach <caption class="sr-only"> 125dd6b2bfcSGreg Roach <?= I18N::translate('Family trees') ?> 126dd6b2bfcSGreg Roach </caption> 127dd6b2bfcSGreg Roach <thead> 128dd6b2bfcSGreg Roach <tr> 129dd6b2bfcSGreg Roach <th><?= I18N::translate('Family tree') ?></th> 130beefaa8eSGreg Roach <th> 131beefaa8eSGreg Roach <span class="sr-only"><?= I18N::translate('Manage family trees') ?></span> 132beefaa8eSGreg Roach </th> 133dd6b2bfcSGreg Roach <th class="text-right"><?= I18N::translate('Pending changes') ?></th> 134dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Individuals') ?></th> 135dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Families') ?></th> 136dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Sources') ?></th> 137dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Repositories') ?></th> 138dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Media') ?></th> 139dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Notes') ?></th> 140dd6b2bfcSGreg Roach </tr> 141dd6b2bfcSGreg Roach </thead> 142dd6b2bfcSGreg Roach <tbody> 143dd6b2bfcSGreg Roach <?= view('admin/control-panel-tree-list', [ 144dd6b2bfcSGreg Roach 'all_trees' => $all_trees, 145dd6b2bfcSGreg Roach 'changes' => $changes, 146dd6b2bfcSGreg Roach 'families' => $families, 147376123c4SGreg Roach 'individuals' => $individuals, 148dd6b2bfcSGreg Roach 'media' => $media, 149dd6b2bfcSGreg Roach 'notes' => $notes, 150376123c4SGreg Roach 'repositories' => $repositories, 151376123c4SGreg Roach 'sources' => $sources, 152376123c4SGreg Roach 'family_list_module' => $family_list_module, 153376123c4SGreg Roach 'individual_list_module' => $individual_list_module, 154376123c4SGreg Roach 'media_list_module' => $media_list_module, 155376123c4SGreg Roach 'note_list_module' => $note_list_module, 156376123c4SGreg Roach 'repository_list_module' => $repository_list_module, 157376123c4SGreg Roach 'source_list_module' => $source_list_module, 158dd6b2bfcSGreg Roach ]); ?> 159dd6b2bfcSGreg Roach </tbody> 160dd6b2bfcSGreg Roach <tfoot> 161dd6b2bfcSGreg Roach <tr> 162dd6b2bfcSGreg Roach <th scope="row"> 163dd6b2bfcSGreg Roach <?= I18N::translate('Total') ?> 164dd6b2bfcSGreg Roach </th> 165dd6b2bfcSGreg Roach <td></td> 166dd6b2bfcSGreg Roach <td class="text-right"> 167dd6b2bfcSGreg Roach <?= I18N::number(array_sum($changes)) ?> 168dd6b2bfcSGreg Roach </td> 169dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1702078eafaSGreg Roach <?= I18N::number($individuals->sum()) ?> 171dd6b2bfcSGreg Roach </td> 172dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1732078eafaSGreg Roach <?= I18N::number($families->sum()) ?> 174dd6b2bfcSGreg Roach </td> 175dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1762078eafaSGreg Roach <?= I18N::number($sources->sum()) ?> 177dd6b2bfcSGreg Roach </td> 178dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1792078eafaSGreg Roach <?= I18N::number($repositories->sum()) ?> 180dd6b2bfcSGreg Roach </td> 181dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1822078eafaSGreg Roach <?= I18N::number($media->sum()) ?> 183dd6b2bfcSGreg Roach </td> 184dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1852078eafaSGreg Roach <?= I18N::number($notes->sum()) ?> 186dd6b2bfcSGreg Roach </td> 187dd6b2bfcSGreg Roach </tr> 188dd6b2bfcSGreg Roach </tfoot> 189dd6b2bfcSGreg Roach </table> 190dd6b2bfcSGreg Roach 191dd6b2bfcSGreg Roach <ul class="fa-ul"> 192dd6b2bfcSGreg Roach <li> 193dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 194bf57b580SGreg Roach <a href="<?= e(route('admin-trees')) ?>"> 195dd6b2bfcSGreg Roach <?= I18N::translate('Manage family trees') ?> 196dd6b2bfcSGreg Roach </a> 197dd6b2bfcSGreg Roach </li> 198dd6b2bfcSGreg Roach <li> 199dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 200dd6b2bfcSGreg Roach <a href="<?= e(route('tree-page-default-edit')) ?>"> 201dd6b2bfcSGreg Roach <?= I18N::translate('Set the default blocks for new family trees') ?> 202dd6b2bfcSGreg Roach </a> 203dd6b2bfcSGreg Roach </li> 204dd6b2bfcSGreg Roach <?php if (count($all_trees) > 1) : ?> 205dd6b2bfcSGreg Roach <li> 206dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 207dd6b2bfcSGreg Roach <a href="<?= e(route('admin-trees-merge')) ?>"> 208dd6b2bfcSGreg Roach <?= I18N::translate('Merge family trees') ?> 209dd6b2bfcSGreg Roach </a> 210dd6b2bfcSGreg Roach </li> 211dd6b2bfcSGreg Roach <?php endif ?> 212dd6b2bfcSGreg Roach </ul> 213dd6b2bfcSGreg Roach </div> 214dd6b2bfcSGreg Roach</div> 215dd6b2bfcSGreg Roach 216dd6b2bfcSGreg Roach<!-- USERS --> 217dd6b2bfcSGreg Roach<div class="card mb-4 <?= $unapproved || $unverified ? 'card-outline-danger' : '' ?>"> 218dd6b2bfcSGreg Roach <div class="card-header"> 219dd6b2bfcSGreg Roach <h2 class="mb-0"> 220dd6b2bfcSGreg Roach <?= I18N::translate('Users') ?> 221dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 222dd6b2bfcSGreg Roach <?= I18N::number(count($all_users)) ?> 223dd6b2bfcSGreg Roach </span> 224dd6b2bfcSGreg Roach </h2> 225dd6b2bfcSGreg Roach </div> 226dd6b2bfcSGreg Roach <div class="card-body"> 227dd6b2bfcSGreg Roach <dl class="row"> 228dd6b2bfcSGreg Roach <?php foreach ([I18N::translate('Administrators') => $administrators, I18N::translate('Managers') => $managers, I18N::translate('Moderators') => $moderators, I18N::translate('Not verified by the user') => $unverified, I18N::translate('Not approved by an administrator') => $unapproved] as $label => $list) : ?> 229dd6b2bfcSGreg Roach <?php if (!empty($list)) : ?> 230dd6b2bfcSGreg Roach <dt class="col-sm-3"> 231dd6b2bfcSGreg Roach <?= $label ?> 232dd6b2bfcSGreg Roach </dt> 233dd6b2bfcSGreg Roach <dd class="col-sm-9"> 234dd6b2bfcSGreg Roach <?php foreach ($list as $n => $user) : ?> 235dd6b2bfcSGreg Roach <?= $n ? I18N::$list_separator : '' ?> 236895230eeSGreg Roach <a href="<?= e(route('admin-users-edit', ['user_id' => $user->id()])) ?>" dir="auto"> 237e5a6b4d4SGreg Roach <?= e($user->realName()) ?> 238dd6b2bfcSGreg Roach </a> 239dd6b2bfcSGreg Roach <?php endforeach ?> 240dd6b2bfcSGreg Roach </dd> 241dd6b2bfcSGreg Roach <?php endif ?> 242dd6b2bfcSGreg Roach <?php endforeach ?> 243dd6b2bfcSGreg Roach </dl> 244dd6b2bfcSGreg Roach 245dd6b2bfcSGreg Roach <div class="row"> 246dd6b2bfcSGreg Roach <div class="col-sm-6"> 247dd6b2bfcSGreg Roach <ul class="fa-ul"> 248dd6b2bfcSGreg Roach <li> 249dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 250bf57b580SGreg Roach <a href="<?= e(route('admin-users')) ?>"> 251dd6b2bfcSGreg Roach <?= I18N::translate('User administration') ?> 252dd6b2bfcSGreg Roach </a> 253dd6b2bfcSGreg Roach </li> 254dd6b2bfcSGreg Roach <li> 255dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 256bf57b580SGreg Roach <a href="<?= e(route('admin-users-create')) ?>"> 257dd6b2bfcSGreg Roach <?= I18N::translate('Add a user') ?> 258dd6b2bfcSGreg Roach </a> 259dd6b2bfcSGreg Roach </li> 260dd6b2bfcSGreg Roach <li> 261dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 262dd6b2bfcSGreg Roach <a href="<?= e(route('admin-users-cleanup')) ?>"> 263dd6b2bfcSGreg Roach <?= I18N::translate('Delete inactive users') ?> 264dd6b2bfcSGreg Roach </a> 265dd6b2bfcSGreg Roach </li> 266dd6b2bfcSGreg Roach <li> 267dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 268dd6b2bfcSGreg Roach <a href="<?= e(route('user-page-default-edit')) ?>"> 269dd6b2bfcSGreg Roach <?= I18N::translate('Set the default blocks for new users') ?> 270dd6b2bfcSGreg Roach </a> 271dd6b2bfcSGreg Roach </li> 272dd6b2bfcSGreg Roach </ul> 273dd6b2bfcSGreg Roach </div> 274dd6b2bfcSGreg Roach <div class="col-sm-6"> 275dd6b2bfcSGreg Roach <ul class="fa-ul"> 276dd6b2bfcSGreg Roach <li> 277dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 278dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'all'])) ?>"> 279dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to all users') ?> 280dd6b2bfcSGreg Roach </a> 281dd6b2bfcSGreg Roach </li> 282dd6b2bfcSGreg Roach <li> 283dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 284dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'never_logged'])) ?>"> 285dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to users who have never signed in') ?> 286dd6b2bfcSGreg Roach </a> 287dd6b2bfcSGreg Roach </li> 288dd6b2bfcSGreg Roach <li> 289dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 290dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'last_6mo'])) ?>"> 291dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to users who have not signed in for 6 months') ?> 292dd6b2bfcSGreg Roach </a> 293dd6b2bfcSGreg Roach </li> 294dd6b2bfcSGreg Roach </ul> 295dd6b2bfcSGreg Roach </div> 296dd6b2bfcSGreg Roach </div> 297dd6b2bfcSGreg Roach </div> 298dd6b2bfcSGreg Roach</div> 299dd6b2bfcSGreg Roach 300dd6b2bfcSGreg Roach<!-- MODULES --> 301dd6b2bfcSGreg Roach<div class="card mb-4"> 302dd6b2bfcSGreg Roach <div class="card-header"> 303dd6b2bfcSGreg Roach <h2 class="mb-0"> 304dd6b2bfcSGreg Roach <?= I18N::translate('Modules') ?> 3059d627a9eSGreg Roach <?= view('components/badge', ['count' => $all_modules_enabled->count(), 'total' => $all_modules_disabled->count(), 'context' => 'secondary']) ?> 306dd6b2bfcSGreg Roach </h2> 307dd6b2bfcSGreg Roach </div> 3080cb66f86SGreg Roach 309dd6b2bfcSGreg Roach <div class="card-body"> 3100cb66f86SGreg Roach <ul class="fa-ul"> 3110cb66f86SGreg Roach <li> 3129d627a9eSGreg Roach <span class="fa-li"><?= view('icons/module') ?></span> 3130cb66f86SGreg Roach <a href="<?= e(route('modules')) ?>"> 3149d627a9eSGreg Roach <?= I18N::translate('All modules') ?> 3150cb66f86SGreg Roach </a> 3169d627a9eSGreg Roach <?= view('components/badge', ['count' => $all_modules_enabled->count(), 'total' => $all_modules_disabled->count(), 'context' => 'primary']) ?> 3170cb66f86SGreg Roach </li> 3180cb66f86SGreg Roach </ul> 3190cb66f86SGreg Roach 320dd6b2bfcSGreg Roach <div class="row"> 321abafa13cSGreg Roach <div class="col-sm-4"> 3229d627a9eSGreg Roach <h3> 3239d627a9eSGreg Roach <?= I18N::translate('Genealogy') ?> 3249d627a9eSGreg Roach </h3> 32509fbf3e5SGreg Roach 326dd6b2bfcSGreg Roach <ul class="fa-ul"> 327dd6b2bfcSGreg Roach <li> 328dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/menu') ?></span> 3290cb66f86SGreg Roach <a href="<?= e(route('menus')) ?>"> 330dd6b2bfcSGreg Roach <?= I18N::translate('Menus') ?> 331dd6b2bfcSGreg Roach </a> 3329d627a9eSGreg Roach <?= view('components/badge', ['count' => $menu_modules_enabled->count(), 'total' => $menu_modules_disabled->count(), 'context' => 'primary']) ?> 333dd6b2bfcSGreg Roach </li> 334dd6b2bfcSGreg Roach <li> 335dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/chart') ?></span> 3360cb66f86SGreg Roach <a href="<?= e(route('charts')) ?>"> 337dd6b2bfcSGreg Roach <?= I18N::translate('Charts') ?> 338dd6b2bfcSGreg Roach </a> 3399d627a9eSGreg Roach <?= view('components/badge', ['count' => $chart_modules_enabled->count(), 'total' => $chart_modules_disabled->count(), 'context' => 'primary']) ?> 340dd6b2bfcSGreg Roach </li> 341dd6b2bfcSGreg Roach <li> 34267992b6aSRichard Cissee <span class="fa-li"><?= view('icons/list') ?></span> 34367992b6aSRichard Cissee <a href="<?= e(route('lists')) ?>"> 34467992b6aSRichard Cissee <?= I18N::translate('Lists') ?> 34567992b6aSRichard Cissee </a> 3469d627a9eSGreg Roach <?= view('components/badge', ['count' => $list_modules_enabled->count(), 'total' => $list_modules_disabled->count(), 'context' => 'primary']) ?> 34767992b6aSRichard Cissee </li> 34867992b6aSRichard Cissee <li> 349dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/report') ?></span> 3500cb66f86SGreg Roach <a href="<?= e(route('reports')) ?>"> 351dd6b2bfcSGreg Roach <?= I18N::translate('Reports') ?> 352dd6b2bfcSGreg Roach </a> 3539d627a9eSGreg Roach <?= view('components/badge', ['count' => $report_modules_enabled->count(), 'total' => $report_modules_disabled->count(), 'context' => 'primary']) ?> 354dd6b2bfcSGreg Roach </li> 3559d627a9eSGreg Roach </ul> 35609fbf3e5SGreg Roach 3579d627a9eSGreg Roach <h3> 3589d627a9eSGreg Roach <?= I18N::translate('Website') ?> 3599d627a9eSGreg Roach </h3> 36009fbf3e5SGreg Roach 3619d627a9eSGreg Roach <ul class="fa-ul"> 36233c34396SGreg Roach <li> 36333c34396SGreg Roach <span class="fa-li"><?= view('icons/footer') ?></span> 36433c34396SGreg Roach <a href="<?= e(route('footers')) ?>"> 36533c34396SGreg Roach <?= I18N::translate('Footers') ?> 36633c34396SGreg Roach </a> 3679d627a9eSGreg Roach <?= view('components/badge', ['count' => $footer_modules_enabled->count(), 'total' => $footer_modules_disabled->count(), 'context' => 'primary']) ?> 3688e5c5efeSGreg Roach </li> 3698e5c5efeSGreg Roach <li> 3708e5c5efeSGreg Roach <span class="fa-li"><?= view('icons/analytics') ?></span> 3718e5c5efeSGreg Roach <a href="<?= e(route('analytics')) ?>"> 3728e5c5efeSGreg Roach <?= I18N::translate('Tracking and analytics') ?> 3738e5c5efeSGreg Roach </a> 3749d627a9eSGreg Roach <?= view('components/badge', ['count' => $analytics_modules_enabled->count(), 'total' => $analytics_modules_disabled->count(), 'context' => 'primary']) ?> 37533c34396SGreg Roach </li> 37611eb8581SGreg Roach <li> 37711eb8581SGreg Roach <span class="fa-li"><?= view('icons/theme') ?></span> 37811eb8581SGreg Roach <a href="<?= e(route('themes')) ?>"> 37911eb8581SGreg Roach <?= I18N::translate('Themes') ?> 38011eb8581SGreg Roach </a> 3819d627a9eSGreg Roach <?= view('components/badge', ['count' => $theme_modules_enabled->count(), 'total' => $theme_modules_disabled->count(), 'context' => 'primary']) ?> 38211eb8581SGreg Roach </li> 38311eb8581SGreg Roach <li> 38411eb8581SGreg Roach <span class="fa-li"><?= view('icons/language') ?></span> 38511eb8581SGreg Roach <a href="<?= e(route('languages')) ?>"> 38611eb8581SGreg Roach <?= I18N::translate('Languages') ?> 38711eb8581SGreg Roach </a> 3889d627a9eSGreg Roach <?= view('components/badge', ['count' => $language_modules_enabled->count(), 'total' => $language_modules_disabled->count(), 'context' => 'primary']) ?> 38911eb8581SGreg Roach </li> 390dd6b2bfcSGreg Roach </ul> 39109fbf3e5SGreg Roach 392abafa13cSGreg Roach </div> 393abafa13cSGreg Roach 394abafa13cSGreg Roach <div class="col-sm-4"> 395abafa13cSGreg Roach 39609fbf3e5SGreg Roach <h3> 39709fbf3e5SGreg Roach <?= I18N::translate('Home page') ?> 39809fbf3e5SGreg Roach </h3> 39909fbf3e5SGreg Roach 40009fbf3e5SGreg Roach <ul class="fa-ul"> 40109fbf3e5SGreg Roach <li> 40209fbf3e5SGreg Roach <span class="fa-li"><?= view('icons/block') ?></span> 40309fbf3e5SGreg Roach <a href="<?= e(route('blocks')) ?>"> 40409fbf3e5SGreg Roach <?= I18N::translate('Blocks') ?> 40509fbf3e5SGreg Roach </a> 40609fbf3e5SGreg Roach <?= view('components/badge', ['count' => $block_modules_enabled->count(), 'total' => $block_modules_disabled->count(), 'context' => 'primary']) ?> 40709fbf3e5SGreg Roach </li> 40809fbf3e5SGreg Roach </ul> 40909fbf3e5SGreg Roach 4109d627a9eSGreg Roach <h3> 4119d627a9eSGreg Roach <?= I18N::translate('Individual page') ?> 4129d627a9eSGreg Roach </h3> 41309fbf3e5SGreg Roach 4149d627a9eSGreg Roach <ul class="fa-ul"> 4159d627a9eSGreg Roach <li> 4169d627a9eSGreg Roach <span class="fa-li"><?= view('icons/tab') ?></span> 4179d627a9eSGreg Roach <a href="<?= e(route('tabs')) ?>"> 4189d627a9eSGreg Roach <?= I18N::translate('Tabs') ?> 4199d627a9eSGreg Roach <?= view('components/badge', ['count' => $tab_modules_enabled->count(), 'total' => $tab_modules_disabled->count(), 'context' => 'primary']) ?> 4209d627a9eSGreg Roach </a> 4219d627a9eSGreg Roach </li> 4229d627a9eSGreg Roach <li> 4239d627a9eSGreg Roach <span class="fa-li"><?= view('icons/sidebar') ?></span> 4249d627a9eSGreg Roach <a href="<?= e(route('sidebars')) ?>"> 4259d627a9eSGreg Roach <?= I18N::translate('Sidebars') ?> 4269d627a9eSGreg Roach </a> 4279d627a9eSGreg Roach <?= view('components/badge', ['count' => $sidebar_modules_enabled->count(), 'total' => $sidebar_modules_disabled->count(), 'context' => 'primary']) ?> 4289d627a9eSGreg Roach </li> 4299d627a9eSGreg Roach <li> 4309d627a9eSGreg Roach <span class="fa-li"><?= view('icons/history') ?></span> 4319d627a9eSGreg Roach <a href="<?= e(route('history')) ?>"> 4329d627a9eSGreg Roach <?= I18N::translate('Historic events') ?> 4339d627a9eSGreg Roach </a> 4349d627a9eSGreg Roach <?= view('components/badge', ['count' => $history_modules_enabled->count(), 'total' => $history_modules_disabled->count(), 'context' => 'primary']) ?> 4359d627a9eSGreg Roach </li> 4369d627a9eSGreg Roach </ul> 43709fbf3e5SGreg Roach 438abafa13cSGreg Roach </div> 439abafa13cSGreg Roach 440abafa13cSGreg Roach <div class="col-sm-4"> 441abafa13cSGreg Roach 4429d627a9eSGreg Roach <h3> 4439d627a9eSGreg Roach <?= I18N::translate('Other') ?> 4449d627a9eSGreg Roach </h3> 44509fbf3e5SGreg Roach 446dd6b2bfcSGreg Roach <ul class="fa-ul"> 44709fbf3e5SGreg Roach <?php foreach ($other_modules as $module) : ?> 448dd6b2bfcSGreg Roach <li> 44909fbf3e5SGreg Roach <span class="fa-li"><?= view('icons/module') ?></span> 450*8d6560c4SGreg Roach 451*8d6560c4SGreg Roach <?php if ($module->isEnabled()): ?> 452*8d6560c4SGreg Roach <?php if ($module instanceof ModuleConfigInterface): ?> 453dd6b2bfcSGreg Roach <a href="<?= e($module->getConfigLink()) ?>"> 45449a243cbSGreg Roach <?= $module->title() ?> 45509fbf3e5SGreg Roach <span class="fa"><?= view('icons/preferences') ?></span> 456dd6b2bfcSGreg Roach </a> 45709fbf3e5SGreg Roach <?php else : ?> 458*8d6560c4SGreg Roach <?= $module->title() ?> 45909fbf3e5SGreg Roach <?php endif ?> 460*8d6560c4SGreg Roach <?php else : ?> 461*8d6560c4SGreg Roach <span class="text-muted"> 462*8d6560c4SGreg Roach <span class="fa-li"><?= view('icons/module') ?></span> 463*8d6560c4SGreg Roach <?= $module->title() ?> 464*8d6560c4SGreg Roach <?php if ($module instanceof ModuleConfigInterface): ?> 465*8d6560c4SGreg Roach <span class="fa"><?= view('icons/preferences') ?></span> 466*8d6560c4SGreg Roach <?php endif ?> 467*8d6560c4SGreg Roach </span> 468*8d6560c4SGreg Roach </span> 469*8d6560c4SGreg Roach <?php endif ?> 470*8d6560c4SGreg Roach 471beefaa8eSGreg Roach <?php if ($module instanceof ModuleCustomInterface): ?> 472beefaa8eSGreg Roach <?= view('admin/custom-module-info', ['module' => $module]) ?> 473beefaa8eSGreg Roach <?php endif ?> 474dd6b2bfcSGreg Roach </li> 475dd6b2bfcSGreg Roach <?php endforeach ?> 476dd6b2bfcSGreg Roach </ul> 477dd6b2bfcSGreg Roach </div> 478dd6b2bfcSGreg Roach </div> 479dd6b2bfcSGreg Roach </div> 480dd6b2bfcSGreg Roach</div> 481dd6b2bfcSGreg Roach 482dd6b2bfcSGreg Roach<!-- MEDIA --> 483dd6b2bfcSGreg Roach<div class="card mb-4"> 484dd6b2bfcSGreg Roach <div class="card-header"> 485dd6b2bfcSGreg Roach <h2 class="mb-0"> 486dd6b2bfcSGreg Roach <?= I18N::translate('Media') ?> 487dd6b2bfcSGreg Roach </h2> 488dd6b2bfcSGreg Roach </div> 489dd6b2bfcSGreg Roach <div class="card-body"> 490dd6b2bfcSGreg Roach <ul class="fa-ul"> 491dd6b2bfcSGreg Roach <li> 492dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 493dd6b2bfcSGreg Roach <a href="<?= e(route('admin-media')) ?>"> 494dd6b2bfcSGreg Roach <?= I18N::translate('Manage media') ?> 495dd6b2bfcSGreg Roach </a> 496dd6b2bfcSGreg Roach </li> 497dd6b2bfcSGreg Roach <li> 498dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 499dd6b2bfcSGreg Roach <a href="<?= e(route('admin-media-upload')) ?>"> 500dd6b2bfcSGreg Roach <?= I18N::translate('Upload media files') ?> 501dd6b2bfcSGreg Roach </a> 502dd6b2bfcSGreg Roach </li> 503dd6b2bfcSGreg Roach <li> 504dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 505dd6b2bfcSGreg Roach <a href="<?= e(route('admin-fix-level-0-media')) ?>"> 506dd6b2bfcSGreg Roach <?= I18N::translate('Link media objects to facts and events') ?> 507dd6b2bfcSGreg Roach </a> 508dd6b2bfcSGreg Roach </li> 509dd6b2bfcSGreg Roach <li> 510dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 511dd6b2bfcSGreg Roach <a href="<?= e(route('admin-webtrees1-thumbs')) ?>"> 512dd6b2bfcSGreg Roach <?= I18N::translate('Import custom thumbnails from webtrees version 1') ?> 513dd6b2bfcSGreg Roach </a> 514dd6b2bfcSGreg Roach </li> 515dd6b2bfcSGreg Roach </ul> 516dd6b2bfcSGreg Roach </div> 517dd6b2bfcSGreg Roach</div> 518dd6b2bfcSGreg Roach 519dd6b2bfcSGreg Roach<!-- MAPS --> 520dd6b2bfcSGreg Roach<div class="card mb-4"> 521dd6b2bfcSGreg Roach <div class="card-header"> 522dd6b2bfcSGreg Roach <h2 class="mb-0"> 523dd6b2bfcSGreg Roach <?= I18N::translate('Map') ?> 524dd6b2bfcSGreg Roach </h2> 525dd6b2bfcSGreg Roach </div> 526dd6b2bfcSGreg Roach <div class="card-body"> 527dd6b2bfcSGreg Roach <div class="row"> 528dd6b2bfcSGreg Roach <div class="col-sm-6"> 529dd6b2bfcSGreg Roach <ul class="fa-ul"> 530dd6b2bfcSGreg Roach <li> 531dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/location') ?></span> 532dd6b2bfcSGreg Roach <a href="<?= e(route('map-data')) ?>"> 533dd6b2bfcSGreg Roach <?= I18N::translate('Geographic data') ?> 534dd6b2bfcSGreg Roach </a> 535dd6b2bfcSGreg Roach </li> 536dd6b2bfcSGreg Roach </ul> 537dd6b2bfcSGreg Roach </div> 538dd6b2bfcSGreg Roach <div class="col-sm-6"> 539dd6b2bfcSGreg Roach <ul class="fa-ul"> 540dd6b2bfcSGreg Roach <li> 541dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/map') ?></span> 542dd6b2bfcSGreg Roach <a href="<?= e(route('map-provider')) ?>"> 543dd6b2bfcSGreg Roach <?= I18N::translate('Map provider') ?> 544dd6b2bfcSGreg Roach </a> 545dd6b2bfcSGreg Roach </li> 546dd6b2bfcSGreg Roach </ul> 547dd6b2bfcSGreg Roach </div> 548dd6b2bfcSGreg Roach </div> 549dd6b2bfcSGreg Roach </div> 550dd6b2bfcSGreg Roach</div> 551dd6b2bfcSGreg Roach 552dd6b2bfcSGreg Roach<!-- OLD FILES --> 553dd6b2bfcSGreg Roach<?php if (!empty($files_to_delete)) : ?> 554dd6b2bfcSGreg Roach <div class="card mb-4 card-outline-danger"> 555dd6b2bfcSGreg Roach <div class="card-header"> 556dd6b2bfcSGreg Roach <h2 class="mb-0"> 557dd6b2bfcSGreg Roach <?= I18N::translate('Old files found') ?> 558dd6b2bfcSGreg Roach </h2> 559dd6b2bfcSGreg Roach </div> 560dd6b2bfcSGreg Roach <div class="card-body"> 561dd6b2bfcSGreg Roach <p> 562dd6b2bfcSGreg Roach <?= I18N::translate('Files have been found from a previous version of webtrees. Old files can sometimes be a security risk. You should delete them.') ?> 563dd6b2bfcSGreg Roach </p> 564dd6b2bfcSGreg Roach <ul class="list-unstyled"> 565dd6b2bfcSGreg Roach <?php foreach ($files_to_delete as $file_to_delete) : ?> 566beefaa8eSGreg Roach <li dir="ltr"> 567beefaa8eSGreg Roach <code><?= e($file_to_delete) ?></code> 568beefaa8eSGreg Roach </li> 569dd6b2bfcSGreg Roach <?php endforeach ?> 570dd6b2bfcSGreg Roach </ul> 571dd6b2bfcSGreg Roach </div> 572dd6b2bfcSGreg Roach </div> 573dd6b2bfcSGreg Roach<?php endif ?> 574