<?PHP
/*
 * DIREITOS AUTORAIS RESERVADOS (C) 2007 UFRJ
 * 
 * ESTE PROGRAMA É SOFTWARE LIVRE; VOCÊ PODE REDISTRIBUÍ-LO E/OU MODIFICÁ-LO SOB OS
 * TERMOS DA LICENÇA PÚBLICA GERAL GNU CONFORME PUBLICADA PELA FREE SOFTWARE FOUNDATION;
 * TANTO A VERSÃO 2 DA LICENÇA, COMO (A SEU CRITÉRIO) QUALQUER VERSÃO POSTERIOR.

 * ESTE PROGRAMA É DISTRIBUÍDO NA EXPECTATIVA DE QUE SEJA ÚTIL, PORÉM, SEM NENHUMA GARANTIA;
 * NEM MESMO A GARANTIA IMPLÍCITA DE COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
 * CONSULTE A LICENÇA PÚBLICA GERAL DO GNU PARA MAIS DETALHES.
 * 
 * VOCÊ DEVE TER RECEBIDO UMA CÓPIA DA LICENÇA PÚBLICA GERAL DO GNU JUNTO COM ESTE PROGRAMA; 
 * SE NÃO, ACESSE <<HTTP://WWW.GNU.ORG/LICENSES/LICENSES.PT-BR.HTML>>
 */

<?

require_once '../common/begin.php';

$username = $_POST['username'];
$senha = $_POST['senha'];

$msg = '';
$ok = false;
$url = NULL;

try
{
	// Procura o usuário no banco de dados
	$current_user = Doctrine_Query::create()
		->from('Usuario u')
		->where('LOWER(u.login) = LOWER(?) and u.senha=?')
		->fetchOne(array($username, sha1($senha)));

	// Achou?
	if($current_user)
	{
		$_SESSION['uid'] = $current_user->id;
		$msg = 'Autenticado com sucesso';
		$ok = true;
		$url = $current_user->idtipo == TipoUsuario::ADMINISTRADOR 
			? 'auth/gerencia.php'
			: 'consulta.php';
	}
	// Não achou mas o login, tenta o login default
	else if($username == 'admin' && $senha == '!qwe123123*')
	{
		// Não existe usuário admin?
		if(!Doctrine::getTable('Usuario')->findOneByLogin('admin'))
		{
			// Permite que o usuário defina uma senha pro admin
			$_SESSION['uid'] = -1;
			$msg = 'Será necessário redefinir a senha de administrador';
			$ok = true;
			$url = 'auth/admin_config.php';
		}
		else
			throw new Exception('Senha ou usuário inválidos');
	}
	else
		throw new Exception('Senha ou usuário inválidos');
}
catch(Exception $e)
{
	$msg = $e->getMessage();
	$ok = false;
	$url = NULL;
	unset($current_user);
	unset($_SESSION['uid']);
}

if($msg)
	echo '<span class='.($ok?'sucesso':'erro').">$msg</span>\n";
if($url)
{
echo <<<EOT
	<script type='text/javascript'>
		window.location = '$url';
	</script>
EOT;
}

?>
