diff options
Diffstat (limited to 'admin/WebConsole/gestores/gestor_usuarios.php')
-rw-r--r-- | admin/WebConsole/gestores/gestor_usuarios.php | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/admin/WebConsole/gestores/gestor_usuarios.php b/admin/WebConsole/gestores/gestor_usuarios.php new file mode 100644 index 00000000..4463074b --- /dev/null +++ b/admin/WebConsole/gestores/gestor_usuarios.php @@ -0,0 +1,211 @@ +<? +// ******************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: gestor_usuarios.php +// Descripción : +// Gestiona el mantenimiento de la tabla de usuarios +// ******************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/SockHidra.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +include_once("./relaciones/usuarios_eliminacion.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idusuario=0; +$usuario=""; +$pasguor=""; +$nombre=""; +$email=""; +$idambito=0; +$ididioma=0; +$idtipousuario=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; + +if (isset($_POST["idusuario"])) $idusuario=$_POST["idusuario"]; +if (isset($_POST["usuario"])) $usuario=$_POST["usuario"]; +if (isset($_POST["pasguor"])) $pasguor=$_POST["pasguor"]; +if (isset($_POST["nombre"])) $nombre=$_POST["nombre"]; +if (isset($_POST["email"])) $email=$_POST["email"]; +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["ididioma"])) $ididioma=$_POST["ididioma"]; +if (isset($_POST["idtipousuario"])) $idtipousuario=$_POST["idtipousuario"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +// ************************************************************************************************************************************************* +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<BODY> + <SCRIPT language="javascript" src="../jscripts/propiedades_usuarios.js"></SCRIPT> +<? + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_usuarios"; + break; + case $op_modificacion: + $literal="resultado_modificar_usuarios"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_usuarios"; + break; + case $op_movida : + $literal="resultado_cambiar_usuarios"; + break; + default: + break; + } + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; +if ($resul){ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idusuario.",o.innerHTML);"; + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombre."');"; + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idusuario.")"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +/*________________________________________________________________________________________________________ + Inserta, modifica o elimina datos en la tabla usuarios +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + global $OPERADOR; + global $ADMINISTRADOR; + + global $idusuario; + global $usuario; + global $pasguor; + global $nombre; + global $email; + global $idambito; + global $ididioma; + global $idtipousuario; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + global $tablanodo; + + $cmd->CreaParametro("@idusuario",$idusuario,1); + $cmd->CreaParametro("@usuario",$usuario,0); + $cmd->CreaParametro("@pasguor",$pasguor,0); + $cmd->CreaParametro("@nombre",$nombre,0); + $cmd->CreaParametro("@email",$email,0); + $cmd->CreaParametro("@idambito",$idambito,1); + $cmd->CreaParametro("@ididioma",$ididioma,1); + $cmd->CreaParametro("@idtipousuario",$idtipousuario,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO usuarios (usuario,pasguor,nombre,email,ididioma,idtipousuario ) VALUES (@usuario,@pasguor,@nombre,@email,@ididioma,@idtipousuario);"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idusuario=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_usuarios($idusuario,$nombre,$idtipousuario); + $baseurlimg="../images/signos"; // Url de las imagenes de signo + $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol + $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault); + $tablanodo=$arbol->CreaArbolVistaXML(); + } + break; + case $op_modificacion: + $cmd->texto="UPDATE usuarios SET usuario=@usuario,pasguor=@pasguor,nombre=@nombre,email=@email,ididioma=@ididioma WHERE idusuario=@idusuario"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaUsuarios($cmd,$idusuario,"idusuario"); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Busca los datos de un usuario + Parametros: + - cmd:Una comando ya operativo (con conexión abierta) + - idusuario:El identificador del usuario +________________________________________________________________________________________________________*/ +function toma_usuario($cmd,$idusuario){ + global $usuario; + global $pasguor; + global $idambito; + global $idtipousuario; + + $rs=new Recordset; + $cmd->texto="SELECT usuario, pasguor,idambito,idtipousuario FROM usuarios WHERE idusuario=".$idusuario; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $usuario=$rs->campos["usuario"]; + $pasguor=$rs->campos["pasguor"]; + $idambito=$rs->campos["idambito"]; + $idtipousuario=$rs->campos["idtipousuario"]; + return(true); + } + else + return(false); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_usuarios($idusuario,$nombre,$idtipousuario){ + global $LITAMBITO_USUARIOS; + global $SUPERADMINISTRADOR; + global $ADMINISTRADOR; + global $OPERADOR; + + switch($idtipousuario){ + case $SUPERADMINISTRADOR: + $urlimg="../images/iconos/superadministradores.gif"; + break; + case $ADMINISTRADOR: + $urlimg="../images/iconos/administradores.gif"; + break; + case $OPERADOR: + $urlimg="../images/iconos/operadores.gif"; + break; + } + $cadenaXML='<USUARIO'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_USUARIOS."'" .')"'; + $cadenaXML.=' imagenodo="'.$urlimg.'"'; + $cadenaXML.=' infonodo="'.$nombre.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_USUARIOS.'-'.$idusuario; + $cadenaXML.='></USUARIO>'; + return($cadenaXML); +} +?> |