<?php
session_start();
require_once('lib/gettext/gettext.inc');
include_once("inc/config.inc.php");
include_once("inc/func.inc.php");
include_once("inc/func_date.inc.php");
include_once("inc/func_log.inc.php");
include_once("inc/func_txt.inc.php");
include_once("inc/func_mail.inc.php");
include_once("classes/phpmailer/class.phpmailer.php");
include_once("inc/mail.inc.php");
include_once("classes/dirtool/class_dirtool.php");
include_once("classes/ezSQL/shared/ez_sql_core.php");
include_once("classes/ezSQL/mysql/ez_sql_mysql.php");
include_once("inc/func_sql.inc.php");
Archivelog(@$_SESSION["code_log"]);

// Variables Formulaire
fix_magic_quotes();
$_GET = clean_str($_GET);

$log_ip = $_SERVER['REMOTE_ADDR']; // Récupération adresse IP
$recup_ok = true;
$newpass = false;
$msg = _("Problème lors de la réinitialisation de votre mot de passe")."<br /><br />"._("Impossible de vous affecter un nouveau mot de passe");

$code = @$_GET["code"];
$pass = @$_GET["pw"];

if (($code == "") OR ($pass == ""))
	$recup_ok = false;
	
if ($recup_ok == true)
{
	$nouvmdp = cremdp(FALSE); // Création d'un nouveau de passe (envoyé)
	$nouvmdpcrypte = md5($nouvmdp); // Cryptage du nouveau mot de passe (stocké)

	// Récupération du compte
	$db = open_database(DBUSER,DBPASS,DBNAME,DBHOST);
	$rech = "SELECT * FROM `" .TBPW. "` WHERE `pw_code` = '" .$db->escape($code). "' AND `pw_pass` = '".$pass."' AND `pw_actif` = '1'";
	$row = $db->get_row($rech,ARRAY_A);
	if ($row) // Il ne peut y avoir qu'un seul résultat
	{
		extract ($row);

		switch ($pw_level)
		{
			// Centre de gestion
			case 5 :
				// MAJ de la fiche centre de gestion
				$rech = "SELECT cge_id FROM `" .TBCG. "`";
				$row = $db->get_row($rech,ARRAY_A);
				if ($row) 
				{
					extract($row);
					$upd = "UPDATE `" .TBCG. "` SET `cge_pass`='".$nouvmdpcrypte."'  WHERE `cge_id` = '".$cge_id."'";
					$db->query($upd);
					$newpass = true;
				}
				break;
			// Agence
			case 4 :
				// MAJ de la fiche Agence
				$rech = "SELECT age_id FROM `" .TBAGE. "` WHERE `age_code` = '".$db->escape($code)."'";
				$row = $db->get_row($rech,ARRAY_A);
				if ($row)
				{
					extract($row);
					$upd = "UPDATE `" .TBAGE. "` SET `age_pass`='".$nouvmdpcrypte."'  WHERE `age_id` = '".$age_id."'";
					$db->query($upd);
					$newpass = TRUE;
				}
				break;
			// Technicien
			case 3 :
				// MAJ de la fiche Technicien
				$rech = "SELECT tec_id FROM `" .TBTEC. "` WHERE `tec_code` = '".$db->escape($code)."'";
				$row = $db->get_row($rech,ARRAY_A);
				if ($row)
				{
					extract($row);
					$upd = "UPDATE `" .TBTEC. "` SET `tec_pass`='".$nouvmdpcrypte."'  WHERE `tec_id` = '".$tec_id."'";
					$db->query($upd);
					$newpass = TRUE;
				}
				break;
			// Opérateur
			case 2 :
				// MAJ de la fiche Opérateur
				$rech = "SELECT ope_id FROM `" .TBOPE. "` WHERE `ope_code` = '".$db->escape($code)."'";
				$row = $db->get_row($rech,ARRAY_A);
				if ($row)
				{
					extract($row);
					$upd = "UPDATE `" .TBOPE. "` SET `ope_pass`='".$nouvmdpcrypte."'  WHERE `ope_id` = '".$ope_id."'";
					$db->query($upd);
					$newpass = TRUE;
				}
				break;
			// Client
			case 1 :
				// MAJ de la fiche Client
				$rech = "SELECT cli_id FROM `" .TBCLI. "` WHERE `cli_code` = '".$db->escape($code)."'";
				$row = $db->get_row($rech,ARRAY_A);
				if ($row)
				{
					extract($row);
					$upd = "UPDATE `" .TBCLI. "` SET `cli_pass`='".$nouvmdpcrypte."'  WHERE `cli_id` = '".$cli_id."'";
					$db->query($upd);
					$newpass = TRUE;
				}
				break;

			default :
				break;
		}

		if ($newpass == true)
		{
			// Modification du compte de connexion
			$rech = "UPDATE `" .TBPW.  "` SET `pw_pass`='".$nouvmdpcrypte."',`pw_lastip`='".$log_ip."'  WHERE `pw_code` = '".$db->escape($code)."'";
			$db->query($rech);
			$db->disconnect();

			switch ($pw_level)
			{
				// Centre de gestion
				case 5 :
					// Envoi de l'email vers le siège
					envoi_mail("","Mise à jour mot de passe","cdg","mdp","xxx","cdg",$code,$nouvmdp,"",TRUE);
					break;
				// Agence
				case 4 :
					// Envoi de l'email vers l'agence
					envoi_mail("","Mise à jour mot de passe","age","mdp","xxx","age",$code,$nouvmdp,"",TRUE);
					break;
				// Technicien
				case 3 :
					// Envoi de l'email vers le technicien
					envoi_mail("","Mise à jour mot de passe","tec","mdp","xxx","tec",$code,$nouvmdp,"",TRUE);
					break;
				// Opérateur
				case 2 :
					// Envoi de l'email vers l'opérateur
					envoi_mail("","Mise à jour mot de passe","ope","mdp","xxx","ope",$code,$nouvmdp,"",TRUE);
					break;
				// Client
				case 1 :
					// Envoi de l'email vers le client
					envoi_mail("","Mise à jour mot de passe","cli","mdp","xxx","cli",$code,$nouvmdp,"",TRUE);
					break;
				default :
					break;
			}
			$msg = _("Mot de passe réinitialisé avec succès")."<br /><br />"._("Vous allez bientôt recevoir un email avec vos nouveaux codes");
		}
		else
			$db->disconnect();
	}
	else
		$db->disconnect();
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>SMI : <?PHP echo _("Nouveau mot de passe"); ?></title>

<?PHP include_once("header.inc.php"); ?>

<script type="text/javascript">
<!--        
function init_all() {
	init_Body();
	Focus_first();
}

$(document).ready(function(){
	init_all();
});
//-->
</script>


</head>
<body>

<table width="100%" height="300" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
	<td valign="top">
        <div align="center">
        <p><img src="img/logo.gif" alt="<?PHP echo _("logo SMI"); ?>"></p>
        <p><img src="img/login.png" alt="<?PHP echo _("connexion"); ?>"></p>
        <p class="annot_std_it"><?PHP echo _("Toutes les connexions sont archivées"); ?></p>
		</div>
		<table width="600" border="0" align="center">
		<tr bgcolor="#FF0000">
			<td colspan="2">
				<div align="center" class="titre_std_gras_jaune_frouge"><strong><?PHP echo _("Nouveau mot de passe"); ?></strong></div>
			</td>
		</tr>
		<tr>
			<td align="center">
            <?PHP
			pop_ret_auto($msg,'ok',"index.php");
			?>
			</td>
		</tr>
		</table>
	</td>
</tr>
</table>

</body>
</html>