fisharebest/webtrees

View on GitHub
resources/views/modules/relationships-chart/config.phtml

Summary

Maintainability
Test Coverage
<?php

declare(strict_types=1);

use Fisharebest\Webtrees\Http\RequestHandlers\ControlPanel;
use Fisharebest\Webtrees\Http\RequestHandlers\ModulesAllPage;
use Fisharebest\Webtrees\I18N;
use Fisharebest\Webtrees\Tree;
use Illuminate\Support\Collection;

/**
 * @var Collection<int,Tree> $all_trees
 * @var array<int,string>    $ancestors_options
 * @var string               $default_ancestors
 * @var string               $default_recursion
 * @var array<int,string>    $recursion_options
 * @var string               $title
 */

?>

<?= view('components/breadcrumbs', ['links' => [route(ControlPanel::class) => I18N::translate('Control panel'), route(ModulesAllPage::class) => I18N::translate('Modules'), $title]]) ?>

<h1><?= $title ?></h1>
<p>
    <?= I18N::translate('Searching for all possible relationships can take a lot of time in complex trees.') ?>
</p>

<form method="post">
    <?php foreach ($all_trees as $tree) : ?>
        <h2><?= e($tree->title()) ?></h2>
        <div class="row mb-3">
            <label class="col-sm-3 col-form-label" for="relationship-ancestors-<?= $tree->id() ?>">
                <?= /* I18N: Configuration option */
                I18N::translate('Relationships') ?>
            </label>
            <div class="col-sm-9">
                <?= view('components/select', ['name' => 'relationship-ancestors-' . $tree->id(), 'selected' => $tree->getPreference('RELATIONSHIP_ANCESTORS', $default_ancestors), 'options' => $ancestors_options]) ?>
            </div>
        </div>

        <fieldset class="row mb-3">
            <legend class="col-form-label col-sm-3">
                <?= /* I18N: Configuration option */
                I18N::translate('How much recursion to use when searching for relationships') ?>
            </legend>
            <div class="col-sm-9">
                <?= view('components/radios-inline', ['name' => 'relationship-recursion-' . $tree->id(), 'options' => $recursion_options, 'selected' => (int) $tree->getPreference('RELATIONSHIP_RECURSION', $default_recursion)]) ?>
            </div>
        </fieldset>
    <?php endforeach ?>

    <div class="row mb-3">
        <div class="offset-sm-3 col-sm-9">
            <button type="submit" class="btn btn-primary">
                <?= view('icons/save') ?>
                <?= I18N::translate('save') ?>
            </button>
        </div>
    </div>

    <?= csrf_field() ?>
</form>