ULTIMA VERSION ANTES DEL DESASTRE: 11
+
+Identificadores de permisos y sistema:
+
+SAMURAI: 44
+-------
+alta permiso 52
+baja permiso 54
+modificacion permiso 53
+
+alta sistema 55
+baja sistema 56
+modificacion sistema 57
+abm sistema-permiso 64
+
+alta perfil 58
+baja perfil 59
+modificacion perfil 60
+
+alta usuario 61
+baja usuario 62
+modificacion usuario 63
$rta2 = array_diff($this->getPermisos(), $p);
if (!$rta1 && !$rta2) {
$perf = new SAMURAI_Perfil($this->_db, $key);
- return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos.");
+ if ($perf->getDescripcion() != $this->getDescripcion()) {
+ return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos.");
+ }
}
}
return true;
} // -X2C Class :SAMURAI_Perfil
-?>
\ No newline at end of file
+?>
//SAMURAI {{{
'titulo_sistema' => 'SAMURAI',
'pie_sistema' => 'Samurai',
- 'id_sistema' => '1',
+ 'id_sistema' => '44',
//}}}
+//DIRECTORIOS {{{
//Directorios web del sistema, salvo el root, todos son opcionales
//Si no se ponen, o estan vacias se asume lo que dice el comentario al lado de cada una
'directorios' => array ( 'root' => '/sistemas/samurai', // obligatorio
//Directorios del file system. Si no se pone se asume lo que esta comentado. Son opcionales
'directorios_fs' => array ('cache' => '', // /tmp
),
+//}}}
+//SECCIONES {{{
'secciones' => array (
-
- //SECCIONES VISIBLES POR TODOS LOS USUARIOS
+ //USUARIOS {{{
array (
'nombre' => 'Usuarios',
'imagenComun' => 'usuarios.gif',
'imagenMouseOn' => '',
'imagenSelect' => '',
'link' => 'usuarios/usuarios',
+// 'permisos' => SAMURAI_ALTA_USUARIO,
+ 'permisos' => array (SAMURAI_ALTA_USUARIO,
+ SAMURAI_BAJA_USUARIO,
+ SAMURAI_MODI_USUARIO
+ ),
'tipoMenu' => 'oculto',
'hijos' => array (
array ( 'nombre' => 'ABM Usuario',
),
),
),
+ //}}}
+ //PERFILES {{{
array (
'nombre' => 'Perfiles',
'imagenComun' => 'perfiles.gif',
'imagenMouseOn' => '',
'imagenSelect' => '',
'link' => 'perfiles/perfiles',
+ 'permisos' => array (SAMURAI_ALTA_PERFIL,
+ SAMURAI_BAJA_PERFIL,
+ SAMURAI_MODI_PERFIL
+ ),
'tipoMenu' => 'oculto',
'hijos' => array (
array ( 'nombre' => 'Nuevo Perfil',
),
),
),
+ //}}}
+ //CONSULTAS {{{
array (
'nombre' => 'consultas',
'imagenComun' => 'general_consultas.gif',
),
),
),
- //SECCIONES VISIBLES POR LOS DESARROLLADORES
+ //}}}
+ //SISTEMAS {{{
array (
'nombre' => 'Sistemas',
'imagenComun' => 'general_sistemas.gif',
),
),
),
+ //}}}
+ //PERMISOS {{{
array (
'nombre' => 'Permisos',
'imagenComun' => 'permisos.gif',
'link' => 'permisos/permisos-abm',
),
),
- ),
),
- );
-
+ //}}}
+ ),
+ //}}}
+);
?>
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +----------------------------------------------------------------------+
+// | PHP Version 4 |
+// +----------------------------------------------------------------------+
+// | Copyright (c) 1997-2003 The PHP Group |
+// +----------------------------------------------------------------------+
+// | This source file is subject to version 2.02 of the PHP license, |
+// | that is bundled with this package in the file LICENSE, and is |
+// | available at through the world-wide-web at |
+// | http://www.php.net/license/2_02.txt. |
+// | If you did not receive a copy of the PHP license and are unable to |
+// | obtain it through the world-wide-web, please send a note to |
+// | license@php.net so we can mail you a copy immediately. |
+// +----------------------------------------------------------------------+
+// | Created: vie ago 1 18:51:44 ART 2003
+// | Author: Martin Marrese <mmarre@mecon.gov.ar>
+// +----------------------------------------------------------------------+
+//
+// $Id$
+//
+
+/**
+ * Defino la constante identificador del sistema
+ */
+define ('SAMURAI_ID', 44);
+
+/**
+ * Defino las constantes de perfiles
+ */
+define ('SAMURAI_ALTA_PERFIL', 58);
+define ('SAMURAI_BAJA_PERFIL', 59);
+define ('SAMURAI_MODI_PERFIL', 60);
+define ('SAMURAI_TIPO_PERFIL', 65);
+
+/**
+ * Defino las constantes de usuarios
+ */
+define ('SAMURAI_ALTA_USUARIO', 61);
+define ('SAMURAI_BAJA_USUARIO', 62);
+define ('SAMURAI_MODI_USUARIO', 63);
+?>
<?php
// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
-//require_once 'MECON/general.php';
-//prepend_include_path('/home/mmarrese/public_html/meconlib/tronco/lib/');
+require_once 'MECON/general.php';
+prepend_include_path('/home/mmarrese/public_html/meconlib/tronco/lib/');
require_once 'MECON/Marco.php';
require_once 'SAMURAI/DB.php';
+require_once 'SAMURAI/Perm.php';
require_once 'util.php';
+require_once 'constantes.php';
session_start();
if (!isset($_SESSION['samurai']['login']) && isset($_GET['login'])) {
$_SESSION['samurai']['login'] = $_GET['login'];
}
-
+if (isset($_GET['l'])) {
+ $_SESSION['samurai']['login_perm'] = $_GET['l'];
+}
+elseif (!isset($_SESSION['samurai']['login_perm'])) {
+ $_SESSION['samurai']['login_perm'] = 'mmarre@mecon';
+}
//Realizo la conexion con la base de datos
$tmp = new SAMURAI_DB();
$DB =& $tmp->connect();
+//Creo el objeto Permiso
+$SAMURAI_PERM = new SAMURAI_Perm ($_SESSION['samurai']['login_perm'], SAMURAI_ID, $DB);
//Creo el objeto Marco
-$MARCO = new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php');
+$MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM);
?>
//
// $Id$
//
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+ if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PERFIL)) {
+// header('Location: error')
+ }
+//}}}
// REQUIRE_ONCE {{{
require_once 'MECON/HTML/QuickForm.php';
$FORM->addElement ('hidden', 'desc_ant' , $descripcion);
$FORM->addElement ('static', 'desc_perfil', 'Descripcion', $descripcion);
$FORM->addElement ('select', 'permisos' , 'Permisos' , $PERMISOS, array('size' => '5', 'multiple' => 'true'));
- $FORM->addElement ('select', 'tipo_perfil', 'Tipo Perfil', array('E' => 'Externo', 'I' => 'Interno', 'D' => 'Dios'), array ('size' => '1'));
+ if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+ $FORM->addElement ('select', 'tipo_perfil', 'Tipo Perfil', array('E' => 'Externo', 'I' => 'Interno', 'D' => 'Dios'), array ('size' => '1'));
+ }
$FORM->addElement ('hidden', 'responsable', $responsable);
$group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
$group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location=\'perfiles\';return false;'));
$id_perfil =& $FORM->getElement ('id_perfil' );
$desc_perfil =& $FORM->getElement ('desc_perfil');
$permisos =& $FORM->getElement ('permisos' );
- $tipo_perfil =& $FORM->getElement ('tipo_perfil');
+
+ if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+ $tipo_perfil =& $FORM->getElement ('tipo_perfil');
+ }
$responsable =& $FORM->getElement ('responsable');
$group =& $FORM->getElement ('botones' );
$group =& $group->getElements('aceptar' );
$aceptar =& $group[0];
$permisos->setSelected($PERFIL->getPermisos());
- $tipo_perfil->setSelected($PERFIL->getTipo());
+
+ if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+ $tipo_perfil->setSelected($PERFIL->getTipo());
+ }
if ($PERFIL->getResponsable() != '') {
$responsable->setValue($PERFIL->getResponsable());
$id_perfil =& $FORM->getElement ('id_perfil' );
$desc_perfil =& $FORM->getElement ('desc_perfil');
$permisos =& $FORM->getElement ('permisos' );
- $tipo_perfil =& $FORM->getElement ('tipo_perfil');
- $tipo_perfil_tmp = $tipo_perfil->getSelected();
+
+ if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+ $tipo_perfil =& $FORM->getElement ('tipo_perfil');
+ $tipo_perfil_tmp = $tipo_perfil->getSelected();
+ }
$responsable =& $FORM->getElement ('responsable');
$group =& $FORM->getElement ('botones' );
$group =& $group->getElements('aceptar' );
$PERFIL->setDescripcion($desc_perfil->_text );
$PERFIL->setResponsable($responsable->getValue());
$PERFIL->setPermisos ($permisos->getSelected()); //Le asigno al perfil los permisos seleccionados
- $PERFIL->setTipo ($tipo_perfil_tmp['0'] );
+
+ if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+ $PERFIL->setTipo ($tipo_perfil_tmp['0'] );
+ }
//Grabo y verifico si se produjo algun error
$res = $PERFIL->guardarDatos($aceptar->getValue());
'language' => 'es',
'cache' => 'false',
'simple' => 'true'));
+ $PAGE->addStyleSheet('/MECON/css/general_estilos.css');
$FORM = new MECON_HTML_QuickForm ('perfil_datos','post','perfil-datos');
$PERFIL = new SAMURAI_Perfil($DB, $_GET['id_perfil']);
$SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']);
//
// $Id$
//
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+ if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL)) {
+// header('Location: error')
+ }
+//}}}
//REQUIRE_ONCE {{{
require_once 'PEAR.php';
//
// $Id$
//
-
+
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+ if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PERFIL)) {
+// header('Location: error')
+ }
+//}}}
+
+//REQUIRE ONCE {{{
require_once 'MECON/HTML/Tabla.php';
require_once 'SAMURAI/Perfil.php';
require_once 'SAMURAI/Sistema.php';
-
+//}}}
//LINKS {{{
$aHrefPopup = '<a href="" onClick="window.open(\'perfiles-datos?id_perfil=##PERFIL##\',\'perfilesdatos\',\'height=300,width=400,scrollbars=yes\');return false;">';
$aHref = '<a href="perfiles-abm?accion=##ACCION##&id_perfil=##NUEVO##">';
$imagen = new HTML_Image('/MECON/images/vinetas_flecha_doble.gif');
$row = array ($imagen->toHtml().' <b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
$TABLA3->addRow($row,'align=left');
- $row = array ('<a href="perfiles-nuevo"><img src="/MECON/images/general_nuevo.gif" border="0">Ingresar Nuevo Perfil</a>');
- $TABLA2->addRow($row,'align=right');
- $row = array ('Id','Descripcion','Tipo','Modif.','Elim.');
+
+ //Agrego el link a nuevo
+ if ($SAMURAI_PERM->tiene(SAMURAI_ALTA_PERFIL)) {
+ $row = array ('<a href="perfiles-nuevo"><img src="/MECON/images/general_nuevo.gif" border="0">Ingresar Nuevo Perfil</a>');
+ $TABLA2->addRow($row,'align=right');
+ }
+ //Genero la cabecera de la tabla
+ $row = array ('Id','Descripcion');
+ if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+ $row[] = 'Tipo';
+ }
+ if ($SAMURAI_PERM->tiene(SAMURAI_MODI_PERFIL)) {
+ $row[] = 'Modif.';
+ }
+ if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_PERFIL)) {
+ $row[] = 'Elim.';
+ }
+
$TABLA->addRow($row,'cabecera');
foreach ($perfiles as $perfil) {
$Popup = ereg_replace('##PERFIL##', $perfil->getId(), $aHrefPopup);
$Popup = $Popup.$perfil->getDescripcion().'</a>';
$Modif = ereg_replace('##ACCION##', 'm' , $Modif );
$Elim = ereg_replace('##ACCION##', 'e' , $Elim );
- $row = array ( $perfil->getId(),
- $Popup,
- $perfil->getTipo(),
- $Modif,
- $Elim,
- );
+ $row = array ($perfil->getId(), $Popup);
+
+ if ($SAMURAI_PERM->tiene(SAMURAI_TIPO_PERFIL)) {
+ $row[] = $perfil->getTipo();
+ }
+ if ($SAMURAI_PERM->tiene(SAMURAI_MODI_PERFIL)) {
+ $row[] = $Modif;
+ }
+ if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_PERFIL)) {
+ $row[] = $Elim;
+ }
$TABLA->addRow($row);
}
// }}}
$FORM->addElement ('header' , 'cabecera' , 'ABM Sistemas');
$FORM->addElement ('hidden' , 'id_sistema');
$FORM->addElement ('text' , 'nombre_sistema' , 'Nombre' , array('size' => '30'));
- $FORM->addElement ('textarea', 'desc_sistema' , 'Descripcion' , array('rows' => '2','cols'=>'50'));
+ $FORM->addElement ('textarea', 'desc_sistema' , 'Descripcion' , array('rows' => '2','cols'=>'50', 'wrap'=>'virtual'));
$FORM->addElement ('mdate' , 'fecha_inicio' , 'Fecha Inicio' );
$FORM->addElement ('mdate' , 'fecha_fin' , 'Fecha Fin' );
$FORM->addElement ('mdate' , 'fecha_implementacion', 'Fecha Implementacion');
'language' => 'es',
'cache' => 'false',
'simple' => 'true'));
+ $PAGE->addStyleSheet('/MECON/css/general_estilos.css');
$FORM = new MECON_HTML_QuickForm ('sistemas_datos','post','sistemas-datos');
$SISTEMA = new SAMURAI_Sistema ($DB, $_GET['id_sistema']);
}
// $Id$
//
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+ if (!$SAMURAI_PERM->tiene(SAMURAI_ALTA_USUARIO,SAMURAI_BAJA_USUARIO,SAMURAI_MODI_USUARIO)) {
+// header('Location: error')
+ }
+//}}}
//REQUIRE ONCE {{{
//MECON {{{
require_once 'MECON/HTML/QuickForm.php';
}
$FORM->addElement ('select', 'perfiles' , 'Perfiles', $PERFILES, array('size' => '5', 'multiple' => 'true'));
$FORM->addElement ('hidden', 'responsable', $_SESSION['samurai']['login']);
- $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar', array ('onClick' => 'javascript:if (confirm(\'¿Esta Seguro?\')) return true;return false;'));
+ $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
$group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location = \'usuarios\';return false;'));
$FORM->addGroup($group,'botones');
}
//ELIMINACION -> modifico el valor del boton
if ($_GET['accion'] == 'e') {
+ $aceptar->updateAttributes(array ('onClick' => 'javascript:if (confirm(\'¿Esta Seguro?\')) return true;return false;'));
$aceptar->setValue('Eliminar');
$FORM->freeze();
}
if ($aceptar->getValue() == 'Grabar') {
$res2 = $USUARIO->verificarAsociacionExistente();
}
- if (PEAR::isError($res)) {
+ if (@PEAR::isError($res)) {
$ERROR = new MECON_HTML_Error($res->getMessage());
}
- elseif (PEAR::isError($res2)) {
+ elseif (@PEAR::isError($res2)) {
$ERROR =new MECON_HTML_Error($res2->getMessage());
}
else {
'language' => 'es',
'cache' => 'false',
'simple' => 'true'));
+ $PAGE->addStyleSheet('/MECON/css/general_estilos.css');
$FORM = new MECON_HTML_QuickForm ('usuarios_datos','post','usuarios-datos');
$USUARIO = new SAMURAI_Usuario($DB, $_GET['login']);
}
// $Id$
//
+//VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
+ if (!$SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO, SAMURAI_MODI_USUARIO, SAMURAI_ALTA_USUARIO)) {
+// header('Location: error')
+ }
+//}}}
//REQUIRE ONCE {{{
require_once 'MECON/HTML/Tabla.php';
require_once 'SAMURAI/Usuario.php';
require_once 'SAMURAI/Sistema.php';
require_once 'HTML/Image.php';
// }}}
-
//LINKS {{{
$aHrefPopup = '<a href="" onClick="window.open(\'usuarios-datos?login=##LOGIN##\',\'usuariosdatos\',\'height=300,width=400,scrollbars=yes\');return false;">';
$aHref = '<a href="usuarios-abm?accion=##ACCION##&login=##NUEVO##">';
$imagen = new HTML_Image('/MECON/images/vinetas_flecha_doble.gif');
$row = array ($imagen->toHtml().' <b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
$TABLA3->addRow($row,'align=left');
- $row = array ($aHref.'<img src="/MECON/images/general_nuevo.gif" border="0">Agregar Nuevo Usuario</a>');
- $TABLA2->addRow($row,'align=right');
- $row = array ('Login','Nombre','Modif.','Elim.');
+
+ //Agrego el link a nuevo
+ if ($SAMURAI_PERM->tiene(SAMURAI_ALTA_USUARIO)) {
+ $row = array ($aHref.'<img src="/MECON/images/general_nuevo.gif" border="0">Agregar Nuevo Usuario</a>');
+ $TABLA2->addRow($row,'align=right');
+ }
+ //Genero la cabecera de la tabla
+ $row = array ('Login','Nombre');
+ if ($SAMURAI_PERM->tiene(SAMURAI_MODI_USUARIO)) {
+ $row[] = 'Modif.';
+ }
+ if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO)) {
+ $row[] = 'Elim.';
+ }
$TABLA->addRow($row,'cabecera');
foreach ($usuarios as $usuario) {
$Popup = ereg_replace('##LOGIN##' , $usuario->getLogin(), $aHrefPopup);
$Popup = $Popup.$usuario->getLogin().'</a>';
$Modif = ereg_replace('##ACCION##', 'm' , $Modif );
$Elim = ereg_replace('##ACCION##', 'e' , $Elim );
- $row = array ( $Popup,
- $usuario->getNombre(),
- $Modif,
- $Elim,
- );
+ $row = array ( $Popup, $usuario->getNombre());
+ if ($SAMURAI_PERM->tiene(SAMURAI_MODI_USUARIO)) {
+ $row[] = $Modif;
+ }
+ if ($SAMURAI_PERM->tiene(SAMURAI_BAJA_USUARIO)) {
+ $row[] = $Elim;
+ }
+
$TABLA->addRow($row);
}
// }}}