1dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\I18N; ?> 2*09fbf3e5SGreg Roach<?php use Fisharebest\Webtrees\Module\ModuleConfigInterface; 3*09fbf3e5SGreg Roachuse Fisharebest\Webtrees\Webtrees; ?> 4dd6b2bfcSGreg Roach 5dd6b2bfcSGreg Roach<h1><?= $title ?></h1> 6dd6b2bfcSGreg Roach 7dd6b2bfcSGreg Roach<!-- WEBSITE / WEBTREES --> 8dd6b2bfcSGreg Roach<div class="card mb-4"> 9dd6b2bfcSGreg Roach <div class="card-header"> 10dd6b2bfcSGreg Roach <h2 class="mb-0"> 11dd6b2bfcSGreg Roach <?= I18N::translate('Website') ?> 12dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 138d0ebef0SGreg Roach <?= e(Webtrees::VERSION) ?> 14dd6b2bfcSGreg Roach </span> 15dd6b2bfcSGreg Roach </h2> 16dd6b2bfcSGreg Roach </div> 17dd6b2bfcSGreg Roach <div class="card-body"> 18b7059dccSGreg Roach <?php foreach ($server_errors as $server_error) : ?> 19b7059dccSGreg Roach <p class="alert alert-danger"><?= $server_error ?></p> 20b7059dccSGreg Roach <?php endforeach ?> 21b7059dccSGreg Roach 22dd6b2bfcSGreg Roach <?php foreach ($server_warnings as $server_warning) : ?> 23dd6b2bfcSGreg Roach <p class="alert alert-warning"><?= $server_warning ?></p> 24dd6b2bfcSGreg Roach <?php endforeach ?> 25dd6b2bfcSGreg Roach 26dd6b2bfcSGreg Roach <p class="card-text"> 27dd6b2bfcSGreg Roach <?= /* I18N: %s is a URL/link to the project website */ 28dd6b2bfcSGreg Roach I18N::translate('Support and documentation can be found at %s.', '<a href="https://webtrees.net/">webtrees.net</a>') ?> 29dd6b2bfcSGreg Roach </p> 30dd6b2bfcSGreg Roach <p class="card-text "> 31dd6b2bfcSGreg Roach <?php if ($latest_version === '') : ?> 32dd6b2bfcSGreg Roach <?= I18N::translate('No upgrade information is available.') ?> 338d0ebef0SGreg Roach <?php elseif (version_compare(Webtrees::VERSION, $latest_version) < 0) : ?> 34dd6b2bfcSGreg Roach <?= I18N::translate('A new version of webtrees is available.') ?> 35dd6b2bfcSGreg Roach <a href="<?= e(route('upgrade')) ?>" class="error"> 36dd6b2bfcSGreg Roach <?= /* I18N: %s is a version number */ 37dd6b2bfcSGreg Roach I18N::translate('Upgrade to webtrees %s.', e($latest_version)) ?> 38dd6b2bfcSGreg Roach </a> 39dd6b2bfcSGreg Roach <?php else : ?> 40dd6b2bfcSGreg Roach <?= I18N::translate('This is the latest version of webtrees. No upgrade is available.') ?> 41dd6b2bfcSGreg Roach <?php endif ?> 42dd6b2bfcSGreg Roach </p> 43dd6b2bfcSGreg Roach 44dd6b2bfcSGreg Roach <div class="row"> 45dd6b2bfcSGreg Roach <div class="col-sm-6"> 46dd6b2bfcSGreg Roach <ul class="fa-ul"> 47dd6b2bfcSGreg Roach <li> 48dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 49dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-preferences')) ?>"> 50dd6b2bfcSGreg Roach <?= I18N::translate('Website preferences') ?> 51dd6b2bfcSGreg Roach </a> 52dd6b2bfcSGreg Roach </li> 53dd6b2bfcSGreg Roach <li> 54dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 55dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-mail')) ?>"> 56dd6b2bfcSGreg Roach <?= I18N::translate('Sending email') ?> 57dd6b2bfcSGreg Roach </a> 58dd6b2bfcSGreg Roach </li> 59dd6b2bfcSGreg Roach <li> 60dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 61dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-registration')) ?>"> 62dd6b2bfcSGreg Roach <?= I18N::translate('Sign-in and registration') ?> 63dd6b2bfcSGreg Roach </a> 64dd6b2bfcSGreg Roach </li> 65dd6b2bfcSGreg Roach <li> 66dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 67dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-languages')) ?>"> 68dd6b2bfcSGreg Roach <?= I18N::translate('Languages') ?> 69dd6b2bfcSGreg Roach </a> 70dd6b2bfcSGreg Roach </li> 71dd6b2bfcSGreg Roach </ul> 72dd6b2bfcSGreg Roach </div> 73dd6b2bfcSGreg Roach <div class="col-sm-6"> 74dd6b2bfcSGreg Roach <ul class="fa-ul"> 75dd6b2bfcSGreg Roach <li> 76dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 77dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-logs')) ?>"> 78dd6b2bfcSGreg Roach <?= I18N::translate('Website logs') ?> 79dd6b2bfcSGreg Roach </a> 80dd6b2bfcSGreg Roach </li> 81dd6b2bfcSGreg Roach <li> 82dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 83dd6b2bfcSGreg Roach <a href="<?= e(route('admin-clean-data')) ?>"> 84dd6b2bfcSGreg Roach <?= I18N::translate('Clean up data folder') ?> 85dd6b2bfcSGreg Roach </a> 86dd6b2bfcSGreg Roach </li> 87dd6b2bfcSGreg Roach <li> 88dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 89dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-information')) ?>"> 90dd6b2bfcSGreg Roach <?= I18N::translate('Server information') ?> 91dd6b2bfcSGreg Roach </a> 92dd6b2bfcSGreg Roach </li> 93dd6b2bfcSGreg Roach </ul> 94dd6b2bfcSGreg Roach </div> 95dd6b2bfcSGreg Roach </div> 96dd6b2bfcSGreg Roach </div> 97dd6b2bfcSGreg Roach</div> 98dd6b2bfcSGreg Roach 99dd6b2bfcSGreg Roach<!-- FAMILY TREES --> 1004e73f0bdSGreg Roach<div class="card mb-4 <?= array_sum($changes) ? 'card-outline-danger' : '' ?>"> 101dd6b2bfcSGreg Roach <div class="card-header"> 102dd6b2bfcSGreg Roach <h2 class="mb-0"> 103dd6b2bfcSGreg Roach <?= I18N::translate('Family trees') ?> 104dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 105dd6b2bfcSGreg Roach <?= I18N::number(count($all_trees)) ?> 106dd6b2bfcSGreg Roach </span> 107dd6b2bfcSGreg Roach </h2> 108dd6b2bfcSGreg Roach </div> 109dd6b2bfcSGreg Roach <div class="card-body"> 110dd6b2bfcSGreg Roach <table class="table table-sm"> 111dd6b2bfcSGreg Roach <caption class="sr-only"> 112dd6b2bfcSGreg Roach <?= I18N::translate('Family trees') ?> 113dd6b2bfcSGreg Roach </caption> 114dd6b2bfcSGreg Roach <thead> 115dd6b2bfcSGreg Roach <tr> 116dd6b2bfcSGreg Roach <th><?= I18N::translate('Family tree') ?></th> 117dd6b2bfcSGreg Roach <th><span class="sr-only"><?= I18N::translate('Manage family trees') ?></span></th> 118dd6b2bfcSGreg Roach <th class="text-right"><?= I18N::translate('Pending changes') ?></th> 119dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Individuals') ?></th> 120dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Families') ?></th> 121dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Sources') ?></th> 122dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Repositories') ?></th> 123dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Media') ?></th> 124dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Notes') ?></th> 125dd6b2bfcSGreg Roach </tr> 126dd6b2bfcSGreg Roach </thead> 127dd6b2bfcSGreg Roach <tbody> 128dd6b2bfcSGreg Roach <?= view('admin/control-panel-tree-list', [ 129dd6b2bfcSGreg Roach 'all_trees' => $all_trees, 130dd6b2bfcSGreg Roach 'changes' => $changes, 131dd6b2bfcSGreg Roach 'individuals' => $individuals, 132dd6b2bfcSGreg Roach 'families' => $families, 133dd6b2bfcSGreg Roach 'sources' => $sources, 134dd6b2bfcSGreg Roach 'repositories' => $repositories, 135dd6b2bfcSGreg Roach 'media' => $media, 136dd6b2bfcSGreg Roach 'notes' => $notes, 137dd6b2bfcSGreg Roach ]); ?> 138dd6b2bfcSGreg Roach </tbody> 139dd6b2bfcSGreg Roach <tfoot> 140dd6b2bfcSGreg Roach <tr> 141dd6b2bfcSGreg Roach <th scope="row"> 142dd6b2bfcSGreg Roach <?= I18N::translate('Total') ?> 143dd6b2bfcSGreg Roach </th> 144dd6b2bfcSGreg Roach <td></td> 145dd6b2bfcSGreg Roach <td class="text-right"> 146dd6b2bfcSGreg Roach <?= I18N::number(array_sum($changes)) ?> 147dd6b2bfcSGreg Roach </td> 148dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1492078eafaSGreg Roach <?= I18N::number($individuals->sum()) ?> 150dd6b2bfcSGreg Roach </td> 151dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1522078eafaSGreg Roach <?= I18N::number($families->sum()) ?> 153dd6b2bfcSGreg Roach </td> 154dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1552078eafaSGreg Roach <?= I18N::number($sources->sum()) ?> 156dd6b2bfcSGreg Roach </td> 157dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1582078eafaSGreg Roach <?= I18N::number($repositories->sum()) ?> 159dd6b2bfcSGreg Roach </td> 160dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1612078eafaSGreg Roach <?= I18N::number($media->sum()) ?> 162dd6b2bfcSGreg Roach </td> 163dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1642078eafaSGreg Roach <?= I18N::number($notes->sum()) ?> 165dd6b2bfcSGreg Roach </td> 166dd6b2bfcSGreg Roach </tr> 167dd6b2bfcSGreg Roach </tfoot> 168dd6b2bfcSGreg Roach </table> 169dd6b2bfcSGreg Roach 170dd6b2bfcSGreg Roach <ul class="fa-ul"> 171dd6b2bfcSGreg Roach <li> 172dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 173bf57b580SGreg Roach <a href="<?= e(route('admin-trees')) ?>"> 174dd6b2bfcSGreg Roach <?= I18N::translate('Manage family trees') ?> 175dd6b2bfcSGreg Roach </a> 176dd6b2bfcSGreg Roach </li> 177dd6b2bfcSGreg Roach <li> 178dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 179dd6b2bfcSGreg Roach <a href="<?= e(route('tree-page-default-edit')) ?>"> 180dd6b2bfcSGreg Roach <?= I18N::translate('Set the default blocks for new family trees') ?> 181dd6b2bfcSGreg Roach </a> 182dd6b2bfcSGreg Roach </li> 183dd6b2bfcSGreg Roach <?php if (count($all_trees) > 1) : ?> 184dd6b2bfcSGreg Roach <li> 185dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 186dd6b2bfcSGreg Roach <a href="<?= e(route('admin-trees-merge')) ?>"> 187dd6b2bfcSGreg Roach <?= I18N::translate('Merge family trees') ?> 188dd6b2bfcSGreg Roach </a> 189dd6b2bfcSGreg Roach </li> 190dd6b2bfcSGreg Roach <?php endif ?> 191dd6b2bfcSGreg Roach </ul> 192dd6b2bfcSGreg Roach </div> 193dd6b2bfcSGreg Roach</div> 194dd6b2bfcSGreg Roach 195dd6b2bfcSGreg Roach<!-- USERS --> 196dd6b2bfcSGreg Roach<div class="card mb-4 <?= $unapproved || $unverified ? 'card-outline-danger' : '' ?>"> 197dd6b2bfcSGreg Roach <div class="card-header"> 198dd6b2bfcSGreg Roach <h2 class="mb-0"> 199dd6b2bfcSGreg Roach <?= I18N::translate('Users') ?> 200dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 201dd6b2bfcSGreg Roach <?= I18N::number(count($all_users)) ?> 202dd6b2bfcSGreg Roach </span> 203dd6b2bfcSGreg Roach </h2> 204dd6b2bfcSGreg Roach </div> 205dd6b2bfcSGreg Roach <div class="card-body"> 206dd6b2bfcSGreg Roach <dl class="row"> 207dd6b2bfcSGreg 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) : ?> 208dd6b2bfcSGreg Roach <?php if (!empty($list)) : ?> 209dd6b2bfcSGreg Roach <dt class="col-sm-3"> 210dd6b2bfcSGreg Roach <?= $label ?> 211dd6b2bfcSGreg Roach </dt> 212dd6b2bfcSGreg Roach <dd class="col-sm-9"> 213dd6b2bfcSGreg Roach <?php foreach ($list as $n => $user) : ?> 214dd6b2bfcSGreg Roach <?= $n ? I18N::$list_separator : '' ?> 215895230eeSGreg Roach <a href="<?= e(route('admin-users-edit', ['user_id' => $user->id()])) ?>" dir="auto"> 216e5a6b4d4SGreg Roach <?= e($user->realName()) ?> 217dd6b2bfcSGreg Roach </a> 218dd6b2bfcSGreg Roach <?php endforeach ?> 219dd6b2bfcSGreg Roach </dd> 220dd6b2bfcSGreg Roach <?php endif ?> 221dd6b2bfcSGreg Roach <?php endforeach ?> 222dd6b2bfcSGreg Roach </dl> 223dd6b2bfcSGreg Roach 224dd6b2bfcSGreg Roach <div class="row"> 225dd6b2bfcSGreg Roach <div class="col-sm-6"> 226dd6b2bfcSGreg Roach <ul class="fa-ul"> 227dd6b2bfcSGreg Roach <li> 228dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 229bf57b580SGreg Roach <a href="<?= e(route('admin-users')) ?>"> 230dd6b2bfcSGreg Roach <?= I18N::translate('User administration') ?> 231dd6b2bfcSGreg Roach </a> 232dd6b2bfcSGreg Roach </li> 233dd6b2bfcSGreg Roach <li> 234dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 235bf57b580SGreg Roach <a href="<?= e(route('admin-users-create')) ?>"> 236dd6b2bfcSGreg Roach <?= I18N::translate('Add a user') ?> 237dd6b2bfcSGreg Roach </a> 238dd6b2bfcSGreg Roach </li> 239dd6b2bfcSGreg Roach <li> 240dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 241dd6b2bfcSGreg Roach <a href="<?= e(route('admin-users-cleanup')) ?>"> 242dd6b2bfcSGreg Roach <?= I18N::translate('Delete inactive users') ?> 243dd6b2bfcSGreg Roach </a> 244dd6b2bfcSGreg Roach </li> 245dd6b2bfcSGreg Roach <li> 246dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 247dd6b2bfcSGreg Roach <a href="<?= e(route('user-page-default-edit')) ?>"> 248dd6b2bfcSGreg Roach <?= I18N::translate('Set the default blocks for new users') ?> 249dd6b2bfcSGreg Roach </a> 250dd6b2bfcSGreg Roach </li> 251dd6b2bfcSGreg Roach </ul> 252dd6b2bfcSGreg Roach </div> 253dd6b2bfcSGreg Roach <div class="col-sm-6"> 254dd6b2bfcSGreg Roach <ul class="fa-ul"> 255dd6b2bfcSGreg Roach <li> 256dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 257dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'all'])) ?>"> 258dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to all users') ?> 259dd6b2bfcSGreg Roach </a> 260dd6b2bfcSGreg Roach </li> 261dd6b2bfcSGreg Roach <li> 262dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 263dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'never_logged'])) ?>"> 264dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to users who have never signed in') ?> 265dd6b2bfcSGreg Roach </a> 266dd6b2bfcSGreg Roach </li> 267dd6b2bfcSGreg Roach <li> 268dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 269dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'last_6mo'])) ?>"> 270dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to users who have not signed in for 6 months') ?> 271dd6b2bfcSGreg Roach </a> 272dd6b2bfcSGreg Roach </li> 273dd6b2bfcSGreg Roach </ul> 274dd6b2bfcSGreg Roach </div> 275dd6b2bfcSGreg Roach </div> 276dd6b2bfcSGreg Roach </div> 277dd6b2bfcSGreg Roach</div> 278dd6b2bfcSGreg Roach 279dd6b2bfcSGreg Roach<!-- MODULES --> 280dd6b2bfcSGreg Roach<div class="card mb-4"> 281dd6b2bfcSGreg Roach <div class="card-header"> 282dd6b2bfcSGreg Roach <h2 class="mb-0"> 283dd6b2bfcSGreg Roach <?= I18N::translate('Modules') ?> 2849d627a9eSGreg Roach <?= view('components/badge', ['count' => $all_modules_enabled->count(), 'total' => $all_modules_disabled->count(), 'context' => 'secondary']) ?> 285dd6b2bfcSGreg Roach </h2> 286dd6b2bfcSGreg Roach </div> 2870cb66f86SGreg Roach 288dd6b2bfcSGreg Roach <div class="card-body"> 2890cb66f86SGreg Roach <ul class="fa-ul"> 2900cb66f86SGreg Roach <li> 2919d627a9eSGreg Roach <span class="fa-li"><?= view('icons/module') ?></span> 2920cb66f86SGreg Roach <a href="<?= e(route('modules')) ?>"> 2939d627a9eSGreg Roach <?= I18N::translate('All modules') ?> 2940cb66f86SGreg Roach </a> 2959d627a9eSGreg Roach <?= view('components/badge', ['count' => $all_modules_enabled->count(), 'total' => $all_modules_disabled->count(), 'context' => 'primary']) ?> 2960cb66f86SGreg Roach </li> 2970cb66f86SGreg Roach </ul> 2980cb66f86SGreg Roach 299dd6b2bfcSGreg Roach <div class="row"> 300dd6b2bfcSGreg Roach <div class="col-sm-6"> 3019d627a9eSGreg Roach <h3> 3029d627a9eSGreg Roach <?= I18N::translate('Genealogy') ?> 3039d627a9eSGreg Roach </h3> 304*09fbf3e5SGreg Roach 305dd6b2bfcSGreg Roach <ul class="fa-ul"> 306dd6b2bfcSGreg Roach <li> 307dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/menu') ?></span> 3080cb66f86SGreg Roach <a href="<?= e(route('menus')) ?>"> 309dd6b2bfcSGreg Roach <?= I18N::translate('Menus') ?> 310dd6b2bfcSGreg Roach </a> 3119d627a9eSGreg Roach <?= view('components/badge', ['count' => $menu_modules_enabled->count(), 'total' => $menu_modules_disabled->count(), 'context' => 'primary']) ?> 312dd6b2bfcSGreg Roach </li> 313dd6b2bfcSGreg Roach <li> 314dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/chart') ?></span> 3150cb66f86SGreg Roach <a href="<?= e(route('charts')) ?>"> 316dd6b2bfcSGreg Roach <?= I18N::translate('Charts') ?> 317dd6b2bfcSGreg Roach </a> 3189d627a9eSGreg Roach <?= view('components/badge', ['count' => $chart_modules_enabled->count(), 'total' => $chart_modules_disabled->count(), 'context' => 'primary']) ?> 319dd6b2bfcSGreg Roach </li> 320dd6b2bfcSGreg Roach <li> 32167992b6aSRichard Cissee <span class="fa-li"><?= view('icons/list') ?></span> 32267992b6aSRichard Cissee <a href="<?= e(route('lists')) ?>"> 32367992b6aSRichard Cissee <?= I18N::translate('Lists') ?> 32467992b6aSRichard Cissee </a> 3259d627a9eSGreg Roach <?= view('components/badge', ['count' => $list_modules_enabled->count(), 'total' => $list_modules_disabled->count(), 'context' => 'primary']) ?> 32667992b6aSRichard Cissee </li> 32767992b6aSRichard Cissee <li> 328dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/report') ?></span> 3290cb66f86SGreg Roach <a href="<?= e(route('reports')) ?>"> 330dd6b2bfcSGreg Roach <?= I18N::translate('Reports') ?> 331dd6b2bfcSGreg Roach </a> 3329d627a9eSGreg Roach <?= view('components/badge', ['count' => $report_modules_enabled->count(), 'total' => $report_modules_disabled->count(), 'context' => 'primary']) ?> 333dd6b2bfcSGreg Roach </li> 3349d627a9eSGreg Roach </ul> 335*09fbf3e5SGreg Roach 3369d627a9eSGreg Roach <h3> 3379d627a9eSGreg Roach <?= I18N::translate('Website') ?> 3389d627a9eSGreg Roach </h3> 339*09fbf3e5SGreg Roach 3409d627a9eSGreg Roach <ul class="fa-ul"> 34133c34396SGreg Roach <li> 34233c34396SGreg Roach <span class="fa-li"><?= view('icons/footer') ?></span> 34333c34396SGreg Roach <a href="<?= e(route('footers')) ?>"> 34433c34396SGreg Roach <?= I18N::translate('Footers') ?> 34533c34396SGreg Roach </a> 3469d627a9eSGreg Roach <?= view('components/badge', ['count' => $footer_modules_enabled->count(), 'total' => $footer_modules_disabled->count(), 'context' => 'primary']) ?> 3478e5c5efeSGreg Roach </li> 3488e5c5efeSGreg Roach <li> 3498e5c5efeSGreg Roach <span class="fa-li"><?= view('icons/analytics') ?></span> 3508e5c5efeSGreg Roach <a href="<?= e(route('analytics')) ?>"> 3518e5c5efeSGreg Roach <?= I18N::translate('Tracking and analytics') ?> 3528e5c5efeSGreg Roach </a> 3539d627a9eSGreg Roach <?= view('components/badge', ['count' => $analytics_modules_enabled->count(), 'total' => $analytics_modules_disabled->count(), 'context' => 'primary']) ?> 35433c34396SGreg Roach </li> 35511eb8581SGreg Roach <li> 35611eb8581SGreg Roach <span class="fa-li"><?= view('icons/theme') ?></span> 35711eb8581SGreg Roach <a href="<?= e(route('themes')) ?>"> 35811eb8581SGreg Roach <?= I18N::translate('Themes') ?> 35911eb8581SGreg Roach </a> 3609d627a9eSGreg Roach <?= view('components/badge', ['count' => $theme_modules_enabled->count(), 'total' => $theme_modules_disabled->count(), 'context' => 'primary']) ?> 36111eb8581SGreg Roach </li> 36211eb8581SGreg Roach <li> 36311eb8581SGreg Roach <span class="fa-li"><?= view('icons/language') ?></span> 36411eb8581SGreg Roach <a href="<?= e(route('languages')) ?>"> 36511eb8581SGreg Roach <?= I18N::translate('Languages') ?> 36611eb8581SGreg Roach </a> 3679d627a9eSGreg Roach <?= view('components/badge', ['count' => $language_modules_enabled->count(), 'total' => $language_modules_disabled->count(), 'context' => 'primary']) ?> 36811eb8581SGreg Roach </li> 369dd6b2bfcSGreg Roach </ul> 370*09fbf3e5SGreg Roach 371*09fbf3e5SGreg Roach <h3> 372*09fbf3e5SGreg Roach <?= I18N::translate('Home page') ?> 373*09fbf3e5SGreg Roach </h3> 374*09fbf3e5SGreg Roach 375*09fbf3e5SGreg Roach <ul class="fa-ul"> 376*09fbf3e5SGreg Roach <li> 377*09fbf3e5SGreg Roach <span class="fa-li"><?= view('icons/block') ?></span> 378*09fbf3e5SGreg Roach <a href="<?= e(route('blocks')) ?>"> 379*09fbf3e5SGreg Roach <?= I18N::translate('Blocks') ?> 380*09fbf3e5SGreg Roach </a> 381*09fbf3e5SGreg Roach <?= view('components/badge', ['count' => $block_modules_enabled->count(), 'total' => $block_modules_disabled->count(), 'context' => 'primary']) ?> 382*09fbf3e5SGreg Roach </li> 383*09fbf3e5SGreg Roach </ul> 384dd6b2bfcSGreg Roach </div> 385*09fbf3e5SGreg Roach 386dd6b2bfcSGreg Roach <div class="col-sm-6"> 3879d627a9eSGreg Roach <h3> 3889d627a9eSGreg Roach <?= I18N::translate('Individual page') ?> 3899d627a9eSGreg Roach </h3> 390*09fbf3e5SGreg Roach 3919d627a9eSGreg Roach <ul class="fa-ul"> 3929d627a9eSGreg Roach <li> 3939d627a9eSGreg Roach <span class="fa-li"><?= view('icons/tab') ?></span> 3949d627a9eSGreg Roach <a href="<?= e(route('tabs')) ?>"> 3959d627a9eSGreg Roach <?= I18N::translate('Tabs') ?> 3969d627a9eSGreg Roach <?= view('components/badge', ['count' => $tab_modules_enabled->count(), 'total' => $tab_modules_disabled->count(), 'context' => 'primary']) ?> 3979d627a9eSGreg Roach </a> 3989d627a9eSGreg Roach </li> 3999d627a9eSGreg Roach <li> 4009d627a9eSGreg Roach <span class="fa-li"><?= view('icons/sidebar') ?></span> 4019d627a9eSGreg Roach <a href="<?= e(route('sidebars')) ?>"> 4029d627a9eSGreg Roach <?= I18N::translate('Sidebars') ?> 4039d627a9eSGreg Roach </a> 4049d627a9eSGreg Roach <?= view('components/badge', ['count' => $sidebar_modules_enabled->count(), 'total' => $sidebar_modules_disabled->count(), 'context' => 'primary']) ?> 4059d627a9eSGreg Roach </li> 4069d627a9eSGreg Roach <li> 4079d627a9eSGreg Roach <span class="fa-li"><?= view('icons/history') ?></span> 4089d627a9eSGreg Roach <a href="<?= e(route('history')) ?>"> 4099d627a9eSGreg Roach <?= I18N::translate('Historic events') ?> 4109d627a9eSGreg Roach </a> 4119d627a9eSGreg Roach <?= view('components/badge', ['count' => $history_modules_enabled->count(), 'total' => $history_modules_disabled->count(), 'context' => 'primary']) ?> 4129d627a9eSGreg Roach </li> 4139d627a9eSGreg Roach </ul> 414*09fbf3e5SGreg Roach 4159d627a9eSGreg Roach <h3> 4169d627a9eSGreg Roach <?= I18N::translate('Other') ?> 4179d627a9eSGreg Roach </h3> 418*09fbf3e5SGreg Roach 419dd6b2bfcSGreg Roach <ul class="fa-ul"> 420*09fbf3e5SGreg Roach <?php foreach ($other_modules as $module) : ?> 421dd6b2bfcSGreg Roach <li> 422*09fbf3e5SGreg Roach <span class="fa-li"><?= view('icons/module') ?></span> 423*09fbf3e5SGreg Roach <?php if ($module->isEnabled() && $module instanceof ModuleConfigInterface): ?> 424dd6b2bfcSGreg Roach <a href="<?= e($module->getConfigLink()) ?>"> 42549a243cbSGreg Roach <?= $module->title() ?> 426*09fbf3e5SGreg Roach <span class="fa"><?= view('icons/preferences') ?></span> 427dd6b2bfcSGreg Roach </a> 428*09fbf3e5SGreg Roach <?php elseif ($module->isEnabled()) :?> 429*09fbf3e5SGreg Roach <?= $module->title() ?> 430*09fbf3e5SGreg Roach <?php else :?> 431*09fbf3e5SGreg Roach <del class="text-muted"><?= $module->title() ?></del> 432*09fbf3e5SGreg Roach <?php endif ?> 433dd6b2bfcSGreg Roach </li> 434dd6b2bfcSGreg Roach <?php endforeach ?> 435dd6b2bfcSGreg Roach </ul> 436dd6b2bfcSGreg Roach </div> 437dd6b2bfcSGreg Roach </div> 438dd6b2bfcSGreg Roach </div> 439dd6b2bfcSGreg Roach</div> 440dd6b2bfcSGreg Roach 441dd6b2bfcSGreg Roach<!-- MEDIA --> 442dd6b2bfcSGreg Roach<div class="card mb-4"> 443dd6b2bfcSGreg Roach <div class="card-header"> 444dd6b2bfcSGreg Roach <h2 class="mb-0"> 445dd6b2bfcSGreg Roach <?= I18N::translate('Media') ?> 446dd6b2bfcSGreg Roach </h2> 447dd6b2bfcSGreg Roach </div> 448dd6b2bfcSGreg Roach <div class="card-body"> 449dd6b2bfcSGreg Roach <ul class="fa-ul"> 450dd6b2bfcSGreg Roach <li> 451dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 452dd6b2bfcSGreg Roach <a href="<?= e(route('admin-media')) ?>"> 453dd6b2bfcSGreg Roach <?= I18N::translate('Manage media') ?> 454dd6b2bfcSGreg Roach </a> 455dd6b2bfcSGreg Roach </li> 456dd6b2bfcSGreg Roach <li> 457dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 458dd6b2bfcSGreg Roach <a href="<?= e(route('admin-media-upload')) ?>"> 459dd6b2bfcSGreg Roach <?= I18N::translate('Upload media files') ?> 460dd6b2bfcSGreg Roach </a> 461dd6b2bfcSGreg Roach </li> 462dd6b2bfcSGreg Roach <li> 463dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 464dd6b2bfcSGreg Roach <a href="<?= e(route('admin-fix-level-0-media')) ?>"> 465dd6b2bfcSGreg Roach <?= I18N::translate('Link media objects to facts and events') ?> 466dd6b2bfcSGreg Roach </a> 467dd6b2bfcSGreg Roach </li> 468dd6b2bfcSGreg Roach <li> 469dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 470dd6b2bfcSGreg Roach <a href="<?= e(route('admin-webtrees1-thumbs')) ?>"> 471dd6b2bfcSGreg Roach <?= I18N::translate('Import custom thumbnails from webtrees version 1') ?> 472dd6b2bfcSGreg Roach </a> 473dd6b2bfcSGreg Roach </li> 474dd6b2bfcSGreg Roach </ul> 475dd6b2bfcSGreg Roach </div> 476dd6b2bfcSGreg Roach</div> 477dd6b2bfcSGreg Roach 478dd6b2bfcSGreg Roach<!-- MAPS --> 479dd6b2bfcSGreg Roach<div class="card mb-4"> 480dd6b2bfcSGreg Roach <div class="card-header"> 481dd6b2bfcSGreg Roach <h2 class="mb-0"> 482dd6b2bfcSGreg Roach <?= I18N::translate('Map') ?> 483dd6b2bfcSGreg Roach </h2> 484dd6b2bfcSGreg Roach </div> 485dd6b2bfcSGreg Roach <div class="card-body"> 486dd6b2bfcSGreg Roach <div class="row"> 487dd6b2bfcSGreg Roach <div class="col-sm-6"> 488dd6b2bfcSGreg Roach <ul class="fa-ul"> 489dd6b2bfcSGreg Roach <li> 490dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/location') ?></span> 491dd6b2bfcSGreg Roach <a href="<?= e(route('map-data')) ?>"> 492dd6b2bfcSGreg Roach <?= I18N::translate('Geographic data') ?> 493dd6b2bfcSGreg Roach </a> 494dd6b2bfcSGreg Roach </li> 495dd6b2bfcSGreg Roach </ul> 496dd6b2bfcSGreg Roach </div> 497dd6b2bfcSGreg Roach <div class="col-sm-6"> 498dd6b2bfcSGreg Roach <ul class="fa-ul"> 499dd6b2bfcSGreg Roach <li> 500dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/map') ?></span> 501dd6b2bfcSGreg Roach <a href="<?= e(route('map-provider')) ?>"> 502dd6b2bfcSGreg Roach <?= I18N::translate('Map provider') ?> 503dd6b2bfcSGreg Roach </a> 504dd6b2bfcSGreg Roach </li> 505dd6b2bfcSGreg Roach </ul> 506dd6b2bfcSGreg Roach </div> 507dd6b2bfcSGreg Roach </div> 508dd6b2bfcSGreg Roach </div> 509dd6b2bfcSGreg Roach</div> 510dd6b2bfcSGreg Roach 511dd6b2bfcSGreg Roach<!-- OLD FILES --> 512dd6b2bfcSGreg Roach<?php if (!empty($files_to_delete)) : ?> 513dd6b2bfcSGreg Roach <div class="card mb-4 card-outline-danger"> 514dd6b2bfcSGreg Roach <div class="card-header"> 515dd6b2bfcSGreg Roach <h2 class="mb-0"> 516dd6b2bfcSGreg Roach <?= I18N::translate('Old files found') ?> 517dd6b2bfcSGreg Roach </h2> 518dd6b2bfcSGreg Roach </div> 519dd6b2bfcSGreg Roach <div class="card-body"> 520dd6b2bfcSGreg Roach <p> 521dd6b2bfcSGreg 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.') ?> 522dd6b2bfcSGreg Roach </p> 523dd6b2bfcSGreg Roach <ul class="list-unstyled"> 524dd6b2bfcSGreg Roach <?php foreach ($files_to_delete as $file_to_delete) : ?> 525dd6b2bfcSGreg Roach <li dir="ltr"><code><?= e($file_to_delete) ?></code></li> 526dd6b2bfcSGreg Roach <?php endforeach ?> 527dd6b2bfcSGreg Roach </ul> 528dd6b2bfcSGreg Roach </div> 529dd6b2bfcSGreg Roach </div> 530dd6b2bfcSGreg Roach<?php endif ?> 531