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
|
if (!empty($_POST['save']))
{
if (!Utils::CSRF_check('edit_me'))
{
$error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
}
elseif (Utils::post('passe') != Utils::post('repasse'))
{
$error = 'La vérification ne correspond pas au mot de passe.';
}
else
{
try {
$data = [];
foreach ($config->get('champs_membres')->getAll() as $key=>$c)
{
if (!empty($c['editable']))
{
$data[$key] = Utils::post($key);
}
}
$membres->edit($membre['id'], $data, false);
$membres->updateSessionData();
if (Utils::post('otp') == 'generate')
{
$secret = $membres->setOTP();
Utils::redirect('/admin/mes_infos.php?otp=' . rawurlencode($secret));
}
elseif (Utils::post('otp') == 'disable')
{
$secret = $membres->disableOTP();
Utils::redirect('/admin/mes_infos.php?otp=off');
}
else
{
Utils::redirect('/admin/');
}
}
catch (UserException $e)
{
$error = $e->getMessage();
}
}
}
$tpl->assign('error', $error);
$tpl->assign('otp_status', Utils::get('otp'));
if (Utils::get('otp') && Utils::get('otp') != 'off')
{
$url = \KD2\Security_OTP::getOTPAuthURL($config->get('nom_asso'), Utils::get('otp'));
$qrcode = new \KD2\QRCode($url);
$qrcode = 'data:image/svg+xml;base64,' . base64_encode($qrcode->toSVG());
$tpl->assign('otp_qrcode', $qrcode);
$tpl->assign('otp_status', implode(' ', str_split(Utils::get('otp'), 4)));
}
$tpl->assign('passphrase', Utils::suggestPassword());
$tpl->assign('champs', $config->get('champs_membres')->getAll());
$tpl->assign('membre', $membre);
$tpl->display('admin/mes_infos.tpl');
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
|
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
|
if (!empty($_POST['save']))
{
if (!Utils::CSRF_check('edit_me'))
{
$error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
}
else
{
try {
$data = [];
foreach ($config->get('champs_membres')->getAll() as $key=>$c)
{
if (!empty($c['editable']))
{
$data[$key] = Utils::post($key);
}
}
$membres->edit($membre['id'], $data, false);
$membres->updateSessionData();
Utils::redirect('/admin/');
}
catch (UserException $e)
{
$error = $e->getMessage();
}
}
}
$tpl->assign('error', $error);
$tpl->assign('champs', $config->get('champs_membres')->getAll());
$tpl->assign('membre', $membre);
$tpl->display('admin/mes_infos.tpl');
|