function request_restore_password(){ require_once('conf/location.php'); global $LANG; global $CONF; $db = clone $GLOBALS['maindb']; if (!isset($_GET['user_request_restore_password'])) return array("ok"=>false, error=>"no email"); $user = new RegUser(); $user->setEmail($_GET['user_request_restore_password']); $user->load(); $user_id=$user->getId(); if (empty($user_id)) return array("ok"=>false, "error"=>"no email"); $check=hash('sha512',$user->getEmail().$user->getEncPassword()."Θ"); eval($LANG['requestrestoreemail_body']); // system("echo \"".$body."\" > email.html"); /*$headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=UTF-8\r\n"; $headers .= "From: {$CONF['email_from']}\r\n"; $headers .= "To: {$user->getNickname()} <{$user->getEmail()}>\r\n"; */ //print_r($body); require_once('class/Mail.php'); $a=new Mail(); $a->setEmailTo($user->getEmail()); $a->setNicknameTo($user->getNickname()); $a->setSubject("Pedido de recuperação de senha"); $a->setSubjectMsg(""); $a->setMsg($body); if ($a->send()) return array("ok"=>true,"error"=>""); else return array("ok"=>false,"error"=>"could not send email"); }
function signin($nickname, $password, $encrypted, $staysignedin) { global $user, $CONF; $u = new RegUser(); if (strpos($nickname,'@')===false) $u->setNickname($nickname); else $u->setEmail($nickname); if ($u->mustValidateEmailFirst()){ $u->sendEmail(); return array('nickname'=>$u->getNickname(), 'ok'=>false, 'error'=>'must validate email first'); } if ($encrypted) $valid = $u->validateEncPassword($password); else $valid = $u->validatePassword($password); if ($valid){ $user = $u; $user->load(); if ($user->getFirstTime()) { $user->setFirstTime(false); $la=$user->save(); } $_SESSION['user'] = $user; if ($staysignedin=='true') { setcookie('nickname', $user->getNickname(), $CONF['cookie_rememberme_lifetime']); setcookie('password', $user->getEncPassword(), $CONF['cookie_rememberme_lifetime']); } $result = array('user'=> array('nickname'=>$user->getNickname(),'anon'=>false), 'ok'=>true, 'error'=>''); } else { $result = array('nickname'=>'', 'ok'=>false, 'error'=>'invalid password'); } return $result; }
$newpassword=generateRandomPassword(); $user->setPassword($newpassword); eval($LANG['restoreemail_body']); //system("echo \"".$body."\" > email.html"); /*$headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=UTF-8\r\n"; $headers .= "From: {$CONF['email_from']}\r\n"; $headers .= "To: {$user->getNickname()} <{$user->getEmail()}>\r\n"; */ require_once('class/Mail.php'); $a=new Mail(); $a->setEmailTo($user->getEmail()); $a->setNicknameTo($user->getNickname()); $a->setSubject("Nova senha"); $a->setSubjectMsg(""); $a->setMsg($body); if ($a->send()){ $user->save(); $msg=$LANG['restoreemail_message_ok']; $msgclass="info"; } else { $msg=$LANG['error']; $msgclass="error"; } } else { $msg=$LANG['error_intrusion']; $msgclass="error"; }