From b49bcec7b53d0fef70585697308ba2473cd961e9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mart=C3=ADn=20Marrese?= Date: Tue, 16 Sep 2003 15:37:35 +0000 Subject: [PATCH] Cambios. No se utiliza mas $_SESSION[samurai][login] en cambio se utiliza $_SESSION[usuario] que se carga cuando se ingresa a la intranet. --- doc/Doxyfile | 4 +- lib/SAMURAI/HTML/Perfil.php | 81 ++++++++++++++----- lib/SAMURAI/HTML/Usuario.php | 64 +++++++++++++-- lib/SAMURAI/Usuario.php | 12 ++- lib/SAMURAI/Usuario/consultas.ini | 1 - sistema/local_lib/prepend.php | 9 ++- sistema/www/perfiles/perfiles-abm.php | 2 +- sistema/www/perfiles/perfiles.php | 2 +- sistema/www/permisos/permisos-abm.php | 2 +- sistema/www/permisos/permisos.php | 2 +- sistema/www/sel-sistema.php | 4 +- sistema/www/sistemas/sistemas-abm.php | 2 +- .../www/sistemas/sistemas-permisos-abm.php | 2 +- sistema/www/sistemas/sistemas-permisos.php | 2 +- sistema/www/sistemas/sistemas.php | 2 +- sistema/www/usuarios/usuarios-abm.php | 4 +- sistema/www/usuarios/usuarios.php | 2 +- 17 files changed, 151 insertions(+), 46 deletions(-) diff --git a/doc/Doxyfile b/doc/Doxyfile index 6f55e5c..b467003 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- PROJECT_NAME = "SAMURAI" PROJECT_NUMBER = "Sistema de Administracion y Mantenimiento de Usuarios Relativo a Intranet" -OUTPUT_DIRECTORY = /home/martin/public_html/uml/aspidoc/samurai/ +OUTPUT_DIRECTORY = /home/martin/public_html/samurai/doc/dd OUTPUT_LANGUAGE = Spanish USE_WINDOWS_ENCODING = NO EXTRACT_ALL = YES @@ -57,7 +57,7 @@ WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = /home/martin/public_html/samurai/lib/SAMURAI/ +INPUT = doc.php FILE_PATTERNS = *.php RECURSIVE = YES EXCLUDE = diff --git a/lib/SAMURAI/HTML/Perfil.php b/lib/SAMURAI/HTML/Perfil.php index a1e1e5a..f447971 100644 --- a/lib/SAMURAI/HTML/Perfil.php +++ b/lib/SAMURAI/HTML/Perfil.php @@ -20,8 +20,60 @@ // $Id$ // +/** \page page_samurai_html_perfil Perfil Embebido -//REQUIRE ONCE GENERALES {{{ +\section page_samurai_html_perfil_descripcion Descripcion + Funcion que sirve para embeber la funcionalidad de los perfiles dentro de + los sistemas que asi lo requieran (Es una copia de la funcionalidad de la + seccion). + Necesita para funcionar que se le pase como parametro la referencia al + objeto MECON_Marco que se este utilizando, ademas del identificador del + sistema del sistema en el cual se esta trabajando. + El funcionamiento es completamente independiente del sistema en el cual se + trabaje, no es necesario que se ingrese como seccion o subseccion. De hecho + como se ve en el ejemplo solo se embebe una tabla o formulario pero se + pueden agregar cosas particulares antes y despues de el. + + \note Trabaja con variables de sesion asi que es necesario que antes de llamar a + esta funcion se haya realizado un session_start() (Por ejemplo en el prepend). + +\section page_samurai_html_perfil_funcionamiento Funcionamiento + Al ser una copia de la seccion de Samurai, los permisos y validaciones que + se realizan en esta funcion son las mismas que se realizan en Samurai. + + \subsection page_samurai_html_perfil_funcionamiento_validaciones Validaciones + Se realizan las siguientes validaciones: + - Los nombres de los perfiles nuevos deben ser distintos. + - Los espacios entre las palabras que componen el nombre de un + perfil son eliminados. Ej: Agregar    Usuario + se cambia por Agregar Usuario. + - Es obligatorio que los perfiles contengan al menos un permiso. + - No puede haber dos perfiles con los mismos permisos. + - No se pueden borrar perfiles que esten asociados a usuarios. + +\section page_samurai_html_perfil_ejemplo Ejemplo + La utilizacion de perfiles embebido no genera condiciones, queda a criterio + del desarrollador incluir esta funcionalidad en el lugar que quiera. + + De esta manera se agrega la funcionalidad: + \code + include 'SAMURAI/HTML/Perfil.php'; + + SAMURAI_HTML_Perfil($MARCO, $ID_SISTEMA); + \endcode + + En donde $MARCO es el objeto MECON_Marco que utiliza el sistema y + $ID_SISTEMA es el identificador numerico del sistema en el cual se esta + trabajando. + + Antes o despues de esto se pueden agregar componentes pertenecientes al + sistema. + + \note Es necesario para ver el contenido de la pagina hacer + $MARCO->display() al final de la misma. +*/ + +//REQUIRE ONCE {{{ require_once 'SAMURAI/DB.php'; require_once 'SAMURAI/Perm.php'; require_once 'SAMURAI/constantes.php'; @@ -35,23 +87,15 @@ require_once 'MECON/HTML/Image.php'; require_once 'PEAR.php'; // }}} -// Funciones para agregar la seccion SAMURAI_Perfil en los sistemas. -// Con esto se pueden embeber el abm de perfiles como una seccion/subseccion mas -// de un sistema cualquiera. -// Es necesario para que funcione que se haya realizado un session_start() -// antes, por ejemplo en el prepend. - - /** - * Funcion que se encarga agregar los componentes necesarios al sistema para que - * se pueda realizar un abm de perfiles. - * Sin los parametros no funciona - * - * @param MECON_Marco &$MARCO Referencia al objeto MECON_Marco que se este utilizando en la pagina - * @param int $id_sistema Identificador del sistema en el cual se esta trabajando - * - * @return void - */ -//SAMURAI__HTML_Perfil {{{ +/** Funcion que se encarga agregar los componentes necesarios al sistema para + * que se pueda realizar un abm de perfiles. Sin los parametros no funciona + * + * @param MECON_Marco &$MARCO Referencia al objeto MECON_Marco que se este utilizando en la pagina + * @param int $id_sistema Identificador del sistema en el cual se esta trabajando + * + * @return void + */ +//SAMURAI_HTML_Perfil {{{ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) { $_SESSION['samurai']['id_sistema'] = $id_sistema; @@ -424,4 +468,5 @@ function SAMURAI_HTML_Perfil(&$MARCO, $id_sistema) { } //}}} } +//}}} ?> diff --git a/lib/SAMURAI/HTML/Usuario.php b/lib/SAMURAI/HTML/Usuario.php index 51eaf69..95d4eba 100644 --- a/lib/SAMURAI/HTML/Usuario.php +++ b/lib/SAMURAI/HTML/Usuario.php @@ -19,6 +19,61 @@ // // $Id$ // +// +// +/** \page page_samurai_html_usuario Usuario Embebido + + +\section page_samurai_html_usuario_descripcion Descripcion + + Funcion que sirve para embeber la funcionalidad de los usuario dentro de + los sistemas que asi lo requieran (Es una copia de la funcionalidad de la + seccion). + Necesita para funcionar que se le pase como parametro la referencia al + objeto MECON_Marco que se este utilizando, ademas del identificador del + sistema del sistema en el cual se esta trabajando. + El funcionamiento es completamente independiente del sistema en el cual se + trabaje, no es necesario que se ingrese como seccion o subseccion. De hecho + como se ve en el ejemplo solo se embebe una tabla o formulario pero se + pueden agregar cosas particulares antes y despues de el. + + \note Trabaja con variables de sesion asi que es necesario que antes de llamar a + esta funcion se haya realizado un session_start() (Por ejemplo en el prepend). + +\section page_samurai_html_usuario_funcionamiento Funcionamiento + Al ser una copia de la seccion de Samurai, los permisos y validaciones que + se realizan en esta funcion son las mismas que se realizan en Samurai. + + \subsection page_samurai_html_usuario_funcionamiento_validaciones Validaciones + Se realizan las siguientes validaciones: + - Cualquier usuario que se quiera agregar debe haberse logueado al + menos una vez a la intranet. + - No puede cargarse dos veces el mismo usuario en un sistema. Solo + se modifican sus datos. + - Cada vez que se carga un usuario es necesario asignarle al menos + un permiso, sino no va a permitir que se ingrese el mismo. + +\section page_samurai_html_usuario_ejemplo Ejemplo + La utilizacion de usuario embebido no genera condiciones, queda a criterio + del desarrollador incluir esta funcionalidad en el lugar que quiera. + + De esta manera se agrega la funcionalidad: + \code + include 'SAMURAI/HTML/Usuario.php'; + + SAMURAI_HTML_Usuario($MARCO, $ID_SISTEMA); + \endcode + + En donde $MARCO es el objeto MECON_Marco que utiliza el sistema y + $ID_SISTEMA es el identificador numerico del sistema en el cual se esta + trabajando. + + Antes o despues de esto se pueden agregar componentes pertenecientes al + sistema. + + \note Es necesario para ver el contenido de la pagina hacer + $MARCO->display() al final de la misma. +*/ //REQUIRE ONCE {{{ require_once 'MECON/HTML/QuickForm.php'; @@ -32,13 +87,8 @@ require_once 'SAMURAI/constantes.php'; //}}} -// Funciones para agregar la seccion SAMURAI_Usuario en los sistemas. -// Con esto se pueden embeber el abm de usuarios como una seccion/subseccion mas -// de un sistema cualquiera. - -/** - * Funcion que se encarga agregar los componentes necesarios al sistema para que - * se pueda realizar un abm de usuarios. +/** Funcion que se encarga agregar los componentes necesarios al sistema para + * que se pueda realizar un abm de usuarios. * * @param MECON_Marco &$MARCO Referencia al objeto MECON_Marco que se este * utilizando en la pagina diff --git a/lib/SAMURAI/Usuario.php b/lib/SAMURAI/Usuario.php index 015349e..939f720 100644 --- a/lib/SAMURAI/Usuario.php +++ b/lib/SAMURAI/Usuario.php @@ -24,6 +24,14 @@ // $Rev$ // +/** \page page_ + +\section PRUEBA PRUEBA +hola esto es una prueba + + */ + + require_once 'PEAR.php'; require_once 'Perfil.php'; require_once 'MECON/Usuario.php'; @@ -339,7 +347,7 @@ class SAMURAI_Usuario { $datos = array ($this->getLogin(), $perfil, $_SESSION['samurai']['id_sistema'], - $_SESSION['samurai']['login']); + $_SESSION['usuario']); $res = $this->_db->execute($re, $datos); if (PEAR::isError($res)) { return $res; @@ -473,4 +481,4 @@ class SAMURAI_Usuario { // -X2C } // -X2C Class :SAMURAI_Usuario -?> \ No newline at end of file +?> diff --git a/lib/SAMURAI/Usuario/consultas.ini b/lib/SAMURAI/Usuario/consultas.ini index 77acd37..4bca838 100644 --- a/lib/SAMURAI/Usuario/consultas.ini +++ b/lib/SAMURAI/Usuario/consultas.ini @@ -10,6 +10,5 @@ obtener_datos_usuario4 = " ORDER BY login" obtener_perfiles_usuario = " SELECT id_perfil FROM samurai.perfil_sist_usuario WHERE login = ? AND id_sistema = ?" -verificar_login = " SELECT count(*) as cuenta FROM samurai.usuario WHERE login = ?" verificar_login2 = " SELECT login FROM samurai.perfil_sist_usuario WHERE login = ? AND id_sistema = ?" borrar = " DELETE FROM samurai.perfil_sist_usuario WHERE login = ? AND id_sistema = ?" diff --git a/sistema/local_lib/prepend.php b/sistema/local_lib/prepend.php index 7439734..1c3f013 100644 --- a/sistema/local_lib/prepend.php +++ b/sistema/local_lib/prepend.php @@ -10,11 +10,14 @@ require_once 'SAMURAI/Perm.php'; require_once 'util.php'; require_once 'SAMURAI/constantes.php'; + +require_once 'MECON/Usuario.php'; + session_start(); //CARGO LAS VARIABLES DE SESION INTERNAS {{{ -if (isset($_SESSION['usuario'])) { - $_SESSION['samurai']['login'] = $_SESSION['usuario']; +if (!isset($_SESSION['usuario'])) { + header('Location: /sistemas/intranet'); } if (isset($_GET['id_sistema'])) { $_SESSION['samurai']['id_sistema'] = $_GET['id_sistema']; @@ -24,7 +27,7 @@ if (isset($_GET['id_sistema'])) { $tmp = new SAMURAI_DB(); $DB =& $tmp->connect(); //Creo el objeto Permiso -$SAMURAI_PERM = new SAMURAI_Perm ($_SESSION['samurai']['login'], SAMURAI_ID, $DB); +$SAMURAI_PERM = new SAMURAI_Perm ($_SESSION['usuario'], SAMURAI_ID, $DB); //Creo el objeto Marco $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM); ?> diff --git a/sistema/www/perfiles/perfiles-abm.php b/sistema/www/perfiles/perfiles-abm.php index 3354c6f..52bf172 100644 --- a/sistema/www/perfiles/perfiles-abm.php +++ b/sistema/www/perfiles/perfiles-abm.php @@ -50,7 +50,7 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PER $responsable = $PERFIL->getResponsable(); } else { - $responsable = $_SESSION['samurai']['login']; + $responsable = $_SESSION['usuario']; } if (!@$_GET['id_perfil']) { diff --git a/sistema/www/perfiles/perfiles.php b/sistema/www/perfiles/perfiles.php index e9c6b27..f974df0 100644 --- a/sistema/www/perfiles/perfiles.php +++ b/sistema/www/perfiles/perfiles.php @@ -36,7 +36,7 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PER $aHrefElim = $aHref.'Eliminar Perfil'; // }}} //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ -if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { +if (!@$_SESSION['samurai']['id_sistema']) { header('Location: ./../sel-sistema'); } // }}} diff --git a/sistema/www/permisos/permisos-abm.php b/sistema/www/permisos/permisos-abm.php index 43e4bbe..d6b69ef 100644 --- a/sistema/www/permisos/permisos-abm.php +++ b/sistema/www/permisos/permisos-abm.php @@ -40,7 +40,7 @@ $SAMURAI_PERM->chequear(SAMURAI_DEVELOPER); $FORM->addElement ('header', 'cabecera', 'ABM Permisos'); $FORM->addElement ('hidden', 'id_permiso'); $FORM->addElement ('text' , 'desc_permiso', 'Descripcion', array('size'=>'50')); - $FORM->addElement ('hidden', 'responsable' , $_SESSION['samurai']['login']); + $FORM->addElement ('hidden', 'responsable' , $_SESSION['usuario']); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); $group[] = HTML_QuickForm::createElement('button', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:history.go(-1);return true;')); $FORM->addGroup($group,'botones'); diff --git a/sistema/www/permisos/permisos.php b/sistema/www/permisos/permisos.php index b2fc33e..521fed5 100644 --- a/sistema/www/permisos/permisos.php +++ b/sistema/www/permisos/permisos.php @@ -34,7 +34,7 @@ $SAMURAI_PERM->chequear(SAMURAI_DEVELOPER); $aHElimdes = 'No se puede eliminar Permiso'; // }}} //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ -if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { +if (!@$_SESSION['samurai']['id_sistema']) { header('Location: ./../sel-sistema'); } // }}} diff --git a/sistema/www/sel-sistema.php b/sistema/www/sel-sistema.php index 9c67424..d2a3428 100644 --- a/sistema/www/sel-sistema.php +++ b/sistema/www/sel-sistema.php @@ -33,7 +33,7 @@ $FORM->addElement ('select', 'sistemas', 'Sistemas', $SISTEMAS, array('size' => '1')); //SI ESTA EL LOGIN NO LO PIDO {{{ - if (!@$_SESSION['samurai']['login']) { + if (!@$_SESSION['usuario']) { $FORM->addElement ('text', 'responsable', 'Responsable', array('size' => '30')); $FORM->addRule ('responsable', 'El campo responsable es obligatorio', 'required'); } @@ -49,7 +49,7 @@ if ($FORM->elementExists('responsable')) { $responsable =& $FORM->getElement ('responsable'); - $_SESSION['samurai']['login'] = $responsable->getValue(); + $_SESSION['usuario'] = $responsable->getValue(); } header('Location: index'); } diff --git a/sistema/www/sistemas/sistemas-abm.php b/sistema/www/sistemas/sistemas-abm.php index 95fafce..a893fc3 100644 --- a/sistema/www/sistemas/sistemas-abm.php +++ b/sistema/www/sistemas/sistemas-abm.php @@ -50,7 +50,7 @@ $SAMURAI_PERM->chequear(SAMURAI_DEVELOPER); $FORM->addElement ('mdate' , 'fecha_implementacion', 'Fecha Implementacion'); $FORM->addElement ('textarea', 'contacto' , 'Contacto' , array('rows' => '2','cols'=>'50')); $FORM->addElement ('select' , 'permisos' , 'Permisos' , $PERMISOS, array('size' => '5', 'multiple' => 'multiple')); - $FORM->addElement ('hidden' , 'responsable' , $_SESSION['samurai']['login']); + $FORM->addElement ('hidden' , 'responsable' , $_SESSION['usuario']); $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar'); $group[] = HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location =\'sistemas\';return false;')); $FORM->addGroup($group,'botones'); diff --git a/sistema/www/sistemas/sistemas-permisos-abm.php b/sistema/www/sistemas/sistemas-permisos-abm.php index 97d53d8..74e6ee2 100644 --- a/sistema/www/sistemas/sistemas-permisos-abm.php +++ b/sistema/www/sistemas/sistemas-permisos-abm.php @@ -47,7 +47,7 @@ $SAMURAI_PERM->chequear(SAMURAI_DEVELOPER); //CREO LOS OBJETO NECESARIOS {{{ $SISTEMA = new SAMURAI_Sistema ($DB, $idSistema); $TABLASIST = new MECON_HTML_Tabla ('cellpadding=2'); - $SISTEMA->setResponsable($_SESSION['samurai']['login']); + $SISTEMA->setResponsable($_SESSION['usuario']); $FORM = new MECON_HTML_QuickForm ('sistemas_permisos_abm','post','sistemas-permisos-abm'); // }}} //AGREGO LA INFORMACION DEL SISTEMA {{{ diff --git a/sistema/www/sistemas/sistemas-permisos.php b/sistema/www/sistemas/sistemas-permisos.php index 9fe3c3c..7eeaeda 100644 --- a/sistema/www/sistemas/sistemas-permisos.php +++ b/sistema/www/sistemas/sistemas-permisos.php @@ -47,7 +47,7 @@ $SAMURAI_PERM->chequear(SAMURAI_DEVELOPER); $SISTEMA = new SAMURAI_Sistema ($DB, $idSistema); $TABLASIST = new MECON_HTML_Tabla ('cellpadding=2'); $TABLAPERM = new MECON_HTML_Tabla ('cellpadding=2'); - $SISTEMA->setResponsable($_SESSION['samurai']['login']); + $SISTEMA->setResponsable($_SESSION['usuario']); // }}} //AGREGO LA INFORMACION DEL SISTEMA {{{ $row = array ('Datos del sistema'); diff --git a/sistema/www/sistemas/sistemas.php b/sistema/www/sistemas/sistemas.php index 6fb38a5..6dffa47 100644 --- a/sistema/www/sistemas/sistemas.php +++ b/sistema/www/sistemas/sistemas.php @@ -31,7 +31,7 @@ $SAMURAI_PERM->chequear(SAMURAI_DEVELOPER); $aHrefElim = $aHref.'Eliminar Sistema'; $aHrefPerm = 'Definir Permisos'; //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ - if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { + if (!@$_SESSION['samurai']['id_sistema']) { header('Location: ./../sel-sistema'); } // }}} diff --git a/sistema/www/usuarios/usuarios-abm.php b/sistema/www/usuarios/usuarios-abm.php index 1a7248c..7b5f162 100644 --- a/sistema/www/usuarios/usuarios-abm.php +++ b/sistema/www/usuarios/usuarios-abm.php @@ -37,7 +37,7 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_USUARIO, SAMURAI_BAJA_USUARIO, SAMURAI_MODI require_once 'MECON/HTML/Image.php'; // }}} //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ -if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { +if (!@$_SESSION['samurai']['id_sistema']) { header('Location: ./../sel-sistema'); } // }}} @@ -78,7 +78,7 @@ if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { $FORM->addElement ('text' , 'login' , 'Login@Organismo' , array( 'value' => $login , 'size' => '20')); } $FORM->addElement ('select', 'perfiles' , 'Perfiles', $PERFILES, array('size' => '5', 'multiple' => 'true')); - $FORM->addElement ('hidden', 'responsable', $_SESSION['samurai']['login']); + $FORM->addElement ('hidden', 'responsable', $_SESSION['usuario']); $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'); diff --git a/sistema/www/usuarios/usuarios.php b/sistema/www/usuarios/usuarios.php index 45fa105..173a56c 100644 --- a/sistema/www/usuarios/usuarios.php +++ b/sistema/www/usuarios/usuarios.php @@ -36,7 +36,7 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_USUARIO, SAMURAI_BAJA_USUARIO, SAMURAI_MODI $aHrefElim = $aHref.'Eliminar Usuario'; // }}} //VEO SI HAY QUE ELEGIR EN QUE SISTEMA TRABAJAR {{{ -if (!@$_SESSION['samurai']['id_sistema'] || !@$_SESSION['samurai']['login']) { +if (!@$_SESSION['samurai']['id_sistema']) { header('Location: ./../sel-sistema'); } // }}} -- 2.43.0