// $Id$
//
+require_once 'permisos.php';
+
return array (
// Directorios web del sistema, salvo el root, todos son opcionales.
// Si no se ponen, o están vacíos se asume lo que dice el comentario al lado de cada uno.
'directorios' => array ('root' => '/sistemas/ai'),
'titulo_sistema' => 'AI (Administrador de Intranet)',
- 'pie_sistema' => 'PIE GO HOME!!!!',
'secciones' => array (
// Las únicas claves obligatorias son nombre, imagenComun y link
'imagenComun' => 'general_noticias.gif', // Imagen común
'link' => 'index/grupo', // Link de la sección
'tipoMenu' => 'oculto', // Tipo del menú de hijos [vertical, horizontal, oculto]
+ 'permisos' => AI_PERM_NOTICIAS,
),
// }}}
'imagenComun' => 'general_servicios.gif',
'link' => 'index/servicio',
'tipoMenu' => 'oculto',
+ 'permisos' => AI_PERM_SERVICIOS,
),
// }}}
'imagenComun' => 'general_sistemas.gif',
'link' => 'index/sistema',
'tipoMenu' => 'oculto',
+ 'permisos' => AI_PERM_SISTEMAS,
),
// }}}
),
--- /dev/null
+<?php
+// vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+// +--------------------------------------------------------------------+
+// | Ministerio de Economía |
+// | AI (Administrador de Intranet) |
+// +--------------------------------------------------------------------+
+// | This file is part of AI. |
+// | |
+// | AI is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published |
+// | by the Free Software Foundation; either version 2 of the License, |
+// | or (at your option) any later version. |
+// | |
+// | AI is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with Hooks; if not, write to the Free Software Foundation, |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
+// +--------------------------------------------------------------------+
+// | Creado: jue jul 31 19:49:46 ART 2003 |
+// | Autor: Leandro Lucarella <llucar@mecon.gov.ar> |
+// +--------------------------------------------------------------------+
+//
+// $Id$
+//
+
+/**
+ * Permiso para administrar grupos de noticias.
+ */
+define('AI_PERM_NOTICIAS', 49);
+
+/**
+ * Permiso para administrar servicios.
+ */
+define('AI_PERM_SERVICIOS', 50);
+
+/**
+ * Permiso para administrar sistemas.
+ */
+define('AI_PERM_SISTEMAS', 51);
+
+/**
+ * Identificador del sistema en SAMURAI.
+ */
+define('AI_PERM', 45);
+
+?>
// $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_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. {{{
$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']);
}
}
// }}}
- // 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);