X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/831c787ea93adfb2903e940359403b5bf01740a8..refs/heads/master:/sistema/www/index.php diff --git a/sistema/www/index.php b/sistema/www/index.php index 4983778..d547a0c 100644 --- a/sistema/www/index.php +++ b/sistema/www/index.php @@ -32,6 +32,13 @@ prepend_include_path('/var/www/sistemas/ai/sistema/local_lib'); require_once 'MECON/HTML/Error.php'; require_once 'permisos.php'; +// Si no está logueado, se redirige a la Intranet. {{{ +if (!@$_SESSION['usuario']) { + header('Location: /sistemas/intranet/login?redirect=' + . urlencode($_SERVER['REQUEST_URI'])); +} +// }}} + // Debug. {{{ require_once 'PEAR.php'; #PEAR::setErrorHandling(PEAR_ERROR_TRIGGER); @@ -42,13 +49,14 @@ PEAR::setErrorHandling(PEAR_ERROR_RETURN); require_once 'AI/DB.php'; $db =& AI_DB::connect('../conf/DB.ini'); if (DB::isError($db)) { - die($db->getMessage()); + trigger_error($db->getMessage(), E_USER_ERROR); } // }}} -// Creo el objeto de permisos - FIXME - esto debería venir de intranet. {{{ +// Creo el objeto de permisos y chequeo que tenga al menos un permiso para seguir. {{{ require_once 'SAMURAI/Perm.php'; -$perm = new SAMURAI_Perm(@$_GET['login'] ? $_GET['login'] : 'llucar@mecon', AI_PERM, $db); +$perm = new SAMURAI_Perm($_SESSION['usuario'], AI_PERM, $db); +$perm->chequear(); // }}} // Creo el Marco. {{{ @@ -66,27 +74,21 @@ if (@$_SERVER['PATH_INFO']) { $require = 'AI/GrupoSecciones.php'; $tabla = 'grupo_secciones'; $nombre = 'grupo de secciones'; - if (!$perm->tiene(AI_PERM_NOTICIAS)) { - die('Acceso no autorizado!!!'); // FIXME - se va a poner más lindo? - } + $perm->chequear(AI_PERM_NOTICIAS); } elseif ($tmp == 'servicio') { $tipo = $tmp; $clase = 'AI_Servicio'; $require = 'AI/Servicio.php'; $tabla = $tipo; $nombre = $tipo; - if (!$perm->tiene(AI_PERM_SERVICIOS)) { - die('Acceso no autorizado!!!'); // FIXME - se va a poner más lindo? - } + $perm->chequear(AI_PERM_SERVICIOS); } elseif ($tmp == 'sistema') { $tipo = $tmp; $clase = 'AI_Sistema'; $require = 'AI/Sistema.php'; $tabla = $tipo; $nombre = $tipo; - if (!$perm->tiene(AI_PERM_SISTEMAS)) { - die('Acceso no autorizado!!!'); // FIXME - se va a poner más lindo? - } + $perm->chequear(AI_PERM_SISTEMAS); } else { // No hay un objeto válido para administrar. header('Location: '.$_SERVER['SCRIPT_NAME']); } @@ -144,21 +146,16 @@ if ($tipo) { } // }}} - // Creo el árbol con el tipo de objeto que manejo y lo agrego a la página. {{{ - require_once 'AI/Arbol.php'; - $arbol = new AI_Arbol($obj, $db); - // }}} - // Inicio el formulario, cargando datos de ser necesario. {{{ if ($accion & (AI_BAJA | AI_MODIF)) { $err =& $obj->cargar($db); if (PEAR::isError($err)) { - die($err->getMessage()); + trigger_error($err->getMessage(), E_USER_ERROR); } - $form->iniciar($obj, $accion, $arbol, $db); + $form->iniciar($obj, $accion, $db); } else { $accion = AI_ALTA; - $form->iniciar($obj, $accion, $arbol, $db); + $form->iniciar($obj, $accion, $db); } // }}} @@ -232,20 +229,15 @@ if ($tipo) { } // }}} + // Creo el árbol con el tipo de objeto que manejo y lo agrego a la página. {{{ + require_once 'AI/Arbol.php'; + $arbol = new AI_Arbol($obj, $db, false); + // }}} + // Agrego el menu, link para nuevo y formulario a la página. {{{ $marco->addMenuVertical($arbol); if ($accion & ~AI_ALTA) { - require_once 'HTML/Image.php'; - require_once 'HTML/Link.php'; - $img = new HTML_Image('/MECON/images/general_nuevo', 'Agregar nuevo', - array('border' => 0, 'align' => 'middle',)); - $link = new HTML_Link($tipo); - $marco->addBody('
'); - $link->addContents($img); - $link_text = ' Agregar un nuevo ' . $nombre; - $link->addContents($link_text); - $marco->addBody($link); - $marco->addBody('
'); + $form->renderer->tabla->addLink('nuevo', $tipo); } $marco->addBody($form); // }}} @@ -254,9 +246,9 @@ if ($tipo) { // No se está editando nada, agrego la imágen de bienvenida a la página. {{{ } else { - require_once 'HTML/Image.php'; + require_once 'MECON/HTML/Image.php'; $marco->setEspacios(false); - $marco->addBody(new HTML_Image('images/home', 'Adminitrador de Intranet')); + $marco->addBody(new MECON_HTML_Image('images/home', 'Adminitrador de Intranet')); } // }}}