]> git.llucax.com Git - mecon/ai.git/blobdiff - sistema/www/index.php
Se agrega script de permisos de MySQL.
[mecon/ai.git] / sistema / www / index.php
index 4983778a0c9f555d8524bfef6ded7ee5a8f8843e..d547a0ccc50e543890a1d11e957bcc733ad8c40b 100644 (file)
@@ -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('<DIV class="texto11_negro" valign="middle" align="center">');
-        $link->addContents($img);
-        $link_text = ' Agregar un nuevo ' . $nombre;
-        $link->addContents($link_text);
-        $marco->addBody($link);
-        $marco->addBody('</DIV>');
+        $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'));
 }
 // }}}