]> git.llucax.com Git - mecon/ai.git/blobdiff - sistema/www/index.php
Se agrega manejo de permisos.
[mecon/ai.git] / sistema / www / index.php
index 655e9675fb89f8f4a3254c7173254e9b4d3f873c..4983778a0c9f555d8524bfef6ded7ee5a8f8843e 100644 (file)
 // $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';
@@ -37,9 +38,22 @@ require_once 'PEAR.php';
 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 MECON_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);