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");

}
Пример #2
0
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;
}
Пример #3
0
		$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";
	}