X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/89f9ee9162349d9d5027d60f6db398a8c2767f17..c1c3baf77f9975549988167174f7805e9b40073e:/sistema/www/index.php diff --git a/sistema/www/index.php b/sistema/www/index.php index 0f0184f..06aacf2 100644 --- a/sistema/www/index.php +++ b/sistema/www/index.php @@ -27,19 +27,33 @@ // $Id$ // -require_once 'MECON/HTML/Error.php'; require_once 'MECON/general.php'; prepend_include_path('/var/www/sistemas/ai/sistema/local_lib'); +require_once 'MECON/HTML/Error.php'; +require_once 'permisos.php'; // Debug. {{{ require_once 'PEAR.php'; -PEAR::setErrorHandling(PEAR_ERROR_TRIGGER); -#PEAR::setErrorHandling(PEAR_ERROR_RETURN); +#PEAR::setErrorHandling(PEAR_ERROR_TRIGGER); +PEAR::setErrorHandling(PEAR_ERROR_RETURN); +// }}} + +// Creo la base de datos. {{{ +require_once 'AI/DB.php'; +$db =& AI_DB::connect('../conf/DB.ini'); +if (DB::isError($db)) { + die($db->getMessage()); +} +// }}} + +// Creo el objeto de permisos - FIXME - esto debería venir de intranet. {{{ +require_once 'SAMURAI/Perm.php'; +$perm = new SAMURAI_Perm(@$_GET['login'] ? $_GET['login'] : 'llucar@mecon', AI_PERM, $db); // }}} // Creo el Marco. {{{ require_once 'MECON/Marco.php'; -$marco = new Marco('../conf/Marco.php'); +$marco = new MECON_Marco('../conf/Marco.php', $perm); // }}} // Averiguo si estoy administrando algún tipo de objeto. {{{ @@ -48,22 +62,31 @@ if (@$_SERVER['PATH_INFO']) { $tmp = ltrim($_SERVER['PATH_INFO'], '/'); if ($tmp == 'grupo') { $tipo = $tmp; - $clase = "AI_GrupoSecciones"; + $clase = 'AI_GrupoSecciones'; $require = 'AI/GrupoSecciones.php'; $tabla = 'grupo_secciones'; - $nombre = "grupo de secciones"; + $nombre = 'grupo de secciones'; + if (!$perm->tiene(AI_PERM_NOTICIAS)) { + die('Acceso no autorizado!!!'); // FIXME - se va a poner más lindo? + } } 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? + } } 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? + } } else { // No hay un objeto válido para administrar. header('Location: '.$_SERVER['SCRIPT_NAME']); } @@ -121,14 +144,6 @@ if ($tipo) { } // }}} - // Creo la base de datos. {{{ - require_once 'AI/DB.php'; - $db =& AI_DB::connect('../conf/DB.ini'); - if (DB::isError($db)) { - die($db->getMessage()); - } - // }}} - // 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); @@ -217,8 +232,21 @@ if ($tipo) { } // }}} - // Agrego el menu y formulario a la página. {{{ + // Agrego el menu, link para nuevo y formulario a la página. {{{ $marco->addMenuVertical($arbol); + if ($accion & ~AI_ALTA) { + require_once 'MECON/HTML/Image.php'; + require_once 'MECON/HTML/Link.php'; + $img = new MECON_HTML_Image('/MECON/images/general_nuevo', 'Agregar nuevo', + array('border' => 0, 'align' => 'middle',)); + $link = new MECON_HTML_Link($tipo); + $marco->addBody('
'); + $link->addContents($img); + $link_text = ' Agregar un nuevo ' . $nombre; + $link->addContents($link_text); + $marco->addBody($link); + $marco->addBody('
'); + } $marco->addBody($form); // }}} @@ -226,9 +254,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')); } // }}}