1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
<?php
use Fisharebest\Webtrees\Http\RequestHandlers\ControlPanel;
use Fisharebest\Webtrees\Http\RequestHandlers\UserAddAction;
use Fisharebest\Webtrees\Http\RequestHandlers\UserListPage;
use Fisharebest\Webtrees\I18N;
use Fisharebest\Webtrees\View;
/**
* @var string $email
* @var string $real_name
* @var string $title
* @var string $username
*/
?>
<?= view('components/breadcrumbs', ['links' => [
route(ControlPanel::class) => I18N::translate('Control panel'),
route(UserListPage::class) => I18N::translate('User administration'),
$title,
]]) ?>
<h1><?= $title ?></h1>
<form method="post" action="<?= e(route(UserAddAction::class)) ?>" class="form-horizontal" autocomplete="off">
<?= csrf_field() ?>
<!-- REAL NAME -->
<div class="row form-group">
<label class="col-sm-3 col-form-label" for="real_name">
<?= I18N::translate('Real name') ?>
</label>
<div class="col-sm-9">
<input class="form-control" type="text" id="real_name" name="real_name" required="required" maxlength="64" value="<?= e($real_name) ?>" dir="auto">
<p class="small text-muted">
<?= I18N::translate('This is your real name, as you would like it displayed on screen.') ?>
</p>
</div>
</div>
<!-- USER NAME -->
<div class="row form-group">
<label class="col-sm-3 col-form-label" for="username">
<?= I18N::translate('Username') ?>
</label>
<div class="col-sm-9">
<input class="form-control" type="text" id="username" name="username" required="required" maxlength="32" value="<?= e($username) ?>" dir="auto">
<p class="small text-muted">
<?= I18N::translate('Usernames are case-insensitive and ignore accented letters, so that “chloe”, “chloë”, and “Chloe” are considered to be the same.') ?>
</p>
</div>
</div>
<!-- PASSWORD -->
<div class="row form-group">
<label class="col-sm-3 col-form-label" for="password">
<?= I18N::translate('Password') ?>
</label>
<div class="col-sm-9">
<input class="form-control" type="password" id="password" name="password" pattern = ".{8,}" placeholder="<?= I18N::plural('Use at least %s character.', 'Use at least %s characters.', 8, I18N::number(8)) ?>" required="required" autocomplete="new-password" data-show-text="<?= e(I18N::translate('Show')) ?>" data-show-title="<?= e(I18N::translate('Show password')) ?>" data-hide-text="<?= e(I18N::translate('Hide')) ?>" data-hide-title="<?= e(I18N::translate('Hide password')) ?>">
<p class="small text-muted">
<?= I18N::translate('Passwords must be at least 8 characters long and are case-sensitive, so that “secret” is different from “SECRET”.') ?>
</p>
</div>
</div>
<!-- EMAIL ADDRESS -->
<div class="row form-group">
<label class="col-sm-3 col-form-label" for="email">
<?= I18N::translate('Email address') ?>
</label>
<div class="col-sm-9">
<input class="form-control" type="email" id="email" name="email" required="required" maxlength="64" value="<?= e($email) ?>">
<p class="small text-muted">
<?= I18N::translate('This email address will be used to send password reminders, website notifications, and messages from other family members who are registered on the website.') ?>
</p>
</div>
</div>
<div class="row form-group">
<div class="offset-sm-3 col-sm-9">
<button type="submit" class="btn btn-primary">
<?= I18N::translate('save') ?>
</button>
</div>
</div>
</form>
<?php View::push('javascript') ?>
<script>
function regex_quote(str) {
return str.replace(/[\\.?+*()[\]{}|]/g, "\\$&");
}
</script>
<?php View::endpush() ?>
|