Editeur Editez un fichier

Edition d'un fichier

Editez le fichier applications/nuasix/account.php
<?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>

Conseils et liens

Liens vers des ressources utiles pour l'édition de fichier