<?php require_once('../inc/confNetisse.php'); require_once('../admin/functions.php'); $key = isset($_REQUEST['key']) ? $_REQUEST['key'] : false; $key_parts = checkResetKey($key); $id_conseiller = $key_parts['conseiller']; $id_agence = $key_parts['agence']; $time = $key_parts['time']; $diff = time() - $time; $valid = true; if($diff > 86400 || !$time || !$id_conseiller || !$id_agence){ // 24h $valid = false; } else{ $conseiller = getConseillerByID($id_conseiller); if(date('d-m-Y',strtotime($conseiller->date_modification)) == date('d-m-Y', $time)){ $valid = false; } else{ $agence = getAgenceByID($id_agence); } } ?> <!DOCTYPE html> <html> <head> <meta name=viewport content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes"> <meta charset="UTF-8"> <title><?php echo $PROJECT_TITLE;?> - Réinitialisation de mot de passe</title> <link rel="stylesheet" type="text/css" href="../admin/css/cans/jquery-ui-1.8.17.custom.css" /> <link rel="stylesheet" href="css/font-awesome.min.css"> <link rel="stylesheet" href="css/bootstrap3.min.css" /> <link rel="stylesheet" href="css/globalcolors.php?v=<?php echo $GLOBALS['version'];?>" /> <link rel="stylesheet" href="css/pilestats.css?v=<?php echo $GLOBALS['version'];?>" /> <link rel="stylesheet" href="css/pile.css?v=<?php echo $GLOBALS['version'];?>" /> <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="js/progress.min.js"></script> <script type="text/javascript" src="js/jquery-ui-1.8.22.custom.min.js"></script> <script type="text/javascript" src="js/jquery.validate.min.js"></script> <style> .btn-block{ width: 100px !important; margin: 0 auto; background: #009597; border: none; padding: 5px; border-radius: 0; } </style> </head> <body> <div id="pileHeader"><br/> <center><h1><?php echo $agence ? $agence->nom_agence.' - ' : '';?>Accès Pile</h1></center> </div> <div class="form-gap"></div> <div class="container"> <div class="row"> <div class="col-md-10 col-md-offset-1"> <div class="panel panel-default"> <div class="panel-body"> <div class="text-center"> <?php if($valid){?> <h3><i class="fa fa-lock fa-4x"></i></h3> <h2 class="text-center">Réinitialisation de mot de passe</h2> <p><span class="text-primary"><?php echo $conseiller->civ.' '.$conseiller->nom.' '.$conseiller->prenom;?></span>, vous pouvez réinitialiser votre mot de passe ici.</p> <div class="panel-body"> <form id="reset-form" role="form" autocomplete="off" class="form" method="post"> <div class="form-group"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-lock color-blue"></i></span> <input id="password" name="password" placeholder="Nouveau mot de passe" class="form-control" type="password" required> </div> </div> <div class="form-group"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-lock color-blue"></i></span> <input id="password_confirm" name="password_confirm" placeholder="Confirmer votre mot de passe" class="form-control" type="password" required> </div> </div> <div class="form-group"> <input name="recover-submit" class="btn btn-lg btn-primary btn-block" value="Valider" type="submit"> </div> <p id="recover-error-msg" style="color: red"></p> <input type="hidden" class="hide" name="type" id="type" value="resetPassword"> <input type="hidden" class="hide" name="id_agence" id="agence" value="<?php echo $id_agence;?>"> <input type="hidden" class="hide" name="id_conseiller" id="conseiller" value="<?php echo $id_conseiller;?>"> <input type="hidden" class="hide" name="token" id="token" value=""> </form> </div> <?php } else{ ?> <h3>Lien inactif.<br/><br/>Merci de contacter votre administrateur pour réinitialiser votre mot de passe.</h3> <?php } ?> </div> </div> </div> </div> </div> </div> </body> <script> <?php if($valid) {?> $("#reset-form").on('submit', function(e){ e.preventDefault(); e.stopPropagation(); if($("#password").val() !== $("#password_confirm").val()){ $("#recover-error-msg").html('Le mot de passe et la confirmation ne sont pas identiques.'); } else if ($("password").val() !== "" && checkPassword() == false) { $("#recover-error-msg").html("<center>Veuillez choisir un mot de passe d'au moins 8 caractères alphanumériques contenant des nombres, des caractères miniscules et majuscules.</center>"); } else{ var form = $('form')[0]; var formData = new FormData(form); $.ajax({ url: 'ajax/updateCnsProfile.php', type: "POST", data: formData, contentType: false, processData: false, success: function(result) { result = JSON.parse(result); if(result.status){ $(".panel-body").html("<h1>Mot de passe réinitialisé !</h1><p><a href='pile.php?IDA=<?php echo $agence->code_agence;?>'>Cliquer ici pour vous connecter.</a></p>"); } else{ $("#recover-error-msg").html("<center>Veuillez choisir un mot de passe différent.</center>"); } } }); } }); function hasLowerCase(str) { return (/[a-z]/g.test(str)); } function hasUpperCase(str) { return (/[A-Z]/g.test(str)); } function hasNumbers(str) { return (/\d/.test(str)); } function checkPassword(){ if( hasNumbers(document.getElementById("password").value) && hasUpperCase(document.getElementById("password").value) && hasLowerCase(document.getElementById("password").value) && document.getElementById("password").value.length >=8){ return true; } return false; } <?php } ?> </script> </html>