<?php
// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
// +--------------------------------------------------------------------+
-// | HORAS EXTRA |
+// | SAMURAI |
// +--------------------------------------------------------------------+
-// | Sistema de Horas Extra - Ministerio de Economía - Argentina |
+// | Sistema de Administracion y Matenimiento de Usuarios Relativo A |
+// | Intranet |
+// | Ministerio de Economía |
// +--------------------------------------------------------------------+
-// | Creado: lun abr 22 16:05:33 ART 2002 |
-// | Autor: Leandro Lucarella <llucar@mecon.gov.ar> |
+// | Creado: fri mar 21 ART 2003 |
+// | Autor: Martin Marrese <mmarre@mecon.gov.ar> |
// +--------------------------------------------------------------------+
//
+// $Id$
+//
// $URL$
// $Rev$
// $Date$
// $Author$
-//
-// Comienza el manejo de sesiones.
+// Basado en prepend.php de Horas Extras de Leandro Lucarella<llucar@mecon.gov.ar>
+
session_start();
-// Hace que de forma general, si hay un error, se interrumpa la ejecución
-// (excepto aquellos que sean advertencias).
require_once 'PEAR.php';
-PEAR::setErrorHandling( PEAR_ERROR_DIE );
+require_once 'DB.php';
+require_once 'Samurai/Perm.php'; // SAMURAI_LIB -> Manejo de permisos
+require_once 'lib/HE/hooks.php'; // HE - HOOKS
+require_once 'lib/SA/Sistemas.php'; // SA - Sistemas
-// Obtiene la sesión de Embperl.
-require_once 'HE/Session/Perl.php';
-$udat = HE_Session_Perl::udat();
-// Se fija si está logueado en la intranet.
-if ( $udat === false or !isset( $udat['user'] ) or !isset( $udat['nro_doc'] ) ) {
- // Limpia los datos de la sesión.
- session_destroy();
- setcookie( session_name(), '', 0, '/', '.mecon.ar' );
- $_SESSION = array();
- // Redirecciona al login.
- header( 'Location: /' );
- exit;
-} elseif ( is_string( $udat ) ) {
- die( "<h1>ERROR DE SESION</h1>$udat<br/><br/>Este es un error no esperado, por favor anote el mensaje de error e informelo a <a href=\"mailto:intranet2@mecon.gov.ar\">".$basehost."@mecon.gov.ar</a>" );
+if (isset($_POST['id_sistema']) && isset($_POST['usuario'])) {
+ $_SESSION['id_sistema_remoto'] = $_POST['id_sistema'];
+ $_SESSION['usuario'] = $_POST['usuario'];
}
-
-// Setea las variables de usuario.
-$_SESSION['usuario']['login'] = $udat['user'];
-$_SESSION['usuario']['nrodoc'] = intval( $udat['nro_doc'] );
-
-// Obtiene el nivel del usuario.
-require_once 'HE/DB/ABM/Usuario.php';
-$USR =& new HE_DB_ABM_Usuario;
-$_SESSION['usuario']['nivel'] = $USR->nivel();
-
-// Obtiene la dependencia del usuario.
-require_once 'HE/DB/Persona.php';
-$PRS =& new HE_DB_Persona;
-switch ( $_SESSION['usuario']['login'] ) {
- case 'llucar@mecon': $_SESSION['usuario']['dependencia'] = '3002030702'; break;
- case 'mmespi@mecon': $_SESSION['usuario']['dependencia'] = '3002030702'; break;
- case 'rcarta@mecon': $_SESSION['usuario']['dependencia'] = '1000020000'; break;
- case 'aausil@mecon': $_SESSION['usuario']['dependencia'] = '1301010000'; break;
- case 'pabaez@mecon': $_SESSION['usuario']['dependencia'] = '3002030300'; break;
- case 'vfranc@mecon': $_SESSION['usuario']['dependencia'] = '3002030203'; break;
- case 'malvar1@mecon': $_SESSION['usuario']['dependencia'] = '1200000003'; break;
- case 'dcolle@mecon': $_SESSION['usuario']['dependencia'] = '8102020000'; break;
- default: $_SESSION['usuario']['dependencia'] = $PRS->dependencia();
+elseif (!isset($_SESSION['id_sistema_remoto']) || !isset($_SESSION['usuario'])) {
+ die ('ERROR -> Por Post la aplicacion debe recibir el id_sistema y el usuario');
}
+
+ // Levanto la configuracion de SAMURAI
+ $CONF = require_once 'conf/sist_Conf.php';
+
+ // Crea el objeto de chequeo de permisos para el sistema local.
+ $PERMISO =& new SA_Perm($CONF['id_sistema'],$_SESSION['usuario']);
+
+ // Creo la conexion persistente a la base de datos {{{
+ $tmp = include 'conf/db_Conf.php';
+ $tmp = $tmp['db_type'].'://'.$tmp['db_user'].':'.$tmp['db_pass'].'@'.$tmp['db_host'].'/'.$tmp['db_name'];
+
+ $dbh = DB::connect($tmp,true);
+ if (DB::isError($dbh)) {
+ die ($dbh->getMessage());
+ }
+
+ // Creo el objeto $sistema_remoto que voy a usar en todos lados
+ // Tambien lo uso como nexo para sus funciones
+ $sistema_remoto = new SA_Sistemas ($_SESSION['id_sistema_remoto'], $dbh);
+ // }}}
+
+ // HOOKS
+ hook( 'head' ); //Abro tags ya preparo la pagina para ser ususada
-// Crea el objeto de chequeo de permisos.
-require_once 'HE/Perm.php';
-$PRM =& new HE_Perm;
-
-// Hooks.
-require_once 'lib/HE/lib/hooks.php';
-// Toma la configuración desde un hook.
-$CNF = hook( 'config' );
-// Chequeo de permisos.
-hook( 'permisos' );
-// Cosas a ejecutar antes de enviar nada de HTML.
-hook( 'prepend' );
-// Cabecera HTML.
-hook( 'cabecera' );
-
-// $URL$ $Rev$ $Date$ $Author$
?>