1dd6b2bfcSGreg Roach<?php use Fisharebest\Webtrees\I18N; ?> 28d0ebef0SGreg Roach<?php use Fisharebest\Webtrees\Webtrees; ?> 3dd6b2bfcSGreg Roach 4dd6b2bfcSGreg Roach<h1><?= $title ?></h1> 5dd6b2bfcSGreg Roach 6dd6b2bfcSGreg Roach<!-- WEBSITE / WEBTREES --> 7dd6b2bfcSGreg Roach<div class="card mb-4"> 8dd6b2bfcSGreg Roach <div class="card-header"> 9dd6b2bfcSGreg Roach <h2 class="mb-0"> 10dd6b2bfcSGreg Roach <?= I18N::translate('Website') ?> 11dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 128d0ebef0SGreg Roach <?= e(Webtrees::VERSION) ?> 13dd6b2bfcSGreg Roach </span> 14dd6b2bfcSGreg Roach </h2> 15dd6b2bfcSGreg Roach </div> 16dd6b2bfcSGreg Roach <div class="card-body"> 17dd6b2bfcSGreg Roach <?php foreach ($server_warnings as $server_warning) : ?> 18dd6b2bfcSGreg Roach <p class="alert alert-warning"><?= $server_warning ?></p> 19dd6b2bfcSGreg Roach <?php endforeach ?> 20dd6b2bfcSGreg Roach 21dd6b2bfcSGreg Roach <p class="card-text"> 22dd6b2bfcSGreg Roach <?= /* I18N: %s is a URL/link to the project website */ 23dd6b2bfcSGreg Roach I18N::translate('Support and documentation can be found at %s.', '<a href="https://webtrees.net/">webtrees.net</a>') ?> 24dd6b2bfcSGreg Roach </p> 25dd6b2bfcSGreg Roach <p class="card-text "> 26dd6b2bfcSGreg Roach <?php if ($latest_version === '') : ?> 27dd6b2bfcSGreg Roach <?= I18N::translate('No upgrade information is available.') ?> 288d0ebef0SGreg Roach <?php elseif (version_compare(Webtrees::VERSION, $latest_version) < 0) : ?> 29dd6b2bfcSGreg Roach <?= I18N::translate('A new version of webtrees is available.') ?> 30dd6b2bfcSGreg Roach <a href="<?= e(route('upgrade')) ?>" class="error"> 31dd6b2bfcSGreg Roach <?= /* I18N: %s is a version number */ 32dd6b2bfcSGreg Roach I18N::translate('Upgrade to webtrees %s.', e($latest_version)) ?> 33dd6b2bfcSGreg Roach </a> 34dd6b2bfcSGreg Roach <?php else : ?> 35dd6b2bfcSGreg Roach <?= I18N::translate('This is the latest version of webtrees. No upgrade is available.') ?> 36dd6b2bfcSGreg Roach <?php endif ?> 37dd6b2bfcSGreg Roach </p> 38dd6b2bfcSGreg Roach 39dd6b2bfcSGreg Roach <div class="row"> 40dd6b2bfcSGreg Roach <div class="col-sm-6"> 41dd6b2bfcSGreg Roach <ul class="fa-ul"> 42dd6b2bfcSGreg Roach <li> 43dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 44dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-preferences')) ?>"> 45dd6b2bfcSGreg Roach <?= I18N::translate('Website preferences') ?> 46dd6b2bfcSGreg Roach </a> 47dd6b2bfcSGreg Roach </li> 48dd6b2bfcSGreg Roach <li> 49dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 50dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-mail')) ?>"> 51dd6b2bfcSGreg Roach <?= I18N::translate('Sending email') ?> 52dd6b2bfcSGreg Roach </a> 53dd6b2bfcSGreg Roach </li> 54dd6b2bfcSGreg Roach <li> 55dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 56dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-registration')) ?>"> 57dd6b2bfcSGreg Roach <?= I18N::translate('Sign-in and registration') ?> 58dd6b2bfcSGreg Roach </a> 59dd6b2bfcSGreg Roach </li> 60dd6b2bfcSGreg Roach <li> 61dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 62dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-languages')) ?>"> 63dd6b2bfcSGreg Roach <?= I18N::translate('Languages') ?> 64dd6b2bfcSGreg Roach </a> 65dd6b2bfcSGreg Roach </li> 66dd6b2bfcSGreg Roach </ul> 67dd6b2bfcSGreg Roach </div> 68dd6b2bfcSGreg Roach <div class="col-sm-6"> 69dd6b2bfcSGreg Roach <ul class="fa-ul"> 70dd6b2bfcSGreg Roach <li> 71dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 72dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-logs')) ?>"> 73dd6b2bfcSGreg Roach <?= I18N::translate('Website logs') ?> 74dd6b2bfcSGreg Roach </a> 75dd6b2bfcSGreg Roach </li> 76dd6b2bfcSGreg Roach <li> 77dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 78dd6b2bfcSGreg Roach <a href="<?= e(route('admin-clean-data')) ?>"> 79dd6b2bfcSGreg Roach <?= I18N::translate('Clean up data folder') ?> 80dd6b2bfcSGreg Roach </a> 81dd6b2bfcSGreg Roach </li> 82dd6b2bfcSGreg Roach <li> 83dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 84dd6b2bfcSGreg Roach <a href="<?= e(route('admin-site-information')) ?>"> 85dd6b2bfcSGreg Roach <?= I18N::translate('Server information') ?> 86dd6b2bfcSGreg Roach </a> 87dd6b2bfcSGreg Roach </li> 88dd6b2bfcSGreg Roach </ul> 89dd6b2bfcSGreg Roach </div> 90dd6b2bfcSGreg Roach </div> 91dd6b2bfcSGreg Roach </div> 92dd6b2bfcSGreg Roach</div> 93dd6b2bfcSGreg Roach 94dd6b2bfcSGreg Roach<!-- FAMILY TREES --> 95dd6b2bfcSGreg Roach<div class="card mb-4 <?= array_sum($changes) ? 'card-outline-danger' : '' ?>"> 96dd6b2bfcSGreg Roach <div class="card-header"> 97dd6b2bfcSGreg Roach <h2 class="mb-0"> 98dd6b2bfcSGreg Roach <?= I18N::translate('Family trees') ?> 99dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 100dd6b2bfcSGreg Roach <?= I18N::number(count($all_trees)) ?> 101dd6b2bfcSGreg Roach </span> 102dd6b2bfcSGreg Roach </h2> 103dd6b2bfcSGreg Roach </div> 104dd6b2bfcSGreg Roach <div class="card-body"> 105dd6b2bfcSGreg Roach <table class="table table-sm"> 106dd6b2bfcSGreg Roach <caption class="sr-only"> 107dd6b2bfcSGreg Roach <?= I18N::translate('Family trees') ?> 108dd6b2bfcSGreg Roach </caption> 109dd6b2bfcSGreg Roach <thead> 110dd6b2bfcSGreg Roach <tr> 111dd6b2bfcSGreg Roach <th><?= I18N::translate('Family tree') ?></th> 112dd6b2bfcSGreg Roach <th><span class="sr-only"><?= I18N::translate('Manage family trees') ?></span></th> 113dd6b2bfcSGreg Roach <th class="text-right"><?= I18N::translate('Pending changes') ?></th> 114dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Individuals') ?></th> 115dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Families') ?></th> 116dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Sources') ?></th> 117dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Repositories') ?></th> 118dd6b2bfcSGreg Roach <th class="d-none d-sm-table-cell text-right"><?= I18N::translate('Media') ?></th> 119dd6b2bfcSGreg Roach <th class="d-none d-lg-table-cell text-right"><?= I18N::translate('Notes') ?></th> 120dd6b2bfcSGreg Roach </tr> 121dd6b2bfcSGreg Roach </thead> 122dd6b2bfcSGreg Roach <tbody> 123dd6b2bfcSGreg Roach <?= view('admin/control-panel-tree-list', [ 124dd6b2bfcSGreg Roach 'all_trees' => $all_trees, 125dd6b2bfcSGreg Roach 'changes' => $changes, 126dd6b2bfcSGreg Roach 'individuals' => $individuals, 127dd6b2bfcSGreg Roach 'families' => $families, 128dd6b2bfcSGreg Roach 'sources' => $sources, 129dd6b2bfcSGreg Roach 'repositories' => $repositories, 130dd6b2bfcSGreg Roach 'media' => $media, 131dd6b2bfcSGreg Roach 'notes' => $notes, 132dd6b2bfcSGreg Roach ]); ?> 133dd6b2bfcSGreg Roach </tbody> 134dd6b2bfcSGreg Roach <tfoot> 135dd6b2bfcSGreg Roach <tr> 136dd6b2bfcSGreg Roach <th scope="row"> 137dd6b2bfcSGreg Roach <?= I18N::translate('Total') ?> 138dd6b2bfcSGreg Roach </th> 139dd6b2bfcSGreg Roach <td></td> 140dd6b2bfcSGreg Roach <td class="text-right"> 141dd6b2bfcSGreg Roach <?= I18N::number(array_sum($changes)) ?> 142dd6b2bfcSGreg Roach </td> 143dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1442078eafaSGreg Roach <?= I18N::number($individuals->sum()) ?> 145dd6b2bfcSGreg Roach </td> 146dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1472078eafaSGreg Roach <?= I18N::number($families->sum()) ?> 148dd6b2bfcSGreg Roach </td> 149dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1502078eafaSGreg Roach <?= I18N::number($sources->sum()) ?> 151dd6b2bfcSGreg Roach </td> 152dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1532078eafaSGreg Roach <?= I18N::number($repositories->sum()) ?> 154dd6b2bfcSGreg Roach </td> 155dd6b2bfcSGreg Roach <td class="d-none d-sm-table-cell text-right"> 1562078eafaSGreg Roach <?= I18N::number($media->sum()) ?> 157dd6b2bfcSGreg Roach </td> 158dd6b2bfcSGreg Roach <td class="d-none d-lg-table-cell text-right"> 1592078eafaSGreg Roach <?= I18N::number($notes->sum()) ?> 160dd6b2bfcSGreg Roach </td> 161dd6b2bfcSGreg Roach </tr> 162dd6b2bfcSGreg Roach </tfoot> 163dd6b2bfcSGreg Roach </table> 164dd6b2bfcSGreg Roach 165dd6b2bfcSGreg Roach <ul class="fa-ul"> 166dd6b2bfcSGreg Roach <li> 167dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 168aa6f03bbSGreg Roach <a href="<?= e(route('admin-trees', ['ged' => $tree->name()])) ?>"> 169dd6b2bfcSGreg Roach <?= I18N::translate('Manage family trees') ?> 170dd6b2bfcSGreg Roach </a> 171dd6b2bfcSGreg Roach </li> 172dd6b2bfcSGreg Roach <li> 173dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 174dd6b2bfcSGreg Roach <a href="<?= e(route('tree-page-default-edit')) ?>"> 175dd6b2bfcSGreg Roach <?= I18N::translate('Set the default blocks for new family trees') ?> 176dd6b2bfcSGreg Roach </a> 177dd6b2bfcSGreg Roach </li> 178dd6b2bfcSGreg Roach <?php if (count($all_trees) > 1) : ?> 179dd6b2bfcSGreg Roach <li> 180dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 181dd6b2bfcSGreg Roach <a href="<?= e(route('admin-trees-merge')) ?>"> 182dd6b2bfcSGreg Roach <?= I18N::translate('Merge family trees') ?> 183dd6b2bfcSGreg Roach </a> 184dd6b2bfcSGreg Roach </li> 185dd6b2bfcSGreg Roach <?php endif ?> 186dd6b2bfcSGreg Roach </ul> 187dd6b2bfcSGreg Roach </div> 188dd6b2bfcSGreg Roach</div> 189dd6b2bfcSGreg Roach 190dd6b2bfcSGreg Roach<!-- USERS --> 191dd6b2bfcSGreg Roach<div class="card mb-4 <?= $unapproved || $unverified ? 'card-outline-danger' : '' ?>"> 192dd6b2bfcSGreg Roach <div class="card-header"> 193dd6b2bfcSGreg Roach <h2 class="mb-0"> 194dd6b2bfcSGreg Roach <?= I18N::translate('Users') ?> 195dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 196dd6b2bfcSGreg Roach <?= I18N::number(count($all_users)) ?> 197dd6b2bfcSGreg Roach </span> 198dd6b2bfcSGreg Roach </h2> 199dd6b2bfcSGreg Roach </div> 200dd6b2bfcSGreg Roach <div class="card-body"> 201dd6b2bfcSGreg Roach <dl class="row"> 202dd6b2bfcSGreg 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) : ?> 203dd6b2bfcSGreg Roach <?php if (!empty($list)) : ?> 204dd6b2bfcSGreg Roach <dt class="col-sm-3"> 205dd6b2bfcSGreg Roach <?= $label ?> 206dd6b2bfcSGreg Roach </dt> 207dd6b2bfcSGreg Roach <dd class="col-sm-9"> 208dd6b2bfcSGreg Roach <?php foreach ($list as $n => $user) : ?> 209dd6b2bfcSGreg Roach <?= $n ? I18N::$list_separator : '' ?> 210895230eeSGreg Roach <a href="<?= e(route('admin-users-edit', ['user_id' => $user->id()])) ?>" dir="auto"> 211dd6b2bfcSGreg Roach <?= e($user->getRealName()) ?> 212dd6b2bfcSGreg Roach </a> 213dd6b2bfcSGreg Roach <?php endforeach ?> 214dd6b2bfcSGreg Roach </dd> 215dd6b2bfcSGreg Roach <?php endif ?> 216dd6b2bfcSGreg Roach <?php endforeach ?> 217dd6b2bfcSGreg Roach </dl> 218dd6b2bfcSGreg Roach 219dd6b2bfcSGreg Roach <div class="row"> 220dd6b2bfcSGreg Roach <div class="col-sm-6"> 221dd6b2bfcSGreg Roach <ul class="fa-ul"> 222dd6b2bfcSGreg Roach <li> 223dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 224aa6f03bbSGreg Roach <a href="<?= e(route('admin-users', ['ged' => $tree->name()])) ?>"> 225dd6b2bfcSGreg Roach <?= I18N::translate('User administration') ?> 226dd6b2bfcSGreg Roach </a> 227dd6b2bfcSGreg Roach </li> 228dd6b2bfcSGreg Roach <li> 229dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 230aa6f03bbSGreg Roach <a href="<?= e(route('admin-users-create', ['ged' => $tree->name()])) ?>"> 231dd6b2bfcSGreg Roach <?= I18N::translate('Add a user') ?> 232dd6b2bfcSGreg Roach </a> 233dd6b2bfcSGreg Roach </li> 234dd6b2bfcSGreg Roach <li> 235dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 236dd6b2bfcSGreg Roach <a href="<?= e(route('admin-users-cleanup')) ?>"> 237dd6b2bfcSGreg Roach <?= I18N::translate('Delete inactive users') ?> 238dd6b2bfcSGreg Roach </a> 239dd6b2bfcSGreg Roach </li> 240dd6b2bfcSGreg Roach <li> 241dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 242dd6b2bfcSGreg Roach <a href="<?= e(route('user-page-default-edit')) ?>"> 243dd6b2bfcSGreg Roach <?= I18N::translate('Set the default blocks for new users') ?> 244dd6b2bfcSGreg Roach </a> 245dd6b2bfcSGreg Roach </li> 246dd6b2bfcSGreg Roach </ul> 247dd6b2bfcSGreg Roach </div> 248dd6b2bfcSGreg Roach <div class="col-sm-6"> 249dd6b2bfcSGreg Roach <ul class="fa-ul"> 250dd6b2bfcSGreg Roach <li> 251dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 252dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'all'])) ?>"> 253dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to all users') ?> 254dd6b2bfcSGreg Roach </a> 255dd6b2bfcSGreg Roach </li> 256dd6b2bfcSGreg Roach <li> 257dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 258dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'never_logged'])) ?>"> 259dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to users who have never signed in') ?> 260dd6b2bfcSGreg Roach </a> 261dd6b2bfcSGreg Roach </li> 262dd6b2bfcSGreg Roach <li> 263dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/email') ?></span> 264dd6b2bfcSGreg Roach <a href="<?= e(route('broadcast', ['to' => 'last_6mo'])) ?>"> 265dd6b2bfcSGreg Roach <?= I18N::translate('Send a message to users who have not signed in for 6 months') ?> 266dd6b2bfcSGreg Roach </a> 267dd6b2bfcSGreg Roach </li> 268dd6b2bfcSGreg Roach </ul> 269dd6b2bfcSGreg Roach </div> 270dd6b2bfcSGreg Roach </div> 271dd6b2bfcSGreg Roach </div> 272dd6b2bfcSGreg Roach</div> 273dd6b2bfcSGreg Roach 274dd6b2bfcSGreg Roach<!-- MODULES --> 275dd6b2bfcSGreg Roach<div class="card mb-4"> 276dd6b2bfcSGreg Roach <div class="card-header"> 277dd6b2bfcSGreg Roach <h2 class="mb-0"> 278dd6b2bfcSGreg Roach <?= I18N::translate('Modules') ?> 279dd6b2bfcSGreg Roach <span class="badge badge-secondary"> 280dd6b2bfcSGreg Roach <?= I18N::number(count($all_modules)) ?> 281dd6b2bfcSGreg Roach </span> 282dd6b2bfcSGreg Roach </h2> 283dd6b2bfcSGreg Roach </div> 2840cb66f86SGreg Roach 285dd6b2bfcSGreg Roach <div class="card-body"> 2860cb66f86SGreg Roach <ul class="fa-ul"> 2870cb66f86SGreg Roach <li> 2880cb66f86SGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 2890cb66f86SGreg Roach <a href="<?= e(route('modules')) ?>"> 2900cb66f86SGreg Roach <?= I18N::translate('Module administration') ?> 2910cb66f86SGreg Roach </a> 2920cb66f86SGreg Roach </li> 2930cb66f86SGreg Roach </ul> 2940cb66f86SGreg Roach 295dd6b2bfcSGreg Roach <div class="row"> 296dd6b2bfcSGreg Roach <div class="col-sm-6"> 297dd6b2bfcSGreg Roach <ul class="fa-ul"> 298dd6b2bfcSGreg Roach <li> 299dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/menu') ?></span> 3000cb66f86SGreg Roach <a href="<?= e(route('menus')) ?>"> 301dd6b2bfcSGreg Roach <?= I18N::translate('Menus') ?> 302dd6b2bfcSGreg Roach </a> 3038e5c5efeSGreg Roach <?= view('components/badge', ['count' => $menu_modules->count()]) ?> 304dd6b2bfcSGreg Roach </li> 305dd6b2bfcSGreg Roach <li> 306dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/tab') ?></span> 3070cb66f86SGreg Roach <a href="<?= e(route('tabs')) ?>"> 308dd6b2bfcSGreg Roach <?= I18N::translate('Tabs') ?> 3098e5c5efeSGreg Roach <?= view('components/badge', ['count' => $tab_modules->count()]) ?> 310dd6b2bfcSGreg Roach </a> 311dd6b2bfcSGreg Roach </li> 312dd6b2bfcSGreg Roach <li> 313dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/block') ?></span> 3140cb66f86SGreg Roach <a href="<?= e(route('blocks')) ?>"> 315dd6b2bfcSGreg Roach <?= I18N::translate('Blocks') ?> 316dd6b2bfcSGreg Roach </a> 3178e5c5efeSGreg Roach <?= view('components/badge', ['count' => $block_modules->count()]) ?> 318dd6b2bfcSGreg Roach </li> 319dd6b2bfcSGreg Roach <li> 320dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/sidebar') ?></span> 3210cb66f86SGreg Roach <a href="<?= e(route('sidebars')) ?>"> 322dd6b2bfcSGreg Roach <?= I18N::translate('Sidebars') ?> 323dd6b2bfcSGreg Roach </a> 3248e5c5efeSGreg Roach <?= view('components/badge', ['count' => $sidebar_modules->count()]) ?> 325dd6b2bfcSGreg Roach </li> 326dd6b2bfcSGreg Roach <li> 327dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/chart') ?></span> 3280cb66f86SGreg Roach <a href="<?= e(route('charts')) ?>"> 329dd6b2bfcSGreg Roach <?= I18N::translate('Charts') ?> 330dd6b2bfcSGreg Roach </a> 3318e5c5efeSGreg Roach <?= view('components/badge', ['count' => $chart_modules->count()]) ?> 332dd6b2bfcSGreg Roach </li> 333dd6b2bfcSGreg Roach <li> 334dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/report') ?></span> 3350cb66f86SGreg Roach <a href="<?= e(route('reports')) ?>"> 336dd6b2bfcSGreg Roach <?= I18N::translate('Reports') ?> 337dd6b2bfcSGreg Roach </a> 3388e5c5efeSGreg Roach <?= view('components/badge', ['count' => $report_modules->count()]) ?> 339dd6b2bfcSGreg Roach </li> 34033c34396SGreg Roach <li> 34133c34396SGreg Roach <span class="fa-li"><?= view('icons/footer') ?></span> 34233c34396SGreg Roach <a href="<?= e(route('footers')) ?>"> 34333c34396SGreg Roach <?= I18N::translate('Footers') ?> 34433c34396SGreg Roach </a> 3458e5c5efeSGreg Roach <?= view('components/badge', ['count' => $footer_modules->count()]) ?> 3468e5c5efeSGreg Roach </li> 3478e5c5efeSGreg Roach <li> 3488e5c5efeSGreg Roach <span class="fa-li"><?= view('icons/analytics') ?></span> 3498e5c5efeSGreg Roach <a href="<?= e(route('analytics')) ?>"> 3508e5c5efeSGreg Roach <?= I18N::translate('Tracking and analytics') ?> 3518e5c5efeSGreg Roach </a> 3528e5c5efeSGreg Roach <?= view('components/badge', ['count' => $analytics_modules->count()]) ?> 3538e5c5efeSGreg Roach </li> 3548e5c5efeSGreg Roach <li> 3558e5c5efeSGreg Roach <span class="fa-li"><?= view('icons/history') ?></span> 3568e5c5efeSGreg Roach <a href="<?= e(route('history')) ?>"> 3578e5c5efeSGreg Roach <?= I18N::translate('Historic events') ?> 3588e5c5efeSGreg Roach </a> 3598e5c5efeSGreg Roach <?= view('components/badge', ['count' => $history_modules->count()]) ?> 36033c34396SGreg Roach </li> 361*11eb8581SGreg Roach <li> 362*11eb8581SGreg Roach <span class="fa-li"><?= view('icons/theme') ?></span> 363*11eb8581SGreg Roach <a href="<?= e(route('themes')) ?>"> 364*11eb8581SGreg Roach <?= I18N::translate('Themes') ?> 365*11eb8581SGreg Roach </a> 366*11eb8581SGreg Roach <?= view('components/badge', ['count' => $theme_modules->count()]) ?> 367*11eb8581SGreg Roach </li> 368*11eb8581SGreg Roach <li> 369*11eb8581SGreg Roach <span class="fa-li"><?= view('icons/language') ?></span> 370*11eb8581SGreg Roach <a href="<?= e(route('languages')) ?>"> 371*11eb8581SGreg Roach <?= I18N::translate('Languages') ?> 372*11eb8581SGreg Roach </a> 373*11eb8581SGreg Roach <?= view('components/badge', ['count' => $language_modules->count()]) ?> 374*11eb8581SGreg Roach </li> 375dd6b2bfcSGreg Roach </ul> 376dd6b2bfcSGreg Roach </div> 377dd6b2bfcSGreg Roach <div class="col-sm-6"> 378dd6b2bfcSGreg Roach <ul class="fa-ul"> 379dd6b2bfcSGreg Roach <?php foreach ($config_modules as $module) : ?> 380dd6b2bfcSGreg Roach <li> 381dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 382dd6b2bfcSGreg Roach <a href="<?= e($module->getConfigLink()) ?>"> 38349a243cbSGreg Roach <?= $module->title() ?> 384dd6b2bfcSGreg Roach </a> 385dd6b2bfcSGreg Roach </li> 386dd6b2bfcSGreg Roach <?php endforeach ?> 387dd6b2bfcSGreg Roach </ul> 388dd6b2bfcSGreg Roach </div> 389dd6b2bfcSGreg Roach </div> 390dd6b2bfcSGreg Roach </div> 391dd6b2bfcSGreg Roach</div> 392dd6b2bfcSGreg Roach 393dd6b2bfcSGreg Roach<!-- MEDIA --> 394dd6b2bfcSGreg Roach<div class="card mb-4"> 395dd6b2bfcSGreg Roach <div class="card-header"> 396dd6b2bfcSGreg Roach <h2 class="mb-0"> 397dd6b2bfcSGreg Roach <?= I18N::translate('Media') ?> 398dd6b2bfcSGreg Roach </h2> 399dd6b2bfcSGreg Roach </div> 400dd6b2bfcSGreg Roach <div class="card-body"> 401dd6b2bfcSGreg Roach <ul class="fa-ul"> 402dd6b2bfcSGreg Roach <li> 403dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 404dd6b2bfcSGreg Roach <a href="<?= e(route('admin-media')) ?>"> 405dd6b2bfcSGreg Roach <?= I18N::translate('Manage media') ?> 406dd6b2bfcSGreg Roach </a> 407dd6b2bfcSGreg Roach </li> 408dd6b2bfcSGreg Roach <li> 409dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 410dd6b2bfcSGreg Roach <a href="<?= e(route('admin-media-upload')) ?>"> 411dd6b2bfcSGreg Roach <?= I18N::translate('Upload media files') ?> 412dd6b2bfcSGreg Roach </a> 413dd6b2bfcSGreg Roach </li> 414dd6b2bfcSGreg Roach <li> 415dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 416dd6b2bfcSGreg Roach <a href="<?= e(route('admin-fix-level-0-media')) ?>"> 417dd6b2bfcSGreg Roach <?= I18N::translate('Link media objects to facts and events') ?> 418dd6b2bfcSGreg Roach </a> 419dd6b2bfcSGreg Roach </li> 420dd6b2bfcSGreg Roach <li> 421dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/preferences') ?></span> 422dd6b2bfcSGreg Roach <a href="<?= e(route('admin-webtrees1-thumbs')) ?>"> 423dd6b2bfcSGreg Roach <?= I18N::translate('Import custom thumbnails from webtrees version 1') ?> 424dd6b2bfcSGreg Roach </a> 425dd6b2bfcSGreg Roach </li> 426dd6b2bfcSGreg Roach </ul> 427dd6b2bfcSGreg Roach </div> 428dd6b2bfcSGreg Roach</div> 429dd6b2bfcSGreg Roach 430dd6b2bfcSGreg Roach<!-- MAPS --> 431dd6b2bfcSGreg Roach<div class="card mb-4"> 432dd6b2bfcSGreg Roach <div class="card-header"> 433dd6b2bfcSGreg Roach <h2 class="mb-0"> 434dd6b2bfcSGreg Roach <?= I18N::translate('Map') ?> 435dd6b2bfcSGreg Roach </h2> 436dd6b2bfcSGreg Roach </div> 437dd6b2bfcSGreg Roach <div class="card-body"> 438dd6b2bfcSGreg Roach <div class="row"> 439dd6b2bfcSGreg Roach <div class="col-sm-6"> 440dd6b2bfcSGreg Roach <ul class="fa-ul"> 441dd6b2bfcSGreg Roach <li> 442dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/location') ?></span> 443dd6b2bfcSGreg Roach <a href="<?= e(route('map-data')) ?>"> 444dd6b2bfcSGreg Roach <?= I18N::translate('Geographic data') ?> 445dd6b2bfcSGreg Roach </a> 446dd6b2bfcSGreg Roach </li> 447dd6b2bfcSGreg Roach </ul> 448dd6b2bfcSGreg Roach </div> 449dd6b2bfcSGreg Roach <div class="col-sm-6"> 450dd6b2bfcSGreg Roach <ul class="fa-ul"> 451dd6b2bfcSGreg Roach <li> 452dd6b2bfcSGreg Roach <span class="fa-li"><?= view('icons/map') ?></span> 453dd6b2bfcSGreg Roach <a href="<?= e(route('map-provider')) ?>"> 454dd6b2bfcSGreg Roach <?= I18N::translate('Map provider') ?> 455dd6b2bfcSGreg Roach </a> 456dd6b2bfcSGreg Roach </li> 457dd6b2bfcSGreg Roach </ul> 458dd6b2bfcSGreg Roach </div> 459dd6b2bfcSGreg Roach </div> 460dd6b2bfcSGreg Roach </div> 461dd6b2bfcSGreg Roach</div> 462dd6b2bfcSGreg Roach 463dd6b2bfcSGreg Roach<!-- OLD FILES --> 464dd6b2bfcSGreg Roach<?php if (!empty($files_to_delete)) : ?> 465dd6b2bfcSGreg Roach <div class="card mb-4 card-outline-danger"> 466dd6b2bfcSGreg Roach <div class="card-header"> 467dd6b2bfcSGreg Roach <h2 class="mb-0"> 468dd6b2bfcSGreg Roach <?= I18N::translate('Old files found') ?> 469dd6b2bfcSGreg Roach </h2> 470dd6b2bfcSGreg Roach </div> 471dd6b2bfcSGreg Roach <div class="card-body"> 472dd6b2bfcSGreg Roach <p> 473dd6b2bfcSGreg 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.') ?> 474dd6b2bfcSGreg Roach </p> 475dd6b2bfcSGreg Roach <ul class="list-unstyled"> 476dd6b2bfcSGreg Roach <?php foreach ($files_to_delete as $file_to_delete) : ?> 477dd6b2bfcSGreg Roach <li dir="ltr"><code><?= e($file_to_delete) ?></code></li> 478dd6b2bfcSGreg Roach <?php endforeach ?> 479dd6b2bfcSGreg Roach </ul> 480dd6b2bfcSGreg Roach </div> 481dd6b2bfcSGreg Roach </div> 482dd6b2bfcSGreg Roach<?php endif ?> 483