resetPassword.php 6.92 KB
Newer Older
Hamza Arfaoui's avatar
Hamza Arfaoui committed
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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
<?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>