<?php
/*******************************************************************************
* MUSPA
*
* Copyright (C) 2004 MUSPA Project
*
* 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, escreva para a Free Software Foundation, Inc., no
* endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
*
*******************************************************************************/
require_once('config.php');
require_once('include/msg.php');
if (DEBUG)
$starttime = GetMicroTime();
// Error handler
require_once('error_handler.php');
// Lista de modulos ativos
require_once('conf_modules.php');
// Classe base para todos os modulos
require_once('sys/admin.php');
// Session Handler
require_once("session_handler.php");
// Lista de modulos do sistema
$g_aSysModuleList = array(
'login' => 'sys/login.php',
'logout' => 'sys/logout.php',
'entrada' => 'sys/entrada.php',
);
if (!isset($_GET['m']))
$_GET['m'] = 'login';
// Verifica se é um modulo de sistema
if (isset($g_aSysModuleList[$_GET['m']]))
$g_strModule = $g_aSysModuleList[$_GET['m']];
// Se não for, verifica na lista de modulos normais
elseif(isset($g_aModuleList[$_GET['m']]))
$g_strModule = $g_aModuleList[$_GET['m']];
else
FatalError("Este módulo não esta configurado no MUSPA.");
// Verifica se o modulo existe
if (!file_exists($g_strModule))
FatalError( "Módulo não encontrado." );
// inclui o modulo
require_once($g_strModule);
if (!class_exists($_GET['m']))
FatalError( "Módulo corrompido." );
$g_oAdmin =& new $_GET['m'];
// Verifica se o modulo é valido
if (!is_subclass_of($g_oAdmin, 'Admin'))
FatalError( "Módulo inválido" );
// Cria Session Handler
new SessionHandler($g_oAdmin->db());
$g_oAdmin->_run_();
if (DEBUG)
{
$total = GetMicroTime() - $starttime;
echo "<PRE> --- DEBUG ---\n Tempo gasto: ", $total,
"\n SQL queries executadas: ", $g_oAdmin->db->numQueries(), "</PRE>";
}
exit;
function GetMicroTime()
{
list($usec, $sec) = explode(' ', microtime());
return ((float)$usec + (float)$sec);
}
/**
* Mostra tela de erro fatal, e faz a limpeza do sistema
*/
function FatalError( $error )
{
// cleanup!
call_user_func(array('Admin', 'cleanUp'));
include './sys/templates/fatalerror.htm';
exit;
}
/**
* Mostra tela de erro fatal, e redireciona para outra pagina
*/
function SemiFatalError( $error, $url )
{
include './sys/templates/semifatalerror.htm';
exit;
}