<?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';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>Aadministração</title>
	<link href="common/style.css" rel="stylesheet" type="text/css">
</head>

<body>
<? 

include '../common/header.php';

echo "<h1>Sistema de Administração</h1>\n";


try
{
	if($_SESSION['uid'] !== -1)
		garante_permissao(TipoUsuario::ADMINISTRADOR);

	$cmd = $_GET['cmd'];

	if($cmd == 'commit')
	{
		$user = $_POST['user'];
		$senha = $_POST['senha'];
		$conf_senha = $_POST['conf_senha'];

		try
		{

			if($conf_senha != $senha)
				throw new Exception("A senha e a sua confirmação não batem");

			if(empty($senha))
				throw new Exception("A senha deve ser especificada");

			$dbuser = Doctrine_Query::create()
				->from('Usuario u')
				->where("u.login = 'admin'")
				->fetchOne();

			if(!$dbuser)
			{
				$dbuser = new Usuario();
				$dbuser->login = 'admin';
				$dbuser->idtipo = TipoUsuario::ADMINISTRADOR;
			}

			$dbuser->senha = sha1($senha);
			$dbuser->save();

			$msg = 'Modificação realizada com sucesso';
			$ok = true;
			$_SESSION['uid'] = $dbuser->id;

			$current_user = $dbuser;
		}
		catch(Exception $e)
		{
			$msg = $e->getMessage();
			$ok = false;
		}
	}
?>
	<div class='dialog'>
		<h1>Alteração de Senha do Administrador</h1>

		<form name='login' action='admin_config.php?cmd=commit' method='POST' 
			  enctype='application/x-www-form-urlencoded'>
<?
		echo "<div align=center class=".($ok ? 'sucesso' : 'erro').">".nl2br($msg)."</div>\n";
?>
			<table align=center>
				<tr>
					<td class='label'><b>usuário:</b></td> 
					<td><input type='text' name='user' value='admin' readonly></td>
				</tr>
				<tr>
					<td class='label'><b>senha:</b></td> 
					<td><input type='password' name='senha'></td>
				</tr>
				<tr>
					<td class='label'><b>confirmação:</b></td> 
					<td><input type='password' name='conf_senha'></td>
				</tr>
				<tr>
					<td colspan=2 class='acoes'>
						<input type=submit value="modificar">
						<input type=reset value="limpar">
					<td>
				</tr>
			</table>
		</form>
	</div>
<?
	if($cmd=='commit' && $ok)
		redirect('gerencia.php');
}
catch(Exception $e)
{
	mostra_erro($e->getMessage());
}

include '../common/footer.php';

?>
</body>

</html>
