<?php
//_________________________________________________________________________________
//Récupération de l'utilisateur
$reqOwnUser = getQueries("nx_users", array("idUser" => $user -> getUserId()));
if(!$reqOwnUser['count'])
redirect("index.php?page_slug=settings");
$userInfo = $reqOwnUser['result'][0];
$lang_config = lang_start();
$langs = $lang_config['lang'];
//_________________________________________________________________________________
//_________________________________________________________________________________
//Mise à jour du profil
if(isset($_POST['update-profil'])) {
//Données du formulaire
$form = array('user_firstname' => encrypt_decrypt("encrypt", htmlspecialchars($_POST['user_firstname']), $key_user, $iv_user),
'user_lastname' => encrypt_decrypt("encrypt", htmlspecialchars($_POST['user_lastname']), $key_user, $iv_user),
'user_email' => encrypt_decrypt("encrypt", strtolower(htmlspecialchars($_POST['user_email'])), $key_user, $iv_user),
'user_lang_iso' => htmlspecialchars($_POST['user_lang_iso']),
);
$selector = array('idUser' => $userInfo['idUser']);
$flag = dbRowUpdate2("nx_users", $form, $selector);
if($flag) {
itsLog(array('log_table' => "nx_users",
'log_operation' => "Mise à jour du profil",
'log_request' => json_encode($form),
'log_response' => json_encode($flag),
'log_selector' => json_encode($selector),
'log_color' => "success",
'log_display' => 1,
'log_timeout' => 5000,
'id_log' => $userInfo['idUser'],
'user_id' => $user -> getUserId()
));
} else {
itsLog(array('log_table' => "nx_users",
'log_operation' => "Erreur durant la mise à jour du profil",
'log_request' => json_encode($form),
'log_response' => json_encode($flag),
'log_selector' => json_encode($selector),
'log_color' => "danger",
'log_display' => 1,
'log_timeout' => 5000,
'id_log' => $userInfo['idUser'],
'user_id' => $user -> getUserId()
));
}
//Met à jour l'objet user
$response = refreshCurrentUser();
//Refresh
redirect($_SERVER['REQUEST_URI']);
}
//_________________________________________________________________________________
//_________________________________________________________________________________
//Mise à jour des données de connexion
if(isset($_POST['update-connexion'])) {
$mdp1 = htmlspecialchars($_POST['mdp_1']);
$mdp2 = htmlspecialchars($_POST['mdp_2']);
//Contrôle que les mots de passes corresponent
if($mdp1 == $mdp2) {
//Données du formulaire
$form = array('user_mdp' => password_hash($mdp1, PASSWORD_DEFAULT));
$selector = array('idUser' => $userInfo['idUser']);
$flag = dbRowUpdate2("nx_users", $form, $selector);
if($flag) {
itsLog(array('log_table' => "nx_users",
'log_operation' => "Mise à jour des données de connexion",
'log_request' => json_encode($form),
'log_response' => json_encode($flag),
'log_selector' => json_encode($selector),
'log_color' => "success",
'log_display' => 1,
'log_timeout' => 5000,
'id_log' => $userInfo['idUser'],
'user_id' => $user -> getUserId()
));
} else {
itsLog(array('log_table' => "nx_users",
'log_operation' => "Erreur durant la mise à jour des données de connexion",
'log_request' => json_encode($form),
'log_response' => json_encode($flag),
'log_selector' => json_encode($selector),
'log_color' => "danger",
'log_display' => 1,
'log_timeout' => 5000,
'id_log' => $userInfo['idUser'],
'user_id' => $user -> getUserId()
));
}
} else {
itsLog(array('log_table' => "nx_users",
'log_operation' => "Les mots de passes ne correspondent pas",
'log_request' => json_encode(array(false)),
'log_response' => json_encode(array(false)),
'log_selector' => json_encode(array(false)),
'log_color' => "danger",
'log_display' => 1,
'log_timeout' => 5000,
'id_log' => $userInfo['idUser'],
'user_id' => $user -> getUserId()
));
}
//Met à jour l'objet user
$response = refreshCurrentUser();
//Refresh
redirect($_SERVER['REQUEST_URI']);
}
//_________________________________________________________________________________
?>
<div class="content d-flex flex-column flex-column-fluid" id="kt_content">
<!--begin::Container-->
<div class="container-xxl" id="kt_content_container">
<!--begin::Basic info-->
<div class="card mb-5 mb-xl-10">
<!--begin::Card header-->
<div class="card-header border-0 cursor-pointer" role="button" data-bs-toggle="collapse" data-bs-target="#profil" aria-expanded="true" aria-controls="profil">
<!--begin::Card title-->
<div class="card-title m-0">
<h3 class="fw-bolder m-0">Profil</h3>
</div>
<!--end::Card title-->
</div>
<!--begin::Card header-->
<!--begin::Content-->
<div id="profil" class="collapse show">
<!--begin::Form-->
<form class="form" method="post">
<!--begin::Card body-->
<div class="card-body border-top p-9">
<!--begin::Input group-->
<div class="row mb-6">
<!--begin::Label-->
<label class="col-lg-4 col-form-label required fw-bold fs-6">Prénom</label>
<!--end::Label-->
<!--begin::Col-->
<div class="col-lg-8 fv-row">
<input type="text" name="user_firstname" class="form-control form-control-lg form-control-solid" placeholder="John" value="<?= encrypt_decrypt("decrypt", $userInfo['user_firstname'], $key_user, $iv_user)?>" />
</div>
<!--end::Col-->
</div>
<!--end::Input group-->
<!--begin::Input group-->
<div class="row mb-6">
<!--begin::Label-->
<label class="col-lg-4 col-form-label required fw-bold fs-6">Nom</label>
<!--end::Label-->
<!--begin::Col-->
<div class="col-lg-8 fv-row">
<input type="text" name="user_lastname" class="form-control form-control-lg form-control-solid" placeholder="Doe" value="<?= encrypt_decrypt("decrypt", $userInfo['user_lastname'], $key_user, $iv_user)?>" />
</div>
<!--end::Col-->
</div>
<!--end::Input group-->
<!--begin::Input group-->
<div class="row mb-6">
<!--begin::Label-->
<label class="col-lg-4 col-form-label required fw-bold fs-6">Email</label>
<!--end::Label-->
<!--begin::Col-->
<div class="col-lg-8 fv-row">
<input type="text" name="user_email" class="form-control form-control-lg form-control-solid" placeholder="john.doe@domain.ch" value="<?= encrypt_decrypt("decrypt", $userInfo['user_email'], $key_user, $iv_user)?>" />
</div>
<!--end::Col-->
</div>
<!--end::Input group-->
<!--begin::Input group-->
<div class="row mb-6">
<!--begin::Label-->
<label class="col-lg-4 col-form-label required fw-bold fs-6">Langue</label>
<!--end::Label-->
<!--begin::Col-->
<div class="col-lg-8 fv-row">
<select class="form-control form-control-lg form-control-solid" name="user_lang_iso">
<?php
$find = false;
$opts = '';
foreach($langs as $lang_iso => $lang) {
$selected = $lang_iso == $userInfo['user_lang_iso'] ? 'selected' : '';
if( $lang_iso == $userInfo['user_lang_iso'] )
$find = true;
$opts .= '<option value="'.$lang_iso.'" '.$selected.'>'.$lang['name'].'</option>';
}
if( !$find )
$opts = '<option selected disabled>Choisir</option>' . $opts;
echo $opts;
?>
</select>
</div>
<!--end::Col-->
</div>
<!--end::Input group-->
</div>
<!--end::Card body-->
<!--begin::Actions-->
<div class="card-footer d-flex justify-content-end py-6 px-9">
<button type="submit" class="btn btn-primary" name="update-profil">Enregistrer</button>
</div>
<!--end::Actions-->
</form>
<!--end::Form-->
</div>
<!--end::Content-->
</div>
<!--end::Basic info-->
<!--begin::Données de connexion-->
<div class="card mb-5 mb-xl-10">
<!--begin::Card header-->
<div class="card-header border-0 cursor-pointer" role="button" data-bs-toggle="collapse" data-bs-target="#connexion" aria-expanded="true" aria-controls="connexion">
<!--begin::Card title-->
<div class="card-title m-0">
<h3 class="fw-bolder m-0">Données de connexion</h3>
</div>
<!--end::Card title-->
</div>
<!--begin::Card header-->
<!--begin::Content-->
<div id="connexion" class="collapse">
<!--begin::Form-->
<form class="form" method="post">
<!--begin::Card body-->
<div class="card-body border-top p-9">
<!--begin::Input group-->
<div class="row mb-6">
<!--begin::Label-->
<label class="col-lg-4 col-form-label required fw-bold fs-6">Mot de passe</label>
<!--end::Label-->
<!--begin::Col-->
<div class="col-lg-8 fv-row">
<input type="password" name="mdp_1" class="form-control form-control-lg form-control-solid" value="" />
</div>
<!--end::Col-->
</div>
<!--end::Input group-->
<!--begin::Input group-->
<div class="row mb-6">
<!--begin::Label-->
<label class="col-lg-4 col-form-label required fw-bold fs-6">Confirmer mot de passe</label>
<!--end::Label-->
<!--begin::Col-->
<div class="col-lg-8 fv-row">
<input type="password" name="mdp_2" class="form-control form-control-lg form-control-solid" value="" />
</div>
<!--end::Col-->
</div>
<!--end::Input group-->
</div>
<!--end::Card body-->
<!--begin::Actions-->
<div class="card-footer d-flex justify-content-end py-6 px-9">
<button type="submit" class="btn btn-primary" name="update-connexion">Enregistrer</button>
</div>
<!--end::Actions-->
</form>
<!--end::Form-->
</div>
<!--end::Content-->
</div>
<!--end::Données de connexion-->
</div>
<!--end::Container-->
</div>