Location: PHPKode > projects > MUSPA > muspa/index.php
<?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;
}


Return current item: MUSPA