Files
fdn2/public/admin/passwordRecovery.php
T
Riccardo Di Dato 8a29353046 Inserite le mail di gestione utenti ed amministratori con task annessi;
Inserito stile per commenti e form commenti;
Inseriti articoli home e lato destro delle pagine in base alle
visualizzazioni;
Bugfix vari;
2016-03-17 17:56:39 +01:00

108 lines
2.9 KiB
PHP

<?php
/*
Author: Riccardo Di Dato
Creation Date: 17/mar/2016
*/
require_once(dirname(__FILE__)."/../load.php");
GUIHandler::generateHtmlHeaders(array(),true);
HTMLHelper::generateAdminHead();
try{
$changed = false;
if (!array_key_exists("req",$_GET) || strcmp("req", "")==0 || !array_key_exists("u",$_GET) || strcmp("u", "")==0){
GUIHandler::redirect("admin/login.php");
}
$requestCode = $_GET['req'];
$adminId = $_GET['u'];
$admin = GlobalVariables::get("dao")->getFirst("AdminModel",array("id"=>$adminId));
if (is_null($admin)){
GUIHandler::redirect("admin/login.php");
}
$request = GlobalVariables::get("dao")->getFirst("PasswordRecoveryRequestModel",array("id"=>$requestCode,"target.id"=>$adminId,"target.class"=>"AdminModel"));
if (is_null($request)){
GUIHandler::redirect("admin/login.php");
}
$action = PostHandler::get("action");
if (!is_null($action) && strcmp("", $action)!=0){
if (strcmp("change", $action)==0){
$err = false;
$exc = new GUIException(array());
// Validate Password
$pass = trim(PostHandler::get("password"));
if (strcmp($pass,"")==0){
$err = true;
$exc->addMessage("Inserire una nuova password");
}
if (strcmp($pass,PostHandler::get("password_confirm"))!=0){
$err = true;
$exc->addMessage("Le password inserite non coincidono");
}
$admin->password = sha1($pass);
if ($err){
throw $exc;
}
GlobalVariables::get("dao")->delete($request);
GlobalVariables::get("dao")->save($admin);
$changed = true;
GUIHandler::redirect("admin/login.php");
}
}
}catch(GUIException $ex){
$error = $ex->getMessageMerged("<br/>");
}catch (Exception $exec){
LoggingFacilityManager::getLogger("gui")->log(LoggingFacility::$LEVEL_ERROR, $exec->getMessage());
$error = "Si è verificato un errore inaspettato durante l'esecuzione della pagina. Se l'errore persiste contattare il supporto tecnico.";
}
if ($changed){
?>
<div>
La password è stata modificata con successo.
<div class="formBtns">
<a href="login.php" >Login</a>
</div>
</div>
<?php
}
else {
?>
<div>
<?php
if(strcmp($error, "")!=0){
echo '<div style="font-size: 16px; color:red;">'.$error.'</div>';
}
?>
<form id="adminConfirmForm" method="POST" action="">
<input type="hidden" name="action" value="" />
<div>
<span class="label">Password</span>
<input type="password" name="password" value="" />
</div>
<div>
<span class="label">Conferma Password</span>
<input type="password" name="password_confirm" value="" />
</div>
</form>
<div class="formBtns">
<a href="#" id="adminConfirmForm_salva" >Conferma</a>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(event){
$("#adminConfirmForm_salva").click(function(event){
$("form#adminConfirmForm input[type=hidden][name=action]").val("change");
$("form#adminConfirmForm").submit();
});
});
</script>
<?php
}
?>