diff options
author | alonso <alonso@us.es> | 2010-10-23 09:34:04 +0000 |
---|---|---|
committer | alonso <alonso@us.es> | 2010-10-23 09:34:04 +0000 |
commit | 3ec149cb19165453434984c88e8ba03f648e578e (patch) | |
tree | 9d315751684c2c27ed66ad645aeea52ce9027859 /admin | |
parent | 550b680d176cbccfecfe35fad440dd570d90ba5b (diff) |
git-svn-id: https://opengnsys.es/svn/trunk@1314 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
814 files changed, 58167 insertions, 0 deletions
diff --git a/admin/Database/ogAdmBD-0.9.1-0.9.2pre.sql b/admin/Database/ogAdmBD-0.9.1-0.9.2pre.sql new file mode 100644 index 00000000..09d15a5f --- /dev/null +++ b/admin/Database/ogAdmBD-0.9.1-0.9.2pre.sql @@ -0,0 +1,8 @@ +-- Cambios para gestión de Multicast + +ALTER TABLE `ordenadores` + ADD COLUMN `modomul` TINYINT(4) NOT NULL, + ADD COLUMN `ipmul` VARCHAR(16) NOT NULL, + ADD COLUMN `pormul` INT(11) NOT NULL, + ADD COLUMN `velmul` SMALLINT(6) NOT NULL; + diff --git a/admin/Database/ogAdmBD.sql b/admin/Database/ogAdmBD.sql new file mode 100644 index 00000000..83bbfb14 --- /dev/null +++ b/admin/Database/ogAdmBD.sql @@ -0,0 +1,915 @@ +-- phpMyAdmin SQL Dump +-- version 3.2.2.1deb1 +-- http://www.phpmyadmin.net +-- +-- Servidor: localhost +-- Tiempo de generación: 20-09-2010 a las 22:43:50 +-- Versión del servidor: 5.1.37 +-- Versión de PHP: 5.2.10-2ubuntu6.4 + +SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; + +-- +-- Base de datos: `ogAdmBD` +-- + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `acciones` +-- + +CREATE TABLE IF NOT EXISTS `acciones` ( + `idaccion` int(11) NOT NULL AUTO_INCREMENT, + `tipoaccion` smallint(6) NOT NULL, + `idtipoaccion` int(11) NOT NULL, + `descriaccion` varchar(250) NOT NULL, + `idordenador` int(11) NOT NULL, + `ip` varchar(50) NOT NULL, + `sesion` int(11) NOT NULL, + `idcomando` int(11) NOT NULL, + `parametros` text, + `fechahorareg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `fechahorafin` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `estado` tinyint(1) NOT NULL DEFAULT '0', + `resultado` tinyint(1) NOT NULL DEFAULT '0', + `descrinotificacion` varchar(256) DEFAULT NULL, + `ambito` smallint(6) NOT NULL DEFAULT '0', + `idambito` int(11) NOT NULL DEFAULT '0', + `restrambito` text NOT NULL, + `idprocedimiento` int(11) NOT NULL DEFAULT '0', + `idtarea` int(11) NOT NULL DEFAULT '0', + `idcentro` int(11) NOT NULL DEFAULT '0', + `idprogramacion` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`idaccion`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `acciones_menus` +-- + +CREATE TABLE IF NOT EXISTS `acciones_menus` ( + `idaccionmenu` int(11) NOT NULL AUTO_INCREMENT, + `tipoaccion` tinyint(4) NOT NULL DEFAULT '0', + `idtipoaccion` int(11) NOT NULL DEFAULT '0', + `idmenu` int(11) NOT NULL DEFAULT '0', + `tipoitem` tinyint(4) DEFAULT NULL, + `idurlimg` int(11) DEFAULT NULL, + `descripitem` varchar(250) DEFAULT NULL, + `orden` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`idaccionmenu`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `administradores_centros` +-- + +CREATE TABLE IF NOT EXISTS `administradores_centros` ( + `idadministradorcentro` int(11) NOT NULL AUTO_INCREMENT, + `idusuario` int(11) NOT NULL DEFAULT '0', + `idcentro` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`idadministradorcentro`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `aulas` +-- + +CREATE TABLE IF NOT EXISTS `aulas` ( + `idaula` int(11) NOT NULL AUTO_INCREMENT, + `nombreaula` varchar(100) NOT NULL DEFAULT '', + `idcentro` int(11) NOT NULL DEFAULT '0', + `urlfoto` varchar(250) DEFAULT NULL, + `cuadro_y` char(3) DEFAULT NULL, + `cuadro_x` char(3) DEFAULT NULL, + `cagnon` tinyint(1) DEFAULT NULL, + `pizarra` tinyint(1) DEFAULT NULL, + `grupoid` int(11) DEFAULT NULL, + `ubicacion` varchar(255) DEFAULT NULL, + `comentarios` text, + `puestos` tinyint(4) DEFAULT NULL, + `horaresevini` tinyint(4) DEFAULT NULL, + `horaresevfin` tinyint(4) DEFAULT NULL, + `modomul` tinyint(4) NOT NULL, + `ipmul` varchar(16) NOT NULL, + `pormul` int(11) NOT NULL, + `velmul` smallint(6) NOT NULL, + PRIMARY KEY (`idaula`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `campus` +-- + +CREATE TABLE IF NOT EXISTS `campus` ( + `idcampus` int(11) NOT NULL AUTO_INCREMENT, + `nombrecampus` varchar(100) NOT NULL DEFAULT '', + `iduniversidad` int(11) DEFAULT NULL, + `urlmapa` varchar(255) DEFAULT NULL, + `cuadro_y` tinyint(3) DEFAULT NULL, + `cuadro_x` tinyint(3) DEFAULT NULL, + PRIMARY KEY (`idcampus`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Volcar la base de datos para la tabla `campus` +-- + + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `centros` +-- + +CREATE TABLE IF NOT EXISTS `centros` ( + `idcentro` int(11) NOT NULL AUTO_INCREMENT, + `nombrecentro` varchar(100) NOT NULL DEFAULT '', + `identidad` int(11) DEFAULT NULL, + `comentarios` text, + PRIMARY KEY (`idcentro`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + + + -- + -- Volcar la base de datos para la tabla `centros` + -- + INSERT INTO `centros` (`idcentro`,`nombrecentro`,`identidad`,`comentarios`) VALUES + (1,'Unidad organizativa (Default)',1,'Esta Unidad Organizativa se crea automáticamente en el proceso de instalación de OpenGNSys'); + + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `comandos` +-- + +CREATE TABLE IF NOT EXISTS `comandos` ( + `idcomando` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `pagina` varchar(256) NOT NULL, + `gestor` varchar(256) NOT NULL, + `funcion` varchar(64) NOT NULL, + `urlimg` varchar(250) DEFAULT NULL, + `aplicambito` tinyint(4) DEFAULT NULL, + `visuparametros` varchar(250) DEFAULT NULL, + `parametros` varchar(250) DEFAULT NULL, + `comentarios` text, + `activo` tinyint(1) NOT NULL, + PRIMARY KEY (`idcomando`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ; + +-- +-- Volcar la base de datos para la tabla `comandos` +-- + +INSERT INTO `comandos` (`idcomando`, `descripcion`, `pagina`, `gestor`, `funcion`, `urlimg`, `aplicambito`, `visuparametros`, `parametros`, `comentarios`, `activo`) VALUES +(1, 'Arrancar', '../comandos/Arrancar.php', '../comandos/gestores/gestor_Comandos.php', 'Arrancar', '', 31, '', 'nfn;iph;mac', '', 1), +(2, 'Apagar', '../comandos/Apagar.php', '../comandos/gestores/gestor_Comandos.php', 'Apagar', '', 31, '', 'nfn;iph;mac', '', 1), +(3, 'Restaurar Imagen', '../comandos/RestaurarImagen.php', '../comandos/gestores/gestor_Comandos.php', 'RestaurarImagen', '', 28, 'dsk;par;idi;nci;ipr;ptc', 'nfn;iph;mac;dsk;par;idi;nci;ipr;ifs;ptc', '', 1), +(4, 'Crear Imagen', '../comandos/CrearImagen.php', '../comandos/gestores/gestor_Comandos.php', 'CrearImagen', '', 16, 'dsk;par;idi;nci;ipr;cpt', 'nfn;iph;mac;dsk;par;idi;nci;ipr;cpt;', '', 1), +(5, 'Reiniciar', '../comandos/Reiniciar.php', '../comandos/gestores/gestor_Comandos.php', 'Reiniciar', '', 31, '', 'nfn;iph;mac;', '', 1), +(6, 'Inventario Hardware', '../comandos/InventarioHardware.php', '../comandos/gestores/gestor_Comandos.php', 'InventarioHardware', '', 16, '', 'nfn;iph;mac;', '', 1), +(7, 'Inventario Software', '../comandos/InventarioSoftware.php', '../comandos/gestores/gestor_Comandos.php', 'InventarioSoftware', '', 16, 'par', 'nfn;iph;mac;par', '', 1), +(8, 'Ejecutar Script', '../comandos/EjecutarScripts.php', '../comandos/gestores/gestor_Comandos.php', 'EjecutarScript', '', 31, 'iph;tis;dcr;scp', 'nfn;iph;tis;dcr;scp', '', 1), +(9, 'Iniciar Sesion', '../comandos/IniciarSesion.php', '../comandos/gestores/gestor_Comandos.php', 'IniciarSesion', '', 31, 'par', 'nfn;iph;par', '', 1), +(10, 'Particionar y Formatear', '../comandos/Configurar.php', '../comandos/gestores/gestor_Comandos.php', 'Configurar', '', 28, 'dsk;cfg;', 'nfn;iph;mac;dsk;cfg;par;cpt;sfi;tam;ope', '', 1); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `entidades` +-- + +CREATE TABLE IF NOT EXISTS `entidades` ( + `identidad` int(11) NOT NULL AUTO_INCREMENT, + `nombreentidad` varchar(200) NOT NULL DEFAULT '', + `comentarios` text, + `iduniversidad` int(11) DEFAULT NULL, + `grupoid` int(11) DEFAULT NULL, + PRIMARY KEY (`identidad`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +-- +-- Volcar la base de datos para la tabla `entidades` +-- + +INSERT INTO `entidades` (`identidad`, `nombreentidad`, `comentarios`, `iduniversidad`, `grupoid`) VALUES +(1, 'Entidad (Default)', 'Esta Entidad se crea automáticamente en el proceso de instalación de OpenGNSys', 1, 0); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `entornos` +-- + +CREATE TABLE IF NOT EXISTS `entornos` ( + `identorno` int(11) NOT NULL AUTO_INCREMENT, + `ipserveradm` varchar(50) NOT NULL, + `portserveradm` int(20) NOT NULL, + `protoclonacion` varchar(50) NOT NULL, + PRIMARY KEY (`identorno`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +-- +-- Volcar la base de datos para la tabla `entornos` +-- + +INSERT INTO `entornos` (`identorno`, `ipserveradm`, `portserveradm`, `protoclonacion`) VALUES +(1, '10.1.15.3', 2009, 'MULTICAST'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `estatus` +-- + +CREATE TABLE IF NOT EXISTS `estatus` ( + `idestatus` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + PRIMARY KEY (`idestatus`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; + +-- +-- Volcar la base de datos para la tabla `estatus` +-- + +INSERT INTO `estatus` (`idestatus`, `descripcion`) VALUES +(1, 'P.D.I. ( Profesor)'), +(2, 'P.A.S.'), +(3, 'Doctor'), +(4, 'Alumno'), +(5, 'Otros'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `grupos` +-- + +CREATE TABLE IF NOT EXISTS `grupos` ( + `idgrupo` int(11) NOT NULL AUTO_INCREMENT, + `nombregrupo` varchar(250) NOT NULL DEFAULT '', + `grupoid` int(11) NOT NULL DEFAULT '0', + `tipo` tinyint(4) NOT NULL DEFAULT '0', + `idcentro` int(11) NOT NULL DEFAULT '0', + `iduniversidad` int(11) DEFAULT NULL, + `comentarios` text, + PRIMARY KEY (`idgrupo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `gruposordenadores` +-- + +CREATE TABLE IF NOT EXISTS `gruposordenadores` ( + `idgrupo` int(11) NOT NULL AUTO_INCREMENT, + `nombregrupoordenador` varchar(250) NOT NULL DEFAULT '', + `idaula` int(11) NOT NULL DEFAULT '0', + `grupoid` int(11) DEFAULT NULL, + `comentarios` text, + PRIMARY KEY (`idgrupo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `hardwares` +-- + +CREATE TABLE IF NOT EXISTS `hardwares` ( + `idhardware` int(11) NOT NULL AUTO_INCREMENT, + `idtipohardware` int(11) NOT NULL DEFAULT '0', + `descripcion` varchar(250) NOT NULL DEFAULT '', + `idcentro` int(11) NOT NULL DEFAULT '0', + `grupoid` int(11) DEFAULT NULL, + PRIMARY KEY (`idhardware`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `iconos` +-- + +CREATE TABLE IF NOT EXISTS `iconos` ( + `idicono` int(11) NOT NULL AUTO_INCREMENT, + `urlicono` varchar(200) DEFAULT NULL, + `idtipoicono` int(11) DEFAULT NULL, + `descripcion` varchar(250) DEFAULT NULL, + PRIMARY KEY (`idicono`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ; + +-- +-- Volcar la base de datos para la tabla `iconos` +-- + +INSERT INTO `iconos` (`idicono`, `urlicono`, `idtipoicono`, `descripcion`) VALUES +(1, 'vga.gif', 1, 'Tarjeta gráfica'), +(2, 'nic.gif', 1, 'Tarjeta de Red'), +(3, 'placabase.gif', 1, 'Placas base'), +(4, 'tsonido.gif', 1, 'Tarjeta de sonido'), +(5, 'camweb.gif', 1, 'Cámara web'), +(6, 'logoXP.png', 2, 'Logo Windows XP'), +(7, 'logolinux.png', 2, 'Logo General de Linux'), +(8, 'particionar.png', 2, 'Particionar'), +(9, 'ordenadoroff.png', 2, 'Ordenador apagado'), +(10, 'ordenadoron.png', 2, 'Ordenador encendido'), +(11, 'usb.gif', 1, 'Mi icono usb'), +(12, 'ide.gif', 1, 'Controladores IDE'), +(13, 'dvdcd.gif', 1, 'Lectoras y grabadoras de DVD'), +(14, 'audio.gif', 1, 'Dispositivos de audio'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `idiomas` +-- + +CREATE TABLE IF NOT EXISTS `idiomas` ( + `ididioma` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(100) DEFAULT NULL, + `nemonico` char(3) DEFAULT NULL, + PRIMARY KEY (`ididioma`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; + +-- +-- Volcar la base de datos para la tabla `idiomas` +-- + +INSERT INTO `idiomas` (`ididioma`, `descripcion`, `nemonico`) VALUES +(1, 'Español', 'esp'), +(2, 'Ingles', 'eng'), +(3, 'Catalan', 'cat'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `imagenes` +-- + +CREATE TABLE IF NOT EXISTS `imagenes` ( + `idimagen` int(11) NOT NULL AUTO_INCREMENT, + `nombreca` varchar(50) NOT NULL, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `idperfilsoft` int(11) DEFAULT NULL, + `idcentro` int(11) DEFAULT NULL, + `comentarios` text, + `grupoid` int(11) DEFAULT NULL, + `idrepositorio` int(11) NOT NULL, + `numpar` smallint(6) NOT NULL, + `codpar` smallint(6) NOT NULL, + PRIMARY KEY (`idimagen`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `menus` +-- + +CREATE TABLE IF NOT EXISTS `menus` ( + `idmenu` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `idcentro` int(11) NOT NULL DEFAULT '0', + `idurlimg` int(11) NOT NULL DEFAULT '0', + `titulo` varchar(250) DEFAULT NULL, + `coorx` int(11) DEFAULT NULL, + `coory` int(11) DEFAULT NULL, + `modalidad` tinyint(4) DEFAULT NULL, + `scoorx` int(11) DEFAULT NULL, + `scoory` int(11) DEFAULT NULL, + `smodalidad` tinyint(4) DEFAULT NULL, + `comentarios` text, + `grupoid` int(11) NOT NULL DEFAULT '0', + `htmlmenupub` varchar(250) DEFAULT NULL, + `htmlmenupri` varchar(250) DEFAULT NULL, + `resolucion` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`idmenu`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `nombresos` +-- + +CREATE TABLE IF NOT EXISTS `nombresos` ( + `idnombreso` smallint(11) NOT NULL AUTO_INCREMENT, + `nombreso` varchar(250) NOT NULL, + `idtiposo` int(11) DEFAULT '0', + PRIMARY KEY (`idnombreso`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `ordenadores` +-- + +CREATE TABLE IF NOT EXISTS `ordenadores` ( + `idordenador` int(11) NOT NULL AUTO_INCREMENT, + `nombreordenador` varchar(100) DEFAULT NULL, + `ip` varchar(16) NOT NULL, + `mac` varchar(12) DEFAULT NULL, + `idaula` int(11) DEFAULT NULL, + `idperfilhard` int(11) DEFAULT NULL, + `idrepositorio` int(11) DEFAULT NULL, + `grupoid` int(11) DEFAULT NULL, + `idmenu` int(11) DEFAULT NULL, + `cache` int(11) DEFAULT NULL, + `router` varchar(16) NOT NULL, + `mascara` varchar(16) NOT NULL, + `idproautoexec` int(11) NOT NULL, + PRIMARY KEY (`idordenador`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `ordenadores_particiones` +-- + +CREATE TABLE IF NOT EXISTS `ordenadores_particiones` ( + `idordenador` int(11) NOT NULL, + `numpar` tinyint(4) NOT NULL, + `codpar` smallint(11) NOT NULL, + `tamano` int(11) NOT NULL, + `idsistemafichero` smallint(11) NOT NULL, + `idnombreso` smallint(11) NOT NULL, + `idimagen` int(11) NOT NULL, + `idperfilsoft` int(11) NOT NULL, + UNIQUE KEY `idordenadornumpar` (`idordenador`,`numpar`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `parametros` +-- + +CREATE TABLE IF NOT EXISTS `parametros` ( + `idparametro` int(11) NOT NULL AUTO_INCREMENT, + `nemonico` char(3) NOT NULL, + `descripcion` text NOT NULL, + `nomidentificador` varchar(64) NOT NULL, + `nomtabla` varchar(64) NOT NULL, + `nomliteral` varchar(64) NOT NULL, + `tipopa` tinyint(1) DEFAULT '0', + `visual` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`idparametro`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=31 ; + +-- +-- Volcar la base de datos para la tabla `parametros` +-- + +INSERT INTO `parametros` (`idparametro`, `nemonico`, `descripcion`, `nomidentificador`, `nomtabla`, `nomliteral`, `tipopa`, `visual`) VALUES +(1, 'nfn', 'Nombre de la función o script a ejecutar en el cliente y que implementa el comando. Es posible que también els ervidor debo ejecutar la misma función como ocurre en el comando "Arrancar" y que implementa el comportamiento del comando en el servidor', '', '', '', 0, 0), +(2, 'iph', 'Dirección ip de los ordenadores a los que se envía el comando', '', '', '', 0, 0), +(3, 'ido', 'Identificadores de los ordenadores a los que se envía el comando', '', '', '', 0, 0), +(4, 'mac', 'Direcciones macs de los clientes a los que se le envía el comando', '', '', '', 0, 0), +(5, 'idc', 'Unidad organizativa', 'idcentro', 'centros', '', 1, 0), +(6, 'ida', 'Aula', 'idaula', 'aulas', 'nombreaula', 1, 0), +(18, 'cfg', 'Configuración', '', '', '', 2, 1), +(7, 'dsk', 'Disco', '', '', '', 0, 1), +(8, 'par', 'Partición', '', '', '', 0, 1), +(9, 'ifh', 'Perfil Hardware', 'idperfilhard', 'perfileshard', 'descripcion', 1, 1), +(10, 'ifs', 'Perfil Software', 'idperfilsoft', 'perfilessoft', 'descripcion', 1, 1), +(11, 'idi', 'Imagen', 'idimagen', 'imagenes', 'descripcion', 1, 1), +(12, 'nci', 'Nombre canonico', '', '', '', 0, 1), +(13, 'scp', 'Código a ejecutar en formato script', '', '', '', 0, 0), +(14, 'npc', 'Nombre del cliente', '', '', '', NULL, 0), +(15, 'che', 'Tamaño de la cache del cliente', '', '', '', NULL, 0), +(16, 'exe', 'Identificador del procedimiento que será el que ejecute el cliente al arrancar (Autoexec)', '', '', '', 0, 0), +(17, 'res', 'Respuesta del comando: Puede tomar los valores 1 o 2 en el caso de que la respuesta sea correcta o que haya un error al ejecutarse.', '', '', '', 0, 0), +(19, 'ipr', 'Repositorio', 'ip', 'repositorios', 'nombrerepositorio', 1, 1), +(20, 'cpt', 'Tipo partición', 'codpar', 'tipospar', 'tipopar', 1, 1), +(21, 'sfi', 'Sistema de fichero', 'idsistemafichero', 'sistemasficheros', 'nemonico', 1, 0), +(22, 'tam', 'Tamaño', '', '', '', 0, 0), +(23, 'ope', 'Operación', ';', '', 'Sin operación;Formatear;Ocultar;Mostrar', 3, 1), +(24, 'nfl', 'Nombre del fichero que se envía o se recibe', '', '', '', 0, 0), +(25, 'hrd', 'Nombre del archivo de inventario hardware enviado por la red', '', '', '', 0, 0), +(26, 'sft', 'Nombre del archivo de inventario software enviado por la red', '', '', '', 0, 0), +(27, 'tpc', 'Tipo de cliente', '', '', '', 0, 0), +(28, 'scp', 'Código script', '', '', '', 4, 1), +(30, 'ptc', 'Protocolo de clonación', ';', '', ';Unicast;Multicast;Torrent', 3, 1); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `perfileshard` +-- + +CREATE TABLE IF NOT EXISTS `perfileshard` ( + `idperfilhard` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `comentarios` text, + `grupoid` int(11) DEFAULT NULL, + `idcentro` int(11) NOT NULL, + PRIMARY KEY (`idperfilhard`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `perfileshard_hardwares` +-- + +CREATE TABLE IF NOT EXISTS `perfileshard_hardwares` ( + `idperfilhard` int(11) NOT NULL DEFAULT '0', + `idhardware` int(11) NOT NULL DEFAULT '0', + KEY `idperfilhard` (`idperfilhard`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `perfilessoft` +-- + +CREATE TABLE IF NOT EXISTS `perfilessoft` ( + `idperfilsoft` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `comentarios` text, + `grupoid` int(11) DEFAULT NULL, + `idcentro` int(11) NOT NULL, + PRIMARY KEY (`idperfilsoft`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `perfilessoft_softwares` +-- + +CREATE TABLE IF NOT EXISTS `perfilessoft_softwares` ( + `idperfilsoft` int(11) NOT NULL DEFAULT '0', + `idsoftware` int(11) NOT NULL DEFAULT '0' +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `plataformas` +-- + +CREATE TABLE IF NOT EXISTS `plataformas` ( + `idplataforma` int(11) NOT NULL AUTO_INCREMENT, + `plataforma` varchar(250) NOT NULL, + PRIMARY KEY (`idplataforma`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ; + +-- +-- Volcar la base de datos para la tabla `plataformas` +-- + +INSERT INTO `plataformas` (`idplataforma`, `plataforma`) VALUES +(1, 'MsDos'), +(2, 'Windows'), +(3, 'Linux'), +(4, 'Mac'), +(5, 'OS'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `procedimientos` +-- + +CREATE TABLE IF NOT EXISTS `procedimientos` ( + `idprocedimiento` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `urlimg` varchar(250) DEFAULT NULL, + `idcentro` int(11) NOT NULL DEFAULT '0', + `comentarios` text, + `grupoid` int(11) DEFAULT '0', + PRIMARY KEY (`idprocedimiento`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `procedimientos_acciones` +-- + +CREATE TABLE IF NOT EXISTS `procedimientos_acciones` ( + `idprocedimientoaccion` int(11) NOT NULL AUTO_INCREMENT, + `idprocedimiento` int(11) NOT NULL DEFAULT '0', + `orden` smallint(4) DEFAULT NULL, + `idcomando` int(11) NOT NULL DEFAULT '0', + `parametros` text, + `procedimientoid` int(11) NOT NULL, + PRIMARY KEY (`idprocedimientoaccion`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `programaciones` +-- + +CREATE TABLE IF NOT EXISTS `programaciones` ( + `idprogramacion` int(11) NOT NULL AUTO_INCREMENT, + `tipoaccion` int(11) DEFAULT NULL, + `identificador` int(11) DEFAULT NULL, + `nombrebloque` varchar(255) DEFAULT NULL, + `annos` tinyint(4) DEFAULT NULL, + `meses` smallint(4) DEFAULT NULL, + `diario` int(11) DEFAULT NULL, + `dias` tinyint(4) DEFAULT NULL, + `semanas` tinyint(4) DEFAULT NULL, + `horas` smallint(4) DEFAULT NULL, + `ampm` tinyint(1) DEFAULT NULL, + `minutos` tinyint(4) DEFAULT NULL, + `segundos` tinyint(4) DEFAULT NULL, + `horasini` smallint(4) DEFAULT NULL, + `ampmini` tinyint(1) DEFAULT NULL, + `minutosini` tinyint(4) DEFAULT NULL, + `horasfin` smallint(4) DEFAULT NULL, + `ampmfin` tinyint(1) DEFAULT NULL, + `minutosfin` tinyint(4) DEFAULT NULL, + `suspendida` tinyint(1) DEFAULT NULL, + `sesion` int(11) NOT NULL, + PRIMARY KEY (`idprogramacion`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `repositorios` +-- + +CREATE TABLE IF NOT EXISTS `repositorios` ( + `idrepositorio` int(11) NOT NULL AUTO_INCREMENT, + `nombrerepositorio` varchar(250) NOT NULL, + `ip` varchar(15) NOT NULL DEFAULT '', + `passguor` varchar(50) NOT NULL DEFAULT '', + `pathrepoconf` varchar(250) NOT NULL, + `pathrepod` varchar(250) NOT NULL, + `pathpxe` varchar(250) NOT NULL, + `idcentro` int(11) DEFAULT NULL, + `grupoid` int(11) DEFAULT NULL, + `comentarios` text, + `puertorepo` int(11) NOT NULL, + PRIMARY KEY (`idrepositorio`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `sistemasficheros` +-- + +CREATE TABLE IF NOT EXISTS `sistemasficheros` ( + `idsistemafichero` smallint(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(50) NOT NULL DEFAULT '', + `nemonico` varchar(16) DEFAULT NULL, + `codpar` smallint(6) NOT NULL, + PRIMARY KEY (`idsistemafichero`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `softwares` +-- + +CREATE TABLE IF NOT EXISTS `softwares` ( + `idsoftware` int(11) NOT NULL AUTO_INCREMENT, + `idtiposoftware` int(11) NOT NULL DEFAULT '0', + `descripcion` varchar(250) NOT NULL DEFAULT '', + `idcentro` int(11) NOT NULL DEFAULT '0', + `urlimg` varchar(250) DEFAULT NULL, + `idtiposo` int(11) DEFAULT NULL, + `grupoid` int(11) DEFAULT NULL, + PRIMARY KEY (`idsoftware`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `tareas` +-- + +CREATE TABLE IF NOT EXISTS `tareas` ( + `idtarea` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `urlimg` varchar(250) DEFAULT NULL, + `idcentro` int(11) NOT NULL DEFAULT '0', + `ambito` smallint(6) NOT NULL DEFAULT '0', + `idambito` int(11) NOT NULL DEFAULT '0', + `restrambito` text NOT NULL, + `comentarios` text, + `grupoid` int(11) DEFAULT '0', + PRIMARY KEY (`idtarea`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `tareas_acciones` +-- + +CREATE TABLE IF NOT EXISTS `tareas_acciones` ( + `idtareaaccion` int(11) NOT NULL AUTO_INCREMENT, + `idtarea` int(11) NOT NULL DEFAULT '0', + `orden` smallint(6) NOT NULL DEFAULT '0', + `idprocedimiento` int(11) NOT NULL DEFAULT '0', + `tareaid` int(11) DEFAULT '0', + PRIMARY KEY (`idtareaaccion`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `tipohardwares` +-- + +CREATE TABLE IF NOT EXISTS `tipohardwares` ( + `idtipohardware` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `urlimg` varchar(250) NOT NULL DEFAULT '', + `nemonico` char(3) NOT NULL, + `pci` tinyint(1) NOT NULL, + PRIMARY KEY (`idtipohardware`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=17 ; + +-- +-- Volcar la base de datos para la tabla `tipohardwares` +-- + +INSERT INTO `tipohardwares` (`idtipohardware`, `descripcion`, `urlimg`, `nemonico`, `pci`) VALUES +(1, 'Placas', '../images/iconos/placabase.gif', 'boa', 0), +(2, 'Dispositivos Multimedia', '../images/iconos/tsonido.gif', 'mul', 0), +(3, 'Tarjetas de Red', '../images/iconos/nic.gif', 'net', 0), +(4, 'Microprocesadores', '../images/iconos/micro.gif', 'cpu', 0), +(5, 'Memorias', '../images/iconos/confihard.gif', 'mem', 0), +(7, 'Tarjetas gráficas', '../images/iconos/vga.gif', 'vga', 0), +(8, 'Discos', '../images/iconos/discoduro.gif', 'dis', 0), +(9, 'Dispositivos de sonido', '../images/iconos/audio.gif', 'aud', 0), +(10, 'Marca y modelo del equipo', '../images/iconos/confihard.gif', 'mod', 0), +(11, 'Modelo y version de la bios', '../images/iconos/confihard.gif', 'bio', 0), +(12, 'Modelo de grabadora o grabadora de CD/DVD', '../images/iconos/dvdcd.gif', 'cdr', 0), +(13, 'Controladores IDE', '../images/iconos/ide.gif', 'ide', 0), +(14, 'Controladores FireWire', '../images/iconos/confihard.gif', 'fir', 0), +(15, 'Controladores USB', '../images/iconos/usb.gif', 'usb', 0), +(16, 'Bus del Sistema', '../images/iconos/confihard.gif', 'bus', 0); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `tiposoftwares` +-- + +CREATE TABLE IF NOT EXISTS `tiposoftwares` ( + `idtiposoftware` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + `urlimg` varchar(250) NOT NULL DEFAULT '', + PRIMARY KEY (`idtiposoftware`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ; + +-- +-- Volcar la base de datos para la tabla `tiposoftwares` +-- + +INSERT INTO `tiposoftwares` (`idtiposoftware`, `descripcion`, `urlimg`) VALUES +(1, 'Sistemas Operativos', '../images/iconos/so.gif'), +(2, 'Aplicaciones', '../images/iconos/aplicaciones.gif'), +(3, 'Archivos', '../images/iconos/archivos.gif'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `tiposos` +-- + +CREATE TABLE IF NOT EXISTS `tiposos` ( + `idtiposo` int(11) NOT NULL AUTO_INCREMENT, + `tiposo` varchar(250) NOT NULL, + `idplataforma` int(11) NOT NULL, + PRIMARY KEY (`idtiposo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ; + +-- +-- Volcar la base de datos para la tabla `tiposos` +-- + +INSERT INTO `tiposos` (`idtiposo`, `tiposo`, `idplataforma`) VALUES +(1, 'MsDos 6.0', 1), +(2, 'Windows 98', 2), +(3, 'Linux Ubuntu', 3), +(4, 'Mac', 0), +(5, 'OS', 0), +(17, 'Windows XP', 2), +(18, 'Windows Vista', 2), +(19, 'Linux Red Hat', 3), +(20, 'Windows 7', 2); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `tipospar` +-- + +CREATE TABLE IF NOT EXISTS `tipospar` ( + `codpar` smallint(4) NOT NULL, + `tipopar` varchar(250) NOT NULL, + `clonable` tinyint(4) NOT NULL, + UNIQUE KEY `codpar` (`codpar`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Volcar la base de datos para la tabla `tipospar` +-- + +INSERT INTO `tipospar` (`codpar`, `tipopar`, `clonable`) VALUES +(0, 'EMPTY', 0), +(1, 'FAT12', 1), +(5, 'EXTENDED', 0), +(7, 'NTFS', 1), +(11, 'FAT32', 1), +(17, 'HFAT12', 1), +(22, 'HFAT16', 1), +(23, 'HNTFS', 1), +(27, 'HFAT32', 1), +(130, 'LINUX-SWAP', 0), +(131, 'LINUX', 1), +(142, 'LINUX-LVM', 1), +(191, 'SOLARIS', 1), +(202, 'CACHE', 0), +(253, 'LINUX-RAID', 1); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `universidades` +-- + +CREATE TABLE IF NOT EXISTS `universidades` ( + `iduniversidad` int(11) NOT NULL AUTO_INCREMENT, + `nombreuniversidad` varchar(200) NOT NULL DEFAULT '', + `comentarios` text, + PRIMARY KEY (`iduniversidad`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +-- +-- Volcar la base de datos para la tabla `universidades` +-- + +INSERT INTO `universidades` (`iduniversidad`, `nombreuniversidad`, `comentarios`) VALUES +(1, 'Universidad default...', 'Esta Universidad se crea automáticamentese en el proceso de instalación de OpenGNSys'); + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `urlimagesitems` +-- + +CREATE TABLE IF NOT EXISTS `urlimagesitems` ( + `idurlimagesitems` int(11) NOT NULL AUTO_INCREMENT, + `descripcion` varchar(250) NOT NULL DEFAULT '', + PRIMARY KEY (`idurlimagesitems`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; + +-- +-- Volcar la base de datos para la tabla `urlimagesitems` +-- + + +-- -------------------------------------------------------- + +-- +-- Estructura de tabla para la tabla `usuarios` +-- + +CREATE TABLE IF NOT EXISTS `usuarios` ( + `idusuario` int(11) NOT NULL AUTO_INCREMENT, + `usuario` varchar(50) NOT NULL DEFAULT '', + `pasguor` varchar(50) NOT NULL DEFAULT '', + `nombre` varchar(200) DEFAULT NULL, + `email` varchar(200) DEFAULT NULL, + `ididioma` int(11) DEFAULT NULL, + `idtipousuario` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`idusuario`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ; + +-- +-- Volcar la base de datos para la tabla `usuarios` +-- + +INSERT INTO `usuarios` (`idusuario`, `usuario`, `pasguor`, `nombre`, `email`, `ididioma`, `idtipousuario`) VALUES +(1, 'usuog', 'passusuog', 'Usuario de la base de datos MySql', '', 1, 1); + diff --git a/admin/Interface/Apagar b/admin/Interface/Apagar new file mode 100644 index 00000000..fc850d9f --- /dev/null +++ b/admin/Interface/Apagar @@ -0,0 +1,2 @@ +#!/bin/bash +poweroff diff --git a/admin/Interface/Configurar b/admin/Interface/Configurar new file mode 100644 index 00000000..d98776f4 --- /dev/null +++ b/admin/Interface/Configurar @@ -0,0 +1,81 @@ +#!/bin/bash + +#_______________________________________________________________________________________________________________________________ +# +# Formato de entrada: +# $1 disco +# $2 par=Número de particion#cod=Código de partición#sfi=Sistema de ficheros#tam=Tamaño de la partición#ope=Operación$ +#_______________________________________________________________________________________________________________________________ + +particiones=$(echo $2 | awk '{n=split($0,sep,"$");print n}') + +declare -a TBP +declare -a TBF +for ((par=1;par<$particiones;par++)); + do + TBP[$par]=$(echo $2 | awk -v p=$par '{ + n=split($0,sep,"$"); + split(sep[p],dua,"#"); + split(dua[1],prm,"="); + par=prm[2]; + split(dua[2],prm,"="); + cpt=prm[2]; + split(dua[3],prm,"="); + sfi=prm[2]; + split(dua[4],prm,"="); + tam=prm[2]; + split(dua[5],prm,"="); + ope=prm[2]; + printf("%s %x %s %s %s",par,cpt,sfi,tam,ope); + }') + done + +# Prepara cadena de particiones _______________________________________ +cP="" +for ((par=1;par<$particiones;par++)); + do + cfg=${TBP[$par]} + + cP=$cP$(echo $cfg | awk '{ + n=split($0,prm," "); + par=prm[1]; + cpt=prm[2]; + sfi=prm[3]; + tam=prm[4]; + ope=prm[5]; + if(ope==1) + printf("%s:%s ",sfi,tam); + else{ + if(ope==2) + printf("H%s:%s ",sfi,tam); + else + printf("%s:%s ",sfi,tam); + } + }') + + TBF[$par]=$(echo $cfg | awk '{ + n=split($0,prm," "); + sfi=prm[3]; + ope=prm[5]; + if(ope==1) + printf("%s",sfi); + else + printf("EMPTY"); + }') + + done + ogCreatePartitions $1 $cP + +# Formatear _______________________________________ + +for ((par=1;par<$particiones;par++)); + do + sfi=${TBF[$par]} + if [ $sfi == "EMPTY" ]; then + TBF[$par]=" " + else + ogFormatFs $1 $par $sfi + fi + + done + diff --git a/admin/Interface/ConsolaRemota b/admin/Interface/ConsolaRemota new file mode 100644 index 00000000..f5697716 --- /dev/null +++ b/admin/Interface/ConsolaRemota @@ -0,0 +1,3 @@ +#!/bin/bash +chmod +x $1 +$1>$2 || exit $? diff --git a/admin/Interface/CrearImagen b/admin/Interface/CrearImagen new file mode 100644 index 00000000..86b55fc6 --- /dev/null +++ b/admin/Interface/CrearImagen @@ -0,0 +1,12 @@ +#!/bin/bash + +#_______________________________________________________________________________________________________________________________ +# +# PARAMETROS RECIBIDOS DESDE EL CLIENTE: +# $1 disco +# $2 par=Nmero de particion +# $3 Nombre cannico de la imagen +# $4 Direccin del repositorio +#_______________________________________________________________________________________________________________________________ +#createImage $1 $2 REPO $3 +exit 0 diff --git a/admin/Interface/EjecutarScript b/admin/Interface/EjecutarScript new file mode 100644 index 00000000..8925ac2b --- /dev/null +++ b/admin/Interface/EjecutarScript @@ -0,0 +1,3 @@ +#!/bin/bash +chmod +x $1 +$1 || exit $? diff --git a/admin/Interface/InventarioHardware b/admin/Interface/InventarioHardware new file mode 100644 index 00000000..38d63213 --- /dev/null +++ b/admin/Interface/InventarioHardware @@ -0,0 +1,3 @@ +#!/bin/bash +file=$(listHardwareInfo) +cp $file $1 diff --git a/admin/Interface/InventarioSoftware b/admin/Interface/InventarioSoftware new file mode 100644 index 00000000..fc0ed8d3 --- /dev/null +++ b/admin/Interface/InventarioSoftware @@ -0,0 +1,3 @@ +#!/bin/bash +file=$(listSoftwareInfo $1 $2) +cp $file $3 diff --git a/admin/Interface/Reiniciar b/admin/Interface/Reiniciar new file mode 100644 index 00000000..01bd8683 --- /dev/null +++ b/admin/Interface/Reiniciar @@ -0,0 +1,2 @@ +#!/bin/bash +reboot diff --git a/admin/Interface/RestaurarImagen b/admin/Interface/RestaurarImagen new file mode 100644 index 00000000..85970239 --- /dev/null +++ b/admin/Interface/RestaurarImagen @@ -0,0 +1,12 @@ +#!/bin/bash +#_______________________________________________________________________________________________________________________________ +# +# PARAMETROS RECIBIDOS DESDE EL CLIENTE: +# $1 disco +# $2 par=Nmero de particion +# $3 Nombre cannico de la imagen +# $4 Direccin del repositorio +#_______________________________________________________________________________________________________________________________ + +#ogRestoreImage REPO $3 $1 $2 UNICAST +exit 0 diff --git a/admin/Interface/getConfiguration b/admin/Interface/getConfiguration new file mode 100644 index 00000000..628c9846 --- /dev/null +++ b/admin/Interface/getConfiguration @@ -0,0 +1,45 @@ +#!/bin/bash + +#_______________________________________________________________________________________________________________________________ +# +# Formato de salida: +# par=Número de particion\tcod=Código de partición\tsfi=Sistema de ficheros\tsoi=Sistema instalado\ttam=Tamaño de la partición\n +#_______________________________________________________________________________________________________________________________ + +cfg=$(listPrimaryPartitions 1) +particiones=$(echo $cfg | awk '{n=split($0,sep," ");print n}') +cfg="" +for ((par=1;par<=$particiones;par++)); + do + # Tipo de partición o sistema de fichero + fsi=$(getFsType 1 $par 2>/dev/null) + fsi=${fsi:-"EMPTY"} + # Tamaño de la particón + tam=$(ogGetPartitionSize 1 $par 2>/dev/null) + tam=${tam:-"0"} + # Código de la partición + cod=$(ogFsToId $fsi) + + + if [ $cod == 82 ]; then + soi=" " + else + # Sistema de fichero instalado + soi=$(getOsVersion 1 $par 2>/dev/null) + soi=$(echo $soi | awk '{split($0,sep,":"); print sep[2]}') + fi + + cfg=$(echo $cfg$par":"$cod":"$fsi":"$soi":"$tam";") + +done + +echo $cfg | awk '{ + n=split($0,sep,";"); + for(i=1;i<n;i++){ + split(sep[i],dua,":"); + printf("par=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n",dua[1],dua[2],dua[3],dua[4],dua[5]); + } + + }' + + diff --git a/admin/Interface/getIpAddress b/admin/Interface/getIpAddress new file mode 100644 index 00000000..9e4c34ef --- /dev/null +++ b/admin/Interface/getIpAddress @@ -0,0 +1,2 @@ +#!/bin/bash +getIpAddress diff --git a/admin/Interface/procesaCache b/admin/Interface/procesaCache new file mode 100644 index 00000000..9153bb6c --- /dev/null +++ b/admin/Interface/procesaCache @@ -0,0 +1,2 @@ +#!/bin/bash +initCache $1 diff --git a/admin/Sources/Clients/ogAdmClient/Makefile b/admin/Sources/Clients/ogAdmClient/Makefile new file mode 100644 index 00000000..3d36dc7e --- /dev/null +++ b/admin/Sources/Clients/ogAdmClient/Makefile @@ -0,0 +1,34 @@ +# makefile + +# Nombre del proyecto +PROYECTO := ogAdmClient + +# Directorios y librerias +DIRS := +LIBS := -static + +# Opciones de compilacion +OPCS := -O0 -g -Wall # Depuracion +#OPCS := -O3 -Wall # Optimizacion + +# Ficheros objetos +OBJS := sources/ogAdmClient.o + +all: $(PROYECTO) + +$(PROYECTO): $(OBJS) + g++ $(DIRS) $(LIBS) $(OBJS) -o $(PROYECTO) +# strip $(PROYECTO) # Optimizacion + +clean: + rm $(PROYECTO) $(OBJS) + +sources/%.o: sources/%.cpp + g++ $(OPCS) -c -o"$@" "$<" + +sources/%.o: sources/%.c + gcc $(OPCS) -I ../../Includes -c -o"$@" "$<" + + + + diff --git a/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg b/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg new file mode 100644 index 00000000..04f91119 --- /dev/null +++ b/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg @@ -0,0 +1,6 @@ +ServidorAdm=SERVERIP +PUERTO=2008 +PATHINTERFACE=/opt/opengnsys/Interface +UrlMenu=OPENGNSYSURL/varios/menubrowser.php +UrlMsg=OPENGNSYSURL/varios/msgbrowser.php + diff --git a/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.c b/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.c new file mode 100644 index 00000000..259e0dd0 --- /dev/null +++ b/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.c @@ -0,0 +1,1771 @@ +// ******************************************************************************************************** +// Cliernte: ogAdmClient +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Abril-2010 +// Nombre del fichero: ogAdmClient.c +// Descripción :Este fichero implementa el cliente general del sistema +// ******************************************************************************************************** +#include "ogAdmClient.h" +#include "ogAdmLib.c" +//________________________________________________________________________________________________________ +// Función: tomaConfiguracion +// +// Descripción: +// Lee el fichero de configuración del servicio +// Parámetros: +// filecfg : Ruta completa al fichero de configuración +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +BOOLEAN tomaConfiguracion(char* filecfg) +{ + char modulo[] = "tomaConfiguracion()"; + + if (filecfg == NULL || strlen(filecfg) == 0) { + errorLog(modulo, 1, FALSE); // Fichero de configuración del cliente vacío + return (FALSE); + } + FILE *fcfg; + int lSize; + char * buffer, *lineas[MAXPRM], *dualparametro[2]; + int i, numlin, resul; + + fcfg = fopen(filecfg, "rt"); + if (fcfg == NULL) { + errorLog(modulo, 2, FALSE); // No existe fichero de configuración del cliente + return (FALSE); + } + + fseek(fcfg, 0, SEEK_END); + lSize = ftell(fcfg); // Obtiene tamaño del fichero. + rewind(fcfg); + buffer = (char*) reservaMemoria(lSize+1); // Toma memoria para el buffer de lectura. + if (buffer == NULL) { // No hay memoria suficiente para el buffer + errorLog(modulo, 3, FALSE); + return (FALSE); + } + lSize=fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero + buffer[lSize]=CHARNULL; + fclose(fcfg); + + /* Inicializar variables globales */ + servidoradm[0]=CHARNULL; + puerto[0] = CHARNULL; + pathinterface[0]=CHARNULL; + urlmenu[0]=CHARNULL; + urlmsg[0]=CHARNULL; + + numlin = splitCadena(lineas, buffer, '\n'); + for (i = 0; i < numlin; i++) { + splitCadena(dualparametro, lineas[i], '='); + + resul = strcmp(StrToUpper(dualparametro[0]), "SERVIDORADM"); + if (resul == 0) + strcpy(servidoradm, dualparametro[1]); + + resul = strcmp(StrToUpper(dualparametro[0]), "PUERTO"); + if (resul == 0) + strcpy(puerto, dualparametro[1]); + + resul = strcmp(StrToUpper(dualparametro[0]), "PATHINTERFACE"); + if (resul == 0) + strcpy(pathinterface, dualparametro[1]); + + resul = strcmp(StrToUpper(dualparametro[0]), "URLMENU"); + if (resul == 0) + strcpy(urlmenu, dualparametro[1]); + + resul = strcmp(StrToUpper(dualparametro[0]), "URLMSG"); + if (resul == 0) + strcpy(urlmsg, dualparametro[1]); + } + + if (servidoradm[0] == CHARNULL) { + errorLog(modulo,4, FALSE); // Falta parámetro SERVIDORADM + return (FALSE); + } + + if (puerto[0] == CHARNULL) { + errorLog(modulo,5, FALSE); // Falta parámetro PUERTO + return (FALSE); + } + if (pathinterface[0] == CHARNULL) { + errorLog(modulo,56, FALSE); // Falta parámetro PATHINTERFACE + return (FALSE); + } + + if (urlmenu[0] == CHARNULL) { + errorLog(modulo,89, FALSE); // Falta parámetro URLMENU + return (FALSE); + } + if (urlmsg[0] == CHARNULL) { + errorLog(modulo,90, FALSE); // Falta parámetro URLMSG + return (FALSE); + } + + return (TRUE); +} +//______________________________________________________________________________________________________ +// Función: FinterfaceAdmin +// +// Descripción: +// Esta función es la puerta de comunicación entre el módulo de administración y el motor de clonación. +// La Aplicación de administración utiliza una interface para ejecutar funciones del motor de clonación; +// esta interface llamará a la API del motor con lo que cambiando el comportamiento de esta interface +// podremos hacer llamadas a otras API de clonación y de esta manera probar distintos motores. +// +// Parámetros: +// - script: Nombre del módulo,función o script de la interface +// - parametros: Parámetros que se le pasarán a la interface +// - salida: Recoge la salida que genera la llamada a la interface + +// Devuelve: +// Código de error de la ejecución al módulo , función o script de la interface +// +// Especificaciones: +// El parámetro salida recoge la salida desde un fichero que se genera en la ejecución del script siempre que +// sea distinto de NULL, esto es, si al llamar a la función este parámetro es NULL no se recogerá dicha salida. +// Este fichero tiene una ubicación fija: /tmp/_retinterface +//______________________________________________________________________________________________________ + +int FinterfaceAdmin( char *script,char* parametros,char* salida) +{ + FILE *f; + int lSize,nargs,i,resul; + char msglog[LONSTD],*argumentos[MAXARGS]; + char modulo[] = "FinterfaceAdmin()"; + + + if (ndebug>= DEBUG_MEDIO) { + sprintf(msglog, "%s:%s", tbMensajes[8], script); + infoDebug(msglog); + } + + /* Crea matriz de los argumentos */ + nargs=splitCadena(argumentos,parametros,32); + for(i=nargs;i<MAXARGS;i++){ + argumentos[i]=NULL; + } + + /* Muestra matriz de los argumentos */ + for(i=0;i<nargs;i++){ + if (ndebug>= DEBUG_ALTO) { + sprintf(msglog, "%s: #%d-%s", tbMensajes[9],i+1,argumentos[i]); + infoDebug(msglog); + } + } + /* Elimina fichero de retorno */ + if(salida!=(char*)NULL){ + f = fopen("/tmp/_retinterface_","w" ); + if (f==NULL){ // Error de eliminación + scriptLog(modulo,10); + resul=8; + scriptLog(modulo,resul); + return(resul); + } + fclose(f); + } + /* Compone linea de comando */ + if(parametros){ + strcat(script," "); + strcat(script,parametros); + } + /* LLamada función interface */ + resul=system(script); + if(resul){ + scriptLog(modulo,10); + scriptLog(modulo,resul); + return(resul); + } + /* Lee fichero de retorno */ + if(salida!=(char*)NULL){ + f = fopen("/tmp/_retinterface_","rb" ); + if (f==NULL){ // Error de apertura + scriptLog(modulo,10); + resul=9; + scriptLog(modulo,resul); + return(resul); + } + else{ + fseek (f ,0,SEEK_END); // Obtiene tamaño del fichero. + lSize = ftell (f); + rewind (f); + if(lSize>LONGITUD_SCRIPTSALIDA){ + scriptLog(modulo,10); + resul=11; + scriptLog(modulo,resul); + return(resul); + } + fread (salida,1,lSize,f); // Lee contenido del fichero + rTrim(salida); + fclose(f); + } + } + /* Muestra información de retorno */ + if(salida!=(char*)NULL){ + if(ndebug>2){ + sprintf(msglog,"Información devuelta %s",salida); + infoDebug(msglog); + } + } + return(resul); +} +//______________________________________________________________________________________________________ +// Función: interfaceAdmin +// +// Descripción: +// Esta función es la puerta de comunicación entre el módulo de administración y el motor de clonación. +// La Aplicación de administración utiliza una interface para ejecutar funciones del motor de clonación; +// esta interface llamará a la API del motor con lo que cambiando el comportamiento de esta interface +// podremos hacer llamadas a otras API de clonación y de esta manera probar distintos motores. +// +// Parámetros: +// - script: Nombre del módulo,función o script de la interface +// - parametros: Parámetros que se le pasarán a la interface +// - salida: Recoge la salida que genera la llamada a la interface + +// Devuelve: +// Código de error de la ejecución al módulo , función o script de la interface +// +// Especificaciones: +// El parámetro salida recoge la salida desde el procedimiento hijo que se genera en la ejecución de éste +// siempre que sea distinto de NULL, esto es, si al llamar a la función este parámetro es NULL no se +// recogerá dicha salida. +//______________________________________________________________________________________________________ + +int interfaceAdmin( char *script,char* parametros,char* salida) +{ + int descr[2]; /* Descriptores de E y S de la turbería */ + int bytesleidos; /* Bytes leidos en el mensaje */ + int estado; + pid_t pid; + char buffer[LONGITUD_SCRIPTSALIDA]; + pipe (descr); + int i,nargs,resul; + char msglog[LONSTD],*argumentos[MAXARGS]; + char modulo[] = "interfaceAdmin()"; + if (ndebug>= DEBUG_MEDIO) { + sprintf(msglog, "%s:%s", tbMensajes[8], script); + infoDebug(msglog); + } + + /* Crea matriz de los argumentos */ + nargs=splitCadena(argumentos,parametros,32); + for(i=nargs;i<MAXARGS;i++){ + argumentos[i]=NULL; + } + /* Muestra matriz de los argumentos */ + for(i=1;i<nargs;i++){ + if (ndebug>= DEBUG_ALTO) { + sprintf(msglog, "%s: #%d-%s", tbMensajes[9],i+1,argumentos[i]); + infoDebug(msglog); + } + } + + if((pid=fork())==0) + { + //_______________________________________________________________ + + /* Proceso hijo que ejecuta la función de interface */ + + close (descr[LEER]); + dup2 (descr[ESCRIBIR], 1); + close (descr[ESCRIBIR]); + resul=execv(script,argumentos); + //resul=execlp (script, script, argumentos[0],argumentos[1],NULL); + exit(resul); + + /* Fin de proceso hijo */ + //_______________________________________________________________ + } + else + { + //_______________________________________________________________ + + /* Proceso padre que espera la ejecución del hijo */ + + if (pid ==-1){ // Error en la creación del proceso hijo + scriptLog(modulo,10); + resul=13; + scriptLog(modulo,resul); + return(resul); + } + close (descr[ESCRIBIR]); + bytesleidos = read (descr[LEER], buffer, LONGITUD_SCRIPTSALIDA-1); + while(bytesleidos>0){ + if(salida!=(char*)NULL){ // Si se solicita retorno de información... + buffer[bytesleidos]='\0'; + if(strlen(buffer)+strlen(salida)>LONGITUD_SCRIPTSALIDA){ + scriptLog(modulo,10); + resul=11; + scriptLog(modulo,resul); + return(resul); + } + rTrim(buffer); + strcat(salida,buffer); + + } + bytesleidos = read (descr[LEER], buffer, LONGITUD_SCRIPTSALIDA-1); + } + close (descr[LEER]); + //kill(pid,SIGQUIT); + waitpid(pid,&estado,0); + resul=WEXITSTATUS(estado); + if(resul){ + scriptLog(modulo,10); + scriptLog(modulo,resul); + return(resul); + } + /* Fin de proceso padre */ + //_______________________________________________________________ + } + + /* Muestra información de retorno */ + if(salida!=(char*)NULL){ + if(ndebug>2){ + sprintf(msglog,"Información devuelta %s",salida); + infoDebug(msglog); + } + } + return(resul); +} +//______________________________________________________________________________________________________ +// Función: scriptLog +// +// Descripción: +// Registra los sucesos de errores de scripts en el fichero de log +// Parametros: +// - modulo: Módulo donde se produjo el error +// - coderr : Código del mensaje de error del script +//______________________________________________________________________________________________________ +void scriptLog(const char *modulo,int coderr) +{ + char msglog[LONSUC]; + + if(coderr<MAXERRORSCRIPT) + errorInfo(modulo,tbErroresScripts[coderr]); // Se ha producido algún error registrado + else{ + sprintf(msglog,"%s: %d",tbErroresScripts[MAXERRORSCRIPT],coderr); + errorInfo(modulo,msglog); + } +} +//______________________________________________________________________________________________________ +// Función: TomaIPlocal +// +// Descripción: +// Recupera la IP local +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// Especificaciones: +// En caso de no encontrar la IP o generarse algún error la IP local sería 0.0.0.0 +//______________________________________________________________________________________________________ +BOOLEAN tomaIPlocal() +{ + char modulo[] = "tomaIPlocal()"; + + sprintf(interface,"%s/getIpAddress",pathinterface); + herror=interfaceAdmin(interface,NULL,IPlocal); + if(herror){ + errorLog(modulo,85,FALSE); + return(FALSE); + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: cuestionCache +// +// Descripción: +// Procesa la cache en caso de existir. +// Parámetros: +// tam : Tamaño de la cache +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN cuestionCache(char* tam) +{ + char msglog[LONSTD]; + char modulo[] = "cuestionCache()"; + + sprintf(interface,"%s/%s",pathinterface,"procesaCache"); + sprintf(parametros,"%s %s","procesaCache",tam); + + herror=interfaceAdmin(interface,parametros,NULL); + if(herror){ + sprintf(msglog,"%s",tbErrores[88]); + errorInfo(modulo,msglog); + return(FALSE); + } + + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: cargaPaginaWeb +// +// Descripción: +// Muestra una pégina web usando el browser +// Parámetros: +// urp: Dirección url de la página +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +int cargaPaginaWeb(char *url) +{ + int resul=0; + char* argumentos[3]; + char modulo[] = "cargaPaginaWeb()"; + + if(pidbash>0) + kill(pidbash,SIGQUIT); // Destruye el proceso hijo del proceso bash si existiera una conmutación + + if(pidbrowser>0) + kill(pidbrowser,SIGQUIT); // Destruye el proceso hijo anterior y se queda sólo el actual + + sprintf(interface,"/opt/opengnsys/bin/browser"); + sprintf(parametros,"%s %s %s","browser","-qws",url); + + splitCadena(argumentos,parametros,' '); // Crea matriz de los argumentos del scripts + + if((pidbrowser=fork())==0){ + /* Proceso hijo que ejecuta el script */ + resul=execv(interface,argumentos); + exit(resul); + } + else { + if (pidbrowser ==-1){ + scriptLog(modulo,10); + resul=13; + scriptLog(modulo,resul); + return(resul); + } + } + return(resul); +} +//________________________________________________________________________________________________________ +// Función: muestraMenu +// +// Descripción: +// Muestra el menu inicial del cliente +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +void muestraMenu() +{ + cargaPaginaWeb(urlmenu); +} +//______________________________________________________________________________________________________ +// Función: muestraMensaje +// +// Descripción: +// Muestra un mensaje en pantalla +// Parámetros: +// - idx: Indice del mensaje +// - msg: Descripción Mensaje +// ________________________________________________________________________________________________________ +void muestraMensaje(int idx,char*msg) +{ + char url[250]; + if(msg) + sprintf(url,"%s?msg=%s",urlmsg,URLEncode(msg)); // Url de la página de mensajes + else + sprintf(url,"%s?idx=%d",urlmsg,idx); // Url de la página de mensajes + cargaPaginaWeb(url); +} +//______________________________________________________________________________________________________ +// Función: InclusionCliente +// Descripción: +// Abre una sesión en el servidor de administración y registra al cliente en el sistema +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN inclusionCliente(TRAMA* ptrTrama) +{ + int lon; + char msglog[LONSTD],*cfg; + SOCKET socket_c; + char modulo[] = "inclusionCliente()"; + + char *dsk=(char*)reservaMemoria(2); + sprintf(dsk,"1"); // Siempre el disco 1 + + cfg=LeeConfiguracion(dsk); + if(!cfg){ // No se puede recuperar la configuración del cliente + errorLog(modulo,36,FALSE); + errorLog(modulo,37,FALSE); + return(FALSE); + } + if (ndebug>= DEBUG_ALTO) { + sprintf(msglog, "%s:%s", tbMensajes[14],cfg); + infoDebug(msglog); + } + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=InclusionCliente\r"); // Nombre de la función a ejecutar en el servidor + lon+=sprintf(ptrTrama->parametros+lon,"cfg=%s\r",cfg); // Configuración de los Sistemas Operativos del cliente + + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_PETICION)){ + errorLog(modulo,37,FALSE); + return(FALSE); + } + ptrTrama=recibeMensaje(&socket_c); + if(!ptrTrama){ + errorLog(modulo,45,FALSE); + return(FALSE); + } + close(socket_c); + + if(!gestionaTrama(ptrTrama)){ // Análisis de la trama + errorLog(modulo,39,FALSE); + return(FALSE); + } + + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: RESPUESTA_InclusionCliente +// +// Descripción: +// Respuesta del servidor de administración a la petición de inicio +// enviando los datos identificativos del cliente y otras configuraciones +// Parámetros: +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN RESPUESTA_InclusionCliente(TRAMA* ptrTrama) +{ + char* res; + char modulo[] = "RESPUESTA_InclusionCliente()"; + + res=copiaParametro("res",ptrTrama); // Resultado del proceso de inclusión + if(atoi(res)==0){ // Error en el proceso de inclusión + errorLog(modulo,41,FALSE); + return (FALSE); + } + strcpy(idordenador,copiaParametro("ido",ptrTrama)); // Identificador del ordenador + strcpy(nombreordenador,copiaParametro("npc",ptrTrama)); // Nombre del ordenador + strcpy(cache,copiaParametro("che",ptrTrama)); // Tamaño de la caché reservada al cliente + strcpy(idproautoexec,copiaParametro("exe",ptrTrama)); // Procedimento de inicio (Autoexec) + strcpy(idcentro,copiaParametro("idc",ptrTrama)); // Identificador de la Unidad Organizativa + strcpy(idaula,copiaParametro("ida",ptrTrama)); // Identificador de la Unidad Organizativa + + if(idordenador==NULL || nombreordenador==NULL){ + errorLog(modulo,40,FALSE); + return (FALSE); + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// +// Función: LeeConfiguracion +// Descripción: +// Abre una sesión en el servidor de administración y registra al cliente en el sistema +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ + +char* LeeConfiguracion(char* dsk) +{ + char* parametroscfg; + char modulo[] = "LeeConfiguracion()"; + + parametroscfg=(char*)reservaMemoria(LONGITUD_PARAMETROS); + if(!parametroscfg){ + errorLog(modulo,3,FALSE); + return(NULL); + } + sprintf(interface,"%s/%s",pathinterface,"getConfiguration"); + herror=interfaceAdmin(interface,NULL,parametroscfg); + + if(herror){ // No se puede recuperar la configuración del cliente + errorLog(modulo,36,FALSE); + return(NULL); + } + return(parametroscfg); +} +//________________________________________________________________________________________________________ +// Función: autoexecCliente +// +// Descripción: +// Solicita procedimiento de autoexec para el cliebnte +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +BOOLEAN autoexecCliente(TRAMA* ptrTrama) +{ + int lon; + SOCKET socket_c; + char modulo[] = "autoexecCliente()"; + + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=AutoexecCliente\rexe=%s\r",idproautoexec); + + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_PETICION)){ + errorLog(modulo,42,FALSE); + return(FALSE); + } + ptrTrama=recibeMensaje(&socket_c); + if(!ptrTrama){ + errorLog(modulo,45,FALSE); + return(FALSE); + } + + close(socket_c); + + if(!gestionaTrama(ptrTrama)){ // Análisis de la trama + errorLog(modulo,39,FALSE); + return(FALSE); + } + + return(TRUE); +} +//________________________________________________________________________________________________________ +// Función: autoexecCliente +// +// Descripción: +// Ejecuta un script de autoexec personalizado en todos los inicios para el cliente +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_AutoexecCliente(TRAMA* ptrTrama) +{ + SOCKET socket_c; + char *res,*nfl; + char modulo[] = "RESPUESTA_AutoexecCliente()"; + + res=copiaParametro("res",ptrTrama); + if(atoi(res)==0){ // Error en el proceso de autoexec + return (FALSE); + } + nfl=copiaParametro("nfl",ptrTrama); + initParametros(ptrTrama,0); + sprintf(ptrTrama->parametros,"nfn=enviaArchivo\rnfl=%s\r",nfl); + /* Envía petición */ + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_PETICION)){ + errorLog(modulo,42,FALSE); + return(FALSE); + } + /* Nombre del archivo destino (local)*/ + char fileautoexec[LONPRM]; + sprintf(fileautoexec,"/tmp/_autoexec_%s",IPlocal); + + /* Recibe archivo */ + if(!recArchivo(&socket_c,fileautoexec)){ + errorLog(modulo,58, FALSE); + close(socket_c); + return(FALSE); + } + + close(socket_c); + + /* Ejecuta archivo */ + ejecutaArchivo(fileautoexec,ptrTrama); + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: comandosPendientes +// +// Descripción: +// Búsqueda de acciones pendientes en el servidor de administración +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN comandosPendientes(TRAMA* ptrTrama) +{ + SOCKET socket_c; + char modulo[] = "comandosPendientes()"; + + CMDPTES=TRUE; + initParametros(ptrTrama,0); + + while(CMDPTES){ + sprintf(ptrTrama->parametros,"nfn=ComandosPendientes\r"); + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_PETICION)){ + errorLog(modulo,42,FALSE); + return(FALSE); + } + ptrTrama=recibeMensaje(&socket_c); + if(!ptrTrama){ + errorLog(modulo,45,FALSE); + return(FALSE); + } + close(socket_c); + + if(!gestionaTrama(ptrTrama)){ // Análisis de la trama + errorLog(modulo,39,FALSE); + return(FALSE); + } + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: NoComandosPtes +// +// Descripción: +// Conmuta el switch de los comandos pendientes y lo pone a false +// Parámetros: +// - ptrTrama: contenido del mensaje +// Devuelve: +// TRUE siempre +// Especificaciones: +// Cuando se ejecuta esta función se sale del bucle que recupera los comandos pendientes en el +// servidor y el cliente pasa a a estar disponible para recibir comandos desde el éste. +//______________________________________________________________________________________________________ +BOOLEAN NoComandosPtes(TRAMA* ptrTrama) +{ + CMDPTES=FALSE; // Corta el bucle de comandos pendientes + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: ProcesaComandos +// +// Descripción: +// Espera comando desde el Servidor de Administración para ejecutarlos +// Parámetros: +// Ninguno +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +void procesaComandos(TRAMA* ptrTrama) +{ + int lon; + SOCKET socket_c; + char modulo[] = "procesaComandos()"; + + initParametros(ptrTrama,0); + while(TRUE){ + lon=sprintf(ptrTrama->parametros,"nfn=DisponibilidadComandos\r"); + lon+=sprintf(ptrTrama->parametros+lon,"tpc=%s\r",CLIENTE_OPENGNSYS); // Activar disponibilidad + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_INFORMACION)){ + errorLog(modulo,43,FALSE); + return; + } + infoLog(19); // Disponibilidad de cliente activada + ptrTrama=recibeMensaje(&socket_c); + if(!ptrTrama){ + errorLog(modulo,46,FALSE); + return; + } + + close(socket_c); + + if(!gestionaTrama(ptrTrama)){ // Análisis de la trama + errorLog(modulo,39,FALSE); + return; + } + if(!comandosPendientes(ptrTrama)){ + errorLog(modulo,42,FALSE); + } + } +} +//______________________________________________________________________________________________________ +// Función: Actualizar +// +// Descripción: +// Actualiza los datos de un ordenador como si volviera a solicitar la entrada +// en el sistema al servidor de administración +// Parámetros: +// ptrTrama: contenido del mensajede +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN Actualizar(TRAMA* ptrTrama) +{ + char msglog[LONSTD]; + char modulo[] = "Actualizar()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + muestraMensaje(1,NULL); + if(!comandosPendientes(ptrTrama)){ + errorLog(modulo,84,FALSE); + return(FALSE); + } + muestraMenu(); + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: Purgar +// +// Descripción: +// Detiene la ejecución del browser +// Parámetros: +// ptrTrama: contenido del mensajede +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +int Purgar(TRAMA* ptrTrama) +{ + int resul=0; + char modulo[] = "Purgar()"; + + if(pidbrowser>0) + kill(pidbrowser,SIGQUIT); // Destruye el proceso hijo anterior y se queda sólo el actual + + if(pidbash>0) + kill(pidbash,SIGQUIT); // Destruye el proceso hijo del proceso bash si existiera una conmutación + + sprintf(interface,"/opt/opengnsys/bin/bash"); + if((pidbash=fork())==0){ + /* Proceso hijo que ejecuta el script */ + resul=execv(interface,NULL); + exit(resul); + } + else { + if (pidbash ==-1){ + scriptLog(modulo,10); + resul=13; + scriptLog(modulo,resul); + return(resul); + } + } + exit(EXIT_SUCCESS); +} +//______________________________________________________________________________________________________ +// Función: Sondeo +// +// Descripción: +// Envía al servidor una confirmación de que está dentro del sistema +// Parámetros: +// ptrTrama: contenido del mensajede +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN Sondeo(TRAMA* ptrTrama) +{ + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: ConsolaRemota +// +// Descripción: +// Ejecuta un comando de la Shell y envia el eco al servidor (Consola remota) +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN ConsolaRemota(TRAMA* ptrTrama) +{ + SOCKET socket_c; + char *nfn,*ids,*scp,ecosrc[LONPRM],ecodst[LONPRM],msglog[LONSTD];; + char modulo[] = "ConsolaRemota()"; + + scp=URLDecode(copiaParametro("scp",ptrTrama)); + + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + + /* Nombre del archivo de script */ + char filescript[LONPRM]; + sprintf(filescript,"/tmp/_script_%s",IPlocal); + escribeArchivo(filescript,scp); + + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(ecosrc,"/tmp/_econsola_%s",IPlocal); + sprintf(parametros,"%s %s %s",nfn,filescript,ecosrc); + herror=interfaceAdmin(interface,parametros,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + } + else{ + /* Envía fichero de inventario al servidor */ + sprintf(ecodst,"/tmp/_Seconsola_%s",IPlocal); // Nombre que tendra el archivo en el Servidor + initParametros(ptrTrama,0); + sprintf(ptrTrama->parametros,"nfn=recibeArchivo\rnfl=%s\r",ecodst); + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_COMANDO)){ + errorLog(modulo,42,FALSE); + return(FALSE); + } + /* Espera señal para comenzar el envío */ + recibeFlag(&socket_c,ptrTrama); + /* Envía archivo */ + if(!sendArchivo(&socket_c,ecosrc)){ + errorLog(modulo,57, FALSE); + herror=12; // Error de envío de fichero por la red + } + close(socket_c); + } + return(TRUE); +} +//_____________________________________________________________________________________________________ +// Función: Comando +// +// Descripción: +// COmando personalizado enviado desde el servidor +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//_____________________________________________________________________________________________________ +BOOLEAN Comando(TRAMA* ptrTrama) +{ + int lon; + char *ids,*nfn,msglog[LONSTD]; + char modulo[] = "Comando()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + + sprintf(interface,"%s/%s",pathinterface,nfn); + herror=interfaceAdmin(interface,NULL,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + } + /* Envia respuesta de ejecucución del comando */ + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=RESPUESTA_%s\r",nfn); + respuestaEjecucionComando(ptrTrama,herror,ids); + return(TRUE); +} +//_____________________________________________________________________________________________________ +// Función: Arrancar +// +// Descripción: +// Responde a un comando de encendido por la red +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//_____________________________________________________________________________________________________ +BOOLEAN Arrancar(TRAMA* ptrTrama) +{ + int lon; + char *ids,msglog[LONSTD]; + char modulo[] = "Arrancar()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + + ids=copiaParametro("ids",ptrTrama); + + /* Envia respuesta de ejecucución del script */ + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Arrancar"); + lon+=sprintf(ptrTrama->parametros+lon,"tpc=%s\r",CLIENTE_OPENGNSYS); + respuestaEjecucionComando(ptrTrama,0,ids); + return(TRUE); +} +//_____________________________________________________________________________________________________ +// Función: Apagar +// +// Descripción: +// Apaga el cliente +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//_____________________________________________________________________________________________________ +BOOLEAN Apagar(TRAMA* ptrTrama) +{ + int lon; + char *ids,*nfn,msglog[LONSTD]; + char modulo[] = "Apagar()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Apagar"); + respuestaEjecucionComando(ptrTrama,0,ids); + + sprintf(interface,"%s/%s",pathinterface,nfn); + herror=interfaceAdmin(interface,NULL,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + return(FALSE); + } + return(TRUE); +} +//_____________________________________________________________________________________________________ +// Función: Reiniciar +// +// Descripción: +// Apaga el cliente +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//_____________________________________________________________________________________________________ +BOOLEAN Reiniciar(TRAMA* ptrTrama) +{ + int lon; + char *nfn,*ids,msglog[LONSTD]; + char modulo[] = "Reiniciar()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Reiniciar"); + respuestaEjecucionComando(ptrTrama,0,ids); + + sprintf(interface,"%s/%s",pathinterface,nfn); + herror=interfaceAdmin(interface,NULL,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + return(FALSE); + } + return(TRUE); +} +//_____________________________________________________________________________________________________ +// Función: IniciarSesion +// +// Descripción: +// Inicia sesión en el Sistema Operativo de una de las particiones +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//_____________________________________________________________________________________________________ +BOOLEAN IniciarSesion(TRAMA* ptrTrama) +{ + int lon; + char *nfn,*ids,*par,msglog[LONSTD]; + char modulo[] = "IniciarSesion()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_IniciarSesion"); + respuestaEjecucionComando(ptrTrama,0,ids); + + par=copiaParametro("par",ptrTrama); + + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(parametros,"%s %s",nfn,par); + herror=interfaceAdmin(interface,parametros,NULL); + + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + return(FALSE); + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: CrearImagen +// +// Descripción: +// Crea una imagen de una partición +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN CrearImagen(TRAMA* ptrTrama) +{ + int lon; + char *nfn,*dsk,*par,*cpt,*idi,*ipr,*nci,*ids,msglog[LONSTD]; + char modulo[] = "CrearImagen()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + + dsk=copiaParametro("dsk",ptrTrama); // Disco + par=copiaParametro("par",ptrTrama); // Número de partición + cpt=copiaParametro("cpt",ptrTrama); // Código de la partición + idi=copiaParametro("idi",ptrTrama); // Identificador de la imagen + nci=copiaParametro("nci",ptrTrama); // Nombre canónico de la imagen + ipr=copiaParametro("ipr",ptrTrama); // Ip del repositorio + + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + + if(InventariandoSoftware(ptrTrama,FALSE,"InventarioSoftware")){ // Crea inventario Software previamente + muestraMensaje(2,NULL); + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(parametros,"%s %s %s %s %s",nfn,dsk,par,nci,ipr); + herror=interfaceAdmin(interface,parametros,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + muestraMensaje(10,NULL); + } + else + muestraMensaje(9,NULL); + } + else{ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + } + + muestraMenu(); + + /* Envia respuesta de ejecución de la función de interface */ + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_CrearImagen"); + lon+=sprintf(ptrTrama->parametros+lon,"idi=%s\r",idi); // Identificador de la imagen + lon+=sprintf(ptrTrama->parametros+lon,"par=%s\r",par); // Número de partición de donde se creó + lon+=sprintf(ptrTrama->parametros+lon,"cpt=%s\r",cpt); // Tipo o código de partición + lon+=sprintf(ptrTrama->parametros+lon,"ipr=%s\r",ipr); // Ip del repositorio donde se alojó + respuestaEjecucionComando(ptrTrama,herror,ids); + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: RestaurarImagen +// +// Descripción: +// Restaura una imagen en una partición +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN RestaurarImagen(TRAMA* ptrTrama) +{ + int lon; + char *nfn,*dsk,*par,*idi,*ipr,*ifs,*nci,*ids,*ptc,msglog[LONSTD]; + char modulo[] = "RestaurarImagen()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + + dsk=copiaParametro("dsk",ptrTrama); + par=copiaParametro("par",ptrTrama); + idi=copiaParametro("idi",ptrTrama); + ipr=copiaParametro("ipr",ptrTrama); + nci=copiaParametro("nci",ptrTrama); + ifs=copiaParametro("ifs",ptrTrama); + ptc=copiaParametro("ptc",ptrTrama); + + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + muestraMensaje(3,NULL); + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(parametros,"%s %s %s %s %s",nfn,dsk,par,nci,ipr); + herror=interfaceAdmin(interface,parametros,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + muestraMensaje(12,NULL); + } + else + muestraMensaje(11,NULL); + + muestraMenu(); + + /* Envia respuesta de ejecución de la función de interface */ + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_RestaurarImagen"); + lon+=sprintf(ptrTrama->parametros+lon,"idi=%s\r",idi); // Identificador de la imagen + lon+=sprintf(ptrTrama->parametros+lon,"par=%s\r",par); // Número de partición + lon+=sprintf(ptrTrama->parametros+lon,"ifs=%s\r",ifs); // Identificador del perfil software + respuestaEjecucionComando(ptrTrama,herror,ids); + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: Configurar +// +// Descripción: +// Configura la tabla de particiones y formatea +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN Configurar(TRAMA* ptrTrama) +{ + int lon; + char *nfn,*dsk,*cfg,*ids,msglog[LONSTD]; + char modulo[] = "Configurar()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + + dsk=copiaParametro("dsk",ptrTrama); + cfg=copiaParametro("cfg",ptrTrama); + /* Sustituir caracteres */ + sustituir(cfg,'\n','$'); + sustituir(cfg,'\t','#'); + + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + muestraMensaje(4,NULL); + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(parametros,"%s %s %s'",nfn,dsk,cfg); + + herror=interfaceAdmin(interface,parametros,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + muestraMensaje(13,NULL); + } + else + muestraMensaje(14,NULL); + + muestraMenu(); + + cfg=LeeConfiguracion(dsk); + if(!cfg){ // No se puede recuperar la configuración del cliente + errorLog(modulo,36,FALSE); + return(FALSE); + } + + /* Envia respuesta de ejecución del comando*/ + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_Configurar"); + lon+=sprintf(ptrTrama->parametros+lon,"cfg=%s\r",cfg); // Identificador de la imagen + respuestaEjecucionComando(ptrTrama,herror,ids); + return(TRUE); +} +// ________________________________________________________________________________________________________ +// Función: InventarioHardware +// +// Descripción: +// Envia al servidor el nombre del archivo de inventario de su hardware para posteriormente +// esperar que éste lo solicite y enviarlo por la red. +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN InventarioHardware(TRAMA* ptrTrama) +{ + int lon; + SOCKET socket_c; + char *nfn,*ids,msglog[LONSTD],hrdsrc[LONPRM],hrddst[LONPRM]; + char modulo[] = "InventarioHardware()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + muestraMensaje(6,NULL); + + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(hrdsrc,"/tmp/Chrd-%s",IPlocal); // Nombre que tendra el archivo de inventario + sprintf(parametros,"%s %s",nfn,hrdsrc); + herror=interfaceAdmin(interface,parametros,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + muestraMensaje(18,NULL); + } + else{ + /* Envía fichero de inventario al servidor */ + sprintf(hrddst,"/tmp/Shrd-%s",IPlocal); // Nombre que tendra el archivo en el Servidor + initParametros(ptrTrama,0); + sprintf(ptrTrama->parametros,"nfn=recibeArchivo\rnfl=%s\r",hrddst); + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_COMANDO)){ + errorLog(modulo,42,FALSE); + return(FALSE); + } + /* Espera señal para comenzar el envío */ + recibeFlag(&socket_c,ptrTrama); + /* Envía archivo */ + if(!sendArchivo(&socket_c,hrdsrc)){ + errorLog(modulo,57, FALSE); + herror=12; // Error de envío de fichero por la red + } + close(socket_c); + muestraMensaje(17,NULL); + } + muestraMenu(); + + /* Envia respuesta de ejecución de la función de interface */ + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_InventarioHardware"); + lon+=sprintf(ptrTrama->parametros+lon,"hrd=%s\r",hrddst); + respuestaEjecucionComando(ptrTrama,herror,ids); + return(TRUE); +} +// ________________________________________________________________________________________________________ +// Función: InventarioSoftware +// +// Descripción: +// Crea el inventario software de un sistema operativo instalado en una partición. +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN InventarioSoftware(TRAMA* ptrTrama) +{ + char *nfn,*ids,msglog[LONSTD]; + char modulo[] = "InventarioSoftware()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + muestraMensaje(7,NULL); + InventariandoSoftware(ptrTrama,TRUE,nfn); + respuestaEjecucionComando(ptrTrama,herror,ids); + muestraMenu(); + return(TRUE); +} +// ________________________________________________________________________________________________________ +// +// Función: InventariandoSoftware +// +// Descripción: +// Envia al servidor el nombre del archivo de inventario de su software para posteriormente +// esperar que éste lo solicite y enviarlo por la red. +// Parámetros: +// ptrTrama: contenido del mensaje +// sw: switch que indica si la función es llamada por el comando InventarioSoftware(true) o CrearImagen(false) +// nfn: Nombre de la función del Interface que implementa el comando +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN InventariandoSoftware(TRAMA* ptrTrama,BOOLEAN sw,char *nfn) +{ + int lon; + SOCKET socket_c; + char *dsk,*par,msglog[LONSTD],sftsrc[LONPRM],sftdst[LONPRM]; + char modulo[] = "InventariandoSoftware()"; + + dsk=copiaParametro("dsk",ptrTrama); // Disco + par=copiaParametro("par",ptrTrama); + + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(sftsrc,"/tmp/CSft-%s-%s",IPlocal,par); // Nombre que tendra el archivo de inventario + sprintf(parametros,"%s %s %s %s",nfn,dsk,par,sftsrc); + + herror=interfaceAdmin(interface,parametros,NULL); + herror=0; + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + muestraMensaje(20,NULL); + } + else{ + /* Envía fichero de inventario al servidor */ + sprintf(sftdst,"/tmp/Ssft-%s-%s",IPlocal,par); // Nombre que tendra el archivo en el Servidor + initParametros(ptrTrama,0); + + sprintf(ptrTrama->parametros,"nfn=recibeArchivo\rnfl=%s\r",sftdst); + if(!enviaMensajeServidor(&socket_c,ptrTrama,MSG_COMANDO)){ + errorLog(modulo,42,FALSE); + return(FALSE); + } + /* Espera señal para comenzar el envío */ + if(!recibeFlag(&socket_c,ptrTrama)){ + errorLog(modulo,17,FALSE); + } + /* Envía archivo */ + if(!sendArchivo(&socket_c,sftsrc)){ + errorLog(modulo,57, FALSE); + herror=12; // Error de envío de fichero por la red + } + close(socket_c); + muestraMensaje(19,NULL); + } + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_InventarioSoftware"); + lon+=sprintf(ptrTrama->parametros+lon,"par=%s\r",par); + lon+=sprintf(ptrTrama->parametros+lon,"sft=%s\r",sftdst); + if(!sw) + respuestaEjecucionComando(ptrTrama,herror,"0"); + + return(TRUE); +} +// ________________________________________________________________________________________________________ +// Función: EjecutarScript +// +// Descripción: +// Ejecuta código de script +// Parámetros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN EjecutarScript(TRAMA* ptrTrama) +{ + int lon; + char *nfn,*ids,*scp,msglog[LONSTD]; + char modulo[] = "EjecutarScript()"; + + if (ndebug>=DEBUG_MAXIMO) { + sprintf(msglog, "%s:%s",tbMensajes[21],modulo); + infoDebug(msglog); + } + scp=URLDecode(copiaParametro("scp",ptrTrama)); + ids=copiaParametro("ids",ptrTrama); + + nfn=copiaParametro("nfn",ptrTrama); + ids=copiaParametro("ids",ptrTrama); + muestraMensaje(8,NULL); + /* Nombre del archivo de script */ + char filescript[LONPRM]; + sprintf(filescript,"/tmp/_script_%s",IPlocal); + escribeArchivo(filescript,scp); + sprintf(interface,"%s/%s",pathinterface,nfn); + sprintf(parametros,"%s %s",nfn,filescript); + herror=interfaceAdmin(interface,parametros,NULL); + if(herror){ + sprintf(msglog,"%s:%s",tbErrores[86],nfn); + errorInfo(modulo,msglog); + muestraMensaje(21,NULL); + } + else + muestraMensaje(22,NULL); + muestraMenu(); + //herror=ejecutarCodigoBash(scp); + initParametros(ptrTrama,0); + lon=sprintf(ptrTrama->parametros,"nfn=%s\r","RESPUESTA_EjecutarScript"); + respuestaEjecucionComando(ptrTrama,herror,ids); + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: respuestaEjecucionComando +// +// Descripción: +// Envia una respuesta a una ejecucion de comando al servidor de Administración +// Parámetros: +// - ptrTrama: contenido del mensaje +// - res: Resultado de la ejecución (Código de error devuelto por el script ejecutado) +// - ids: Identificador de la sesion (En caso de no haber seguimiento es NULO) +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN respuestaEjecucionComando(TRAMA* ptrTrama,int res,char *ids) +{ + int lon; + SOCKET socket_c; + char modulo[] = "respuestaEjecucionComando()"; + + lon=strlen(ptrTrama->parametros); + if(ids){ // Existe seguimiento + lon+=sprintf(ptrTrama->parametros+lon,"ids=%s\r",ids); // Añade identificador de la sesión + } + if (res==0){ // Resultado satisfactorio + lon+=sprintf(ptrTrama->parametros+lon,"res=%s\r","1"); + lon+=sprintf(ptrTrama->parametros+lon,"der=%s\r",""); + } + else{ // Algún error + lon+=sprintf(ptrTrama->parametros+lon,"res=%s\r","2"); + if(res>MAXERRORSCRIPT) + lon+=sprintf(ptrTrama->parametros+lon,"der=%s (Error de script:%d)\r",tbErroresScripts[MAXERRORSCRIPT],res);// Descripción del error + else + lon+=sprintf(ptrTrama->parametros+lon,"der=%s\r",tbErroresScripts[res]);// Descripción del error + } + if(!(enviaMensajeServidor(&socket_c,ptrTrama,MSG_NOTIFICACION))){ + errorLog(modulo,44,FALSE); + return(FALSE); + } + close(socket_c); + return(TRUE); +} +// ________________________________________________________________________________________________________ +// Función: gestionaTrama +// +// Descripción: +// Procesa las tramas recibidas. +// Parametros: +// ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN gestionaTrama(TRAMA *ptrTrama) +{ + int i, res; + char *nfn; + char modulo[] = "gestionaTrama()"; + + INTROaFINCAD(ptrTrama); + nfn = copiaParametro("nfn", ptrTrama); // Toma nombre de función + for (i = 0; i < MAXIMAS_FUNCIONES; i++) { // Recorre funciones que procesan las tramas + res = strcmp(tbfuncionesClient[i].nf, nfn); + if (res == 0) { // Encontrada la función que procesa el mensaje + return(tbfuncionesClient[i].fptr(ptrTrama)); // Invoca la función + } + } + /* Sólo puede ser un comando personalizado */ + if (ptrTrama->tipo==MSG_COMANDO) + return(Comando(ptrTrama)); + + errorLog(modulo, 18, FALSE); + return (FALSE); +} +//________________________________________________________________________________________________________ +// Función: ejecutaArchivo +// +// Descripción: +// Ejecuta los comando contenido en un archivo (cada comando y sus parametros separados por un +// salto de linea. +// Parámetros: +// filecmd: Nombre del archivo de comandos +// ptrTrama: Puntero a una estructura TRAMA usada en las comunicaciones por red (No debe ser NULL) +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +BOOLEAN ejecutaArchivo(char* filecmd,TRAMA *ptrTrama) +{ + char* buffer,*lineas[MAXIMAS_LINEAS]; + int i,numlin; + char modulo[] = "ejecutaArchivo()"; + + buffer=leeArchivo(filecmd); + if(buffer){ + numlin = splitCadena(lineas, buffer, '@'); + initParametros(ptrTrama,0); + for (i = 0; i < numlin; i++) { + if(strlen(lineas[i])>0){ + strcpy(ptrTrama->parametros,lineas[i]); + strcat(ptrTrama->parametros,"\rMCDJ@"); // Fin de trama + if(!gestionaTrama(ptrTrama)){ // Análisis de la trama + errorLog(modulo,39,FALSE); + //return(FALSE); + } + } + } + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: enviaMensajeServidor +// +// Descripción: +// Envia un mensaje al servidor de Administración +// Parámetros: +// - socket_c: (Salida) Socket utilizado para el envío +// - ptrTrama: contenido del mensaje +// - tipo: Tipo de mensaje +// C=Comando, N=Respuesta a un comando, P=Peticion,R=Respuesta a una petición, I=Informacion +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN enviaMensajeServidor(SOCKET *socket_c,TRAMA *ptrTrama,char tipo) +{ + int lon; + char modulo[] = "enviaMensajeServidor()"; + + *socket_c=abreConexion(); + if(*socket_c==INVALID_SOCKET){ + errorLog(modulo,38,FALSE); // Error de conexión con el servidor + return(FALSE); + } + ptrTrama->arroba='@'; // Cabecera de la trama + strncpy(ptrTrama->identificador,"JMMLCAMDJ_MCDJ",14); // identificador de la trama + ptrTrama->tipo=tipo; // Tipo de mensaje + lon=strlen(ptrTrama->parametros); // Compone la trama + lon+=sprintf(ptrTrama->parametros+lon,"iph=%s\r",IPlocal); // Ip del ordenador + lon+=sprintf(ptrTrama->parametros+lon,"ido=%s\r",idordenador); // Identificador del ordenador + lon+=sprintf(ptrTrama->parametros+lon,"npc=%s\r",nombreordenador); // Nombre del ordenador + lon+=sprintf(ptrTrama->parametros+lon,"idc=%s\r",idcentro); // Identificador del centro + lon+=sprintf(ptrTrama->parametros+lon,"ida=%s\r",idaula); // Identificador del aula + + if (!mandaTrama(socket_c,ptrTrama)) { + errorLog(modulo,26,FALSE); + return (FALSE); + } + return(TRUE); +} +// ******************************************************************************************************** +// PROGRAMA PRINCIPAL (CLIENTE) +// ******************************************************************************************************** +int main(int argc, char *argv[]) +{ + TRAMA *ptrTrama; + char modulo[] = "main()"; + + ptrTrama=(TRAMA *)reservaMemoria(sizeof(TRAMA)); + if (ptrTrama == NULL) { // No hay memoria suficiente para el bufer de las tramas + errorLog(modulo, 3, FALSE); + exit(EXIT_FAILURE); + } + /*-------------------------------------------------------------------------------------------------------- + Validación de parámetros de ejecución y fichero de configuración + ---------------------------------------------------------------------------------------------------------*/ + if (!validacionParametros(argc, argv,3)) // Valida parámetros de ejecución + exit(EXIT_FAILURE); + + if (!tomaConfiguracion(szPathFileCfg)) // Toma parametros de configuración + exit(EXIT_FAILURE); + /*-------------------------------------------------------------------------------------------------------- + Carga catálogo de funciones que procesan las tramas + ---------------------------------------------------------------------------------------------------------*/ + int cf = 0; + + strcpy(tbfuncionesClient[cf].nf, "RESPUESTA_AutoexecCliente"); + tbfuncionesClient[cf++].fptr = &RESPUESTA_AutoexecCliente; + + strcpy(tbfuncionesClient[cf].nf, "RESPUESTA_InclusionCliente"); + tbfuncionesClient[cf++].fptr = &RESPUESTA_InclusionCliente; + + strcpy(tbfuncionesClient[cf].nf, "NoComandosPtes"); + tbfuncionesClient[cf++].fptr = &NoComandosPtes; + + strcpy(tbfuncionesClient[cf].nf, "Actualizar"); + tbfuncionesClient[cf++].fptr = &Actualizar; + + strcpy(tbfuncionesClient[cf].nf, "Purgar"); + tbfuncionesClient[cf++].fptr = &Purgar; + + strcpy(tbfuncionesClient[cf].nf, "ConsolaRemota"); + tbfuncionesClient[cf++].fptr = &ConsolaRemota; + + strcpy(tbfuncionesClient[cf].nf, "Sondeo"); + tbfuncionesClient[cf++].fptr = &Sondeo; + + strcpy(tbfuncionesClient[cf].nf, "Arrancar"); + tbfuncionesClient[cf++].fptr = &Arrancar; + + strcpy(tbfuncionesClient[cf].nf, "Apagar"); + tbfuncionesClient[cf++].fptr = &Apagar; + + strcpy(tbfuncionesClient[cf].nf, "Reiniciar"); + tbfuncionesClient[cf++].fptr = &Reiniciar; + + strcpy(tbfuncionesClient[cf].nf, "IniciarSesion"); + tbfuncionesClient[cf++].fptr = &IniciarSesion; + + strcpy(tbfuncionesClient[cf].nf, "CrearImagen"); + tbfuncionesClient[cf++].fptr = &CrearImagen; + + strcpy(tbfuncionesClient[cf].nf, "RestaurarImagen"); + tbfuncionesClient[cf++].fptr = &RestaurarImagen; + + strcpy(tbfuncionesClient[cf].nf, "Configurar"); + tbfuncionesClient[cf++].fptr = &Configurar; + + strcpy(tbfuncionesClient[cf].nf, "EjecutarScript"); + tbfuncionesClient[cf++].fptr = &EjecutarScript; + + strcpy(tbfuncionesClient[cf].nf, "InventarioHardware"); + tbfuncionesClient[cf++].fptr = &InventarioHardware; + + strcpy(tbfuncionesClient[cf].nf, "InventarioSoftware"); + tbfuncionesClient[cf++].fptr = &InventarioSoftware; + + /*-------------------------------------------------------------------------------------------------------- + Toma dirección IP del cliente + ---------------------------------------------------------------------------------------------------------*/ + if(!tomaIPlocal()){ // Error al recuperar la IP local + errorLog(modulo,0,FALSE); + exit(EXIT_FAILURE); + } + /*-------------------------------------------------------------------------------------------------------- + Inicio de sesión + ---------------------------------------------------------------------------------------------------------*/ + infoLog(1); // Inicio de sesión + infoLog(3); // Abriendo sesión en el servidor de Administración; + /*-------------------------------------------------------------------------------------------------------- + Inclusión del cliente en el sistema + ---------------------------------------------------------------------------------------------------------*/ + if(!inclusionCliente(ptrTrama)){ // Ha habido algún problema al abrir sesión + errorLog(modulo,0,FALSE); + exit(EXIT_FAILURE); + } + infoLog(4); // Cliente iniciado + + /*-------------------------------------------------------------------------------------------------------- + Procesamiento de la cache + ---------------------------------------------------------------------------------------------------------*/ + infoLog(23); // Abriendo sesión en el servidor de Administración; + if(!cuestionCache(cache)){ + errorLog(modulo,0,FALSE); + exit(EXIT_FAILURE); + } + /*-------------------------------------------------------------------------------------------------------- + Ejecución del autoexec + ---------------------------------------------------------------------------------------------------------*/ + if(atoi(idproautoexec)>0){ // Ejecución de procedimiento Autoexec + infoLog(5); + if(!autoexecCliente(ptrTrama)){ // Ejecución fichero autoexec + errorLog(modulo,0,FALSE); + exit(EXIT_FAILURE); + } + } + /*-------------------------------------------------------------------------------------------------------- + Comandos pendientes + ---------------------------------------------------------------------------------------------------------*/ + infoLog(6); // Procesa comandos pendientes + if(!comandosPendientes(ptrTrama)){ // Ejecución de acciones pendientes + errorLog(modulo,0,FALSE); + exit(EXIT_FAILURE); + } + infoLog(7); // Acciones pendientes procesadas + /*-------------------------------------------------------------------------------------------------------- + Bucle de recepción de comandos + ---------------------------------------------------------------------------------------------------------*/ + muestraMenu(); + procesaComandos(ptrTrama); // Bucle para procesar comandos interactivos + /*-------------------------------------------------------------------------------------------------------- + Fin de la sesión + ---------------------------------------------------------------------------------------------------------*/ + exit(EXIT_SUCCESS); +} diff --git a/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h b/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h new file mode 100644 index 00000000..976c393c --- /dev/null +++ b/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h @@ -0,0 +1,121 @@ +// ******************************************************************************************************** +// Cliernte: ogAdmClient +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ogAdmClient.h +// Descripción :Este fichero implementa el cliente general del sistema +// ******************************************************************************************************** +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <unistd.h> +#include <time.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <sys/wait.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <signal.h> +#include "ogAdmLib.h" +// ________________________________________________________________________________________________________ +// Variables globales +// ________________________________________________________________________________________________________ +char idordenador[LONPRM]; // Identificador del ordenador +char nombreordenador[LONPRM]; // Nombre del ordenador +char cache[LONPRM]; // Tamaño de la caché +char idproautoexec[LONPRM]; // Identificador del procedimiento de autoexec +char idcentro[LONPRM]; // Identificador de la Unidad Organizativa +char idaula[LONPRM]; // Identificador del aula +char IPlocal[LONIP]; // Ip local + +char servidoradm[LONPRM]; // Dirección IP del servidor de administración +char puerto[LONPRM]; // Puerto de comunicación +char pathinterface[LONPRM]; // Path donde está la interface entre la administración y el módulo de clonación + +char interface[LONFUN]; // Nombre del módulo,función o script de la interface con el módulo de administración +char parametros[LONSTD]; // Parámetros para la llamada +int herror; + +BOOLEAN CMDPTES; // Para bucle de comandos pendientes + +pid_t pidbrowser; // Identificador del proceso que se crea para mostrar una página web con el browser +pid_t pidbash; // Identificador del proceso que se crea cuando se conmuta el browser + +char urlmenu[MAXLONURL]; // Url de la pagina de menu para el browser +char urlmsg[MAXLONURL]; // Url de la página de mensajed para el browser + + +typedef struct{ // Estructura usada para referenciar las funciones que procesan las tramas + char nf[LONFUN]; // Nombre de la función + BOOLEAN (*fptr)(TRAMA*); // Puntero a la función que procesa la trama +}MSGFUN; +MSGFUN tbfuncionesClient[MAXIMAS_FUNCIONES]; +// ________________________________________________________________________________________________________ +// Tabla de errores de la ejecución de los scripts +// ________________________________________________________________________________________________________ +char* tbErroresScripts[]={"Se han generado errores. No se puede continuar la ejecución de este módulo",\ + "001-Formato de ejecución incorrecto.",\ + "002-Fichero o dispositivo no encontrado",\ + "003-Error en partición de disco",\ + "004-Partición o fichero bloqueado",\ + "005-Error al crear o restaurar una imagen",\ + "006-Sin sistema operativo",\ + "007-Programa o función BOOLEANno ejecutable",\ + "008-Error en la creación del archivo de eco para consola remota",\ + "009-Error en la lectura del archivo temporal de intercambio",\ + "010-Error al ejecutar la llamada a la interface de administración",\ + "011-La información retornada por la interface de administración excede de la longitud permitida",\ + "012-Error en el envío de fichero por la red",\ + "013-Error en la creación del proceso hijo",\ + "Error desconocido " + }; + #define MAXERRORSCRIPT 14 // Error máximo cometido +// ________________________________________________________________________________________________________ +// Prototipo de funciones +// ________________________________________________________________________________________________________ +BOOLEAN autoexecCliente(TRAMA*); +BOOLEAN RESPUESTA_AutoexecCliente(TRAMA*); +void procesaComandos(TRAMA*); + +BOOLEAN tomaConfiguracion(char*); +BOOLEAN tomaIPlocal(void); +void scriptLog(const char *,int ); + +BOOLEAN gestionaTrama(TRAMA *); +BOOLEAN inclusionCliente(); +char* LeeConfiguracion(char*); +BOOLEAN RESPUESTA_InclusionCliente(TRAMA *); + +BOOLEAN comandosPendientes(TRAMA*); +BOOLEAN NoComandosPtes(TRAMA *); + +BOOLEAN respuestaEjecucionComando(TRAMA *,int,char*); +BOOLEAN Sondeo(TRAMA *); +BOOLEAN Actualizar(TRAMA *); +int Purgar(TRAMA* ); + +BOOLEAN ConsolaRemota(TRAMA*); + +BOOLEAN Arrancar(TRAMA *); +BOOLEAN Apagar(TRAMA *); +BOOLEAN Reiniciar(TRAMA *); +BOOLEAN IniciarSesion(TRAMA *); +BOOLEAN CrearImagen(TRAMA *); +BOOLEAN InventarioHardware(TRAMA *); +BOOLEAN InventariandoSoftware(TRAMA *,BOOLEAN,char*); +BOOLEAN EjecutarScript(TRAMA *); +BOOLEAN ejecutaArchivo(char*,TRAMA*); + +BOOLEAN cuestionCache(char*); +int cargaPaginaWeb(char *); +void muestraMenu(void); +void muestraMensaje(int idx,char*); + +BOOLEAN enviaMensajeServidor(SOCKET *,TRAMA *,char); + + + + diff --git a/admin/Sources/Includes/Database.cpp b/admin/Sources/Includes/Database.cpp new file mode 100644 index 00000000..0d1ddcc5 --- /dev/null +++ b/admin/Sources/Includes/Database.cpp @@ -0,0 +1,198 @@ +// ******************************************************************************************************** +// Nombre del fichero: Database.cpp +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Descripción: +// Fichero de implementación de la clase Database para funciones de manipulación +// de bases de datos sobre un Servidor Mysql +// ******************************************************************************************************** +#include "Database.h" +// __________________________________________________________________________ +void ErrorHandler(Herror hr, char* ErrStr) +{ + sprintf(ErrStr,"Error:\n"); + sprintf(ErrStr,"%sCode = %d\n",ErrStr ,hr.nError); + sprintf(ErrStr,"%sDescription = %s",ErrStr, (char*) hr.dError); +} +// __________________________________________________________________________ +Database::Database() +{ + m_Cnn=NULL; + sprintf(m_ErrStr,"NULL POINTER"); +} +// __________________________________________________________________________ +void Database::GetErrorErrStr(char* ErrStr) +{ + sprintf(ErrStr,"%s",m_ErrStr); +} +// __________________________________________________________________________ +void Table::GetErrorErrStr(char* ErrStr) +{ + sprintf(ErrStr,"%s",m_ErrStr); +} +// __________________________________________________________________________ +bool Database::Open(char* UserName, char* Pwd,char* server,char*Bd) +{ + Herror hr; + m_Cnn=mysql_init(NULL); + if(m_Cnn==NULL){ + hr.nError=0; + strcpy(hr.dError,"Error en la Creación del objeto MYSQL"); + ErrorHandler(hr,m_ErrStr); + return(false); // Fallo de inicializaci� + } + + if(!mysql_real_connect(m_Cnn, server,UserName,Pwd,Bd, MYSQL_PORT,NULL,0)){ + mysql_error(m_Cnn); + hr.nError=mysql_errno(m_Cnn); + strcpy(hr.dError,mysql_error(m_Cnn)); + ErrorHandler(hr,m_ErrStr); + return(false); // Fallo de conexi� + } + hr.nError=0; + strcpy(hr.dError,"Success"); + ErrorHandler(hr,m_ErrStr); + return (true); +} +// __________________________________________________________________________ +bool Database::Close() +{ + mysql_close(m_Cnn); + return(true); +} +// __________________________________________________________________________ +bool Database::Execute(char* CmdStr) +{ + Herror hr; + if (mysql_query(m_Cnn,CmdStr)){ // Ejecuta la consulta + mysql_error(m_Cnn); + hr.nError=mysql_errno(m_Cnn); + strcpy(hr.dError,mysql_error(m_Cnn)); + ErrorHandler(hr,m_ErrStr); + mysql_close(m_Cnn); + return(false); // Fallo de conexión + } + hr.nError=0; + strcpy(hr.dError,"Success"); + ErrorHandler(hr,m_ErrStr); + return (true); +} +// __________________________________________________________________________ +bool Database::Execute(char* CmdStr, Table& Tbl) +{ + Herror hr; + if (mysql_query(m_Cnn,CmdStr)) { // Ejecuta la consulta + mysql_error(m_Cnn); + hr.nError=mysql_errno(m_Cnn); + strcpy(hr.dError,mysql_error(m_Cnn)); + ErrorHandler(hr,m_ErrStr); + mysql_close(m_Cnn); + return(false); // Fallo de conexi� + } + + hr.nError=0; + strcpy(hr.dError,"Success"); + ErrorHandler(hr,m_ErrStr); + + Tbl.m_Rec = mysql_store_result(m_Cnn) ; // Toma el recordset + if(Tbl.m_Rec){ + Tbl.row=mysql_fetch_row(Tbl.m_Rec); + Tbl.fields = mysql_fetch_fields(Tbl.m_Rec); + Tbl.num_fields = mysql_num_fields(Tbl.m_Rec); + Tbl.numreg=mysql_num_rows(Tbl.m_Rec); + Tbl.eof=Tbl.numreg==0; // Consulta vacia + } + return (true); +} +// __________________________________________________________________________ +Table::Table() +{ + m_Rec=NULL; +} +// __________________________________________________________________________ +bool Table::ISEOF() +{ + return(eof); +} +// __________________________________________________________________________ +bool Table::Get(const char* FieldName, char *FieldValue) +{ + char * aux; + aux=tomadato(FieldName); + if(aux) + strcpy(FieldValue,aux); + else + strcpy(FieldValue,""); + return(true); +} +// __________________________________________________________________________ +bool Table::Get(const char* FieldName,int &FieldValue) +{ + char *aux; + aux=tomadato(FieldName); + if(aux) + FieldValue=atoi(aux); + else + FieldValue=0; + return(true); +} +// __________________________________________________________________________ +bool Table::Get(const char* FieldName,char &FieldValue) +{ + char *aux; + aux=tomadato(FieldName); + FieldValue=aux[0]; + return(true); +} +// __________________________________________________________________________ +char* Table::tomadato(const char* FieldName) +{ + Herror hr; + unsigned int i; + + for(i = 0; i < num_fields; i++){ + if(strcmp((char*)fields[i].name,FieldName)==0){ + sprintf(m_ErrStr,"Success"); + return((char*)row[i]); + } + } + hr.nError=-1; + strcpy(hr.dError,"El nombre del campo no existe"); + ErrorHandler(hr,m_ErrStr); + return(NULL); // No existe el nombre del campo en la tabla +} +// __________________________________________________________________________ + +bool Table::MoveNext() +{ + eof=false; + row=mysql_fetch_row(m_Rec); + if(row==NULL){ + if(!mysql_eof(m_Rec)) + return(false); // Fallo de lectura + else + eof=true; // Fin de fichero + } + return (true); +} +// __________________________________________________________________________ +bool Table::MoveFirst() +{ + my_ulonglong auxnumreg; + + auxnumreg=0; + mysql_data_seek(m_Rec,auxnumreg); + return (MoveNext()); +} +// __________________________________________________________________________ +bool Table::MoveLast() +{ + my_ulonglong auxnumreg; + auxnumreg=numreg; + auxnumreg--; + if(auxnumreg<0) auxnumreg=0; // Principio de fichero + mysql_data_seek(m_Rec,auxnumreg); + return (MoveNext()); + return (true); +} diff --git a/admin/Sources/Includes/Database.h b/admin/Sources/Includes/Database.h new file mode 100644 index 00000000..0af1561b --- /dev/null +++ b/admin/Sources/Includes/Database.h @@ -0,0 +1,60 @@ +// ****************************************************************************************************** +// Aplicación HIDRA +// Copyright 2004 Jos�Manuel Alonso. Todos los derechos reservados. +// Fichero: Database.h +// Descripción: +// Fichero de cabecera de la clase Database para implementar funciones de manipulaci� +// de bases de datos sobre un Servidor Mysql +// ****************************************************************************************************** +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include </usr/include/mysql/mysql.h> +// __________________________________________________________________________ +class Database; +class Table; +// __________________________________________________________________________ +class Database +{ +public: + MYSQL *m_Cnn; + char m_ErrStr[500]; + Database(); + bool Open(char* UserName, char* Pwd,char* server,char*Database); + bool OpenTbl(int Mode, char* CmdStr, Table& Tbl); + bool Close(void); + bool Execute(char* CmdStr); + bool Execute(char* CmdStr, Table& Tbl); + void GetErrorErrStr(char* ErrStr); +}; +// __________________________________________________________________________ +class Table{ + char* tomadato(const char* FieldName); +public: + bool eof,bof; + MYSQL_RES * m_Rec ; + MYSQL_FIELD *fields; + unsigned int num_fields; + MYSQL_ROW row ; + MYSQL_ROW_OFFSET ptr; + my_ulonglong numreg; + char m_ErrStr[500]; + Table(); + void GetErrorErrStr(char* ErrStr); + bool ISEOF(); + bool MoveNext(); + bool MovePrevious(); + bool MoveFirst(); + bool MoveLast(); + + bool Get(const char* FieldName, char* FieldValue); + bool Get(const char* FieldName,int &FieldValue); + bool Get(const char* FieldName,char &FieldValue); +}; +// __________________________________________________________________________ +class Herror +{ +public: + int nError; // C�igo del error + char dError[500]; // Descripción del error +}; diff --git a/admin/Sources/Includes/ogAdmLib.c b/admin/Sources/Includes/ogAdmLib.c new file mode 100644 index 00000000..fdda2855 --- /dev/null +++ b/admin/Sources/Includes/ogAdmLib.c @@ -0,0 +1,1099 @@ +// ************************************************************************************************************************************************** +// Libreria: ogAdmLib +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ogAdmLib.c +// Descripción: Este fichero implementa una libreria de funciones para uso común de los servicios +// ************************************************************************************************************************************************** +// ________________________________________________________________________________________________________ +// Función: encriptar +// +// Descripción: +// Encripta una cadena +// Parametros: +// - cadena : Cadena a encriptar +// - ret : Longitud de la caden cadena encriptada +// ________________________________________________________________________________________________________ +char * encriptar(char *cadena,int*ret) +{ +return(cadena); + int i,lon; + char clave; + + clave = 12 & 0xFFU; // La clave elegida entre 0-255, en este caso 12 + lon=strlen(cadena); + for(i=0;i<lon;i++) + cadena[i]=((char)cadena[i] ^ clave) & 0xFF; + *ret=lon; + return(cadena); +} +// ________________________________________________________________________________________________________ +// Función: desencriptar +// +// Descripción: +// Desencripta una cadena +// Parametros: +// - cadena : Cadena a desencriptar +// - ret : Longitud de la caden cadena encriptada +// ________________________________________________________________________________________________________ +char * desencriptar(char *cadena,int* ret) +{ +return(cadena); + int i,lon; + char clave; + + clave = 12 & 0xFFU; // La clave elegida entre 0-255, en este caso 12 + lon=strlen(cadena); + for(i=0;i<lon;i++) + cadena[i]=((char)cadena[i] ^ clave) & 0xFF; + *ret=lon; + return(cadena); +} +// ________________________________________________________________________________________________________ +// Función: tomaHora +// +// Descripción: +// Devuelve la hora del sistema +// Parametros: +// Ninguno +// ________________________________________________________________________________________________________ +struct tm * tomaHora() +{ + time_t rawtime; + time ( &rawtime ); + return(localtime(&rawtime)); +} +// ________________________________________________________________________________________________________ +// Función: registraLog +// +// Descripción: +// Registra los eventos en un fichero log ya sean errores o información +// Parametros: +// - fileLog : Ruta completa del archivo de log +// - msg : Descripción del error +// - swe: Switch que indica si se debe recuperar además el literal de error del propio sistema operativo +// ________________________________________________________________________________________________________ +void registraLog(const char* filelog,const char *msg,int swe) +{ + FILE *flog; + struct tm * t; + + t = tomaHora(); + flog=fopen(filelog,"at"); + if(swe) + fprintf (flog,"%02d/%02d/%d %02d:%02d %s: %s\n",t->tm_mday,t->tm_mon+1,t->tm_year+1900,t->tm_hour,t->tm_min,msg,strerror(errno)); + else + fprintf (flog,"%02d/%02d/%d %02d:%02d %s\n",t->tm_mday,t->tm_mon+1,t->tm_year+1900,t->tm_hour,t->tm_min,msg); + fclose(flog); +} +// ________________________________________________________________________________________________________ +// Función: errorLog +// +// Descripción: +// Registra los sucesos de errores preestablecidos en el fichero de log +// Parametros: +// - coderr : Código del mensaje de error +// - swe: Switch que indica si se debe recuperar además el literal de error del propio sistema operativo +// ________________________________________________________________________________________________________ +void errorLog(const char *modulo, int coderr, int swe) { + char msglog[LONSUC]; + + sprintf(msglog, "*** Error: %s. Módulo %s", tbErrores[coderr], modulo); + registraLog(szPathFileLog, msglog, swe); +} +// ________________________________________________________________________________________________________ +// Función: errorInfo +// +// Descripción: +// Registra los sucesos de errores dinámicos en el fichero de log +// Parametros: +// - msgerr : Descripción del error +// - swe: Switch que indica si se debe recuperar además el literal de error del propio sistema operativo +// ________________________________________________________________________________________________________ +void errorInfo(const char *modulo, char *msgerr) { + char msglog[LONSUC]; + + sprintf(msglog, "*** Error: %s. Módulo %s", msgerr, modulo); + registraLog(szPathFileLog, msglog, FALSE); +} +// ________________________________________________________________________________________________________ +// Función: infoLog +// +// Descripción: +// Registra los sucesos de información en el fichero de log +// Parametros: +// - coderr : Código del mensaje de información +// ________________________________________________________________________________________________________ +void infoLog(int codinf) { + char msglog[LONSUC]; + + sprintf(msglog, "*** Info: %s", tbMensajes[codinf]); + registraLog(szPathFileLog, msglog, FALSE); +} +// ________________________________________________________________________________________________________ +// Función: infoDebug +// +// Descripción: +// Registra los mensajes de debugs en el fichero de log +// Parametros: +// - msgdeb : Descripción del mensaje de información +// ________________________________________________________________________________________________________ +void infoDebug(char* msgdeb) { + char msglog[LONSUC]; + + sprintf(msglog, "*** Debug: %d-%s", ndebug, msgdeb); + registraLog(szPathFileLog, msglog, FALSE); +} +//______________________________________________________________________________________________________ +// Función: ValidacionParametros +// +// Descripción: +// Valida que los parametros de ejecución del programa sean correctos +// Parámetros: +// - argc: Número de argumentos +// - argv: Puntero a cada argumento +// - eje: Tipo de ejecutable (1=Servicio,2=Repositorio o 3=Cliente) +// Devuelve: +// - TRUE si los argumentos pasados son correctos +// - FALSE en caso contrario +// Especificaciones: +// La sintaxis de los argumentos es la siguiente +// -f Archivo de configuración del servicio +// -l Archivo de logs +// -d Nivel de debuger (mensages que se escribirán en el archivo de logs) +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN validacionParametros(int argc, char*argv[],int eje) { + int i; + char modulo[] = "validacionParametros()"; + + switch(eje){ + case 1: // Administrador + strcpy(szPathFileCfg, "ogAdmServer.cfg"); // Valores por defecto de archivos + strcpy(szPathFileLog, "ogAdmServer.log"); // de configuración y de logs + break; + case 2: // Repositorio + strcpy(szPathFileCfg, "ogAdmRepo.cfg"); // Valores por defecto de archivos + strcpy(szPathFileLog, "ogAdmRepo.log"); // de configuración y de logs + break; + case 3: // Cliente OpenGnsys + strcpy(szPathFileCfg, "ogAdmClient.cfg"); // Valores por defecto de archivos + strcpy(szPathFileLog, "ogAdmClient.log"); // de configuración y de logs + break; + case 4: // Servicios DHCP,BOOTP Y TFTP + strcpy(szPathFileCfg, "ogAdmBoot.cfg"); // Valores por defecto de archivos + strcpy(szPathFileLog, "ogAdmBoot.log"); // de configuración y de logs + break; + case 5: // Agente + strcpy(szPathFileCfg, "ogAdmAgent.cfg"); // Valores por defecto de archivos + strcpy(szPathFileLog, "ogAdmAgent.log"); // de configuración y de logs + break; + } + + ndebug = 1; // Nivel de debuger por defecto + + for (i = 1; (i + 1) < argc; i += 2) { + if (argv[i][0] == '-') { + switch (tolower(argv[i][1])) { + case 'f': + if (argv[i + 1] != NULL) + strcpy(szPathFileCfg, argv[i + 1]); + else { + errorLog(modulo, 10, FALSE); + return (FALSE); + } + break; + case 'l': + if (argv[i + 1] != NULL) + strcpy(szPathFileLog, argv[i + 1]); + else { + errorLog(modulo, 11, FALSE); + return (FALSE); + } + break; + case 'd': + if (argv[i + 1] != NULL) { + ndebug = atoi(argv[i + 1]); + if (ndebug < 1) + ndebug = 1; // Por defecto el nivel de debug es 1 + } else + ndebug = 1; // Por defecto el nivel de debug es 1 + break; + default: + errorLog(modulo, 12, FALSE); + exit(EXIT_FAILURE); + break; + } + } + } + return (TRUE); +} +//______________________________________________________________________________________________________ +// Función: reservaMemoria +// +// Descripción: +// Reserva memoria para una variable +// Parámetros: +// - lon: Longitud en bytes de la reserva +// Devuelve: +// Un puntero a la zona de memoria reservada que ha sido previamente rellena con zeros o nulos +//______________________________________________________________________________________________________ +char* reservaMemoria(int lon) +{ + char *mem; + + mem=(char*)malloc(lon); + if(mem!=NULL) + memset(mem,0,lon); + return(mem); +} +//______________________________________________________________________________________________________ +// Función: ampliaMemoria +// +// Descripción: +// Amplia memoria para una variable +// Parámetros: +// - ptr: Puntero al buffer de memoria que se quiere ampliar +// - lon: Longitud en bytes de la amplicación +// Devuelve: +// Un puntero a la zona de memoria reservada que ha sido previamente rellena con zeros o nulos +//______________________________________________________________________________________________________ +char* ampliaMemoria(char* ptr,int lon) +{ + char *mem; + + mem=(char*)realloc(ptr,lon*sizeof(char*)); + if(mem!=NULL) + return(mem); + return(NULL); +} +//______________________________________________________________________________________________________ +// Función: liberaMemoria +// +// Descripción: +// Libera memoria para una variable +// Parámetros: +// - ptr: Puntero al buffer de memoria que se quiere liberar +// Devuelve: +// Nada +//______________________________________________________________________________________________________ +void liberaMemoria(char* ptr) +{ + if(ptr) + free (ptr); +} +// ________________________________________________________________________________________________________ +// Función: splitCadena +// +// Descripción: +// Trocea una cadena según un carácter delimitador +// Parámetros: +// - trozos: Array de punteros a cadenas +// - cadena: Cadena a trocear +// - chd: Carácter delimitador +// Devuelve: +// Número de trozos en que se divide la cadena +// ________________________________________________________________________________________________________ +int splitCadena(char **trozos,char *cadena, char chd) +{ + int w=0; + if(cadena==NULL) return(w); + + trozos[w++]=cadena; + while(*cadena!='\0'){ + if(*cadena==chd){ + *cadena='\0'; + if(*(cadena+1)!='\0') + trozos[w++]=cadena+1; + } + cadena++; + } + return(w); // Devuelve el número de trozos +} +// ________________________________________________________________________________________________________ +// Función: sustituir +// +// Descripción: +// Sustituye las apariciones de un caracter por otro en una cadena +// Parámetros: +// - cadena: Cadena a convertir +// - cho: Caracter a sustituir +// - chs: Caracter sustituto +// ________________________________________________________________________________________________________ +void sustituir(char *cadena,char cho,char chs) +{ + int x=0; + + while(cadena[x]!=0) { + if (cadena[x]==cho) + cadena[x]=chs; + x++; + } +} +// ________________________________________________________________________________________________________ +// Función: escaparCadena +// +// Descripción: +// Sustituye las apariciones de un caracter comila simple ' por \' +// Parámetros: +// - cadena: Cadena a escapar +// Devuelve: +// La cadena con las comillas simples sustituidas por \' +// ________________________________________________________________________________________________________ +char* escaparCadena(char *cadena) +{ + int b,c; + char *buffer; + + buffer = (char*) reservaMemoria(strlen(cadena)*2); // Toma memoria para el buffer de conversión + if (buffer == NULL) { // No hay memoria suficiente para el buffer + return (FALSE); + } + + c=b=0; + while(cadena[c]!=0) { + if (cadena[c]=='\''){ + buffer[b++]='\\'; + buffer[b++]='\''; + } + else{ + buffer[b++]=cadena[c]; + } + c++; + } + return(buffer); +} +// ________________________________________________________________________________________________________ +// Función: StrToUpper +// +// Descripción: +// Convierta una cadena en mayúsculas +// Parámetros: +// - cadena: Cadena a convertir +// ________________________________________________________________________________________________________ +char* StrToUpper(char *cadena) +{ + int x=0; + + while(cadena[x]!=0) { + if (cadena[x] >= 'a' && cadena[x] <= 'z') { + cadena[x] -= 32; + } + x++; + } + return(cadena); +} +// ________________________________________________________________________________________________________ +// Función: StrToUpper +// +// Descripción: +// Convierta una cadena en mayúsculas +// Parámetros: +// - cadena: Cadena a convertir +// ________________________________________________________________________________________________________ +char* StrToLower(char *cadena) +{ + int x=0; + + while(cadena[x]!=0) { + if (cadena[x] >= 'A' && cadena[x] <= 'Z') { + cadena[x] += 32; + } + x++; + } + return(cadena); +} +// ________________________________________________________________________________________________________ +// Función: INTROaFINCAD +// +// Descripción: +// Cambia caracteres INTROS por fin de cadena ('\0') en una trama +// Parametros: +// - parametros: Puntero a los parametros de la trama +// - lon: Longitud de la cadena de parametros +// ________________________________________________________________________________________________________ +void INTROaFINCAD(TRAMA* ptrTrama) +{ + char *i,*a,*b; + + a=ptrTrama->parametros; + b=a+ptrTrama->lonprm; + for(i=a;i<b;i++){ // Cambia los NULOS por INTROS + if(*i=='\r') *i='\0'; + } +} +// ________________________________________________________________________________________________________ +// Función: FINCADaINTRO +// +// Descripción: +// Cambia caracteres fin de cadena ('\0') por INTROS en una trama +// Parametros: +// - parametros: Puntero a los parametros de la trama +// - lon: Longitud de la cadena de parametros +// ________________________________________________________________________________________________________ +void FINCADaINTRO(TRAMA* ptrTrama) +{ + char *i,*a,*b; + + a=ptrTrama->parametros; + b=a+ptrTrama->lonprm; + for(i=a;i<b;i++){ // Cambia los NULOS por INTROS + if(*i=='\0') *i='\r'; + } +} +// ________________________________________________________________________________________________________ +// Función: cuentaIPES +// +// Descripción: +// Cuenta los caracteres "." de las IPES dentro del parámetros iph de una trama +// con lo cual dividiendo por 3 se puede saber la cantdad de direcciones IPES en la cadena +// Parametros: +// - ipes: Cadena con las IPES separadas por ";" +// ________________________________________________________________________________________________________ +int cuentaIPES(char* ipes) +{ + int i,a,b,c=0; + + a=0; + b=strlen(ipes); + for(i=a;i<b;i++){ // Cambia los NULOS por INTROS + if(ipes[i]=='.') c++; + } + return(c/3); +} +// ________________________________________________________________________________________________________ +// Función: tomaParametro +// +// Descripción: +// Devuelve el valor de un parametro incluido en una cadena con formatos: "nombre=valor" +// Parámetros: +// - nombre: Nombre del parámetro a recuperar +// - paramestros: Cadena que contiene todos los parámetros +// ________________________________________________________________________________________________________ +char* tomaParametro(const char* nombre,TRAMA* ptrTrama) +{ + char *a,*b,*pos; + + a=ptrTrama->parametros; + b=a+ptrTrama->lonprm; + for(pos=a;pos<b;pos++){ // Busca valor del parámetro + if(pos[0]==nombre[0]){ + if(pos[1]==nombre[1]){ + if(pos[2]==nombre[2]){ + if(pos[3]=='='){ + pos+=4; + return(pos); + } + } + } + } + } + return(NULL); +} +//______________________________________________________________________________________________________ +// Función: copiaParametro +// +// Descripción: +// Devuelve una copia del valor de un parámetro +// Parámetros: +// - ptrTrama: contenido del mensaje +// - parametro: Nombre del parámetro +// - lon: Nombre del parámetro +// Devuelve: +// Un puntero a la cadena que contiene el valor del parámetro +// ________________________________________________________________________________________________________ +char* copiaParametro(const char*nombre,TRAMA* ptrTrama) +{ + char *prm,*buffer; + char modulo[] = "copiaParametro()"; + + + prm=tomaParametro(nombre,ptrTrama); // Toma identificador de acción + if(!prm) + return(NULL); + buffer = (char*) reservaMemoria(strlen(prm)+1); // Toma memoria para el buffer de lectura. + if (buffer == NULL) { // No hay memoria suficiente para el buffer + errorLog(modulo, 3, FALSE); + return (FALSE); + } + strcpy(buffer,prm); + return(buffer); +} +// ________________________________________________________________________________________________________ +// Función: igualIP +// +// Descripción: +// Comprueba si una cadena con una dirección IP está incluida en otra que contienen varias direcciones ipes +// separadas por punto y coma +// Parámetros: +// - cadenaiph: Cadena de direcciones IPES +// - ipcliente: Cadena de la IP a buscar +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN contieneIP(char *cadenaiph,char *ipcliente) +{ + char *posa,*posb; + int lon; + + posa=strstr(cadenaiph,ipcliente); + if(posa==NULL) return(FALSE); // No existe la IP en la cadena + posb=posa; // Iguala direcciones + while(TRUE){ + posb++; + if(*posb==';') break; + if(*posb=='\0') break; + if(*posb=='\r') break; + } + lon=strlen(ipcliente); + if((posb-posa)==lon) return(TRUE); // IP encontrada + return(FALSE); +} +// ________________________________________________________________________________________________________ +// Función: rTrim +// +// Descripción: +// Elimina caracteres de espacios y de asci menor al espacio al final de la cadena +// Parámetros: +// - cadena: Cadena a procesar +// ________________________________________________________________________________________________________ +char* rTrim(char *cadena) +{ + int i,lon; + + lon=strlen(cadena); + for (i=lon-1;i>=0;i--){ + if(cadena[i]<32) + cadena[i]='\0'; + else + return(cadena); + } + return(cadena); +} +// ________________________________________________________________________________________________________ +// Función: mandaTrama +// +// Descripción: +// Envía una trama por la red +// Parametros: +// - sock : El socket del host al que se dirige la trama +// - trama: El contenido de la trama +// - lon: Longitud de la parte de parametros de la trama que se va a mandar +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN mandaTrama(SOCKET *sock, TRAMA* ptrTrama) +{ + int lonprm; + char *buffer,hlonprm[LONHEXPRM+1]; + + lonprm=strlen(ptrTrama->parametros); + ptrTrama->parametros=encriptar(ptrTrama->parametros,&lonprm); // Encripta los parámetros + sprintf(hlonprm,"%05X",LONGITUD_CABECERATRAMA+LONHEXPRM+lonprm); // Convierte en hexadecimal la longitud + + buffer=reservaMemoria(LONGITUD_CABECERATRAMA+LONHEXPRM+lonprm); // Longitud total de la trama + if(buffer==NULL) + return(FALSE); + memcpy(buffer,ptrTrama,LONGITUD_CABECERATRAMA); // Copia cabecera de trama + memcpy(&buffer[LONGITUD_CABECERATRAMA],hlonprm,LONHEXPRM); // Copia longitud de la trama + memcpy(&buffer[LONGITUD_CABECERATRAMA+LONHEXPRM],ptrTrama->parametros,lonprm); // Copia parametros encriptados + if(!sendData(sock,buffer,LONGITUD_CABECERATRAMA+LONHEXPRM+lonprm)) + return (FALSE); + return(TRUE); +} +// ________________________________________________________________________________________________________ +// Función: sendData +// +// Descripción: +// Envía datos por la red a través de un socket +// Parametros: +// - sock : El socket por donde se envía +// - datos: El contenido a enviar +// - lon: Cantidad de bites a enviar +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN sendData(SOCKET *sock, char* datos,int lon) +{ + int idx,ret; + idx = 0; + while (lon > 0) { + ret = send(*sock,&datos[idx],lon, 0); + if (ret == 0) { // Conexión cerrada por parte del cliente (Graceful close) + break; + } + else{ + if (ret == SOCKET_ERROR) + return (FALSE); + } + lon -= ret; + idx += ret; + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: recibeTrama +// +// Descripción: +// Recibe una trama por la red +// Parametros: +// - sock : El socket del cliente +// - trama: El buffer para recibir la trama +// Devuelve: +// Un puntero a una estrucutra TRAMA o NULL si ha habido algún error +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +TRAMA* recibeTrama(SOCKET *sock) +{ + int ret,lon,lSize; + char *buffer,bloque[LONBLK],*hlonprm; + TRAMA * ptrTrama; + + lon=lSize=0; + do{ + if(!recData(sock,bloque,LONBLK,&ret)) // Lee bloque + return(NULL); + + if(lSize==0){ // Comprueba tipo de trama y longitud total de los parámetros + if (strncmp(bloque, "@JMMLCAMDJ_MCDJ",15)!=0) + return(NULL); // No se reconoce la trama + hlonprm=reservaMemoria(LONHEXPRM+1); + if(!hlonprm) + return(NULL); + memcpy(hlonprm,&bloque[LONGITUD_CABECERATRAMA],LONHEXPRM); + lSize=strtol(hlonprm,NULL,16); // Longitud total de la trama con los parametros encriptados + buffer=(char*)reservaMemoria(lSize); // Toma memoria para la trama completa + if(!buffer) + return(NULL); + } + + if(ret>0){ // Datos recibidos + memcpy(&buffer[lon],bloque,ret); // Añade bloque + lon+=ret; + } + }while(lon<lSize); + + ptrTrama=(TRAMA *)reservaMemoria(sizeof(TRAMA)); + if (!ptrTrama) + return(NULL); + memcpy(ptrTrama,buffer,LONGITUD_CABECERATRAMA); // Copia cabecera de trama + lon=lSize-(LONGITUD_CABECERATRAMA+LONHEXPRM); // Longitud de los parametros aún encriptados + buffer=desencriptar(&buffer[LONGITUD_CABECERATRAMA+LONHEXPRM],&lon); + initParametros(ptrTrama,lon); // Desencripta la trama + memcpy(ptrTrama->parametros,buffer,lon); + ptrTrama->lonprm=lon; // Almacena longitud de los parámetros ya desencriptados + return(ptrTrama); +} +// ________________________________________________________________________________________________________ +// Función: recData +// +// Descripción: +// Recibe datos por la red a través de un socket +// Parametros: +// - sock : El socket por el que se reciben los datos +// - datos: El buffer donde se almacenan +// - lon: Cantidad máxima de bites a recibir +// - ret: Cantidad de bites recibidos (Parámetro de salida) +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN recData(SOCKET *sock, char* buffer,int lon,int* ret) +{ + *ret = 0; + + while (TRUE) { // Bucle para recibir datos del cliente + *ret = recv(*sock,buffer, lon, 0); + if (*ret == 0) // Conexión cerrada por parte del cliente (Graceful close) + break; + else { + if (*ret == SOCKET_ERROR) { + return (FALSE); + } else + // Datos recibidos + break; + } + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: enviaFlag +// +// Descripción: +// Envia una señal de sincronización +// Parámetros: +// - socket_c: (Salida) Socket utilizado para el envío (operativo) +// - ptrTrama: contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN enviaFlag(SOCKET *socket_c,TRAMA *ptrTrama) +{ + char modulo[] = "enviaFlag()"; + if (!mandaTrama(socket_c,ptrTrama)) { + errorLog(modulo,26,FALSE); + return (FALSE); + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: recibeFlag +// +// Descripción: +// Recibe una señal de sincronización +// Parámetros: +// - socket_c: Socket utilizadopara la recepción (operativo) +// - ptrTrama: (Salida) Contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN recibeFlag(SOCKET *socket_c,TRAMA *ptrTrama) +{ + ptrTrama=recibeTrama(socket_c); + if(!ptrTrama){ + return(FALSE); + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: URLEncode +// +// Descripción: +// Codifica una cadena en UrlEncode +// Parámetros: +// - src: La cadena a decodificar +// Devuelve: +// La cadena decodificada +// ________________________________________________________________________________________________________ +char* URLEncode(char *src) +{ + char *dest; + int i,j=0,lon; + + lon=strlen(src); + dest=(char*)reservaMemoria(lon*2); // Reserva buffer para la cadena + for(i=0;i<lon;i++){ + if(src[i]==0x20){ // Espacio + dest[j++] = '%'; + dest[j++] = '2'; + dest[j++] = '0'; + } + else + dest[j++] = src[i]; + } + return(dest); +} +//______________________________________________________________________________________________________ +// Función: URLDecode +// +// Descripción: +// Decodifica una cadena codificada con UrlEncode +// Parámetros: +// - src: La cadena a decodificar +// Devuelve: +// La cadena decodificada +// ________________________________________________________________________________________________________ +char* URLDecode(char *src) +{ + const char *p = src; + char code[3] = {0}; + unsigned long ascii = 0; + char *end = NULL; + char *dest,*cad; + + dest=(char*)reservaMemoria(strlen(src)); // Reserva buffer para la cadena + cad=dest; + while(*p){ + if(*p == '%'){ + memcpy(code, ++p, 2); + ascii = strtoul(code, &end, 16); + *dest++ = (char)ascii; + p += 2; + } + else + *dest++ = *p++; + } + return(cad); +} +// ________________________________________________________________________________________________________ +// Función: leeArchivo +// +// Descripción: +// Lee un archivo +// Parámetros: +// fil: Nombre completo del archivo +// Devuelve: +// Un puntero al buffer con el contenido leido + +//______________________________________________________________________________________________________ +char * leeArchivo(char *fil) +{ + FILE *f; + long lSize; + + f=fopen(fil,"rb"); + if (!f) + return(NULL); + fseek (f,0,SEEK_END); // Obtiene tamaño del fichero. + lSize = ftell (f); + rewind (f); + char*buffer = (char*) reservaMemoria(lSize+1); // Toma memoria para el buffer de lectura. + if (!buffer) // No hay memoria suficiente para el buffer + return (NULL); + lSize=fread (buffer,1,lSize,f); // Lee contenido del fichero + fclose(f); + return (buffer); +} +// ________________________________________________________________________________________________________ +// Función: leeArchivo +// +// Descripción: +// Calcula la longitud de un archivo +// Parámetros: +// fil: Nombre completo del archivo +// Devuelve: +// Un puntero al buffer con el contenido leido + +//______________________________________________________________________________________________________ +int lonArchivo(char *fil) +{ + FILE *f; + long lSize; + + f=fopen(fil,"rb"); + if (!f) + return(0); + fseek (f,0,SEEK_END); // Obtiene tamaño del fichero. + lSize = ftell (f); + fclose(f); + return (lSize); +} +// ________________________________________________________________________________________________________ +// Función: escribeArchivo +// +// Descripción: +// Escribe un archivo +// Parámetros: +// fil: Nombre completo del archivo +// buffer: Un puntero al buffer con el contenido a escribir +// Devuelve: +//______________________________________________________________________________________________________ +BOOLEAN escribeArchivo(char *fil,char*buffer) +{ + FILE *f; + long lSize; + + f=fopen(fil,"wb"); + if (!f){ + return(FALSE); + } + lSize=strlen(buffer); + fwrite(buffer,1,lSize,f); // Escribe el contenido en el fichero + fclose(f); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: sendArchivo +// +// Descripción: +// Envía un archivo por la red +// Parámetros: +// sock: Socket para el envío +// fil: Nombre local completo del archivo +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN sendArchivo(SOCKET *sock,char *fil) +{ + long lSize; + FILE *f; + char buffer[LONBLK]; + + f = fopen(fil,"rb"); + if(!f) // El fichero no existe + return(FALSE); + + while(!feof(f)){ + lSize=fread (buffer,1,LONBLK,f); // Lee el contenido del fichero + if(!sendData(sock,buffer,lSize)) + return (FALSE); + } + fclose(f); + return(TRUE); +} +// ________________________________________________________________________________________________________ +// Función: recArchivo +// +// Descripción: +// Recibe un archivo por la red +// Parámetros: +// sock: Socket para la recepción +// fil: Nombre local completo del archivo que se creará +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//______________________________________________________________________________________________________ +BOOLEAN recArchivo(SOCKET *sock,char *fil) +{ + int lon; + FILE *f; + char buffer[LONBLK]; + + f = fopen(fil,"wb"); + if(!f) // No se ha podido crear el archivo + return(FALSE); + do{ + if(!recData(sock,buffer,LONBLK,&lon)) + return(FALSE); + // Datos recibidos + if(lon>0) + fwrite(buffer,1,lon,f); // Lee el contenido del fichero + }while(lon>0); // Bucle para recibir datos del cliente + fclose(f); + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: initParammetros +// +// Descripción: +// Libera memoria del buffer de los parametros de la trama y vuelve a reservar espacio +// Parámetros: +// - parametros : Puntero a la zona donde están los parametros de una trama +// - lon : Tamaño de la nueva reserva de espacio para los parametros +// Devuelve: +// Un puntero a la nueva zona de memoria o NULL si ha habido algún error +// Especificaciones: +// En caso de que el parámetro lon valga cero el tamaño a reservar será el estandar +//______________________________________________________________________________________________________ +BOOLEAN initParametros(TRAMA* ptrTrama,int lon) +{ + if(lon==0) lon=LONGITUD_PARAMETROS; + ptrTrama->parametros=(char*)ampliaMemoria(ptrTrama->parametros,lon); + if(!ptrTrama->parametros) + return(FALSE); + else + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: TCPConnect +// +// Descripción: +// Crea un socket y lo conecta a un servidor +// Parámetros: +// - ips : La Dirección IP del servidor +// - port : Puerto para la comunicación +// Devuelve: +// Un socket para comunicaciones por protocolo TCP +//______________________________________________________________________________________________________ +SOCKET TCPConnect(char *ips,char* port) +{ + SOCKET s; + struct sockaddr_in server; + char modulo[] = "TCPConnect()"; + + s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + if (s == INVALID_SOCKET){ + return (INVALID_SOCKET); + } + server.sin_family = AF_INET; + server.sin_port = htons((short)atoi(port)); + server.sin_addr.s_addr = inet_addr(ips); + + if (connect(s, (struct sockaddr *)&server, sizeof(server)) == INVALID_SOCKET){ + errorLog(modulo,38,TRUE); + return (INVALID_SOCKET); + } + + return(s); +} +//______________________________________________________________________________________________________ +// Función: AbreConexion +// +// Descripción: +// Abre la conexión entre el cliente y el servidor de administración +// Parámetros: +// - Ninguno +// Devuelve: +// Un socket de cliente para comunicaciones +//______________________________________________________________________________________________________ +SOCKET abreConexion(void) +{ + int swloop=0; + SOCKET s; + + while(swloop<MAXCNX){ + s=TCPConnect(servidoradm,puerto); + if(s!= INVALID_SOCKET){ + return(s); + } + swloop++; + sleep(5); // Espera cinco sgendo antes de intentar una nueva conexión + } + return(INVALID_SOCKET); +} +//______________________________________________________________________________________________________ +// Función: enviaMensaje +// +// Descripción: +// Envia un mensaje al servidor de Administración +// Parámetros: +// - socket_c: (Salida) Socket utilizado para el envío +// - ptrTrama: contenido del mensaje +// - tipo: Tipo de mensaje +// C=Comando, N=Respuesta a un comando, P=Peticion,R=Respuesta a una petición, I=Informacion +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN enviaMensaje(SOCKET *socket_c,TRAMA *ptrTrama,char tipo) +{ + char modulo[] = "enviaMensaje()"; + + *socket_c=abreConexion(); + if(*socket_c==INVALID_SOCKET){ + errorLog(modulo,38,FALSE); // Error de conexión con el servidor + return(FALSE); + } + ptrTrama->arroba='@'; // Cabecera de la trama + strncpy(ptrTrama->identificador,"JMMLCAMDJ_MCDJ",14); // identificador de la trama + ptrTrama->tipo=tipo; // Tipo de mensaje + + if (!mandaTrama(socket_c,ptrTrama)) { + errorLog(modulo,26,FALSE); + return (FALSE); + } + return(TRUE); +} +//______________________________________________________________________________________________________ +// Función: recibeMensaje +// +// Descripción: +// Recibe un mensaje del servidor de Administración +// Parámetros: +// - socket_c: Socket utilizadopara la recepción +// - ptrTrama: (Salida) Contenido del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +TRAMA* recibeMensaje(SOCKET *socket_c) +{ + TRAMA* ptrTrama; + char modulo[] = "recibeMensaje()"; + + ptrTrama=recibeTrama(socket_c); + if(!ptrTrama){ + errorLog(modulo,17,FALSE); + return(NULL); + } + return(ptrTrama); +} diff --git a/admin/Sources/Includes/ogAdmLib.h b/admin/Sources/Includes/ogAdmLib.h new file mode 100644 index 00000000..1a33efc4 --- /dev/null +++ b/admin/Sources/Includes/ogAdmLib.h @@ -0,0 +1,308 @@ +// ************************************************************************************************************************************************** +// Libreria: ogAdmLib +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ogAdmLib.h +// Descripción: Este fichero implementa el archivo de cabecera de la libreria ogAdmLib +// ************************************************************************************************************************************************** +// ________________________________________________________________________________________________________ +// Valores definidos +// ________________________________________________________________________________________________________ +#define LONSTD 1024 // Longitud de memoria estandar +#define LONINT 16 // Longitud de memoria estandar para un número entero +#define LONFIL 256 // Longitud de memoria estandar para nombres de archivo completos (incluido path) +#define LONIP 16 // Longitud de memoria estandar para cadenas que contiene una dirección IP +#define LONMAC 16 // Longitud de memoria estandar para cadenas que contiene una dirección MAC +#define LONSQL 4096 // Longitud de memoria estandar para una sentencia SQL +#define LONPRM 512 // Longitud estandar de los parámetros del fichero de configuración del servicio +#define LONSCP 2024 // Longitud estandar de los parámetros de las tramas +#define LONFUN 64 // Longitud estandar de los nombres de las funciones que procesan las tramas +#define LONSUC 512 // Longitud de los mensajes de sucesos +#define LONBLK 512 // Longitud de los paquetes de tramas leidos cada vez +#define MAXPRM 10 // Máximo número de parámeros del fichero de configuración del servicio +#define MAXPAR 16 // Máximo número de particiones manejadas por el sistema +#define MAXLONURL 512 // Longitud máxima de una dirección url con parámetros + +#define LONHEXPRM 5 // Longitud del campo que contiene el tamaño de la cadena de parámetros +#define LONGITUD_CABECERATRAMA 16 // Longitud de la cabecera de las tramas +#define LONGITUD_PARAMETROS 1024 // Longitud estandar de la información de la trama (parámetros) +#define MAXCMD_PARAMETROS 200 // Máximo número de parámetros de una trama + +#define MAXIMOS_CLIENTES 4000 // Máximo número de conexiones con ordenadores clientes +#define MAXIMAS_FUNCIONES LONSTD // Máximo número de funciones que procesan los mensajes entre servicio y clientes +#define MAXIMAS_LINEAS 3000 // Longitud máxima de lineas en un archivo de comandos + +#define AUTOINCORPORACION_OFF 0x0000 // Los ordenadores no se pueden dar de alta automáticamente +#define AUTOINCORPORACION_ONA 0x0001 // Los ordenadores se pueden dar de alta automáticamente si existe el aula +#define AUTOINCORPORACION_ONX 0x0002 // Los ordenadores se pueden dar de alta automáticamentee y si no existe el aula la crea + +#define DEBUG_BAJO 1 // Nivel de debug bajo +#define DEBUG_MEDIO 2 // Nivel de debug medio +#define DEBUG_ALTO 3 // Nivel de debug alto +#define DEBUG_MAXIMO 4 // Nivel de debug máximo + +#define CLIENTE_OCUPADO "BSY" // Cliente ocupado +#define CLIENTE_APAGADO "OFF" // Cliente apagado +#define CLIENTE_INICIANDO "INI" // Cliente iniciando + +#define CLIENTE_OPENGNSYS "OPG" // Cliente Opengnsys + +#define CLIENTE_WIN "WIN" // Cliente Windows genérico +#define CLIENTE_WNT "WNT" // Windows NT +#define CLIENTE_W2K "W2K" // Windows 2000 +#define CLIENTE_WS2 "WS2" // Windows Server 2003 +#define CLIENTE_WXP "WXP" // Cliente Windows XP +#define CLIENTE_W95 "W95" // Windows 95 +#define CLIENTE_W98 "W98" // Windows 98 +#define CLIENTE_WML "WML" // Windows Milenium +#define CLIENTE_MS2 "MS2" // MsDos +#define CLIENTE_WVI "WVI" // Cliente Windows Vista +#define CLIENTE_WI7 "WI7" // Cliente Windows 7 + +#define CLIENTE_LNX "LNX" // Cliente Linux + +#define ACCION_SINRESULTADO 0 // Sin resultado +#define ACCION_EXITOSA 1 // Finalizada con éxito +#define ACCION_FALLIDA 2 // Finalizada con errores + +#define ACCION_INICIADA 1 // Acción activa +#define ACCION_DETENIDA 2 // Acción momentanemente parada +#define ACCION_FINALIZADA 3 // Accion finalizada + +#define EJECUCION_COMANDO 1 +#define EJECUCION_PROCEDIMIENTO 2 +#define EJECUCION_TAREA 3 +#define EJECUCION_RESERVA 4 + +#define AMBITO_CENTROS 0x01 +#define AMBITO_GRUPOSAULAS 0x02 +#define AMBITO_AULAS 0x04 +#define AMBITO_GRUPOSORDENADORES 0x08 +#define AMBITO_ORDENADORES 0x10 + +// Código de los tipos de mensajes +#define MSG_COMANDO '1' // Mensaje del tipo comando +#define MSG_NOTIFICACION '2' // Respuesta a la ejecución un comando +#define MSG_PETICION '3' // Petición de cualquier actuación +#define MSG_RESPUESTA '4' // Respuesta a una petición +#define MSG_INFORMACION '5' // Envío de cualquier información sin espera de confirmación o respuesta + +#define ANNOREF 2009 // Año de referencia base + +#define LONGITUD_SCRIPTSALIDA 512 // Longitud máxima de la información devuelta por una función de interface +#define MAXARGS 16 // Número máximo de argumentos enviados a un scripts +#define MAXCNX 5 // Máximos intentos de conexión al servidor de Administración + +#define PUERTO_WAKEUP 9 // Puerto wake up + +#define MAXHARDWARE 128 // Máximos elementos hardware a detectar +#define MAXSOFTWARE 2048 // Máximos elementos software a detectar +// ________________________________________________________________________________________________________ +// Tipos definidos +// ________________________________________________________________________________________________________ +typedef unsigned long DWORD; +typedef unsigned short WORD; +typedef int BOOLEAN; +typedef char BYTE; +typedef int SOCKET; +typedef void* LPVOID; + +#define TRUE 1 +#define FALSE 0 + +#define SOCKET_ERROR (-1) +#define INVALID_SOCKET (SOCKET)(~0) + +#define LEER 0 +#define ESCRIBIR 1 + +#define CHARNULL '\0' + +// ________________________________________________________________________________________________________ +// Variables globales +// ________________________________________________________________________________________________________ +char szPathFileCfg[LONSTD],szPathFileLog[LONSTD]; +int ndebug; // Nivel de debuger + +typedef struct{ // Estructura de las tramas + char arroba; // Caracter arroba siempre + char identificador[14]; // Identificador de la trama, siempre JMMLCAMDJ_MCDJ + char tipo; // Tipo de mensaje + int lonprm; // Longitud en hexadecimal de los parámetros + char *parametros; // Parámetros de la trama +}TRAMA; +// ________________________________________________________________________________________________________ +// Tabla de errores +// ________________________________________________________________________________________________________ +const char* tbErrores[]={"Se han generado errores. No se puede continuar la ejecución de este módulo",\ + "001-El nombre del fichero de configuración del programa está vacío",\ + "002-No existe fichero de configuración del programa",\ + "003-No hay memoria suficiente para el buffer",\ + "004-Error en el fichero de configuración del programa. No se ha definido el parámetro SERVIDORADM",\ + "005-Error en el fichero de configuración del programa. No se ha definido el parámetro PUERTO",\ + "006-Error en el fichero de configuración del programa. No se ha definido el parámetro USUARIO",\ + "007-Error en el fichero de configuración del programa. No se ha definido el parámetro PASSWORD",\ + "008-Error en el fichero de configuración del programa. No se ha definido el parámetro DATASOURCE",\ + "009-Error en el fichero de configuración del programa. No se ha definido el parámetro CATALOG",\ + "010-Error en los parámetros de ejecución del programa. Debe especificar el fichero de configuración",\ + "011-Error en los parámetros de ejecución del programa. Debe especificar el fichero de log",\ + "012-Error de sintaxis en los parámetros de ejecución del programa: Debe especificar -f nombre_del_fichero_de_configuración_del_programa -l nombre_del_fichero_de_log_del_programa -d nivel de debug",\ + "013-Error al crear socket ***socket() fallo",\ + "014-Error al enlazar socket al interface ***bind() fallo",\ + "015-Error al acceptar conexión de clientes ***accept() fallo",\ + "016-Error al crear hebra de cliente en módulo main()",\ + "017-Error al recibir trama ***recv() fallo",\ + "018-No se reconoce el mensaje enviado",\ + "019-Trama recibida NO válida",\ + "020-No se puede establecer conexión con la base de datos",\ + "021-No se han podido recuperar los datos de la consulta o bien insertar, modificar o eliminar datos",\ + "022-El cliente no se ha sido dado de alta en la base de datos del sistema. Se rechaza su petición de inclusión",\ + "023-Ha habido algún problema en la incorporación automática del cliente",\ + "024-Ha habido algún problema en la actualización de la configuración del cliente",\ + "025-La tabla de clientes está llena, no pueden registrarse más clientes en el sistema",\ + "026-Error al enviar trama ***send() fallo",\ + "027-No se encuentra Repositorio del cliente",\ + "028-Ha ocurrido algún error al tomar las particiones",\ + "029-Ha ocurrido algún problema en el proceso de inclusión del cliente. Se rechaza su petición",\ + "030-Ha ocurrido algún problema en el proceso de respuesta al comando",\ + "031-No se ha encontrado la acción a notificar es posible que se haya eliminado el registro",\ + "032-Ha ocurrido algún problema en el envío del comando",\ + "033-Error en el fichero de configuración del programa. No se ha definido el parámetro PATHSCRIPTS",\ + "034-Error en el fichero de configuración del programa. No se ha definido el parámetro URLMENU",\ + "035-Error en el fichero de configuración del programa. No se ha definido el parámetro URLMSG",\ + "036-No se ha podido recuperar la configuración de las particiones del disco",\ + "037-Ha ocurrido algún problema en el proceso de inclusión del cliente",\ + "038-No se ha podido establecer conexión con el Servidor de Administración",\ + "039-Ha ocurrido algún problema al procesar la trama recibida",\ + "040-Se han recibido parámetros conurl valores no válidos",\ + "041-Ha ocurrido algún problema en el proceso de inclusión del cliente",\ + "042-Ha ocurrido algún problema al enviar una petición de comandos o tareas pendientes al Servidor de Administración",\ + "043-Ha ocurrido algún problema al enviar una petición de comandos interactivos al Servidor de Administración",\ + "044-Ha ocurrido algún problema al enviar una respuesta de comandos al servidor",\ + "045-Ha ocurrido algún problema al recibir una petición de comandos o tareas pendientes desde el Servidor de Administración",\ + "046-Ha ocurrido algún problema al recibir un comando interactivo desde el Servidor de Administración",\ + "047-El cliente no está registrado en la tabla de sockest del sistema",\ + "048-Error al configurar opción BROADCAST para socket: setsockopt(SO_BROADCAST)",\ + "049-Error al enviar trama magic packet",\ + "050-Ha ocurrido algún problema al enviar un fichero por la red",\ + "051-Error en el fichero de configuración del programa. No se ha definido el parámetro PATHLOGFIL",\ + "052-No se puede crear archivo temporal para ejecución de Comandos",\ + "053-Ha ocurrido algún problema al procesar el Inventario Hardware del cliente",\ + "054-Existe un tipo de hardware que no está registrado",\ + "055-Ha ocurrido algún problema al actualizar el hardware del cliente",\ + "056-Error en el fichero de configuración del programa. No se ha definido el parámetro PATHINTERFACE",\ + "057-Ha ocurrido algún problema al enviar un archivo por la red",\ + "058-Ha ocurrido algún problema al recibir un archivo por la red",\ + "059-Error al crear la hebra DHCP o BOOTP",\ + "060-Error al crear la hebra TFTP",\ + "061-Error al crear socket para servicio DHCP",\ + "062-Error al enlazar socket con interface para servicio DHCP",\ + "063-No hay puertos libres para la hebra del servicio",\ + "064-Error al crear estructura de control para protocolo DHCP",\ + "065-Error al recibir mensaje DHCP. Se para el servicio",\ + "066-Error al crear la hebra cliente DHCP",\ + "067-Error al crear socket para servicio BOOTP",\ + "068-Error al enlazar socket con interface para servicio BOOTP",\ + "069-Error al crear estructura de control para protocolo BOOTP",\ + "070-Error al recibir mensaje BOOTP. Se para el servicio",\ + "071-Error al crear la hebra cliente BOOTP",\ + "072-Error al crear socket para servicio TFTP",\ + "073-Error al enlazar socket con interface para servicio TFTP",\ + "074-Error al crear estructura de control para protocolo TFTP",\ + "075-Error al recibir mensaje TFTP. Se para el servicio",\ + "076-Error al crear la hebra cliente TFTP",\ + "077-No se encontró opción DHCP",\ + "078-ERROR TFTP",\ + "079-Error al recibir mensaje TFTP en hebra cliente",\ + "080-Error al recibir mensaje DHCP",\ + "081-Error al crear socket de usuario para hebra",\ + "082-Ha ocurrido algún problema al procesar el Inventario software del cliente",\ + "083-Ha ocurrido algún problema al actualizar el software del cliente",\ + "084-Ha ocurrido algún problema al reiniciar la sesión del cliente",\ + "085-No se ha podido recuperar la dirección IP del cliente",\ + "086-Error al ejecutar el comando",\ + "087-Error al leer o escribir el contenido del archivo de eco de consola remota",\ + "088-Ha habido algún problerma al procesar la caché",\ + "089-Error en el fichero de configuración del programa. No se ha definido el parámetro URLMENU",\ + "090-Error en el fichero de configuración del programa. No se ha definido el parámetro URLMSG",\ + "091-Ha habido algún problema al enviar un mensaje de tipo petición al Servidor",\ + +}; +// ________________________________________________________________________________________________________ +// Tabla de mensajes +// ________________________________________________________________________________________________________ +const char* tbMensajes[]={"",\ + "001-Inicio de sesion",\ + "002-Petición de inclusión de cliente",\ + "003-Abriendo sesión en el servidor de Administración",\ + "004-Cliente iniciado",\ + "005-Ejecución de archivo Autoexec",\ + "006-Procesa comandos pendientes",\ + "007-Acciones pendientes procesadas",\ + "008-Ejecución del script",\ + "009-Parámetro del script",\ + "010-Ha ocurrido algún error en la creación del proceso hijo",\ + "011-Aviso: La información de salida del script excede de la longitud permitida. Puede haberse truncado",\ + "012-Información devuelta por el script",\ + "013-Estatus de finalización del script",\ + "014-Configuración de particiones",\ + "015-Enviando petición de inclusión en el sistema al Servidor de Administración",\ + "016-Recibiendo respuesta de inclusión desde el Servidor de Administración",\ + "017-Enviando petición de comandos o tareas pendientes al Servidor de Administración",\ + "018-Recibiendo respuesta de comandos o tareas pendientes desde el Servidor de Administración",\ + "019-Disponibilidad de comandos activada",\ + "020-Disponibilidad de comandos desactivada",\ + "021-Ejecución de comando",\ + "022-Sin eco",\ + "023-Procesando caché",\ + "024-Repositorio iniciado",\ + +}; +// ________________________________________________________________________________________________________ +// Prototipo de funciones +// ________________________________________________________________________________________________________ +char *desencriptar(char *,int*); +char *encriptar(char *,int*); +struct tm * tomaHora(); +void registraLog(const char *,const char *,int ); +void errorLog(const char *,int ,int); +void errorInfo(const char *,char *); +void infoLog(int); +void infoDebug(char*); +BOOLEAN validacionParametros(int,char**,int); +char* reservaMemoria(int); +char* ampliaMemoria(char*,int); +void liberaMemoria(char*); +BOOLEAN initParametros(TRAMA*,int); +int splitCadena(char **,char *, char); +void sustituir(char *,char ,char ); +char* StrToUpper(char *); +char* StrToLower(char *); +void INTROaFINCAD(TRAMA*); +void FINCADaINTRO(TRAMA*); +int cuentaIPES(char*); +char *tomaParametro(const char*,TRAMA*); +char *copiaParametro(const char*,TRAMA *); +BOOLEAN contieneIP(char *,char *); +char* rTrim(char *); +SOCKET TCPConnect(char *,char *); +SOCKET abreConexion(void); +BOOLEAN enviaMensaje(SOCKET *,TRAMA *,char); +TRAMA* recibeMensaje(SOCKET *); +BOOLEAN mandaTrama(SOCKET*,TRAMA*); +BOOLEAN sendData(SOCKET *, char* ,int ); +BOOLEAN enviaTrama(SOCKET *,TRAMA *); +TRAMA* recibeTrama(SOCKET*); +BOOLEAN recData(SOCKET *,char*,int,int*); +BOOLEAN sendFlag(SOCKET *, char* ,int ); +BOOLEAN recibeFlag(SOCKET*,TRAMA*); +char* URLEncode(char *); +char* URLDecode(char *); +char* leeArchivo(char*); +int lonArchivo(char *); +BOOLEAN escribeArchivo(char *,char*); +BOOLEAN sendArchivo(SOCKET *,char *); +BOOLEAN recArchivo(SOCKET *,char *); +SOCKET TCPConnect(char *,char*); + diff --git a/admin/Sources/Services/ogAdmAgent/Makefile b/admin/Sources/Services/ogAdmAgent/Makefile new file mode 100644 index 00000000..ae5d0f68 --- /dev/null +++ b/admin/Sources/Services/ogAdmAgent/Makefile @@ -0,0 +1,43 @@ +# makefile + +# Nombre del proyecto +PROYECTO := ogAdmAgent + +# Directorio de instalación +INSTALL_DIR := /opt/opengnsys + +# Opciones de compilacion +CFLAGS := -O0 -g -Wall -I../../Includes # Depuracion +#CFLAGS := -O3 -Wall # Optimizacion +CPPFLAGS := $(CFLAGS) + +# Opciones de linkado +LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient + +# Ficheros objetos +OBJS := ../../Includes/Database.o sources/ogAdmAgent.o + + +all: $(PROYECTO) + +$(PROYECTO): $(OBJS) + g++ $(LDFLAGS) $(OBJS) -o $(PROYECTO) +# strip $(PROYECTO) # Optimizacion + +install: $(PROYECTO) + cp $(PROYECTO) $(INSTALL_DIR)/sbin + cp $(PROYECTO).cfg $(INSTALL_DIR)/etc + +clean: + rm -f $(PROYECTO) $(OBJS) + +uninstall: clean + rm -f /usr/local/sbin/$(PROYECTO) /usr/local/etc/$(PROYECTO).cfg + +sources/%.o: sources/%.cpp + g++ $(CPPFLAGS) -c -o"$@" "$<" + +sources/%.o: sources/%.c + gcc $(CFLAGS) -c -o"$@" "$<" + + diff --git a/admin/Sources/Services/ogAdmAgent/ogAdmAgent.cfg b/admin/Sources/Services/ogAdmAgent/ogAdmAgent.cfg new file mode 100644 index 00000000..b21c91ae --- /dev/null +++ b/admin/Sources/Services/ogAdmAgent/ogAdmAgent.cfg @@ -0,0 +1,7 @@ +ServidorAdm=SERVERIP +PUERTO=2008 +USUARIO=usuog +PASSWORD=passusuog +datasource=localhost +CATALOG=ogAdmBD + diff --git a/admin/Sources/Services/ogAdmAgent/sources/ogAdmAgent.cpp b/admin/Sources/Services/ogAdmAgent/sources/ogAdmAgent.cpp new file mode 100644 index 00000000..11c1d77f --- /dev/null +++ b/admin/Sources/Services/ogAdmAgent/sources/ogAdmAgent.cpp @@ -0,0 +1,905 @@ +// ********************************************************************************************************
+// Servicio: ogAdmAgent
+// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creación: Marzo-2010
+// Fecha Última modificación: Marzo-2010
+// Nombre del fichero: ogAdmAgent.cpp
+// Descripción: Este fichero implementa el servicio agente del sistema. Revisa a intervalos
+// regulares la base de datos para comprobar si existen acciones programadas.
+// ********************************************************************************************************
+#include "ogAdmAgent.h"
+#include "ogAdmLib.c"
+//________________________________________________________________________________________________________
+// Función: tomaConfiguracion
+//
+// Descripción:
+// Lee el fichero de configuración del servicio
+// Parámetros:
+// filecfg : Ruta completa al fichero de configuración
+// Devuelve:
+// TRUE: Si el proceso es correcto
+// FALSE: En caso de ocurrir algún error
+//________________________________________________________________________________________________________
+BOOLEAN tomaConfiguracion(char* filecfg)
+{
+ char modulo[] = "tomaConfiguracion()";
+
+ if (filecfg == NULL || strlen(filecfg) == 0) {
+ errorLog(modulo, 1, FALSE); // Fichero de configuración del servicio vacío
+ return (FALSE);
+ }
+ FILE *fcfg;
+ long lSize;
+ char * buffer, *lineas[MAXPRM], *dualparametro[2];
+ int i, numlin, resul;
+
+ fcfg = fopen(filecfg, "rt");
+ if (fcfg == NULL) {
+ errorLog(modulo, 2, FALSE); // No existe fichero de configuración del servicio
+ return (FALSE);
+ }
+
+ fseek(fcfg, 0, SEEK_END);
+ lSize = ftell(fcfg); // Obtiene tamaño del fichero.
+ rewind(fcfg);
+ buffer = (char*) reservaMemoria(lSize + 1); // Toma memoria para el buffer de lectura.
+ if (buffer == NULL) { // No hay memoria suficiente para el buffer
+ errorLog(modulo, 3, FALSE);
+ return (FALSE);
+ }
+ fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero
+ buffer[lSize] = (char) NULL;
+ fclose(fcfg);
+
+ servidoradm[0] = (char) NULL; //inicializar variables globales
+ puerto[0] = (char) NULL;
+ usuario[0] = (char) NULL;
+ pasguor[0] = (char) NULL;
+ datasource[0] = (char) NULL;
+ catalog[0] = (char) NULL;
+
+ numlin = splitCadena(lineas, buffer, '\n');
+ for (i = 0; i < numlin; i++) {
+ splitCadena(dualparametro, lineas[i], '=');
+ resul = strcmp(StrToUpper(dualparametro[0]), "SERVIDORADM");
+ if (resul == 0)
+ strcpy(servidoradm, dualparametro[1]);
+ resul = strcmp(StrToUpper(dualparametro[0]), "PUERTO");
+ if (resul == 0)
+ strcpy(puerto, dualparametro[1]);
+ resul = strcmp(StrToUpper(dualparametro[0]), "USUARIO");
+ if (resul == 0)
+ strcpy(usuario, dualparametro[1]);
+ resul = strcmp(StrToUpper(dualparametro[0]), "PASSWORD");
+ if (resul == 0)
+ strcpy(pasguor, dualparametro[1]);
+ resul = strcmp(StrToUpper(dualparametro[0]), "DATASOURCE");
+ if (resul == 0)
+ strcpy(datasource, dualparametro[1]);
+ resul = strcmp(StrToUpper(dualparametro[0]), "CATALOG");
+ if (resul == 0)
+ strcpy(catalog, dualparametro[1]);
+ }
+ if (servidoradm[0] == (char) NULL) {
+ errorLog(modulo, 4, FALSE); // Falta parámetro SERVIDORADM
+ return (FALSE);
+ }
+ if (puerto[0] == (char) NULL) {
+ errorLog(modulo, 5, FALSE); // Falta parámetro PUERTO
+ return (FALSE);
+ }
+ if (usuario[0] == (char) NULL) {
+ errorLog(modulo, 6, FALSE); // Falta parámetro USUARIO
+ return (FALSE);
+ }
+ if (pasguor[0] == (char) NULL) {
+ errorLog(modulo, 7, FALSE); // Falta parámetro PASSWORD
+ return (FALSE);
+ }
+ if (datasource[0] == (char) NULL) {
+ errorLog(modulo, 8, FALSE); // Falta parámetro DATASOURCE
+ return (FALSE);
+ }
+ if (catalog[0] == (char) NULL) {
+ errorLog(modulo, 9, FALSE); // Falta parámetro CATALOG
+ return (FALSE);
+ }
+ return (TRUE);
+}
+// ________________________________________________________________________________________________________
+//
+// Función: diadelaSemana
+//
+// Descripción:
+// Calcula el número del día de la semana que corresponde a una fecha
+// Parámetros:
+// - dia: Un día
+// - mes: Un mes
+// - anno: Un año
+// Devuelve:
+// El número del día de la semana: 1=Lunes, 2=martes ... 6=sábado 7=domingo
+// ________________________________________________________________________________________________________
+
+int diadelaSemana(WORD dia,WORD mes,WORD anno)
+{
+ int i,cont,dias_anuales;
+ int desplazamiento_dias=6;
+ int orddiasem;
+
+ cont =0;
+ for (i=1900;i<anno;i++){
+ if (bisiesto(i)) dias_anuales=366; else dias_anuales=365;
+ cont+=dias_anuales;
+ }
+ for (i=1;i<mes;i++){
+ if (i!=2)
+ cont+=dias_meses[i];
+ else{
+ if (bisiesto(anno))
+ cont+=29;
+ else
+ cont+=28;
+ }
+ }
+ cont+=dia+desplazamiento_dias;
+ orddiasem=(cont%7);
+ if(orddiasem==0) orddiasem=7;
+ return(orddiasem);
+}
+// ________________________________________________________________________________________________________
+//
+// Función: bisiesto
+//
+// Descripción:
+// Calcula si un año es bisiesto o no lo es
+// Parámetros:
+// - anno: Un año
+// Devuelve:
+// TRUE si el año es bisiesto
+// FALSE si no es bisiesto
+// ________________________________________________________________________________________________________
+
+BOOLEAN bisiesto(WORD anno){
+ return(anno%4==0);
+}
+// ________________________________________________________________________________________________________
+//
+// Función: semanadelMes
+//
+// Descripción:
+// Calcula el número de semana perteneciente a un día del mes
+// Parámetros:
+// - ordiasem_1: Orden semanal (1,2...) del primer dia del mes que se pasa como parámetro
+// - diames: El mes concreto
+// Devuelve:
+// El número del día de la semana: 1=Lunes, 2=martes ... 6=sábado 7=domingo , de ese mes
+// ________________________________________________________________________________________________________
+
+int semanadelMes(int ordiasem_1,int diames)
+{
+ int nwdia,resto,cociente;
+
+ nwdia=diames+ordiasem_1-1;
+ cociente=nwdia/7;
+ resto=nwdia%7;
+ if(resto>0) cociente++;
+ return(cociente);
+}
+// ________________________________________________________________________________________________________
+//
+// Función: buscaAccion
+//
+// Descripción:
+// Busca en la base de datos, acciones programadas
+// Parámetros:
+// - db: Objeto base de datos (operativo)
+// - dia : Día actual del mes
+// - mes : mes en curso
+// - anno : Año en curso
+// - hora : Hora actual
+// - minutos : Minutos actuales
+// - diasemana : Dia de la semana 1=lunes,2=martes ... ( 0 Domingo)
+// Devuelve:
+// TRUE: Si el proceso es correcto
+// FALSE: En caso de ocurrir algún error
+// ________________________________________________________________________________________________________
+
+BOOLEAN buscaAccion(Database db,WORD dia,WORD mes,WORD anno,WORD hora,WORD minutos,WORD diasemana)
+{
+ char msglog[LONSTD], sqlstr[LONSQL];
+ Table tbl;
+ BYTE swampm,bitsemana;
+ int ordsem,ordulsem,ordiasem_1,maxdias;
+ int sesionprog;
+ char modulo[] = "buscaAccion()";
+
+ /* Año de comienzo */
+ anno=anno-ANNOREF; //
+ /* Preparación hora */
+ if(hora>11){
+ hora-=12;
+ swampm=1; // Es P.M.
+ }
+ else
+ swampm=0; // Es am
+ /* Preparación semana */
+ if(diasemana==0) diasemana=7; // El domingo
+
+ // Cuestión semanas
+ ordiasem_1=diadelaSemana(1,mes,anno+2009);
+ ordsem=semanadelMes(ordiasem_1,dia); // Calcula el número de la semana
+ if (mes!=2) // Toma el último día de ese mes
+ maxdias=dias_meses[mes];
+ else{
+ if (bisiesto(anno+ANNOREF))
+ maxdias=29;
+ else
+ maxdias=28;
+ }
+ ordulsem=semanadelMes(ordiasem_1,maxdias); // Calcula el número de la última semana
+ bitsemana=HEX_semanas[ordsem];
+ if(ordsem==ordulsem) // Si es la última semana del mes
+ bitsemana|=HEX_semanas[6];
+
+ sprintf(sqlstr,"SELECT DISTINCT idprogramacion,tipoaccion,identificador,sesion,idcentro,"\
+ "tareas.descripcion as descritarea"\
+ " FROM programaciones"\
+ " LEFT OUTER JOIN tareas ON tareas.idtarea=programaciones.identificador"\
+ " WHERE suspendida=0 "\
+ " AND (annos & %d <> 0) "\
+ " AND (meses & %d<>0) "\
+ " AND ((diario & %d<>0) OR (dias & %d<>0) OR (semanas & %d<>0))"\
+ " AND (horas & %d<>0) AND ampm=%d AND minutos=%d",\
+ HEX_annos[anno],\
+ HEX_meses[mes],\
+ HEX_dias[dia],\
+ HEX_diasemana[diasemana],\
+ bitsemana,\
+ HEX_horas[hora],\
+ swampm,minutos);
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(tbl.ISEOF()){
+ return(TRUE); // No hay acciones programadas
+ }
+
+ while(!tbl.ISEOF()){
+ if(!tbl.Get("idprogramacion",idprogramacion)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("tipoaccion",tipoaccion)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("identificador",idtipoaccion)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("sesion",sesionprog)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("idcentro",idcentro)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+
+ if(tipoaccion==EJECUCION_COMANDO){ // Es una programación de un comando
+ return(ejecutarComando(db,idprogramacion,sesionprog));
+ }
+ else{
+
+ if(tipoaccion==EJECUCION_TAREA){
+ if(!tbl.Get("descritarea",descriaccion)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ return(ejecutarTarea(db,idprogramacion,idtipoaccion));
+ }
+ else{
+ if(tipoaccion==EJECUCION_RESERVA){
+ EjecutarReserva(idtipoaccion,db); // Es una programación de un trabajo
+ }
+ }
+ }
+ tbl.MoveNext();
+ }
+ return(TRUE);
+}
+// ________________________________________________________________________________________________________
+//
+// Función: ejecutarComando
+//
+// Descripción:
+// Ejecuta un comando programado
+// Parámetros:
+// - db: Objeto base de datos (operativo)
+// - idcomando: Identificador del comando
+// - sesion: Sesión correspondiente al comando cuando se grabó en la tabla acciones
+// Devuelve:
+// TRUE: Si el proceso es correcto
+// FALSE: En caso de ocurrir algún error
+// ________________________________________________________________________________________________________
+
+BOOLEAN ejecutarComando(Database db,int idprogramacion,int sesion )
+{
+ struct tm* st;
+ char msglog[LONSTD], sqlstr[LONSQL];
+ char fechahorareg[24];
+ char modulo[] = "ejecutarComando()";
+
+ st = tomaHora();
+ sprintf(fechahorareg,"%d/%d/%d %d:%d:%d", st->tm_year + 1900, st->tm_mon + 1,
+ st->tm_mday, st->tm_hour, st->tm_min, st->tm_sec);
+
+ sprintf(sqlstr,"UPDATE acciones SET estado=%d,idprogramacion=%d,fechahorareg='%s'"\
+ " WHERE sesion=%d", ACCION_INICIADA,idprogramacion,fechahorareg,sesion);
+
+ if (!db.Execute(sqlstr)) { // Error al recuperar los datos
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ return(enviaPeticion(idprogramacion));
+}
+// ________________________________________________________________________________________________________
+//
+// Función: ejecutarProcedimiento
+//
+// Descripción:
+// Ejecuta un procedimiento programado
+// Parámetros:
+// - db: Objeto base de datos (operativo)
+// - idprocedimiento: Identificador del procedimiento
+// - ambito: Ámbito de aplicación
+// - idambito: Identificador del ámbito
+// - restrambito: cadena con los identificadores de los ordenadores a los que se aplica la acción
+// Devuelve:
+// TRUE: Si el proceso es correcto
+// FALSE: En caso de ocurrir algún error
+// ________________________________________________________________________________________________________
+
+BOOLEAN ejecutarProcedimiento(Database db,int idprocedimiento,int ambito,int idambito,char* restrambito)
+{
+ char msglog[LONSTD], sqlstr[LONSQL],*parametros;
+ Table tbl;
+ int procedimientoid,idcomando,lonprm;
+ char modulo[] = "ejecutarProcedimiento()";
+
+ sprintf(sqlstr,"SELECT idcomando,procedimientoid,parametros,length(parametros) as lonprm"\
+ " FROM procedimientos_acciones"\
+ " WHERE idprocedimiento=%d ORDER BY orden",idprocedimiento);
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+
+ if(tbl.ISEOF()){
+ return(TRUE); // No exustde tarea
+ }
+ while(!tbl.ISEOF()){
+ if(!tbl.Get("procedimientoid",procedimientoid)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(procedimientoid>0){ // Procedimiento recursivo
+ if(!ejecutarProcedimiento(db,procedimientoid,ambito,idambito,restrambito)){
+ return(false);
+ }
+ }
+ else{
+ if(!tbl.Get("lonprm",lonprm)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ parametros = reservaMemoria(lonprm+1); // Reserva para almacenar los parametros del procedimiento
+ if (parametros == NULL) {
+ errorLog(modulo, 3, FALSE);
+ return (FALSE);
+ }
+ if(!tbl.Get("parametros",parametros)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("idcomando",idcomando)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+
+ if(!insertaComando(db,idcomando,parametros,idprocedimiento,ambito,idambito,restrambito))
+ return(false);
+ }
+ tbl.MoveNext();
+ }
+ return(TRUE);
+}
+// ________________________________________________________________________________________________________
+//
+// Función: ejecutarTarea
+//
+// Descripción:
+// Ejecuta una tarea programada
+// Parámetros:
+// - db: Objeto base de datos (operativo)
+// - idtarea: Identificador de la tarea
+// - idprogramacion: Identificador de la programación
+// Devuelve:
+// TRUE: Si el proceso es correcto
+// FALSE: En caso de ocurrir algún error
+// ________________________________________________________________________________________________________
+
+BOOLEAN ejecutarTarea(Database db, int idprogramacion, int idtarea)
+{
+ char msglog[LONSTD], sqlstr[LONSQL];
+ Table tbl;
+ int tareaid,ambito,idambito,idprocedimiento,lonrestrambito;
+ char* restrambito;
+ char modulo[] = "ejecutarTarea()";
+
+ sprintf(sqlstr,"SELECT tareas_acciones.orden,tareas_acciones.idprocedimiento,tareas_acciones.tareaid,"\
+ " tareas.ambito,tareas.idambito,tareas.restrambito,length(tareas.restrambito) as lonrestrambito"\
+ " FROM tareas"\
+ " INNER JOIN tareas_acciones ON tareas_acciones.idtarea=tareas.idtarea"\
+ " WHERE tareas_acciones.idtarea=%d ORDER BY tareas_acciones.orden",idtarea);
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+
+ if(tbl.ISEOF()){
+ return(TRUE); // No existe tarea
+ }
+
+ while(!tbl.ISEOF()){
+ if(!tbl.Get("tareaid",tareaid)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(tareaid>0){ // Tarea recursiva
+ if(!ejecutarTarea(db,idprogramacion,tareaid)){
+ return(false);
+ }
+ }
+ else{
+ if(!tbl.Get("ambito",ambito)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("idambito",idambito)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("lonrestrambito",lonrestrambito)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ restrambito = reservaMemoria(lonrestrambito+1);
+ if (restrambito == NULL) {
+ errorLog(modulo, 3, FALSE);
+ return (FALSE);
+ }
+ if(!tbl.Get("restrambito",restrambito)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ RecopilaIpesMacs(db,ambito,idambito,restrambito); // Recopila Ipes del ámbito
+ if(!tbl.Get("idprocedimiento",idprocedimiento)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ sesion=time(NULL);
+
+ if(!ejecutarProcedimiento(db,idprocedimiento,ambito,idambito,restrambito))
+ return(FALSE);
+ }
+ tbl.MoveNext();
+ }
+ return(enviaPeticion(idprogramacion));
+}
+// ________________________________________________________________________________________________________
+//
+// Función: ejecutarTarea
+//
+// Descripción:
+// Registra un procedimiento para un ambito concreto
+// Parámetros:
+// - db: Objeto base de datos (operativo)
+// - idcomando: Identificador del comando
+// - idprocedimiento: Identificador del procedimiento
+// - ambito: Ámbito de aplicación
+// - idambito: Identificador del ámbito
+// - restrambito: cadena con los identificadores de los ordenadores a los que se aplica la acción
+// Devuelve:
+// TRUE: Si el proceso es correcto
+// FALSE: En caso de ocurrir algún error
+//________________________________________________________________________________________________________
+BOOLEAN insertaComando(Database db,int idcomando,char*parametros,int idprocedimiento,int ambito,int idambito,char*restrambito)
+{
+ char msglog[LONSTD], sqlstr[LONSQL];
+ struct tm* st;
+ char *auxID[MAXIMOS_CLIENTES],*auxIP[MAXIMOS_CLIENTES];
+ char fechahorareg[24];
+ int i;
+ char modulo[] = "insertaComando()";
+
+ if(concli==0) return(TRUE); // No hay ordenadores en el ámbito
+
+ st = tomaHora();
+ sprintf(fechahorareg,"%d/%d/%d %d:%d:%d", st->tm_year + 1900, st->tm_mon + 1, st->tm_mday, st->tm_hour, st->tm_min, st->tm_sec);
+
+ splitCadena(auxID,cadenaid,',');
+ splitCadena(auxIP,cadenaip,';');
+
+ for (i=0;i<concli;i++){
+ sprintf(sqlstr,"INSERT INTO acciones (idordenador,tipoaccion,idtipoaccion,descriaccion,ip,"\
+ "sesion,idcomando,parametros,fechahorareg,estado,resultado,ambito,idambito,"\
+ "restrambito,idprocedimiento,idcentro,idprogramacion)"\
+ " VALUES (%s,%d,%d,'%s','%s',%d,%d,'%s','%s',%d,%d,%d,%d,'%s',%d,%d,%d)",\
+ auxID[i],tipoaccion,idtipoaccion,descriaccion,auxIP[i],sesion,idcomando,parametros,fechahorareg,\
+ ACCION_INICIADA,ACCION_SINRESULTADO,ambito,idambito,restrambito,idprocedimiento,idcentro,idprogramacion);
+ if (!db.Execute(sqlstr)) { // Error al recuperar los datos
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ }
+ return(TRUE);
+}
+// _____________________________________________________________________________________________________________
+// Función: EjecutarReserva
+//
+// Descripción:
+// Registra una acción (Tarea) y la envía para su ejecución
+// Parámetros:
+// - idreserva : Identificador de la reserva
+// - db: una conexion ADO operativa
+// - parametros: Parámetros de la acción
+// _____________________________________________________________________________________________________________
+BOOLEAN EjecutarReserva(int idreserva,Database db )
+{
+
+
+ return(true);
+}
+// _____________________________________________________________________________________________________________
+// Función: enviaPeticion
+//
+// Descripción:
+// Hace una petición al servidor para que actualice los ordenadores implicados en la programación
+// Parámetros:
+// - idprogramacion: Identificador de la programación
+// _____________________________________________________________________________________________________________
+BOOLEAN enviaPeticion(int idprogramacion)
+{
+ int lon;
+ TRAMA *ptrTrama;
+ SOCKET socket_c;
+ char modulo[] = "enviaPeticion()";
+
+ /* Envio de comandos a clientes */
+ ptrTrama=(TRAMA *)reservaMemoria(sizeof(TRAMA));
+ if (ptrTrama == NULL) { // No hay memoria suficiente para el bufer de las tramas
+ errorLog(modulo, 3, FALSE);
+ return(FALSE);
+ }
+ initParametros(ptrTrama,0);
+ lon=sprintf(ptrTrama->parametros,"nfn=envioProgramacion\r"); // Nombre de la función a ejecutar en el servidor
+ lon+=sprintf(ptrTrama->parametros+lon,"idp=%d\r",idprogramacion); // Configuración de los Sistemas Operativos del cliente
+
+ if(!enviaMensaje(&socket_c,ptrTrama,MSG_PETICION)){
+ errorLog(modulo,91,FALSE);
+ return(FALSE);
+ }
+ return(TRUE);
+}
+// _____________________________________________________________________________________________________________
+//
+// Función: RecopilaIpesMacs
+//
+// Descripción :
+// Recopila las IPes, las Macs y los identificadores de ordenadores de un ámbito determinado
+//
+// Especificaciones:
+// Esta Función recibe tres parámatros:
+// db : Un objeto Base de datos totalmente operativo
+// ambito: Tipo de ámbito
+// idambito: Identificador del ámbito
+// Devuelve:
+// Todas los identificadores de ordenadores , las ipes y las macs de los ordenadores que componen el ámbito
+// Para ellos habrá que tener declarada tres variables globales :
+// cadenaid,cadenaip y cadenamac
+// _____________________________________________________________________________________________________________
+
+BOOLEAN RecopilaIpesMacs(Database db,int ambito,int idambito,char *restrambito)
+{
+ char sqlstr[LONSQL];
+
+ concli=0;
+ /* Reserva memoria al meno para caracter nulo */
+ cadenaid=(char*) reservaMemoria(1);
+ cadenaip=(char*) reservaMemoria(1);
+ cadenamac=(char*) reservaMemoria(1);
+
+ switch(ambito){
+ case AMBITO_CENTROS :
+ sprintf(sqlstr,"SELECT idcentro FROM centros WHERE idcentro=%d",idambito);
+ RecorreCentro(db,sqlstr);
+ break;
+ case AMBITO_GRUPOSAULAS :
+ sprintf(sqlstr,"SELECT idgrupo FROM grupos WHERE idgrupo=%d AND tipo=%d",idambito,AMBITO_GRUPOSAULAS);
+ RecorreGruposAulas(db,sqlstr);
+ break;
+ case AMBITO_AULAS :
+ sprintf(sqlstr,"SELECT idaula FROM aulas WHERE idaula=%d",idambito);
+ RecorreAulas(db,sqlstr);
+ break;
+ case AMBITO_GRUPOSORDENADORES :
+ sprintf(sqlstr,"SELECT idgrupo FROM gruposordenadores WHERE idgrupo=%d",idambito);
+ RecorreGruposOrdenadores(db,sqlstr);
+ break;
+ case AMBITO_ORDENADORES :
+ sprintf(sqlstr,"SELECT ip,mac,idordenador FROM ordenadores WHERE idordenador=%d",idambito);
+ RecorreOrdenadores(db,sqlstr);
+ break;
+ default: // Se trata de un conjunto aleatorio de ordenadores
+ sprintf(sqlstr,"SELECT ip,mac,idordenador FROM ordenadores WHERE idordenador IN (%s)",restrambito);
+ RecorreOrdenadores(db,sqlstr);
+
+ }
+ return (TRUE);
+}
+//________________________________________________________________________________________________________
+
+BOOLEAN RecorreCentro(Database db, char* sqlstr)
+{
+ char msglog[LONSTD];
+ Table tbl;
+ int idcentro;
+ char modulo[] = "RecorreCentro()";
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.ISEOF()){
+ if(!tbl.Get("idcentro",idcentro)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ sprintf(sqlstr,"SELECT idgrupo FROM grupos WHERE idcentro=%d AND grupoid=0 AND tipo=%d",idcentro,AMBITO_GRUPOSAULAS);
+ RecorreGruposAulas(db,sqlstr);
+ sprintf(sqlstr,"SELECT idaula FROM aulas WHERE idcentro=%d AND grupoid=0",idcentro);
+ RecorreAulas(db,sqlstr);
+ }
+ return (TRUE);
+}
+//________________________________________________________________________________________________________
+
+BOOLEAN RecorreGruposAulas(Database db, char* sqlstr)
+{
+ char msglog[LONSTD];
+ Table tbl;
+ int idgrupo;
+ char modulo[] = "RecorreGruposAulas()";
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ while(!tbl.ISEOF()){
+ if(!tbl.Get("idgrupo",idgrupo)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ sprintf(sqlstr,"SELECT idgrupo FROM grupos WHERE grupoid=%d AND tipo=%d",idgrupo,AMBITO_GRUPOSAULAS);
+ RecorreGruposAulas(db,sqlstr);
+ sprintf(sqlstr,"SELECT idaula FROM aulas WHERE grupoid=%d",idgrupo);
+ RecorreAulas(db,sqlstr);
+ tbl.MoveNext();
+ }
+ return (TRUE);
+}
+//________________________________________________________________________________________________________
+
+BOOLEAN RecorreAulas(Database db, char* sqlstr)
+{
+ char msglog[LONSTD];
+ Table tbl;
+ int idaula;
+ char modulo[] = "RecorreAulas()";
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ while(!tbl.ISEOF()){
+ if(!tbl.Get("idaula",idaula)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ sprintf(sqlstr,"SELECT idgrupo FROM gruposordenadores WHERE idaula=%d AND grupoid=0",idaula);
+ RecorreGruposOrdenadores(db,sqlstr);
+ sprintf(sqlstr,"SELECT ip,mac,idordenador FROM ordenadores WHERE idaula=%d AND grupoid=0",idaula);
+ RecorreOrdenadores(db,sqlstr);
+ tbl.MoveNext();
+ }
+ return (TRUE);
+}
+//________________________________________________________________________________________________________
+
+BOOLEAN RecorreGruposOrdenadores(Database db, char* sqlstr)
+{
+ char msglog[LONSTD];
+ Table tbl;
+ int idgrupo;
+ char modulo[] = "RecorreGruposOrdenadores()";
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ while(!tbl.ISEOF()){
+ if(!tbl.Get("idgrupo",idgrupo)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ sprintf(sqlstr,"SELECT idgrupo FROM gruposordenadores WHERE grupoid=%d",idgrupo);
+ RecorreGruposOrdenadores(db,sqlstr);
+ sprintf(sqlstr,"SELECT ip,mac,idordenador FROM ordenadores WHERE grupoid=%d",idgrupo);
+ RecorreOrdenadores(db,sqlstr);
+ tbl.MoveNext();
+ }
+ return (TRUE);
+}
+//________________________________________________________________________________________________________
+
+BOOLEAN RecorreOrdenadores(Database db, char* sqlstr)
+{
+ char msglog[LONSTD];
+ Table tbl;
+ int idordenador,o,p,m,lon;
+ char ido[16],ip[LONIP],mac[LONMAC];
+ char modulo[] = "RecorreOrdenadores()";
+
+ if (!db.Execute(sqlstr, tbl)) { // Error al leer
+ errorLog(modulo, 21, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ o=p=m=0;
+ while(!tbl.ISEOF()){
+ if(!tbl.Get("idordenador",idordenador)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("ip",ip)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if(!tbl.Get("mac",mac)){
+ tbl.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ sprintf(ido,"%d",idordenador);
+ lon=strlen(ido);
+ if(lon>16) lon=16;
+ cadenaid=(char*) ampliaMemoria(cadenaid,o+lon+1);
+ memcpy(&cadenaid[o],ido,lon);
+ o+=lon;
+ cadenaid[o++]=',';
+
+ lon=strlen(ip);
+ if(lon>16) lon=LONIP;
+ cadenaip=(char*) ampliaMemoria(cadenaip,p+lon+1);
+ memcpy(&cadenaip[p],ip,lon);
+ p+=lon;
+ cadenaip[p++]=';';
+
+ lon=strlen(mac);
+ if(lon>16) lon=LONMAC;
+ cadenamac=(char*) ampliaMemoria(cadenamac,m+lon+1);
+ memcpy(&cadenamac[m],mac,lon);
+ m+=lon;
+ cadenamac[m++]=';';
+
+ concli++;
+ tbl.MoveNext();
+ }
+ if(o>0) o--;
+ if(p>0) p--;
+ if(m>0) m--;
+ cadenaid[o]='\0';
+ cadenaip[p]='\0';
+ cadenamac[m]='\0';
+
+ return (TRUE);
+}
+// ********************************************************************************************************
+// PROGRAMA PRINCIPAL (SERVICIO)
+// ********************************************************************************************************
+int main(int argc, char *argv[])
+{
+ int pseg;
+ char msglog[LONSTD];
+ struct tm* st;
+ Database db;
+ char modulo[] = "main()";
+
+ /* Validación de parámetros de ejecución y lectura del fichero de configuración del servicio */
+
+ if (!validacionParametros(argc, argv, 5)) // Valida parámetros de ejecución
+ exit(EXIT_FAILURE);
+
+ if (!tomaConfiguracion(szPathFileCfg)) { // Toma parametros de configuracion
+ exit(EXIT_FAILURE);
+ }
+
+ /* Bucle principal del servicio */
+
+ while (TRUE){
+ st = tomaHora();
+ pseg=65-st->tm_sec; // Calcula segundos de inactividad de la hebra
+ sleep(pseg);
+
+ // Toma la hora
+ st = tomaHora();
+
+ if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion
+ errorLog(modulo, 20, FALSE);
+ db.GetErrorErrStr(msglog);
+ errorInfo(modulo, msglog);
+ exit(EXIT_FAILURE);
+ }
+ buscaAccion(db,st->tm_mday,st->tm_mon+1,st->tm_year+1900,st->tm_hour,st->tm_min,st->tm_wday );
+ db.Close(); // Cierra conexión
+ }
+ exit(EXIT_SUCCESS);
+}
+
+
diff --git a/admin/Sources/Services/ogAdmAgent/sources/ogAdmAgent.h b/admin/Sources/Services/ogAdmAgent/sources/ogAdmAgent.h new file mode 100644 index 00000000..a2f7deef --- /dev/null +++ b/admin/Sources/Services/ogAdmAgent/sources/ogAdmAgent.h @@ -0,0 +1,81 @@ +// ********************************************************************************************************
+// Servicio: ogAdmAgent
+// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creación: Marzo-2010
+// Fecha Última modificación: Marzo-2010
+// Nombre del fichero: ogAdmAgent.h
+// Descripción: Este fichero implementa el servicio agente del sistema. Revisa a intervalos
+// regulares la base de datos para comprobar si existen acciones programadas.
+// ********************************************************************************************************
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <unistd.h>
+#include <time.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include </usr/include/mysql/mysql.h>
+#include "Database.h"
+#include "ogAdmLib.h"
+
+// ________________________________________________________________________________________________________
+//
+// Valores hexadecimales para consultas
+// ________________________________________________________________________________________________________
+
+BYTE HEX_annos[]={0,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
+WORD HEX_meses[]={0,0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0200,0x0400,0x0800};
+int HEX_dias[]={0,0x00000001,0x00000002,0x00000004,0x00000008,0x00000010,0x00000020,0x00000040,0x00000080,0x00000100,0x00000200,
+ 0x00000400,0x00000800,0x00001000,0x00002000,0x00004000,0x00008000,0x00010000,0x00020000,0x00040000,0x00080000,
+ 0x00100000,0x00200000,0x00400000,0x00800000,0x01000000,0x02000000,0x04000000,0x08000000,0x10000000,0x20000000,0x40000000};
+WORD HEX_horas[]={0x0001,0x0002,0x0004,0x0008,0x0010,0x0020,0x0040,0x0080,0x0100,0x0200,0x0400,0x0800 };
+BYTE HEX_diasemana[]={0,0x01,0x02,0x04,0x08,0x10,0x20,0x40};
+BYTE HEX_semanas[]={0,0x01,0x02,0x04,0x08,0x10,0x20};
+WORD dias_meses[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
+
+// ________________________________________________________________________________________________________
+//
+// Variables globales
+// ________________________________________________________________________________________________________
+
+char servidoradm[LONPRM]; // Dirección IP del servidor de administración
+char puerto[LONPRM]; // Puerto de comunicación
+char usuario[LONPRM]; // Usuario de acceso a la base de datos
+char pasguor[LONPRM]; // Password del usuario
+char datasource[LONPRM]; // Dirección IP del gestor de base de datos
+char catalog[LONPRM]; // Nombre de la base de datos
+
+int idprogramacion;
+int tipoaccion,idtipoaccion;
+char descriaccion[250];
+char *cadenaid;
+char *cadenaip;
+char *cadenamac;
+int concli;
+int sesion;
+int idcentro;
+
+// ________________________________________________________________________________________________________
+// Prototipo de funciones
+// ________________________________________________________________________________________________________
+BOOLEAN tomaConfiguracion(char*);
+int diadelaSemana(WORD,WORD,WORD);
+BOOLEAN bisiesto(WORD);
+BOOLEAN buscaAccion(Database,WORD,WORD,WORD,WORD,WORD,WORD);
+BOOLEAN ejecutarComando(Database,int,int );
+BOOLEAN ejecutarProcedimiento(Database,int,int,int,char*);
+BOOLEAN ejecutarTarea(Database,int, int);
+BOOLEAN insertaComando(Database,int,char*,int,int,int,char*);
+BOOLEAN EjecutarReserva(int,Database);
+BOOLEAN enviaPeticion(int);
+BOOLEAN RecopilaIpesMacs(Database,int,int,char *);
+BOOLEAN RecorreCentro(Database, char*);
+BOOLEAN RecorreGruposAulas(Database, char*);
+BOOLEAN RecorreAulas(Database, char*);
+BOOLEAN RecorreGruposOrdenadores(Database, char*);
+BOOLEAN RecorreOrdenadores(Database, char*);
+
diff --git a/admin/Sources/Services/ogAdmBoot/Makefile b/admin/Sources/Services/ogAdmBoot/Makefile new file mode 100644 index 00000000..29557632 --- /dev/null +++ b/admin/Sources/Services/ogAdmBoot/Makefile @@ -0,0 +1,43 @@ +# makefile + +# Nombre del proyecto +PROYECTO := ogAdmBoot + +# Directorio de instalación +INSTALL_DIR := /opt/opengnsys + +# Opciones de compilacion +CFLAGS := -O0 -g -Wall -I../includes # Depuracion +#CFLAGS := -O3 -Wall # Optimizacion +CPPFLAGS := $(CFLAGS) + +# Opciones de linkado +LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient + +# Ficheros objetos +OBJS := ../includes/Database.o sources/ogAdmBoot.o + + +all: $(PROYECTO) + +$(PROYECTO): $(OBJS) + g++ $(LDFLAGS) $(OBJS) -o $(PROYECTO) +# strip $(PROYECTO) # Optimizacion + +install: $(PROYECTO) + cp $(PROYECTO) $(INSTALL_DIR)/sbin + cp $(PROYECTO).cfg $(INSTALL_DIR)/etc + +clean: + rm -f $(PROYECTO) $(OBJS) + +uninstall: clean + rm -f /usr/local/sbin/$(PROYECTO) /usr/local/etc/$(PROYECTO).cfg + +sources/%.o: sources/%.cpp + g++ $(CPPFLAGS) -I ../includes -c -o"$@" "$<" + +sources/%.o: sources/%.c + gcc $(CFLAGS) -I ../includes -c -o"$@" "$<" + + diff --git a/admin/Sources/Services/ogAdmBoot/ogAdmBoot.cfg b/admin/Sources/Services/ogAdmBoot/ogAdmBoot.cfg new file mode 100644 index 00000000..66c81872 --- /dev/null +++ b/admin/Sources/Services/ogAdmBoot/ogAdmBoot.cfg @@ -0,0 +1,8 @@ +IPLocal=10.1.15.8 +USUARIO=usuog +PASSWORD=passusuog +datasource=localhost +CATALOG=ogAdmBD +router=10.1.12.1 +mascara=lsasdfasdfasdf255.255.252.0 + diff --git a/admin/Sources/Services/ogAdmBoot/sources/ogAdmBoot.cpp b/admin/Sources/Services/ogAdmBoot/sources/ogAdmBoot.cpp new file mode 100644 index 00000000..03468d5b --- /dev/null +++ b/admin/Sources/Services/ogAdmBoot/sources/ogAdmBoot.cpp @@ -0,0 +1,1264 @@ +// ******************************************************************************************************** +// Servicio: ogAdmBoot +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Julio-2010 +// Fecha Última modificación: Julio-2010 +// Nombre del fichero: ogAdmBoot.cpp +// Descripción :Este fichero implementa el servicio dhcp y tftp propios del sistema +// ******************************************************************************************************** +#include "ogAdmBoot.h" +#include "ogAdmLib.c" +//________________________________________________________________________________________________________ +// Función: tomaConfiguracion +// +// Descripción: +// Lee el fichero de configuración del servicio +// Parámetros: +// filecfg : Ruta completa al fichero de configuración +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +BOOLEAN tomaConfiguracion(char* filecfg) +{ + char modulo[] = "tomaConfiguracion()"; + + if (filecfg == NULL || strlen(filecfg) == 0) { + errorLog(modulo, 1, FALSE); // Fichero de configuración del servicio vacío + return (FALSE); + } + FILE *fcfg; + long lSize; + char * buffer, *lineas[MAXPRM], *dualparametro[2]; + int i, numlin, resul; + + fcfg = fopen(filecfg, "rt"); + if (fcfg == NULL) { + errorLog(modulo, 2, FALSE); // No existe fichero de configuración del servicio + return (FALSE); + } + + fseek(fcfg, 0, SEEK_END); + lSize = ftell(fcfg); // Obtiene tamaño del fichero. + rewind(fcfg); + buffer = (char*) reservaMemoria(lSize+1); // Toma memoria para el buffer de lectura. + if (buffer == NULL) { // No hay memoria suficiente para el buffer + errorLog(modulo, 3, FALSE); + return (FALSE); + } + fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero + buffer[lSize]=(char) NULL; + fclose(fcfg); + + IPlocal[0] = (char) NULL; //inicializar variables globales + usuario[0] = (char) NULL; + pasguor[0] = (char) NULL; + datasource[0] = (char) NULL; + catalog[0] = (char) NULL; + router[0] = (char) NULL; + mascara[0] = (char) NULL; + + numlin = splitCadena(lineas, buffer, '\n'); + for (i = 0; i < numlin; i++) { + splitCadena(dualparametro, lineas[i], '='); + resul = strcmp(StrToUpper(dualparametro[0]), "IPLOCAL"); + if (resul == 0) + strcpy(IPlocal, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "USUARIO"); + if (resul == 0) + strcpy(usuario, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "PASSWORD"); + if (resul == 0) + strcpy(pasguor, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "DATASOURCE"); + if (resul == 0) + strcpy(datasource, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "CATALOG"); + if (resul == 0) + strcpy(catalog, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "ROUTER"); + if (resul == 0) + strcpy(router, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "MASCARA"); + if (resul == 0) + strcpy(mascara, dualparametro[1]); + } + if (IPlocal[0] == (char) NULL) { + errorLog(modulo, 4, FALSE); // Falta parámetro IPLOCAL + return (FALSE); + } + if (usuario[0] == (char) NULL) { + errorLog(modulo, 6, FALSE); // Falta parámetro USUARIO + return (FALSE); + } + if (pasguor[0] == (char) NULL) { + errorLog(modulo, 7, FALSE); // Falta parámetro PASSWORD + return (FALSE); + } + if (datasource[0] == (char) NULL) { + errorLog(modulo, 8, FALSE); // Falta parámetro DATASOURCE + return (FALSE); + } + if (catalog[0] == (char) NULL) { + errorLog(modulo, 9, FALSE); // Falta parámetro CATALOG + return (FALSE); + } + return (TRUE); +} +// _____________________________________________________________________________________________________________ +// Función: ServicioDHCP +// +// Descripción: +// Esta hebra implementa el servicio DHCP +// _____________________________________________________________________________________________________________ + +LPVOID ServicioDHCP(LPVOID ipl) +{ + SOCKET socket_s; // Socket donde escucha el servidor + struct TramaDhcpBootp * trmInfo; + struct sockaddr_in local; + int ret,resul; + BOOLEAN bOpt; + pthread_t hThread; + char modulo[]="ServicioDHCP()"; + + socket_s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // Crea socket para UDP + if (socket_s == SOCKET_ERROR){ + errorLog(modulo,61, TRUE); + return(FALSE); + } + local.sin_addr.s_addr = htonl(INADDR_ANY); // selecciona interface + local.sin_family = AF_INET; + local.sin_port = htons(PUERTODHCPORIGEN); // Puerto + + // Enlaza socket + if (bind(socket_s,(struct sockaddr *)&local,sizeof(local)) == SOCKET_ERROR){ + errorLog(modulo,62, TRUE); + return(FALSE); + } + + bOpt=TRUE; // Pone el socket en modo "soportar Broadcast" + ret=setsockopt(socket_s,SOL_SOCKET,SO_BROADCAST,(char *)&bOpt,sizeof(bOpt)); + if (ret == SOCKET_ERROR){ + errorLog(modulo,48, TRUE); + return(FALSE); + } + while(true){ + trmInfo = (struct TramaDhcpBootp*)malloc(sizeof(struct TramaDhcpBootp)); // Crea estructura de control para hebra + if (trmInfo == NULL){ + errorLog(modulo,64, FALSE); + return(FALSE); + } + // Inicializa parámetros + memset(trmInfo,0,sizeof(struct TramaDhcpBootp)); + trmInfo->sockaddrsize = sizeof(trmInfo->cliente); + trmInfo->sck=socket_s; + // Espera tramas DHCP + ret = recvfrom(trmInfo->sck,(char *)&trmInfo->pckDchp, sizeof(trmInfo->pckDchp),0,(struct sockaddr *)&trmInfo->cliente, &trmInfo->sockaddrsize); + if (ret == SOCKET_ERROR){ + errorLog(modulo,65, TRUE); + return(FALSE); + } + else{ + if (ret>0){ + resul=pthread_create(&hThread,NULL,GestionaServicioDHCP,(LPVOID)trmInfo); + if(resul!=0){ + errorLog(modulo,66,TRUE); + return(FALSE); + } + pthread_detach(hThread); + } + } + } + close(socket_s); +} +// _____________________________________________________________________________________________________________ +// Función: ServicioBOOTP +// +// Descripción: +// Esta hebra implementa el servicio BOOTP +// _____________________________________________________________________________________________________________ + +LPVOID ServicioBOOTP(LPVOID iplocal) +{ + SOCKET socket_s; // Socket donde escucha el servidor + struct TramaDhcpBootp * trmInfo; + struct sockaddr_in local; + int ret,resul; + pthread_t hThread; + char modulo[]="ServicioBOOTP()"; + + socket_s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // Crea socket para UDP + if (socket_s == SOCKET_ERROR){ + errorLog(modulo,67, TRUE); + return(FALSE); + } + local.sin_addr.s_addr = htonl(INADDR_ANY); // selecciona interface + local.sin_family = AF_INET; + local.sin_port = htons(PUERTOBOOTPORIGEN); // Puerto + + // Enlaza socket + if (bind(socket_s,(struct sockaddr *)&local,sizeof(local)) == SOCKET_ERROR){ + errorLog(modulo,68, TRUE); + return(FALSE); + } + while(true){ + trmInfo = (struct TramaDhcpBootp*)malloc(sizeof(struct TramaDhcpBootp)); // Crea estructura de control para hebra + if (trmInfo == NULL){ + errorLog(modulo,69, FALSE); + return(FALSE); + } + // Inicializa parámetros + memset(trmInfo,0,sizeof(struct TramaDhcpBootp)); + trmInfo->sockaddrsize = sizeof(trmInfo->cliente); + trmInfo->sck=socket_s; + // Espera tramas BOOTP + ret = recvfrom(trmInfo->sck,(char *)&trmInfo->pckDchp, sizeof(trmInfo->pckDchp),0,(struct sockaddr *)&trmInfo->cliente, &trmInfo->sockaddrsize); + + if (ret == SOCKET_ERROR){ + errorLog(modulo,70, TRUE); + return(FALSE); + } + else{ + if (ret>0){ + resul=pthread_create(&hThread,NULL,GestionaServicioBOOTP,(LPVOID)trmInfo); + if(resul!=0){ + errorLog(modulo,71, TRUE); + return(FALSE); + } + pthread_detach(hThread); + } + } + } + close(socket_s); +} +// _____________________________________________________________________________________________________________ +// Función: ServicioTFTP +// +// Descripción: +// Esta hebra implementa el servicio TFTP +// _____________________________________________________________________________________________________________ + +LPVOID ServicioTFTP(LPVOID ipl) +{ + SOCKET socket_s; // Socket donde escucha el servidor + struct TramaTftp * trmInfo; + struct sockaddr_in local; + pthread_t hThread; + int ret,resul; + char modulo[]="ServicioTFTP()"; + + socket_s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // Crea socket para UDP + if (socket_s == SOCKET_ERROR){ + errorLog(modulo,72, TRUE); + return(FALSE); + } + local.sin_addr.s_addr = htonl(INADDR_ANY); // selecciona interface + local.sin_family = AF_INET; + local.sin_port = htons(PUERTOTFTPORIGEN); // Puerto + + // Enlaza socket + if (bind(socket_s,(struct sockaddr *)&local,sizeof(local)) == SOCKET_ERROR){ + errorLog(modulo,73, TRUE); + return(FALSE); + } + while(true){ + trmInfo = (struct TramaTftp*)malloc(sizeof(struct TramaTftp)); // Crea estructura de control para hebra + if (trmInfo == NULL){ + errorLog(modulo,74, FALSE); + return(FALSE); + } + memset(trmInfo,0,sizeof(struct TramaTftp)); + trmInfo->sockaddrsize = sizeof(trmInfo->cliente); + // Espera tramas TFTP + ret = recvfrom(socket_s,(char *)&trmInfo->pckTftp, sizeof(trmInfo->pckTftp),0,(struct sockaddr *)&trmInfo->cliente,&trmInfo->sockaddrsize); + if (ret == SOCKET_ERROR){ + errorLog(modulo,75, TRUE); + return(FALSE); + } + else{ + if (ret>0){ + resul=pthread_create(&hThread,NULL,GestionaServicioTFTP,(LPVOID)trmInfo); + if(resul!=0){ + errorLog(modulo,76, TRUE); + return(FALSE); + } + pthread_detach(hThread); + } + } + + } + close(socket_s); +} +//________________________________________________________________________________________________________ +// Función: GestionaServicioDHCP +// +// Descripción: +// Gestiona la conexiónn con un cliente que sea Hidra para el servicio DHCP +// Parámetros: +// lpParam: Puntero a la estructura de control para la conversacion DHCP +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +LPVOID GestionaServicioDHCP(LPVOID lpParam) +{ + struct TramaDhcpBootp * trmInfo=(struct TramaDhcpBootp *)lpParam; + char IPCliente[16]; // Ip del cliente + char MACCliente[16]; // Mac del cliente + + if(!OpcionesPresentes(trmInfo->pckDchp.magiccookie)) // Comprueba que existen opciones en la trama Dhcp + return(false); + strcpy(IPCliente,inet_ntoa(trmInfo->cliente.sin_addr)); + if(strcmp(IPCliente,"0.0.0.0")!=0){ // El cliente tiene una IP concreta distinta de 0.0.0.0 + if(!ClienteExistente(trmInfo,IPCliente,1)){ // Comprueba que se trata de un cliente Hidra + free(trmInfo); + return(false); + } + } + else{ + sprintf(MACCliente,"%02.2x%02.2x%02.2x%02.2x%02.2x%02.2x",(unsigned int)trmInfo->pckDchp.chaddr[0],(unsigned int)trmInfo->pckDchp.chaddr[1],(unsigned int)trmInfo->pckDchp.chaddr[2],(unsigned int)trmInfo->pckDchp.chaddr[3],(unsigned int)trmInfo->pckDchp.chaddr[4],(unsigned int)trmInfo->pckDchp.chaddr[5]); + if(!ClienteExistente(trmInfo,MACCliente,0)){ // Comprueba que se trata de un cliente Hidra (Por la Mac) + free(trmInfo); + return(false); + } + } + if(OpcionPXEClient(&trmInfo->pckDchp)) // Comprueba que sea un cliente PXE + ProcesaTramaClientePXE(trmInfo); // Procesa DHCP para el protocolo PXE + else + ProcesaTramaClienteDHCP(trmInfo); // Procesa DHCP de cliente Windows o Linux + + free(trmInfo); + return(false); +} +//_______________________________________________________________________________________________________________ +// +// Gestiona la conexion con un cliente que sea Hidra para el servicio BOOTP +// Parámetros: +// lpParam: Puntero a la estructura de control para la conversacion BOOTP +//_______________________________________________________________________________________________________________ +LPVOID GestionaServicioBOOTP(LPVOID lpParam) +{ + struct TramaDhcpBootp * trmInfo=(struct TramaDhcpBootp *)lpParam; + char IPCliente[16]; // Ip del cliente + + if(!OpcionesPresentes(trmInfo->pckDchp.magiccookie)) // Comprueba que existen opciones en la trama Dhcp + return(false); + + strcpy(IPCliente,inet_ntoa(trmInfo->cliente.sin_addr)); + if(!ClienteExistente(trmInfo,IPCliente,1)) // Comprueba que se trata de un cliente Hidra + return(false); + + if(OpcionPXEClient(&trmInfo->pckDchp)) // Comprueba que sea un cliente PXE + ProcesaTramaClienteBOOTP(trmInfo); // Procesa DHCP para el protocolo PXE + + free(trmInfo); + return(trmInfo); +} +//_______________________________________________________________________________________________________________ +// +// Comprueba si la IP del cliente está en la base de datos de Hidra +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin DHCP +// ipmac: IP o MAC del cliente que ha abierto la hebra +// sw: Si vale 1 o 2 o 3 el parámetro anterior ser una IP en caso contrario ser una MAC +// +// Devuelve: +// true: Si el cliente est en la base de datos +// false: En caso contrario +// +// Comentarios: +// Slo se procesarn mensages dhcp de clientes hidra. +//_______________________________________________________________________________________________________________ +int ClienteExistente(struct TramaDhcpBootp *trmInfo,char* ipmac,int sw) +{ + char sqlstr[1000],ErrStr[200]; + Database db; + Table tbl; + char wrouter[LONPRM]; + char wmascara[LONPRM]; + ///////////////////////////////////////////////////////////////////////// + // ACCESO atnico A TRAVEZ DE OBJETO MUTEX a este trozo de cnigo + pthread_mutex_lock(&guardia); + + // Abre conexion con base de datos + if(!db.Open(usuario,pasguor,datasource,catalog)){ // error de conexion + db.GetErrorErrStr(ErrStr); + return(false); + } + + if(sw==1 || sw==2){ // Bsqueda por IP + sprintf(sqlstr,"SELECT ip,router,mascara FROM ordenadores WHERE ip='%s' ",ipmac); + } + else{ // Bsqueda por MAC + sprintf(sqlstr,"SELECT ip,router,mascara FROM ordenadores WHERE mac='%s' ",ipmac); + } + if(!db.Execute(sqlstr,tbl)){ // Error al leer + db.GetErrorErrStr(ErrStr); + db.Close(); + pthread_mutex_unlock(&guardia); + return(false); + } + + if(tbl.ISEOF()){ // No existe el cliente + db.Close(); + pthread_mutex_unlock(&guardia); + return(false); + } + if(sw==1 || sw==0){ // Sólo para las tramas dhcp PXE y BOOTP + if(!tbl.Get("ip",trmInfo->bdIP)){ // Incorpora la IP a asignar al cliente a la estructura de control + tbl.GetErrorErrStr(ErrStr); // error al acceder al registro + db.Close(); + pthread_mutex_unlock(&guardia); + return(false); + } + if(!tbl.Get("router",wrouter)){ // Toma la configuración router del cliente + tbl.GetErrorErrStr(ErrStr); // error al acceder al registro + db.Close(); + pthread_mutex_unlock(&guardia); + return(false); + } + if(strlen(wrouter)>0) + strcpy(oProuter,wrouter); + else + strcpy(oProuter,router); + + if(!tbl.Get("mascara",wmascara)){ // Toma la configuración router del cliente + tbl.GetErrorErrStr(ErrStr); // error al acceder al registro + db.Close(); + pthread_mutex_unlock(&guardia); + return(false); + } + if(strlen(wmascara)>0) + strcpy(oPmascara,wmascara); + else + strcpy(oPmascara,mascara); + } + db.Close(); + pthread_mutex_unlock(&guardia); + //////////////////////////////////////////////////////////////////////////////// + return(true); +} +//_______________________________________________________________________________________________________________ +// +// Comprueba que existen opciones en el mensage dhcp analizando la magic cookie +// Parámetros: +// mc: Puntero al primer elemento de la magic cookie (primer campo de las opciones) +// +// Devuelve: +// true: Si esta presenta el valor 99..130.83.99 +// false: En caso contrario +//_______________________________________________________________________________________________________________ +int OpcionesPresentes(unsigned char *mc) +{ + if(mc[0]!=0x63) return(false); + if(mc[1]!=0x82) return(false); + if(mc[2]!=0x53) return(false); + if(mc[3]!=0x63) return(false); + + // Magic Cookie presente + return(true); +} +//_______________________________________________________________________________________________________________ +// +// Busca una determinada opción dentro de la trama dhcp +// Parámetros: +// dhcp_packet: Puntero a la estructura que contiene el mensaje dhcp +// codop: Cdigo de la opción a buscar +// +// Devuelve: +// Si existe, un puntero al primer elemento de la estructura de la opción (codigo,longitud,valor) +// en caso contrario devuelve null +//_______________________________________________________________________________________________________________ +unsigned char * BuscaOpcion(dhcp_packet* tDhcp,unsigned char codop) +{ + unsigned char wcodop; + unsigned char wlongitud; + unsigned char *ptrOp,*ptrDhcp; + + ptrDhcp=(unsigned char*)tDhcp; // Se toma el puntero al principio del mensage + ptrOp=(unsigned char*)&tDhcp->options[0]; // Se toma el puntero a las opciones + + while(ptrOp-ptrDhcp<DHCP_OPTION_LEN-4){ + wcodop = ptrOp[0]; + if(wcodop==DHCP_PAD) + ptrOp++; + else{ + if(wcodop==DHCP_END) // Fin de la cadena de opciones, no se encontr la opción + return(NULL); + else{ + + if (wcodop == codop) // Encuentra la opción + return(ptrOp); // Devuelve el puntero a la estructura variable opción + else{ + wlongitud = ptrOp[1]; + ptrOp+=wlongitud+2; // Avanza hasta la prxima opción + } + } + } + } + return(NULL); +} +//_______________________________________________________________________________________________________________ +// +// Comprueba si el mensaje recibido proviene de un cliente PXE +// Parámetros: +// dhcp_packet: Puntero a la estructura que contiene el mensaje dhcp +// +// Devuelve: +// true: Si el mensaje lo ha enviado un cliente PXE +// false: En caso contrario +//_______________________________________________________________________________________________________________ +int OpcionPXEClient(dhcp_packet* tDhcp) +{ + if(!BuscaOpcion(tDhcp,DHCP_CLASS_IDENTIFIER)) + return(false); + else + return(true); +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje DHCP recibido que proviene de un cliente PXE +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin DHCP +//_______________________________________________________________________________________________________________ +void ProcesaTramaClientePXE(struct TramaDhcpBootp* trmInfo) +{ + unsigned char codop; + unsigned char longitud; + unsigned char *ptrOp; + unsigned char *msgDhcp; + char modulo[]="ProcesaTramaClientePXE()"; + + ptrOp=BuscaOpcion(&trmInfo->pckDchp,DHCP_MESSAGE_TYPE); // Puntero a la opción tipo de mensaje + if(!ptrOp){ // No existe la opción DHCP + errorLog(modulo,77, FALSE); + return; + } + codop = ptrOp[0]; + longitud=ptrOp[1]; + msgDhcp=ptrOp+2; // Puntero al dato tipo de mensaje + switch(*msgDhcp){ + case DHCPDISCOVER: + dhcpDISCOVER_PXE(trmInfo); + break; + case DHCPREQUEST: + dhcpREQUEST_PXE(trmInfo); + break; + } +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje BOOTP recibido que proviene de un cliente PXE +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin BOOTP +//_______________________________________________________________________________________________________________ +void ProcesaTramaClienteBOOTP(struct TramaDhcpBootp* trmInfo) +{ + unsigned char codop; + unsigned char longitud; + unsigned char *ptrOp; + unsigned char *msgDhcp; + char modulo[]="ProcesaTramaClienteBOOTP()"; + + ptrOp=BuscaOpcion(&trmInfo->pckDchp,DHCP_MESSAGE_TYPE); // Puntero a la opción tipo de mensaje + if(!ptrOp){ // No existe la opción DHCP + errorLog(modulo,77, FALSE); + return; + } + codop = ptrOp[0]; + longitud=ptrOp[1]; + msgDhcp=ptrOp+2; // Puntero al dato tipo de mensaje + switch(*msgDhcp){ + case DHCPREQUEST: + bootpREQUEST_PXE(trmInfo); + break; + } +} +//_______________________________________________________________________________________________________________ +// +// Gestiona la conexion con un cliente que sea Hidra para el servicio TFTP +// Parámetros: +// lpParam: Puntero a la estructura de control para la conversacion TFTP +//_______________________________________________________________________________________________________________ +LPVOID GestionaServicioTFTP(LPVOID lpParam) +{ + struct TramaTftp * trmInfo=(struct TramaTftp *)lpParam; + char IPCliente[16]; // Ip del cliente + + strcpy(IPCliente,inet_ntoa(trmInfo->cliente.sin_addr)); + if(!ClienteExistente((struct TramaDhcpBootp*)trmInfo,IPCliente,2)) // Comprueba que se trata de un cliente Hidra + return(false); + + // Inicializa parámetros + trmInfo->sockaddrsize = sizeof(trmInfo->cliente); + trmInfo->sck=TomaSocketUser(); + if(trmInfo->sck==INVALID_SOCKET) return(false); // Ha habido algn problama para crear el socket de usuario + + trmInfo->currentopCode=0x0000; // Cdigo de operación para detectar errores de secuencia + trmInfo->bloquesize=512; // Tamao de bloque por defecto 512 + trmInfo->tsize=0; // Tamao del fichero + trmInfo->interval=0; // Intervalo + + ProcesaTramaClienteTFTP(trmInfo); // Procesa TFTP para el protocolo PXE + close(trmInfo->sck); + free(trmInfo); + return(trmInfo); +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje TFTP recibido que proviene de un cliente PXE +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin TFTP +//_______________________________________________________________________________________________________________ +void ProcesaTramaClienteTFTP(struct TramaTftp* trmInfo) +{ + char *ptr; + int bloque,lon,ret; + char tam[20]; + struct tftppacket_ack* ptrack; + char modulo[]="ProcesaTramaClienteTFTP()"; + + while(true){ + switch(ntohs(trmInfo->pckTftp.opcode)){ + case TFTPRRQ: // Read Request + if(trmInfo->currentopCode!=0x0000) return; // Error en la secuencia de operaciones + if(!PeticionFichero(trmInfo)) return; + fseek(trmInfo->fileboot,0,SEEK_SET); + trmInfo->pckTftp.opcode= htons(TFTPOACK); + trmInfo->currentopCode=TFTPOACK; + ptr=&trmInfo->pckTftp.buffer[0]; + if(trmInfo->tsize>0){ // opción tsize + strcpy(ptr,"tsize"); + ptr+=strlen(ptr)+1; + //itoa(trmInfo->tsize,tam,10); + sprintf(tam,"%d",trmInfo->tsize); + strcpy(ptr,tam); + ptr+=strlen(ptr)+1; + *ptr=0x00; + } + else{ + if(trmInfo->bloquesize>0){ // opción blksize + strcpy(ptr,"blksize"); + ptr+=strlen(ptr)+1; + //itoa(trmInfo->bloquesize,tam,10); + sprintf(tam,"%d",trmInfo->bloquesize); + strcpy(ptr,tam); + ptr+=strlen(ptr)+1; + *ptr=0x00; + } + else + trmInfo->bloquesize=512; + } + + lon=ptr-(char*)&trmInfo->pckTftp; + //ret=connect(trmInfo->sck,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + //if (ret == SOCKET_ERROR){ + // RegistraLog("***connect() fallo:",true); + // return; + //} + ret=sendto(trmInfo->sck,(char*)&trmInfo->pckTftp,lon,0,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + //ret=send(trmInfo->sck,(char*)&trmInfo->pckTftp,lon,0); + if (ret == SOCKET_ERROR){ + errorLog(modulo,26, TRUE); + return; + } + break; + + case TFTPACK: // + if(trmInfo->currentopCode!=TFTPOACK && trmInfo->currentopCode!=TFTPDATA) return; // Error en la secuencia de operaciones + ptrack=(struct tftppacket_ack*)&trmInfo->pckTftp; + bloque=ntohs(ptrack->block); + trmInfo->currentopCode=TFTPDATA; + ptrack->opcode=htons(TFTPDATA); + bloque++; + ptrack->block=htons(bloque); + trmInfo->numblock=bloque; + lon=fread(ptrack->buffer,1,trmInfo->bloquesize,trmInfo->fileboot); + //ret=connect(trmInfo->sck,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + //if (ret == SOCKET_ERROR){ + // RegistraLog("***connect() fallo:",true); + // return; + //} + ret=sendto(trmInfo->sck,(char*)&trmInfo->pckTftp,lon+4,0,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + //ret=send(trmInfo->sck,(char*)&trmInfo->pckTftp,lon+4,0); + if (ret == SOCKET_ERROR){ + errorLog(modulo,26, TRUE); + return; + } + if(lon==0) + return; // Fin de la trama tftp + break; + case TFTPERROR: + errorLog(modulo,78, TRUE); + } + ret = recvfrom(trmInfo->sck,(char *)&trmInfo->pckTftp, sizeof(trmInfo->pckTftp),0,(struct sockaddr *)&trmInfo->cliente,&trmInfo->sockaddrsize); + if (ret == SOCKET_ERROR){ + errorLog(modulo,79, TRUE); + return; + } + else + if(ret==0) break; + } + return; +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje Tftp de peticin de fichero. Recupera datos de tamao de bloque y otros parámetros +// para gestionar la conversacin. +// +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin TFTP +//_______________________________________________________________________________________________________________ +int PeticionFichero(struct TramaTftp* trmInfo) +{ + char *ptr; + char nomfile[250]; + + if(strncmp(trmInfo->pckTftp.buffer,"pxelinux.cfg",12)==0) + strcpy(nomfile,"default"); + else + strcpy(nomfile,trmInfo->pckTftp.buffer); + + trmInfo->currentopCode=ntohs(trmInfo->pckTftp.opcode); // Guarda código de operación + // Localiza parámetros + ptr=&trmInfo->pckTftp.buffer[0]; + ptr+=strlen(ptr)+1; // Avanza al campo siguiente al del nombre de fichero + if(!strcmp(ptr,"octet")){ // Modo de apertura + //trmInfo->fileboot=fopen(trmInfo->pckTftp.buffer,"rb"); + trmInfo->fileboot=fopen(nomfile,"rb"); + } + else{ + //trmInfo->fileboot=fopen(trmInfo->pckTftp.buffer,"rt"); + trmInfo->fileboot=fopen(nomfile,"rt"); + } + if(trmInfo->fileboot==NULL) + return(false); // No existe el fichero boot + ptr+=strlen(ptr)+1; // Paso al parámetro siguiente + while(*ptr){ + if(strcmp(ptr,"blksize")==0){ // parámetro blksize + ptr+=strlen(ptr) + 1; + trmInfo->bloquesize=atoi(ptr); + if(trmInfo->bloquesize<512) trmInfo->bloquesize=512; + if(trmInfo->bloquesize>MAXBLOCK) trmInfo->bloquesize=512; + ptr+=strlen(ptr) + 1; + } + else{ + if(strcmp(ptr,"tsize")==0){ // parámetro tsize + ptr+=strlen(ptr) + 1; + fseek(trmInfo->fileboot,0,SEEK_END); + trmInfo->tsize=ftell(trmInfo->fileboot); + ptr+=strlen(ptr) + 1; + } + else{ + if(strcmp(ptr,"interval")==0){ // Tamao de los bloques + ptr+=strlen(ptr) + 1; + trmInfo->interval=atoi(ptr); + ptr+=strlen(ptr) + 1; + } + else + return(false); + } + + } + } + return(true); +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje recibido que proviene de un cliente Hidra pero no en el momento de arranque con PXE +// sino cuando arranca con algn S.O. como (Windows oLinux) +// +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin DHCP +//_______________________________________________________________________________________________________________ +void ProcesaTramaClienteDHCP(struct TramaDhcpBootp* trmInfo) +{ + unsigned char codop; + unsigned char longitud; + unsigned char *ptrOp; + unsigned char *msgDhcp; + int ret; + char modulo[]="ProcesaTramaClienteDHCP()"; + + while(true){ + ptrOp=BuscaOpcion(&trmInfo->pckDchp,DHCP_MESSAGE_TYPE); // Puntero a la opción tipo de mensaje + if(!ptrOp){ // No existe la opción DHCP + errorLog(modulo,77, FALSE); + return; + } + codop = ptrOp[0]; + longitud=ptrOp[1]; + msgDhcp=ptrOp+2; // Puntero al dato tipo de mensaje + + switch(*msgDhcp){ + case DHCPDISCOVER: + dhcpDISCOVER_PXE(trmInfo); + break; + case DHCPREQUEST: + dhcpREQUEST_PXE(trmInfo); + break; + } + ret = recvfrom(trmInfo->sck,(char *)&trmInfo->pckDchp, sizeof(trmInfo->pckDchp),0,(struct sockaddr *)&trmInfo->cliente,&trmInfo->sockaddrsize); + if (ret == SOCKET_ERROR){ + errorLog(modulo,80, TRUE); + } + else + if(ret==0) break; + } +} +//_______________________________________________________________________________________________________________ +// +// Rellena el campo IP asignada(yiaddr) al cliente dentro del mensaje DHCP +// +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin DHCP +//_______________________________________________________________________________________________________________ +void RellenaIPCLiente(struct TramaDhcpBootp* trmInfo) +{ + unsigned long aux; + + aux=inet_addr(trmInfo->bdIP); // Ip para el cliente + memcpy((void*)&trmInfo->pckDchp.yiaddr,&aux,sizeof(aux)); +} +//_______________________________________________________________________________________________________________ +// +// Rellena el campo IP del servidor(siaddr) dentro del mensaje DHCP +// +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin DHCP +//_______________________________________________________________________________________________________________ +void RellenaIPServidor(struct TramaDhcpBootp* trmInfo) +{ + unsigned long aux; + + aux=inet_addr(IPlocal); // Ip del servidor + memcpy(&trmInfo->pckDchp.siaddr,&aux,sizeof(aux)); +} +//_______________________________________________________________________________________________________________ +// +// Rellena el campo nombre del servidor boot dentro del mensaje BOOTP +// +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin BOOTP +//_______________________________________________________________________________________________________________ +void RellenaNombreServidorBoot(struct TramaDhcpBootp* trmInfo) +{ + char aux[100]; + + strcpy(aux,"Hidra 2.0 PXE Boot Server"); + memcpy(&trmInfo->pckDchp.sname,&aux,25); +} +//_______________________________________________________________________________________________________________ +// +// Rellena el campo nombre del fichero boot dentro del mensaje BOOTP +// +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin BOOTP +//_______________________________________________________________________________________________________________ +void RellenaNombreFicheroBoot(struct TramaDhcpBootp* trmInfo) +{ + char aux[100]; + + strcpy(aux,"pxelinux.0"); + memcpy(&trmInfo->pckDchp.file,&aux,25); +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje DHCPDISCOVER +// +// Parámetros: +// trmInfo: Puntero a la estructura de control de la conversacin DHCP +// +// Devuelve: +// true: Si el mensaje se procesa correctamente +// false: En caso contrario +//_______________________________________________________________________________________________________________ +void dhcpDISCOVER_PXE(struct TramaDhcpBootp* trmInfo) +{ + unsigned char *ptrOp,*ptrDhcp; + int lon,ret; + char modulo[]="dhcpDISCOVER_PXE()"; + + ptrDhcp=(unsigned char*)&trmInfo->pckDchp; // Se toma el puntero al principio del mensage + ptrOp=(unsigned char*)&trmInfo->pckDchp.options[0]; // Se toma el puntero a las opciones + lon=ptrOp-ptrDhcp; //Longitud del mensaje sin las opciones ni la magic coockie + + RellenaIPCLiente(trmInfo); + RellenaIPServidor(trmInfo); + *ptrOp='\0'; //Borra opciones del mensaje recibido para colocar las nuevas + + + AdjDHCPOFFER(&ptrOp,&lon); // Genera opción de Mensaje (0x35) dhcp valor 1 + AdjSERVERIDENTIFIER(&ptrOp,&lon); // Genera opción de Mensaje (0x36) Dhcp + AdjLEASETIME(&ptrOp,&lon); // Genera opción de Mensaje (0x33) Dhcp + AdjSUBNETMASK(&ptrOp,&lon); // Genera opción de Mensaje (0x01) Dhcp + AdjROUTERS(&ptrOp,&lon); // Genera opción de Mensaje (0x03) Dhcp + AdjCLASSIDENTIFIER(&ptrOp,&lon); // Genera opción de Mensaje (0x3c) Dhcp + *ptrOp=DHCP_END; + lon++; + trmInfo->pckDchp.op=DHCPOFFER; + //MandaRespuesta(&trmInfo->pckDchp,htonl(INADDR_BROADCAST),lon,htons(PUERTODHCPDESTINO)); + trmInfo->cliente.sin_addr.s_addr=htonl(INADDR_BROADCAST); + ret=sendto(trmInfo->sck,(char*)&trmInfo->pckDchp,lon,0,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + if (ret == SOCKET_ERROR){ + errorLog(modulo,26, TRUE); + } +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje DHCPREQUEST (DHCP) +// +// Parámetros: +// trmInfo: Puntero a la estructura de control para la conversacin DHCP +// +// Devuelve: +// true: Si el mensaje se procesa correctamente +// false: En caso contrario +//_______________________________________________________________________________________________________________ +void dhcpREQUEST_PXE(struct TramaDhcpBootp* trmInfo) +{ + unsigned char * ptrOp,*ptrDhcp; + struct dhcp_opcion; + int lon,ret; + char modulo[]="dhcpREQUEST_PXE()"; + + ptrDhcp=(unsigned char*)&trmInfo->pckDchp; // Se toma el puntero al principio del mensage + ptrOp=(unsigned char*)&trmInfo->pckDchp.options[0]; // Se toma el puntero a las opciones + lon=ptrOp-ptrDhcp; //Longitud del mensaje sin las opciones ni la magic coockie + + RellenaIPCLiente(trmInfo); + RellenaIPServidor(trmInfo); + *ptrOp='\0'; //Borra opciones del mensaje recibido para colocar las nuevas + + AdjDHCPACK(&ptrOp,&lon); // Ge db.Close();nera opción de Mensaje (0x35) dhcp valor 5 + AdjSERVERIDENTIFIER(&ptrOp,&lon); // Genera opción de Mensaje (0x36) Dhcp + AdjLEASETIME(&ptrOp,&lon); // Genera opción de Mensaje (0x33) Dhcp + AdjSUBNETMASK(&ptrOp,&lon); // Genera opción de Mensaje (0x01) Dhcp + AdjROUTERS(&ptrOp,&lon); // Genera opción de Mensaje (0x03) Dhcp + AdjCLASSIDENTIFIER(&ptrOp,&lon); // Genera opción de Mensaje (0x3c) Dhcp + + *ptrOp=DHCP_END; + lon++; + + trmInfo->pckDchp.op=DHCPOFFER; + //MandaRespuesta(&trmInfo->pckDchp,htonl(INADDR_BROADCAST),lon,htons(PUERTODHCPDESTINO)); + trmInfo->cliente.sin_addr.s_addr=htonl(INADDR_BROADCAST); + ret=sendto(trmInfo->sck,(char*)&trmInfo->pckDchp,lon,0,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + if (ret == SOCKET_ERROR){ + errorLog(modulo,26, TRUE); + } +} +//_______________________________________________________________________________________________________________ +// +// Procesa un mensaje DHCPREQUEST (BOOTP) +// +// Parámetros: +// trmInfo: Puntero a la estructura de control para la conversacin BOOTP +// +// Devuelve: +// true: Si el mensaje se procesa correctamente +// false: En caso contrario +//_______________________________________________________________________________________________________________ +void bootpREQUEST_PXE(struct TramaDhcpBootp* trmInfo) +{ + unsigned char * ptrOp,*ptrDhcp; + struct dhcp_opcion; + int lon,ret; + unsigned long aux; + char modulo[]="bootpREQUEST_PXE()"; + + ptrDhcp=(unsigned char*)&trmInfo->pckDchp; // Se toma el puntero al principio del mensage + ptrOp=(unsigned char*)&trmInfo->pckDchp.options[0]; // Se toma el puntero a las opciones + lon=ptrOp-ptrDhcp; //Longitud del mensaje sin las opciones ni la magic coockie + + aux=inet_addr("0.0.0.0"); // Borra Ip del cliente ( No se porqu pero en la trama aparece as) + memcpy(&trmInfo->pckDchp.ciaddr,&aux,4); + RellenaNombreServidorBoot(trmInfo); + RellenaNombreFicheroBoot(trmInfo); + + *ptrOp='\0'; //Borra opciones del mensaje recibido para colocar las nuevas + + AdjDHCPACK(&ptrOp,&lon); // Genera opción de Mensaje (0x35) dhcp valor 5 + AdjSERVERIDENTIFIER(&ptrOp,&lon); // Genera opción de Mensaje (0x36) Dhcp + AdjBOOTSIZE(&ptrOp,&lon); // Genera opción de Mensaje (0x0D) Dhcp + AdjCLASSIDENTIFIER(&ptrOp,&lon); // Genera opción de Mensaje (0x3c) Dhcp + + *ptrOp=DHCP_END; + lon++; + + trmInfo->pckDchp.op=DHCPOFFER; + //ret=connect(trmInfo->sck,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + //if (ret == SOCKET_ERROR){ + // RegistraLog("***connect() fallo:",true); + // return; + //} + //ret=send(trmInfo->sck,(char*)&trmInfo->pckDchp,lon,0); + ret=sendto(trmInfo->sck,(char*)&trmInfo->pckDchp,lon,0,(struct sockaddr*)&trmInfo->cliente,trmInfo->sockaddrsize); + if (ret == SOCKET_ERROR){ + errorLog(modulo,26,TRUE); + return; + } +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x35(53) con el valor "Dhcp Offer" valor 2 +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones de Mensaje dhcp Offer +//_______________________________________________________________________________________________________________ +void AdjDHCPOFFER(unsigned char* *ptrOp,int*lon) +{ + **ptrOp=DHCP_MESSAGE_TYPE; + *ptrOp+=1; + **ptrOp=1; + *ptrOp+=1; + **ptrOp=DHCPOFFER; + *ptrOp+=1; + *lon+=3; +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x35(53) con el valor "Dhcp Ack" valor 5 +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones de Mensaje dhcp Ack +//_______________________________________________________________________________________________________________ +void AdjDHCPACK(unsigned char** ptrOp,int*lon) + +{ + **ptrOp=DHCP_MESSAGE_TYPE; + *ptrOp+=1; + **ptrOp=1; + *ptrOp+=1; + **ptrOp=DHCPACK; + *ptrOp+=1; + *lon+=3; +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x03(3) con la IP del router +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones de Ip del Routers +//_______________________________________________________________________________________________________________ +void AdjROUTERS(unsigned char** ptrOp,int*lon) +{ + unsigned long aux; + aux=inet_addr(oProuter); // Router + + **ptrOp=DHCP_ROUTERS; + *ptrOp+=1; + **ptrOp=4; + *ptrOp+=1; + memcpy(*ptrOp,&aux,4); // Copia la Ip del router en la estructura + *ptrOp+=4; + *lon+=6; + +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x01(1) con la mascara de red +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones de mscara de red +//_______________________________________________________________________________________________________________ +void AdjSUBNETMASK(unsigned char** ptrOp,int*lon) +{ + unsigned long aux; + aux=inet_addr(oPmascara); // Mascara de red + + **ptrOp=DHCP_SUBNET_MASK; + *ptrOp+=1; + **ptrOp=4; + *ptrOp+=1; + memcpy(*ptrOp,&aux,4); // Copia la máscara de red + *ptrOp+=4; + *lon+=6; +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x3c(60) con el literal "PXECLient" para clientes PXE +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones de clase de cliente +//_______________________________________________________________________________________________________________ +void AdjCLASSIDENTIFIER(unsigned char** ptrOp,int*lon) +{ + **ptrOp=DHCP_CLASS_IDENTIFIER; + *ptrOp+=1; + **ptrOp=9; + *ptrOp+=1; + memcpy(*ptrOp,"PXEClient",9); // Copia el literal PXClient + *ptrOp+=9; + *lon+=11; +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x36(54) con la IP del servidor +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones de Ip del servidor +//_______________________________________________________________________________________________________________ +void AdjSERVERIDENTIFIER(unsigned char** ptrOp,int*lon) +{ + unsigned long aux; + aux=inet_addr(IPlocal); // Ip del servidor + + **ptrOp=DHCP_SERVER_IDENTIFIER; + *ptrOp+=1; + **ptrOp=4; + *ptrOp+=1; + memcpy(*ptrOp,&aux,4); // Copia la Ip del ervidor en la estructura + *ptrOp+=4; + *lon+=6; + +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x33(51) con el tiempo de "lease" de la IP +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones del "Lease Time" +//_______________________________________________________________________________________________________________ +void AdjLEASETIME(unsigned char** ptrOp,int*lon) +{ + unsigned long aux; + aux=0x00006054; // tiempo en segundos + + **ptrOp=DHCP_LEASE_TIME; + *ptrOp+=1; + **ptrOp=4; + *ptrOp+=1; + memcpy(*ptrOp,&aux,4); // Copia el lease time en la estructura + *ptrOp+=4; + *lon+=6; +} +//_______________________________________________________________________________________________________________ +// +// Genera una opción del tipo 0x0D(13) con el tiempo tamao del fichero boot +// +// Devuelve: +// Una estructura de opciones de dhcp(codigo,longitud,dato) con la opciones del "Lease Time" +//_______________________________________________________________________________________________________________ +void AdjBOOTSIZE(unsigned char** ptrOp,int*lon) +{ + unsigned short aux; + aux=0x0402; // Tamao en bytes + + **ptrOp=DHCP_BOOT_SIZE; + *ptrOp+=1; + **ptrOp=2; + *ptrOp+=1; + memcpy(*ptrOp,&aux,2); // Copia el tamao en la estructura + *ptrOp+=2; + *lon+=4; +} +//_______________________________________________________________________________________________________________ +// +// Crea un socket en un puerto determinado para la conversacin de las distintas hebras +// +//_______________________________________________________________________________________________________________ +SOCKET TomaSocketUser() +{ + SOCKET socket_c; // Socket para hebras (UDP) + struct sockaddr_in cliente; + int ret,puerto; + BOOLEAN bOpt; + char modulo[]="TomaSocketUser()"; + + socket_c = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); // Crea socket para UDP + + if (socket_c == SOCKET_ERROR){ + errorLog(modulo,81,TRUE); + return(false); + } + cliente.sin_addr.s_addr = htonl(INADDR_ANY); // selecciona interface + cliente.sin_family = AF_INET; + puerto=PUERTOMINUSER; + while(puerto<PUERTOMAXUSER){ // Busca puerto libre + cliente.sin_port = htons(puerto); // Puerto asignado + if (bind(socket_c,(struct sockaddr *)&cliente,sizeof(cliente)) == SOCKET_ERROR) + puerto++; + else + break; + } + if(puerto>=PUERTOMAXUSER){ // No hay puertos libres + errorLog(modulo,63, TRUE); + return(INVALID_SOCKET); + } + + bOpt=TRUE; // Pone el socket en modo "soportar Broadcast" + ret=setsockopt(socket_c,SOL_SOCKET,SO_BROADCAST,(char *)&bOpt,sizeof(bOpt)); + if (ret == SOCKET_ERROR){ + errorLog(modulo,48, TRUE); + return(INVALID_SOCKET); + } + return(socket_c); +} +//_______________________________________________________________________________________________________________ +void Pinta(dhcp_packet* tdp) +{ + return; + printf("\nop = %d htype = %d hlen = %d hops = %d",tdp -> op, tdp -> htype, tdp -> hlen, tdp -> hops); + //printf ("\nxid = %x secs = %d flags = %x",tdp -> xid, tdp -> secs, tdp -> flags); + printf ("\nciaddr = %s", inet_ntoa (tdp -> ciaddr)); + printf ("\nyiaddr = %s", inet_ntoa (tdp -> yiaddr)); + printf ("\nsiaddr = %s", inet_ntoa (tdp -> siaddr)); + printf ("\ngiaddr = %s", inet_ntoa (tdp -> giaddr)); + printf ("\nchaddr = %x:%x:%x:%x:%x:%x",((unsigned char *)(tdp -> chaddr)) [0],((unsigned char *)(tdp -> chaddr)) [1],((unsigned char *)(tdp -> chaddr)) [2],((unsigned char *)(tdp -> chaddr)) [3],((unsigned char *)(tdp -> chaddr)) [4],((unsigned char *)(tdp -> chaddr)) [5]); + printf ("\nfilename = %s", tdp -> file); + printf ("\nserver_name = %s", tdp -> sname); + + printf ("\n\n"); +} +//*************************************************************************************************************** +// PROGRAMA PRINCIPAL +//*************************************************************************************************************** +int main(int argc, char **argv) +{ + pthread_t hThreadDHCP,hThreadBOOTP,hThreadTFTP; + int resul; + char modulo[] = "main()"; + + /*-------------------------------------------------------------------------------------------------------- + Validación de parámetros de ejecución y lectura del fichero de configuración del servicio + ---------------------------------------------------------------------------------------------------------*/ + if (!validacionParametros(argc, argv,4)) // Valida parámetros de ejecución + exit(EXIT_FAILURE); + + if (!tomaConfiguracion(szPathFileCfg)) { // Toma parametros de configuracion + exit(EXIT_FAILURE); + } + + infoLog(1); // Inicio de sesión + + // Hebra servicio DHCP --------------------------------- + resul=pthread_create(&hThreadDHCP,NULL,ServicioDHCP,(LPVOID)IPlocal); + if(resul!=0){ + errorLog(modulo, 58, TRUE); + exit(EXIT_FAILURE); + } + pthread_detach(hThreadDHCP); + + + // Hebra servicio BOOTP --------------------------------- + resul=pthread_create(&hThreadBOOTP,NULL,ServicioBOOTP,(LPVOID)IPlocal); + if(resul!=0){ + errorLog(modulo,59,TRUE); + exit(EXIT_FAILURE); + } + pthread_detach(hThreadBOOTP); + + // Hebra servicio TFTP ---------------------------------- + resul=pthread_create(&hThreadTFTP,NULL,ServicioTFTP,(LPVOID)IPlocal); + if(resul!=0){ + errorLog(modulo,60,TRUE); + exit(EXIT_FAILURE); + } + pthread_detach(hThreadTFTP); + + while (true) + sleep(1000); + +} diff --git a/admin/Sources/Services/ogAdmBoot/sources/ogAdmBoot.h b/admin/Sources/Services/ogAdmBoot/sources/ogAdmBoot.h new file mode 100644 index 00000000..ec6db36a --- /dev/null +++ b/admin/Sources/Services/ogAdmBoot/sources/ogAdmBoot.h @@ -0,0 +1,262 @@ +// ******************************************************************************************************** +// Servicio: ogAdmBoot +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Julio-2010 +// Fecha Última modificación: Julio-2010 +// Nombre del fichero: ogAdmBoot.cpp +// Descripción :Este fichero implementa el servicio dhcp y tftp propios del sistema +// ******************************************************************************************************** +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <unistd.h> +#include <time.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include </usr/include/mysql/mysql.h> +#include <pthread.h> +#include "Database.h" +#include "ogAdmLib.h" +// _____________________________________________________________________________________________________________ + +#define PUERTODHCPORIGEN 67 +#define PUERTODHCPDESTINO 68 + +#define PUERTOBOOTPORIGEN 4011 +#define PUERTOBOOTPDESTINO 68 + +#define PUERTOTFTPORIGEN 69 + +#define PUERTOMINUSER 20000 +#define PUERTOMAXUSER 60000 + +#define MAX_INTERFACE_LIST 20 +#define MAX_NUM_CSADDRS 20 +// _____________________________________________________________________________________________________________ +#define DHCP_UDP_OVERHEAD (20 + 8 ) // IP header + UDP header +#define DHCP_SNAME_LEN 64 +#define DHCP_FILE_LEN 128 +#define DHCP_FIXED_NON_UDP 236 +#define DHCP_FIXED_LEN (DHCP_FIXED_NON_UDP + DHCP_UDP_OVERHEAD) // Longitud de la trama sin las opciones +#define DHCP_MTU_MAX 1500 +#define DHCP_OPTION_LEN (DHCP_MTU_MAX - DHCP_FIXED_LEN) + +#define BOOTP_MIN_LEN 300 +#define DHCP_MIN_LEN 548 + +struct dhcp_packet { + unsigned char op; // Message opcode + unsigned char htype; // Hardware addr type + unsigned char hlen; // Hardware addr length + unsigned char hops; // Number of relay agent hops from client + unsigned long xid; // Transaction ID + unsigned short secs; // Seconds since client started looking + unsigned short flags; // Flag bits + struct in_addr ciaddr; // Client IP address + struct in_addr yiaddr; // Client IP address + struct in_addr siaddr; // IP address of next server + struct in_addr giaddr; // DHCP relay agent IP address + unsigned char chaddr [16];// Client hardware address + char sname[DHCP_SNAME_LEN]; // Server name + char file[DHCP_FILE_LEN]; // Boot filename + unsigned char magiccookie[4]; + unsigned char options [DHCP_OPTION_LEN-4]; // Optional parameters. +}; + +// Estructura genrica de una opcin DHCP +struct dhcp_opcion { + unsigned char codop; + unsigned char tam; + unsigned char dato; +}; + +// Cdigo de las distintas opciones DHCP +#define DHCP_PAD 0 +#define DHCP_SUBNET_MASK 1 +#define DHCP_TIME_OFFSET 2 +#define DHCP_ROUTERS 3 +#define DHCP_TIME_SERVERS 4 +#define DHCP_NAME_SERVERS 5 +#define DHCP_DOMAIN_NAME_SERVERS 6 +#define DHCP_LOG_SERVERS 7 +#define DHCP_COOKIE_SERVERS 8 +#define DHCP_LPR_SERVERS 9 +#define DHCP_IMPRESS_SERVERS 10 +#define DHCP_RESOURCE_LOCATION_SERVERS 11 +#define DHCP_HOST_NAME 12 +#define DHCP_BOOT_SIZE 13 +#define DHCP_MERIT_DUMP 14 +#define DHCP_DOMAIN_NAME 15 +#define DHCP_SWAP_SERVER 16 +#define DHCP_ROOT_PATH 17 +#define DHCP_EXTENSIONS_PATH 18 +#define DHCP_IP_FORWARDING 19 +#define DHCP_NON_LOCAL_SOURCE_ROUTING 20 +#define DHCP_POLICY_FILTER 21 +#define DHCP_MAX_DGRAM_REASSEMBLY 22 +#define DHCP_DEFAULT_IP_TTL 23 +#define DHCP_PATH_MTU_AGING_TIMEOUT 24 +#define DHCP_PATH_MTU_PLATEAU_TABLE 25 +#define DHCP_INTERFACE_MTU 26 +#define DHCP_ALL_SUBNETS_LOCAL 27 +#define DHCP_BROADCAST_ADDRESS 28 +#define DHCP_PERFORM_MASK_DISCOVERY 29 +#define DHCP_MASK_SUPPLIER 30 +#define DHCP_ROUTER_DISCOVERY 31 +#define DHCP_ROUTER_SOLICITATION_ADDRESS 32 +#define DHCP_STATIC_ROUTES 33 +#define DHCP_TRAILER_ENCAPSULATION 34 +#define DHCP_ARP_CACHE_TIMEOUT 35 +#define DHCP_IEEE802_3_ENCAPSULATION 36 +#define DHCP_DEFAULT_TCP_TTL 37 +#define DHCP_TCP_KEEPALIVE_INTERVAL 38 +#define DHCP_TCP_KEEPALIVE_GARBAGE 39 +#define DHCP_NIS_DOMAIN 40 +#define DHCP_NIS_SERVERS 41 +#define DHCP_NTP_SERVERS 42 +#define DHCP_VENDOR_ENCAPSULATED_OPTIONS 43 +#define DHCP_NETBIOS_NAME_SERVERS 44 +#define DHCP_NETBIOS_DD_SERVER 45 +#define DHCP_NETBIOS_NODE_TYPE 46 +#define DHCP_NETBIOS_SCOPE 47 +#define DHCP_FONT_SERVERS 48 +#define DHCP_X_DISPLAY_MANAGER 49 +#define DHCP_REQUESTED_ADDRESS 50 +#define DHCP_LEASE_TIME 51 +#define DHCP_OPTION_OVERLOAD 52 +#define DHCP_MESSAGE_TYPE 53 +#define DHCP_SERVER_IDENTIFIER 54 +#define DHCP_PARAMETER_REQUEST_LIST 55 +#define DHCP_MESSAGE 56 +#define DHCP_MAX_MESSAGE_SIZE 57 +#define DHCP_RENEWAL_TIME 58 +#define DHCP_REBINDING_TIME 59 +#define DHCP_CLASS_IDENTIFIER 60 +#define DHCP_CLIENT_IDENTIFIER 61 +#define DHCP_USER_CLASS_ID 77 +#define DHCP_END 255 + +// DHCP message types. +#define DHCPDISCOVER 1 +#define DHCPOFFER 2 +#define DHCPREQUEST 3 +#define DHCPDECLINE 4 +#define DHCPACK 5 +#define DHCPNAK 6 +#define DHCPRELEASE 7 +#define DHCPINFORM 8 + +// Estructura para trabajar en cada hebra con el cliente en cuestion +struct TramaDhcpBootp{ + SOCKET sck; + struct sockaddr_in cliente; + socklen_t sockaddrsize; + struct dhcp_packet pckDchp; + char bdIP[16]; +}; +// _____________________________________________________________________________________________________________ + +#define MAXBLOCK 4096 + + +// TFTP Cdigos de operacin. +#define TFTPRRQ 1 // Read request. +#define TFTPWRQ 2 // Write request +#define TFTPDATA 3 // Read or write the next block of data. +#define TFTPACK 4 // Confirnacin de bloque procesado +#define TFTPERROR 5 // Error message +#define TFTPOACK 6 // Option acknowledgment + +// Paquete TFTP genrico +struct tftp_packet +{ + WORD opcode; + char buffer[MAXBLOCK+2]; +}; +// Paquete TFTP tipo ACK +struct tftppacket_ack +{ + WORD opcode; + WORD block; + char buffer[MAXBLOCK]; +}; +// Paquete TFTP tipo ERROR packet +struct tftppacket_error +{ + WORD opcode; + WORD errorcode; + char errormessage[508]; +}; +// Estructura para trabajar en cada hebra con el cliente en cuestion +struct TramaTftp{ + SOCKET sck; + struct sockaddr_in cliente; + socklen_t sockaddrsize; + struct tftp_packet pckTftp; + FILE * fileboot; + int bloquesize; + int tsize; + int interval; + int numblock; + unsigned short currentopCode; +}; +//______________________________________________________ +static pthread_mutex_t guardia; // Controla acceso exclusivo de hebras +//______________________________________________________ +char IPlocal[LONPRM]; +char usuario[LONPRM]; +char pasguor[LONPRM]; +char datasource[LONPRM]; +char catalog[LONPRM]; +char router[LONPRM]; +char mascara[LONPRM]; + +char oProuter[LONPRM]; +char oPmascara[LONPRM]; + +// Prototipo de funciones +void RegistraLog(char *,int); +int TomaParametrosReg(); + +LPVOID ServicioDHCP(LPVOID); +LPVOID ServicioBOOTP(LPVOID); +LPVOID ServicioTFTP(LPVOID); +LPVOID GestionaServicioDHCP(LPVOID); +LPVOID GestionaServicioBOOTP(LPVOID); +LPVOID GestionaServicioTFTP(LPVOID); + +int ClienteExistente(struct TramaDhcpBootp *,char*,int); +int OpcionesPresentes(unsigned char *); +unsigned char * BuscaOpcion(dhcp_packet* ,unsigned char ); + +int OpcionPXEClient(dhcp_packet* ); +void ProcesaTramaClientePXE(struct TramaDhcpBootp* trmInfo); +void ProcesaTramaClienteDHCP(struct TramaDhcpBootp* trmInfo); +void ProcesaTramaClienteBOOTP(struct TramaDhcpBootp* trmInfo); +void ProcesaTramaClienteTFTP(struct TramaTftp * trmInfo); + +void RellenaIPCLiente(struct TramaDhcpBootp*); +void RellenaIPServidor(struct TramaDhcpBootp*); +void dhcpDISCOVER_PXE(struct TramaDhcpBootp*); +void dhcpREQUEST_PXE(struct TramaDhcpBootp*); +void bootpREQUEST_PXE(struct TramaDhcpBootp*); + +int PeticionFichero(struct TramaTftp*); + +void AdjDHCPOFFER(unsigned char**,int*); +void AdjDHCPACK(unsigned char**,int*); +void AdjROUTERS(unsigned char** ,int*); +void AdjSUBNETMASK(unsigned char**,int*); +void AdjCLASSIDENTIFIER(unsigned char** ,int*); +void AdjSERVERIDENTIFIER(unsigned char** ,int*); +void AdjLEASETIME(unsigned char** ,int*); +void AdjBOOTSIZE(unsigned char** ,int*); + +SOCKET TomaSocketUser(); +struct tm * TomaHora(); +int split_parametros(char **,char *, char *); +void duerme(unsigned int ); diff --git a/admin/Sources/Services/ogAdmRepo/Makefile b/admin/Sources/Services/ogAdmRepo/Makefile new file mode 100644 index 00000000..f7a84548 --- /dev/null +++ b/admin/Sources/Services/ogAdmRepo/Makefile @@ -0,0 +1,43 @@ +# makefile + +# Nombre del proyecto +PROYECTO := ogAdmRepo + +#Directorio de instalación +INSTALL_DIR := /opt/opengnsys + +# Opciones de compilacion +CFLAGS := -O0 -g -Wall -I../includes # Depuracion +#CFLAGS := -O3 -Wall # Optimizacion +CPPFLAGS := $(CFLAGS) + +# Opciones de linkado +LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient + +# Ficheros objetos +OBJS := ../includes/Database.o ../includes/encriptacion.o sources/ogAdmRepo.o + + +all: $(PROYECTO) + +$(PROYECTO): $(OBJS) + g++ $(LDFLAGS) $(OBJS) -o $(PROYECTO) +# strip $(PROYECTO) # Optimizacion + +install: $(PROYECTO) + cp $(PROYECTO) $(INSTALL_DIR)/sbin + cp $(PROYECTO).cfg $(INSTALL_DIR)/etc + +clean: + rm -f $(PROYECTO) $(OBJS) + +uninstall: clean + rm -f /usr/local/sbin/$(PROYECTO) /usr/local/etc/$(PROYECTO).cfg + +sources/%.o: sources/%.cpp + g++ $(CPPFLAGS) -c -o"$@" "$<" + +sources/%.o: sources/%.c + gcc $(CFLAGS) -c -o"$@" "$<" + + diff --git a/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg b/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg new file mode 100644 index 00000000..a3a9e903 --- /dev/null +++ b/admin/Sources/Services/ogAdmRepo/ogAdmRepo.cfg @@ -0,0 +1,3 @@ +IPlocal=SERVERIP +IPhidra=SERVERIP +Puerto=2008 diff --git a/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp b/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp new file mode 100644 index 00000000..067b6af0 --- /dev/null +++ b/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.cpp @@ -0,0 +1,177 @@ +// ******************************************************************************************************** +// Servicio: ogAdmRepo +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ogAdmRepo.cpp +// Descripción :Este fichero implementa el servicio de administración general del sistema +// ******************************************************************************************************** +#include "ogAdmRepo.h" +#include "ogAdmLib.c" +//________________________________________________________________________________________________________ +// Función: tomaConfiguracion +// +// Descripción: +// Lee el fichero de configuración del servicio +// Parámetros: +// filecfg : Ruta completa al fichero de configuración +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +BOOLEAN tomaConfiguracion(char* filecfg) { + char modulo[] = "tomaConfiguracion()"; + + if (filecfg == NULL || strlen(filecfg) == 0) { + errorLog(modulo, 1, FALSE); // Fichero de configuración del servicio vacío + return (FALSE); + } + FILE *fcfg; + long lSize; + char * buffer, *lineas[MAXPRM], *dualparametro[2]; + int i, numlin, resul; + + fcfg = fopen(filecfg, "rt"); + if (fcfg == NULL) { + errorLog(modulo, 2, FALSE); // No existe fichero de configuración del servicio + return (FALSE); + } + + fseek(fcfg, 0, SEEK_END); + lSize = ftell(fcfg); // Obtiene tamaño del fichero. + rewind(fcfg); + buffer = (char*) reservaMemoria(lSize+1); // Toma memoria para el buffer de lectura. + if (buffer == NULL) { // No hay memoria suficiente para el buffer + errorLog(modulo, 3, FALSE); + return (FALSE); + } + fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero + buffer[lSize]=(char) NULL; + fclose(fcfg); + + iplocal[0] = (char) NULL; //inicializar variables globales + puerto[0] = (char) NULL; + + numlin = splitCadena(lineas, buffer, '\n'); + for (i = 0; i < numlin; i++) { + splitCadena(dualparametro, lineas[i], '='); + resul = strcmp(StrToUpper(dualparametro[0]), "IPLOCAL"); + if (resul == 0) + strcpy(iplocal, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "PUERTO"); + if (resul == 0) + strcpy(puerto, dualparametro[1]); + } + if (iplocal[0] == (char) NULL) { + errorLog(modulo, 4, FALSE); // Falta parámetro IPLOCAL + return (FALSE); + } + if (puerto[0] == (char) NULL) { + errorLog(modulo, 5, FALSE); // Falta parámetro PUERTO + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: gestionaTrama +// +// Descripción: +// Procesa las tramas recibidas . +// Parametros: +// - s : Socket usado para comunicaciones +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN gestionaTrama(SOCKET *socket_c) +{ + TRAMA* ptrTrama; + int i, res; + char *nfn; + char modulo[] = "gestionaTrama()"; + + ptrTrama=recibeTrama(socket_c); + if (ptrTrama){ + INTROaFINCAD(ptrTrama); + nfn = copiaParametro("nfn",ptrTrama); // Toma dirección/es IP + for (i = 0; i < MAXIMAS_FUNCIONES; i++) { // Recorre funciones que procesan las tramas + res = strcmp(tbfuncionesRepo[i].nf, nfn); + if (res == 0) { // Encontrada la función que procesa el mensaje + return (tbfuncionesRepo[i].fptr(socket_c, ptrTrama)); // Invoca la función + } + } + } + else + errorLog(modulo, 17, FALSE); // Error en la recepción + return (TRUE); +} +// ******************************************************************************************************** +// PROGRAMA PRINCIPAL (SERVICIO) +// ******************************************************************************************************** +int main(int argc, char *argv[]) +{ + SOCKET socket_r; // Socket donde escucha el servidor + SOCKET socket_c; // Socket de los clientes que se conectan + socklen_t iAddrSize; + struct sockaddr_in local, cliente; + char modulo[] = "main()"; + + /*-------------------------------------------------------------------------------------------------------- + Validación de parámetros de ejecución y lectura del fichero de configuración del servicio + ---------------------------------------------------------------------------------------------------------*/ + if (!validacionParametros(argc, argv,1)) // Valida parámetros de ejecución + exit(EXIT_FAILURE); + + if (!tomaConfiguracion(szPathFileCfg)) { // Toma parametros de configuracion + exit(EXIT_FAILURE); + } + /*-------------------------------------------------------------------------------------------------------- + Carga del catálogo de funciones que procesan las tramas (referencia directa por puntero a función) + ---------------------------------------------------------------------------------------------------------*/ + int cf = 0; + + cf++; + + + /*-------------------------------------------------------------------------------------------------------- + Creación y configuración del socket del servicio + ---------------------------------------------------------------------------------------------------------*/ + socket_r = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Crea socket del servicio + if (socket_r == SOCKET_ERROR) { // Error al crear el socket del servicio + errorLog(modulo, 13, TRUE); + exit(EXIT_FAILURE); + } + + local.sin_addr.s_addr = htonl(INADDR_ANY); // Configura el socket del servicio + local.sin_family = AF_INET; + local.sin_port = htons(atoi(puerto)); + + if (bind(socket_r, (struct sockaddr *) &local, sizeof(local))== SOCKET_ERROR) { // Enlaza socket + errorLog(modulo, 14, TRUE); + exit(EXIT_FAILURE); + } + + listen(socket_r, 250); // Pone a escuchar al socket + iAddrSize = sizeof(cliente); + /*-------------------------------------------------------------------------------------------------------- + Bucle para acceptar conexiones + ---------------------------------------------------------------------------------------------------------*/ + infoLog(1); // Inicio de sesión + while(TRUE) { + socket_c = accept(socket_r, (struct sockaddr *) &cliente, &iAddrSize); + if (socket_c == INVALID_SOCKET) { + errorLog(modulo, 15, TRUE); + exit(EXIT_FAILURE); + } + if(!gestionaTrama(&socket_c)){ + errorLog(modulo, 39, TRUE); + break; + } + close(socket_c); + } + /*-------------------------------------------------------------------------------------------------------- + Fin del servicio + ---------------------------------------------------------------------------------------------------------*/ + close(socket_r); + exit(EXIT_SUCCESS); +} diff --git a/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h b/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h new file mode 100644 index 00000000..8051f3f6 --- /dev/null +++ b/admin/Sources/Services/ogAdmRepo/sources/ogAdmRepo.h @@ -0,0 +1,41 @@ +// ******************************************************************************************************** +// Servicio: ogAdmRepo +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ogAdmRepo.h +// Descripción: Este fichero implementa el servicio de repositorio de imágenes +// ******************************************************************************************************** +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <unistd.h> +#include <time.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include "ogAdmLib.h" +// ________________________________________________________________________________________________________ +// Variables globales +// ________________________________________________________________________________________________________ +char iplocal[LONPRM]; // Dirección IP del servidor de administración +char puerto[LONPRM]; // Puerto de comunicación + +char servidoradm[LONIP]; // IP del servidor + +typedef struct{ // Estructura usada para referenciar las funciones que procesan las tramas + char nf[LONFUN]; // Nombre de la función + BOOLEAN (*fptr)(SOCKET*,TRAMA*); // Puntero a la función que procesa la trama +}MSGFUN; + +MSGFUN tbfuncionesRepo[MAXIMAS_FUNCIONES]; + +// ________________________________________________________________________________________________________ +// Prototipo de funciones +// ________________________________________________________________________________________________________ +BOOLEAN tomaConfiguracion(char*); +BOOLEAN gestionaTrama(SOCKET*); +BOOLEAN tomaConfiguracion(char*); diff --git a/admin/Sources/Services/ogAdmServer/Makefile b/admin/Sources/Services/ogAdmServer/Makefile new file mode 100644 index 00000000..ace1d128 --- /dev/null +++ b/admin/Sources/Services/ogAdmServer/Makefile @@ -0,0 +1,43 @@ +# makefile + +# Nombre del proyecto +PROYECTO := ogAdmServer + +# Directorio de instalación +INSTALL_DIR := /opt/opengnsys + +# Opciones de compilacion +CFLAGS := -O0 -g -Wall -I../../Includes # Depuracion +#CFLAGS := -O3 -Wall # Optimizacion +CPPFLAGS := $(CFLAGS) + +# Opciones de linkado +LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient + +# Ficheros objetos +OBJS := ../../Includes/Database.o sources/ogAdmServer.o + + +all: $(PROYECTO) + +$(PROYECTO): $(OBJS) + g++ $(LDFLAGS) $(OBJS) -o $(PROYECTO) +# strip $(PROYECTO) # Optimizacion + +install: $(PROYECTO) + cp $(PROYECTO) $(INSTALL_DIR)/sbin + cp $(PROYECTO).cfg $(INSTALL_DIR)/etc + +clean: + rm -f $(PROYECTO) $(OBJS) + +uninstall: clean + rm -f /usr/local/sbin/$(PROYECTO) /usr/local/etc/$(PROYECTO).cfg + +sources/%.o: sources/%.cpp + g++ $(CPPFLAGS) -c -o"$@" "$<" + +sources/%.o: sources/%.c + gcc $(CFLAGS) -c -o"$@" "$<" + + diff --git a/admin/Sources/Services/ogAdmServer/ogAdmServer.cfg b/admin/Sources/Services/ogAdmServer/ogAdmServer.cfg new file mode 100644 index 00000000..9d88328c --- /dev/null +++ b/admin/Sources/Services/ogAdmServer/ogAdmServer.cfg @@ -0,0 +1,6 @@ +ServidorAdm=SERVERIP +PUERTO=2008 +USUARIO=usuog +PASSWORD=passusuog +datasource=localhost +CATALOG=ogAdmBD diff --git a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp new file mode 100644 index 00000000..25316dff --- /dev/null +++ b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp @@ -0,0 +1,3027 @@ +// ******************************************************************************************************** +// Servicio: ogAdmServer +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ogAdmServer.cpp +// Descripción :Este fichero implementa el servicio de administración general del sistema +// ******************************************************************************************************** +#include "ogAdmServer.h" +#include "ogAdmLib.c" +//________________________________________________________________________________________________________ +// Función: tomaConfiguracion +// +// Descripción: +// Lee el fichero de configuración del servicio +// Parámetros: +// filecfg : Ruta completa al fichero de configuración +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________ +BOOLEAN tomaConfiguracion(char* filecfg) { + char modulo[] = "tomaConfiguracion()"; + + if (filecfg == NULL || strlen(filecfg) == 0) { + errorLog(modulo, 1, FALSE); // Fichero de configuración del servicio vacío + return (FALSE); + } + FILE *fcfg; + long lSize; + char * buffer, *lineas[MAXPRM], *dualparametro[2]; + int i, numlin, resul; + + fcfg = fopen(filecfg, "rt"); + if (fcfg == NULL) { + errorLog(modulo, 2, FALSE); // No existe fichero de configuración del servicio + return (FALSE); + } + + fseek(fcfg, 0, SEEK_END); + lSize = ftell(fcfg); // Obtiene tamaño del fichero. + rewind(fcfg); + buffer = (char*) reservaMemoria(lSize + 1); // Toma memoria para el buffer de lectura. + if (buffer == NULL) { // No hay memoria suficiente para el buffer + errorLog(modulo, 3, FALSE); + return (FALSE); + } + fread(buffer, 1, lSize, fcfg); // Lee contenido del fichero + buffer[lSize] = (char) NULL; + fclose(fcfg); + + servidoradm[0] = (char) NULL; //inicializar variables globales + puerto[0] = (char) NULL; + usuario[0] = (char) NULL; + pasguor[0] = (char) NULL; + datasource[0] = (char) NULL; + catalog[0] = (char) NULL; + aulaup[0] = (char) NULL; + + numlin = splitCadena(lineas, buffer, '\n'); + for (i = 0; i < numlin; i++) { + splitCadena(dualparametro, lineas[i], '='); + resul = strcmp(StrToUpper(dualparametro[0]), "SERVIDORADM"); + if (resul == 0) + strcpy(servidoradm, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "PUERTO"); + if (resul == 0) + strcpy(puerto, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "USUARIO"); + if (resul == 0) + strcpy(usuario, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "PASSWORD"); + if (resul == 0) + strcpy(pasguor, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "DATASOURCE"); + if (resul == 0) + strcpy(datasource, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "CATALOG"); + if (resul == 0) + strcpy(catalog, dualparametro[1]); + resul = strcmp(StrToUpper(dualparametro[0]), "AULAUP"); + if (resul == 0) + strcpy(catalog, dualparametro[1]); + } + if (servidoradm[0] == (char) NULL) { + errorLog(modulo, 4, FALSE); // Falta parámetro SERVIDORADM + return (FALSE); + } + if (puerto[0] == (char) NULL) { + errorLog(modulo, 5, FALSE); // Falta parámetro PUERTO + return (FALSE); + } + if (usuario[0] == (char) NULL) { + errorLog(modulo, 6, FALSE); // Falta parámetro USUARIO + return (FALSE); + } + if (pasguor[0] == (char) NULL) { + errorLog(modulo, 7, FALSE); // Falta parámetro PASSWORD + return (FALSE); + } + if (datasource[0] == (char) NULL) { + errorLog(modulo, 8, FALSE); // Falta parámetro DATASOURCE + return (FALSE); + } + if (catalog[0] == (char) NULL) { + errorLog(modulo, 9, FALSE); // Falta parámetro CATALOG + return (FALSE); + } + if (aulaup[0] == (char) NULL) { + strcpy(aulaup, "0"); // Por defecto el conmutador de registro automático esta en off + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: gestionaTrama +// +// Descripción: +// Procesa las tramas recibidas . +// Parametros: +// - s : Socket usado para comunicaciones +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN gestionaTrama(SOCKET *socket_c) +{ + TRAMA* ptrTrama; + int i, res; + char *nfn; + char modulo[] = "gestionaTrama()"; + + ptrTrama=recibeTrama(socket_c); + if (ptrTrama){ + INTROaFINCAD(ptrTrama); + nfn = copiaParametro("nfn",ptrTrama); // Toma dirección/es IP + for (i = 0; i < MAXIMAS_FUNCIONES; i++) { // Recorre funciones que procesan las tramas + res = strcmp(tbfuncionesServer[i].nf, nfn); + if (res == 0) { // Encontrada la función que procesa el mensaje + return (tbfuncionesServer[i].fptr(socket_c, ptrTrama)); // Invoca la función + } + } + /* Sólo puede ser un comando personalizado o su notificación */ + if (ptrTrama->tipo == MSG_COMANDO) + return (Comando(socket_c, ptrTrama)); + else { + if (ptrTrama->tipo == MSG_NOTIFICACION) + return (RESPUESTA_Comando(socket_c, ptrTrama)); + else + errorLog(modulo, 18, FALSE); // No se reconoce el mensaje + } + } + else + errorLog(modulo, 17, FALSE); // Error en la recepción + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Sondeo +// +// Descripción: +// Solicita a los clientes su disponibiliad para recibir comandos interactivos +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Sondeo(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "Sondeo()"; + + if (!enviaComando(ptrTrama, CLIENTE_APAGADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: respuestaSondeo +// +// Descripción: +// Recupera el estatus de los ordenadores solicitados leyendo la tabla de sockets +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN respuestaSondeo(SOCKET *socket_c, TRAMA* ptrTrama) { + int i; + long lSize; + char *iph, *Ipes; + char modulo[] = "respuestaSondeo()"; + + iph = copiaParametro("iph",ptrTrama); // Toma dirección/es IP + lSize = strlen(iph); // Calcula longitud de la cadena de direccion/es IPE/S + Ipes = (char*) reservaMemoria(lSize + 1); + if (Ipes == NULL) { + errorLog(modulo, 3, FALSE); + return (FALSE); + } + strcpy(Ipes, iph); // Copia cadena de IPES + initParametros(ptrTrama,0); + strcpy(ptrTrama->parametros, "tso="); // Compone retorno tso (sistemas operativos de los clientes ) + for (i = 0; i < MAXIMOS_CLIENTES; i++) { + if (strncmp(tbsockets[i].ip, "\0", 1) != 0) { // Si es un cliente activo + if (contieneIP(Ipes, tbsockets[i].ip)) { // Si existe la IP en la cadena + strcat(ptrTrama->parametros, tbsockets[i].ip); // Compone retorno + strcat(ptrTrama->parametros, "/"); // "ip/sistema operativo;" + strcat(ptrTrama->parametros, tbsockets[i].estado); + strcat(ptrTrama->parametros, ";"); + } + } + } + strcat(ptrTrama->parametros, "\r"); + if (!mandaTrama(socket_c, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Actualizar +// +// Descripción: +// Obliga a los clientes a iniciar sesión en el sistema +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Actualizar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "Actualizar()"; + + if (!enviaComando(ptrTrama, CLIENTE_APAGADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Purgar +// +// Descripción: +// Detiene la ejecución del browser en el cliente +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Purgar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "Purgar()"; + + if (!enviaComando(ptrTrama, CLIENTE_APAGADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: ConsolaRemota +// +// Descripción: +// Envia un script al cliente, éste lo ejecuta y manda el archivo que genera la salida por pantalla +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN ConsolaRemota(SOCKET *socket_c, TRAMA* ptrTrama) +{ + char *iph,fileco[LONPRM],msglog[LONSTD],*ptrIpes[MAXIMOS_CLIENTES];; + FILE* f; + int i,lon; + char modulo[] = "ConsolaRemota()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + INTROaFINCAD(ptrTrama); + /* Destruye contenido del fichero de eco anterior */ + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip del cliente + lon = splitCadena(ptrIpes,iph,';'); + for (i = 0; i < lon; i++) { + sprintf(fileco,"/tmp/_Seconsola_%s",ptrIpes[i]); // Nombre que tendra el archivo en el Servidor + f = fopen(fileco, "wt"); + fclose(f); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: EcoConsola +// +// Descripción: +// Solicita el eco de una consola remota almacenado en un archivo de eco +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros del mensaje +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN EcoConsola(SOCKET *socket_c, TRAMA* ptrTrama) +{ + char *iph,fileco[LONPRM],*buffer; + int lSize; + char modulo[] = "EcoConsola()"; + + INTROaFINCAD(ptrTrama); + // Lee archivo de eco de consola + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip del cliente + sprintf(fileco,"/tmp/_Seconsola_%s",iph); // Nombre del archivo en el Servidor + lSize=lonArchivo(fileco); + if(lSize>0){ // Si el fichero tiene contenido... + initParametros(ptrTrama,lSize+LONGITUD_PARAMETROS); + buffer=leeArchivo(fileco); + sprintf(ptrTrama->parametros,"res=%s\r",buffer); + } + else{ + initParametros(ptrTrama,0); + sprintf(ptrTrama->parametros,"res=\r"); + } + ptrTrama->tipo=MSG_RESPUESTA; // Tipo de mensaje + if (!mandaTrama(socket_c, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: clienteDisponible +// +// Descripción: +// Comprueba la disponibilidad del cliente para recibir comandos interactivos +// Parametros: +// - ip : La ip del cliente a buscar +// - idx: (Salida) Indice que ocupa el cliente, de estar ya registrado +// Devuelve: +// TRUE: Si el cliente está disponible +// FALSE: En caso contrario +// ________________________________________________________________________________________________________ +BOOLEAN clienteDisponible(char *ip, int* idx) { + int estado; + + if (clienteExistente(ip, idx)) { + estado = strcmp(tbsockets[*idx].estado, CLIENTE_OCUPADO); // Cliente ocupado + if (estado == 0) + return (FALSE); + + estado = strcmp(tbsockets[*idx].estado, CLIENTE_APAGADO); // Cliente apagado + if (estado == 0) + return (FALSE); + + estado = strcmp(tbsockets[*idx].estado, CLIENTE_INICIANDO); // Cliente en proceso de inclusión + if (estado == 0) + return (FALSE); + + return (TRUE); // En caso contrario el cliente está disponible + } + return (FALSE); // Cliente no está registrado en el sistema +} +// ________________________________________________________________________________________________________ +// Función: clienteExistente +// +// Descripción: +// Comprueba si el cliente está registrado en la tabla de socket del sistema +// Parametros: +// - ip : La ip del cliente a buscar +// - idx:(Salida) Indice que ocupa el cliente, de estar ya registrado +// Devuelve: +// TRUE: Si el cliente está registrado +// FALSE: En caso contrario +// ________________________________________________________________________________________________________ +BOOLEAN clienteExistente(char *ip, int* idx) { + int i; + for (i = 0; i < MAXIMOS_CLIENTES; i++) { + if (contieneIP(ip, tbsockets[i].ip)) { // Si existe la IP en la cadena + *idx = i; + return (TRUE); + } + } + return (FALSE); +} +// ________________________________________________________________________________________________________ +// Función: hayHueco +// +// Descripción: +// Esta función devuelve TRUE o FALSE dependiendo de que haya hueco en la tabla de sockets para un nuevo cliente. +// Parametros: +// - idx: Primer indice libre que se podrn utilizar +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN hayHueco(int *idx) { + int i; + + for (i = 0; i < MAXIMOS_CLIENTES; i++) { + if (strncmp(tbsockets[i].ip, "\0", 1) == 0) { // Hay un hueco + *idx = i; + return (TRUE); + } + } + return (FALSE); +} +// ________________________________________________________________________________________________________ +// Función: InclusionCliente +// +// Descripción: +// Esta función incorpora el socket de un nuevo cliente a la tabla de clientes y le devuelve alguna de sus propiedades: +// nombre, identificador, tamaño de la caché , etc ... +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN InclusionCliente(SOCKET *socket_c, TRAMA *ptrTrama) { + char modulo[] = "InclusionCliente()"; + + if (!procesoInclusionCliente(socket_c, ptrTrama)) { // Ha habido algún error... + initParametros(ptrTrama,0); + strcpy(ptrTrama->parametros, "nfn=RESPUESTA_InclusionCliente\rres=0\r"); + if (!mandaTrama(socket_c, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: procesoInclusionCliente +// +// Descripción: +// Implementa el proceso de inclusión en el sistema del Cliente +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN procesoInclusionCliente(SOCKET *socket_c, TRAMA *ptrTrama) { + char msglog[LONSTD], sqlstr[LONSQL]; + Database db; + Table tbl; + + char *iph, *cfg; + char nombreordenador[LONFIL]; + int lon, resul, idordenador, idmenu, cache, idproautoexec, idaula, idcentro; + char modulo[] = "InclusionCliente()"; + + // Toma parámetros + iph = copiaParametro("iph",ptrTrama); // Toma ip + cfg = copiaParametro("cfg",ptrTrama); // Toma configuracion + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexión con la BD + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + // Recupera los datos del cliente + sprintf(sqlstr, + "SELECT ordenadores.*,aulas.idaula,centros.idcentro FROM ordenadores " + " INNER JOIN aulas ON aulas.idaula=ordenadores.idaula" + " INNER JOIN centros ON centros.idcentro=aulas.idcentro" + " WHERE ordenadores.ip = '%s'", iph); + + if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + if (tbl.ISEOF()) { // Si no existe el cliente + errorLog(modulo, 22, FALSE); + return (FALSE); + } + + if (ndebug == DEBUG_ALTO) { + sprintf(msglog, "%s IP:%s", tbMensajes[2], iph); + infoDebug(msglog); + } + if (!tbl.Get("idordenador", idordenador)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("nombreordenador", nombreordenador)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idmenu", idmenu)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("cache", cache)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idproautoexec", idproautoexec)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idaula", idaula)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idcentro", idcentro)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + resul = actualizaConfiguracion(db, tbl, cfg, idordenador); // Actualiza la configuración del ordenador + db.Close(); + + if (!resul) { + errorLog(modulo, 29, FALSE); + return (FALSE); + } + + if (!registraCliente(iph)) { // Incluyendo al cliente en la tabla de sokets + errorLog(modulo, 25, FALSE); + return (FALSE); + } + + /*------------------------------------------------------------------------------------------------------------------------------ + Prepara la trama de respuesta + -------------------------------------------------------------------------------------------------------------------------------*/ + initParametros(ptrTrama,0); + ptrTrama->tipo=MSG_RESPUESTA; + lon = sprintf(ptrTrama->parametros, "nfn=RESPUESTA_InclusionCliente\r"); + lon += sprintf(ptrTrama->parametros + lon, "ido=%d\r", idordenador); + lon += sprintf(ptrTrama->parametros + lon, "npc=%s\r", nombreordenador); + lon += sprintf(ptrTrama->parametros + lon, "che=%d\r", cache); + lon += sprintf(ptrTrama->parametros + lon, "exe=%d\r", idproautoexec); + lon += sprintf(ptrTrama->parametros + lon, "ida=%d\r", idaula); + lon += sprintf(ptrTrama->parametros + lon, "idc=%d\r", idcentro); + lon += sprintf(ptrTrama->parametros + lon, "res=%d\r", 1); // Confirmación proceso correcto + + if (!mandaTrama(socket_c, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: actualizaConfiguracion +// +// Descripción: +// Esta función actualiza la base de datos con la configuracion de particiones de un cliente +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - cfg: cadena con una Configuración +// - ido: Identificador del ordenador cliente +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// Especificaciones: +// Los parametros de la configuración son: +// par= Número de partición +// cpt= Codigo o tipo de partición +// sfi= Sistema de ficheros que está implementado en la partición +// soi= Nombre del sistema de ficheros instalado en la partición +// tam= Tamaño de la partición +// ________________________________________________________________________________________________________ +BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido) +{ + char msglog[LONSTD], sqlstr[LONSQL]; + int lon, p, c, i, dato, swu, idsoi, idsfi,k; + char *ptrPar[MAXPAR], *ptrCfg[5], *ptrDual[2], tbPar[LONSTD]; + char *par, *cpt, *sfi, *soi, *tam; // Parametros que definen una partición + char modulo[] = "actualizaConfiguracion()"; + + lon = sprintf(tbPar, "("); + p = splitCadena(ptrPar, cfg, '\n'); + for (i = 0; i < p; i++) { + c = splitCadena(ptrCfg, ptrPar[i], '\t'); + par = cpt = sfi = soi = tam = NULL; + splitCadena(ptrDual, ptrCfg[0], '='); + par = ptrDual[1]; // Número de partición + + splitCadena(ptrDual, ptrCfg[1], '='); + cpt = ptrDual[1]; // Código de partición + + k=splitCadena(ptrDual, ptrCfg[2], '='); + if(k==2){ + sfi = ptrDual[1]; // Sistema de ficheros + /* Comprueba existencia del sistema de ficheros instalado */ + idsfi = checkDato(db, tbl, sfi, "sistemasficheros", "descripcion","idsistemafichero"); + } + else + idsfi=0; + + k=splitCadena(ptrDual, ptrCfg[3], '='); + if(k==2){ // Sistema operativo detecdtado + soi = ptrDual[1]; // Nombre del S.O. instalado + /* Comprueba existencia del sistema operativo instalado */ + idsoi = checkDato(db, tbl, soi, "nombresos", "nombreso", "idnombreso"); + } + else + idsoi=0; + + splitCadena(ptrDual, ptrCfg[4], '='); + tam = ptrDual[1]; // Tamaño de la partición + + lon += sprintf(tbPar + lon, "%s,", par); + + sprintf( + sqlstr, + "SELECT numpar,codpar,tamano,idsistemafichero,idnombreso" + " FROM ordenadores_particiones WHERE idordenador=%d AND numpar=%s", + ido, par); + if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (tbl.ISEOF()) { // Si no existe el registro + sprintf( + sqlstr, + "INSERT INTO ordenadores_particiones(idordenador,numpar,codpar,tamano,idsistemafichero,idnombreso,idimagen)" + " VALUES(%d,%s,0x%s,%s,%d,%d,0)", ido, par, cpt, tam, + idsfi, idsoi); + + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + } else { // Existe el registro + swu = TRUE; // Se supone que algún dato ha cambiado + if (!tbl.Get("codpar", dato)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (atoi(cpt) == dato) {// Parámetro tipo de partición igual al almacenado + if (!tbl.Get("tamano", dato)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (atoi(tam) == dato) {// Parámetro tamaño igual al almacenado + if (!tbl.Get("idsistemafichero", dato)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (idsfi == dato) {// Parámetro sistema de fichero igual al almacenado + if (!tbl.Get("idnombreso", dato)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (idsoi == dato) {// Parámetro sistema de fichero distinto al almacenado + swu = FALSE; // Todos los parámetros de la partición son iguales, no se actualiza + } + } + } + } + if (swu) { // Hay que actualizar los parámetros de la partición + sprintf(sqlstr, "UPDATE ordenadores_particiones SET " + " codpar=0x%s," + " tamano=%s," + " idsistemafichero=%d," + " idnombreso=%d," + " idimagen=%d," + " idperfilsoft=%d" + " WHERE idordenador=%d AND numpar=%s"\ +, cpt, tam, idsfi, + idsoi, 0, 0, ido, par); + + if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + } + } + } + lon += sprintf(tbPar + lon, "%d)", 0); + // Eliminar particiones almacenadas que ya no existen + sprintf( + sqlstr, + "DELETE FROM ordenadores_particiones WHERE idordenador=%d AND numpar NOT IN %s", + ido, tbPar); + if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: checkDato +// +// Descripción: +// Esta función comprueba si existe un dato en una tabla y si no es así lo incluye. devuelve en +// cualquier caso el identificador del registro existenet o del insertado +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - dato: Dato +// - tabla: Nombre de la tabla +// - nomdato: Nombre del dato en la tabla +// - nomidentificador: Nombre del identificador en la tabla +// Devuelve: +// El identificador del registro existente o el del insertado +// +// Especificaciones: +// En caso de producirse algún error se devuelve el valor 0 +// ________________________________________________________________________________________________________ + +int checkDato(Database db, Table tbl, char *dato, const char*tabla, + const char* nomdato, const char *nomidentificador) { + char msglog[LONSTD], sqlstr[LONSQL]; + char modulo[] = "checkDato()"; + int identificador; + + if (strlen(dato) == 0) + return (0); // EL dato no tiene valor + sprintf(sqlstr, "SELECT %s FROM %s WHERE %s ='%s'", nomidentificador, + tabla, nomdato, dato); + + // Ejecuta consulta + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (0); + } + if (tbl.ISEOF()) { // Software NO existente + sprintf(sqlstr, "INSERT INTO %s (%s) VALUES('%s')", tabla, nomdato, + dato); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (0); + } + // Recupera el identificador del software + sprintf(sqlstr, "SELECT LAST_INSERT_ID() as identificador"); + if (!db.Execute(sqlstr, tbl)) { // Error al leer + db.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (0); + } + if (!tbl.ISEOF()) { // Si existe registro + if (!tbl.Get("identificador", identificador)) { + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (0); + } + } + } else { + if (!tbl.Get(nomidentificador, identificador)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (0); + } + } + return (identificador); +} +// ________________________________________________________________________________________________________ +// Función: registraCliente +// +// Descripción: +// Incluye al cliente en la tabla de sokets +// Parámetros: +// - iph: Dirección ip del cliente +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN registraCliente(char *iph) { + int idx; + + if (!clienteExistente(iph, &idx)) { // Si no existe la IP ... + if (!hayHueco(&idx)) { // Busca hueco para el nuevo cliente + return (FALSE); // No hay huecos + } + } + strcpy(tbsockets[idx].ip, iph); // Copia IP + strcpy(tbsockets[idx].estado, CLIENTE_INICIANDO); // Actualiza el estado del cliente + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: AutoexecCliente +// +// Descripción: +// Envía archivo de autoexec al cliente +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN AutoexecCliente(SOCKET *socket_c, TRAMA *ptrTrama) { + int lon; + char *iph, *exe, msglog[LONSTD]; + Database db; + FILE *fileexe; + char fileautoexec[LONPRM]; + char parametros[LONGITUD_PARAMETROS]; + char modulo[] = "AutoexecCliente()"; + + iph = copiaParametro("iph",ptrTrama); // Toma dirección IP del cliente + exe = copiaParametro("exe",ptrTrama); // Toma identificador del procedimiento inicial + + sprintf(fileautoexec, "/tmp/Sautoexec-%s", iph); + fileexe = fopen(fileautoexec, "wb"); // Abre fichero de script + if (fileexe == NULL) { + errorLog(modulo, 52, FALSE); + return (FALSE); + } + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexión con la BD + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + initParametros(ptrTrama,0); + if (recorreProcedimientos(db, parametros, fileexe, exe)) { + lon = sprintf(ptrTrama->parametros, "nfn=RESPUESTA_AutoexecCliente\r"); + lon += sprintf(ptrTrama->parametros + lon, "nfl=%s\r", fileautoexec); + lon += sprintf(ptrTrama->parametros + lon, "res=1\r"); + } else { + lon = sprintf(ptrTrama->parametros, "nfn=RESPUESTA_AutoexecCliente\r"); + lon += sprintf(ptrTrama->parametros + lon, "res=0\r"); + } + + fclose(fileexe); + + if (!mandaTrama(socket_c, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: recorreProcedimientos +// +// Descripción: +// Crea un archivo con el código de un procedimiento separando cada comando por un salto de linea +// Parámetros: +// Database db,char* parametros,FILE* fileexe,char* idp +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN recorreProcedimientos(Database db, char* parametros, FILE* fileexe, + char* idp) { + int procedimientoid, lsize; + char idprocedimiento[LONPRM], msglog[LONSTD], sqlstr[LONSQL]; + Table tbl; + char modulo[] = "recorreProcedimientos()"; + + /* Busca procedimiento */ + sprintf(sqlstr, + "SELECT procedimientoid,parametros FROM procedimientos_acciones" + " WHERE idprocedimiento=%s ORDER BY orden", idp); + // Ejecuta consulta + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + while (!tbl.ISEOF()) { // Recorre procedimientos + if (!tbl.Get("procedimientoid", procedimientoid)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (procedimientoid > 0) { // Procedimiento recursivo + sprintf(idprocedimiento, "%d", procedimientoid); + if (!recorreProcedimientos(db, parametros, fileexe, idprocedimiento)) { + return (FALSE); + } + } else { + if (!tbl.Get("parametros", parametros)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + strcat(parametros, "@"); + lsize = strlen(parametros); + fwrite(parametros, 1, lsize, fileexe); // Escribe el código a ejecutar + } + tbl.MoveNext(); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: ComandosPendientes +// +// Descripción: +// Esta función busca en la base de datos,comandos pendientes de ejecutar por un ordenador concreto +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN ComandosPendientes(SOCKET *socket_c, TRAMA *ptrTrama) { + char *ido, pids[LONPRM], iph[LONIP]; + int ids, idx; + char modulo[] = "ComandosPendientes()"; + + strcpy(iph, copiaParametro("iph",ptrTrama)); // Toma direción IP + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!clienteExistente(iph, &idx)) { // Busca índice del cliente + errorLog(modulo, 47, FALSE); + return (FALSE); + } + if (buscaComandos(ido, ptrTrama, &ids)) { // Existen comandos pendientes + ptrTrama->tipo = MSG_COMANDO; + sprintf(pids, "\rids=%d\r", ids); + strcat(ptrTrama->parametros, pids); + strcpy(tbsockets[idx].estado, CLIENTE_OCUPADO); + } else { + initParametros(ptrTrama,0); + strcpy(ptrTrama->parametros, "nfn=NoComandosPtes\r"); + } + if (!mandaTrama(socket_c, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: buscaComandos +// +// Descripción: +// Busca en la base de datos,comandos pendientes de ejecutar por el cliente +// Parámetros: +// - ido: Identificador del ordenador +// - cmd: Parámetros del comando (Salida) +// - ids: Identificador de la acción (Salida) +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN buscaComandos(char *ido, TRAMA *ptrTrama, int *ids) +{ + char msglog[LONSTD], sqlstr[LONSQL]; + Database db; + Table tbl; + int lonprm; + + char modulo[] = "buscaComandos()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexión con la BD + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + sprintf(sqlstr,"SELECT sesion,parametros,length( parametros) as lonprm"\ + " FROM acciones WHERE idordenador=%s AND estado='%d' ORDER BY idaccion", ido, ACCION_INICIADA); + if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (tbl.ISEOF()) { + db.Close(); + return (FALSE); // No hay comandos pendientes + } else { // Busca entre todas las acciones de diversos ambitos + if (!tbl.Get("sesion", *ids)) { // Toma identificador de la acción + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("lonprm", lonprm)) { // Toma parámetros del comando + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if(!initParametros(ptrTrama,lonprm+LONGITUD_PARAMETROS)){ + db.Close(); + errorLog(modulo, 3, FALSE); + return (FALSE); + } + if (!tbl.Get("parametros", ptrTrama->parametros)) { // Toma parámetros del comando + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + } + db.Close(); + return (TRUE); // Hay comandos pendientes, se toma el primero de la cola +} +// ________________________________________________________________________________________________________ +// Función: DisponibilidadComandos +// +// Descripción: +// Esta función habilita a un cliente para recibir comandos desde la consola +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN DisponibilidadComandos(SOCKET *socket_c, TRAMA *ptrTrama) { + char *iph, *tpc; + int idx; + char modulo[] = "DisponibilidadComandos()"; + + iph = copiaParametro("iph",ptrTrama); // Toma ip + tpc = copiaParametro("tpc",ptrTrama); // Tipo de cliente (Plataforma y S.O.) + + if (!clienteExistente(iph, &idx)) { // Busca índice del cliente + errorLog(modulo, 47, FALSE); + return (FALSE); + } + strcpy(tbsockets[idx].estado, tpc); + tbsockets[idx].sock = *socket_c; + swcSocket = TRUE; // El socket permanece abierto para recibir comandos desde el servidor + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: respuestaEstandar +// +// Descripción: +// Esta función actualiza la base de datos con el resultado de la ejecución de un comando con seguimiento +// Parámetros: +// - res: resultado de la ejecución del comando +// - der: Descripción del error si hubiese habido +// - iph: Dirección IP +// - ids: identificador de la acción notificada +// - ido: Identificador del ordenador que notifica +// - db: Objeto base de datos (operativo) +// - tbl: Objeto tabla +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN respuestaEstandar(TRAMA *ptrTrama, char *iph, char *ido, Database db, + Table tbl) { + char msglog[LONSTD], sqlstr[LONSQL]; + char *res, *ids, *der; + char fechafin[LONPRM]; + struct tm* st; + char modulo[] = "respuestaEstandar()"; + + res = copiaParametro("res",ptrTrama); // Toma resultado + ids = copiaParametro("ids",ptrTrama); // Toma identificador de la sesión + der = copiaParametro("der",ptrTrama); // Toma descripción del error (si hubiera habido) + + if (ids == NULL) // No existe seguimiento de la acción + return (TRUE); + + sprintf(sqlstr, + "SELECT * FROM acciones WHERE idordenador=%s AND sesion=%s", ido, + ids); + if (!db.Execute(sqlstr, tbl)) { // Error al consultar + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (tbl.ISEOF()) { // No existe registro de acciones + errorLog(modulo, 31, FALSE); + return (TRUE); + } + + st = tomaHora(); + sprintf(fechafin, "%d/%d/%d %d:%d:%d", st->tm_year + 1900, st->tm_mon + 1, + st->tm_mday, st->tm_hour, st->tm_min, st->tm_sec); + + sprintf( + sqlstr, + "UPDATE acciones SET resultado='%s',estado='%d',fechahorafin='%s',descrinotificacion='%s'"\ + " WHERE idordenador=%s AND sesion=%s", + res, ACCION_FINALIZADA, fechafin, der, ido, ids); + if (!db.Execute(sqlstr, tbl)) { // Error al actualizar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + if (atoi(res) == ACCION_FALLIDA) + return (FALSE); // Error en la ejecución del comando + + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: enviaComando +// +// Descripción: +// Envía un comando a los clientes +// Parámetros: +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// - estado: Estado en el se deja al cliente mientras se ejecuta el comando +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN enviaComando(TRAMA* ptrTrama, const char *estado) { + char *iph, *Ipes, *ptrIpes[MAXIMOS_CLIENTES]; + int i, idx, lon; + char modulo[] = "enviaComando()"; + + iph = copiaParametro("iph",ptrTrama); // Toma dirección/es IP + lon = strlen(iph); // Calcula longitud de la cadena de direccion/es IPE/S + Ipes = (char*) reservaMemoria(lon + 1); + if (Ipes == NULL) { + errorLog(modulo, 3, FALSE); + return (FALSE); + } + strcpy(Ipes, iph); // Copia cadena de IPES + lon = splitCadena(ptrIpes, Ipes, ';'); + FINCADaINTRO(ptrTrama); + for (i = 0; i < lon; i++) { + if (clienteDisponible(ptrIpes[i], &idx)) { // Si el cliente puede recibir comandos + strcpy(tbsockets[idx].estado, estado); // Actualiza el estado del cliente + if (!mandaTrama(&tbsockets[idx].sock, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + close(tbsockets[idx].sock); // Cierra el socket del cliente hasta nueva disponibilidad + } + } + return (TRUE); +} +//______________________________________________________________________________________________________ +// Función: respuestaConsola +// +// Descripción: +// Envia una respuesta a la consola sobre el resultado de la ejecución de un comando +// Parámetros: +// - socket_c: (Salida) Socket utilizado para el envío +// - res: Resultado del envío del comando +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN respuestaConsola(SOCKET *socket_c, TRAMA *ptrTrama, int res) { + char modulo[] = "respuestaConsola()"; + initParametros(ptrTrama,0); + sprintf(ptrTrama->parametros, "res=%d\r", res); + if (!mandaTrama(socket_c, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Arrancar +// +// Descripción: +// Procesa el comando Apagar +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Arrancar(SOCKET *socket_c, TRAMA* ptrTrama) { + char *mac, msglog[LONSTD]; + char modulo[] = "Arrancar()"; + + mac = copiaParametro("mac",ptrTrama); // Toma dirección/es MAC + if (!Levanta(mac)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Levanta +// +// Descripción: +// Enciende ordenadores a través de la red cuyas macs se pasan como parámetro +// Parámetros: +// - mac: Cadena de direcciones mac separadas por ";" +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Levanta(char *mac) { + char *ptrMacs[MAXIMOS_CLIENTES]; + int i, lon, res; + SOCKET s; + BOOLEAN bOpt; + sockaddr_in local; + char modulo[] = "Levanta()"; + + /* Creación de socket para envío de magig packet */ + s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (s == SOCKET_ERROR) { // Error al crear el socket del servicio + errorLog(modulo, 13, TRUE); + return (FALSE); + } + bOpt = TRUE; // Pone el socket en modo Broadcast + res = setsockopt(s, SOL_SOCKET, SO_BROADCAST, (char *) &bOpt, sizeof(bOpt)); + if (res == SOCKET_ERROR) { + errorLog(modulo, 48, TRUE); + return (FALSE); + } + local.sin_family = AF_INET; + local.sin_port = htons((short) PUERTO_WAKEUP); + local.sin_addr.s_addr = htonl(INADDR_ANY); // cualquier interface + if (bind(s, (sockaddr *) &local, sizeof(local)) == SOCKET_ERROR) { + errorLog(modulo, 14, TRUE); + exit(EXIT_FAILURE); + } + /* fin creación de socket */ + lon = splitCadena(ptrMacs, mac, ';'); + for (i = 0; i < lon; i++) { + if (!WakeUp(&s, ptrMacs[i])) { + errorLog(modulo, 49, TRUE); + close(s); + return (FALSE); + } + } + close(s); + return (TRUE); +} +//_____________________________________________________________________________________________________________ +// Función: WakeUp +// +// Descripción: +// Enciende el ordenador cuya MAC se pasa como parámetro +// Parámetros: +// - s : Socket para enviar trama magic packet +// - mac : Cadena con la dirección mac en formato XXXXXXXXXXXX +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//_____________________________________________________________________________________________________________ +BOOLEAN WakeUp(SOCKET *s, char *mac) { + int i, res; + char HDaddress_bin[6]; + struct { + BYTE secuencia_FF[6]; + char macbin[16][6]; + } Trama_WakeUp; + sockaddr_in WakeUpCliente; + char modulo[] = "WakeUp()"; + + for (i = 0; i < 6; i++) // Primera secuencia de la trama Wake Up (0xFFFFFFFFFFFF) + Trama_WakeUp.secuencia_FF[i] = 0xFF; + + PasaHexBin(mac, HDaddress_bin); // Pasa a binario la MAC + + for (i = 0; i < 16; i++) // Segunda secuencia de la trama Wake Up , repetir 16 veces su la MAC + memcpy(&Trama_WakeUp.macbin[i][0], &HDaddress_bin, 6); + + /* Creación de socket del cliente que recibe la trama magic packet */ + WakeUpCliente.sin_family = AF_INET; + WakeUpCliente.sin_port = htons((short) PUERTO_WAKEUP); + WakeUpCliente.sin_addr.s_addr = htonl(INADDR_BROADCAST); // Para hacerlo con broadcast + + res = sendto(*s, (char *) &Trama_WakeUp, sizeof(Trama_WakeUp), 0, + (sockaddr *) &WakeUpCliente, sizeof(WakeUpCliente)); + if (res == SOCKET_ERROR) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + return (TRUE); +} +//_____________________________________________________________________________________________________________ +// Función: PasaHexBin +// +// Descripción: +// Convierte a binario una dirección mac desde una cadena con formato XXXXXXXXXXXX +// +// Parámetros de entrada: +// - cadena : Cadena con el contenido de la mac +// - numero : la dirección mac convertida a binario (6 bytes) +//_____________________________________________________________________________________________________________ +void PasaHexBin(char *cadena, char *numero) { + int i, j, p; + char matrizHex[] = "0123456789ABCDEF"; + char Ucadena[12], aux; + + for (i = 0; i < 12; i++) + Ucadena[i] = toupper(cadena[i]); + p = 0; + for (i = 0; i < 12; i++) { + for (j = 0; j < 16; j++) { + if (Ucadena[i] == matrizHex[j]) { + if (i % 2) { + aux = numero[p]; + aux = (aux << 4); + numero[p] = j; + numero[p] = numero[p] | aux; + p++; + } else + numero[p] = j; + break; + } + } + } +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_Arrancar +// +// Descripción: +// Respuesta del cliente al comando Apagar +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_Arrancar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + int i; + char *iph, *ido; + char *tpc; + char modulo[] = "RESPUESTA_Arrancar()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + tpc = copiaParametro("tpc",ptrTrama); // Tipo de cliente (Plataforma y S.O.) + if (clienteExistente(iph, &i)) // Actualiza estado + strcpy(tbsockets[i].estado, tpc); + + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Comando +// +// Descripción: +// Procesa un comando personalizado +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Comando(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "Comando()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_Comando +// +// Descripción: +// Respuesta del cliente al un comando personalizado +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_Comando(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + char *iph, *ido; + char modulo[] = "RESPUESTA_Comando()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Apagar +// +// Descripción: +// Procesa el comando Apagar +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Apagar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "Apagar()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_Apagar +// +// Descripción: +// Respuesta del cliente al comando Apagar +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_Apagar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + int i; + char *iph, *ido; + char modulo[] = "RESPUESTA_Apagar()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + if (clienteExistente(iph, &i)) // Actualiza estado + strcpy(tbsockets[i].estado, CLIENTE_APAGADO); + + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Reiniciar +// +// Descripción: +// Procesa el comando Reiniciar +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Reiniciar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "Reiniciar()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_Reiniciar +// +// Descripción: +// Respuesta del cliente al comando Reiniciar +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_Reiniciar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + int i; + char *iph, *ido; + char modulo[] = "RESPUESTA_Reiniciar()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + if (clienteExistente(iph, &i)) // Actualiza estado + strcpy(tbsockets[i].estado, CLIENTE_APAGADO); + + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: IniciarSesion +// +// Descripción: +// Procesa el comando Iniciar Sesión +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN IniciarSesion(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "IniciarSesion()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_IniciarSesion +// +// Descripción: +// Respuesta del cliente al comando Iniciar Sesión +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_IniciarSesion(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + int i; + char *iph, *ido; + char modulo[] = "RESPUESTA_IniciarSesion()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + if (clienteExistente(iph, &i)) // Actualiza estado + strcpy(tbsockets[i].estado, CLIENTE_APAGADO); + + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: CrearImagen +// +// Descripción: +// Crea una imagen de una partición de un disco y la guarda o bien en un repositorio +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN CrearImagen(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "CrearImagen()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_CrearImagen +// +// Descripción: +// Respuesta del cliente al comando CrearImagen +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_CrearImagen(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + char *iph, *par, *cpt, *ipr, *ido; + char *idi; + char modulo[] = "RESPUESTA_CrearImagen()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + // Acciones posteriores + idi = copiaParametro("idi",ptrTrama); + par = copiaParametro("par",ptrTrama); + cpt = copiaParametro("cpt",ptrTrama); + ipr = copiaParametro("ipr",ptrTrama); + + if (!actualizaCreacionImagen(db, tbl, idi, par, cpt, ipr, ido)) { + errorLog(modulo, 53, FALSE); + db.Close(); // Cierra conexión + return (FALSE); + } + + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: actualizaCreacionImagen +// +// Descripción: +// Esta función actualiza la base de datos con el resultado de la creación de una imagen +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - idi: Identificador de la imagen +// - par: Partición de donde se creó +// - cpt: Código de partición +// - ipr: Ip del repositorio +// - ido: Identificador del ordenador modelo +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* par, + char* cpt, char* ipr, char *ido) { + char msglog[LONSTD], sqlstr[LONSQL]; + char modulo[] = "actualizaCreacionImagen()"; + int idr,ifs; + + /* Toma identificador del repositorio */ + sprintf(sqlstr, "SELECT idrepositorio FROM repositorios WHERE ip='%s'", ipr); + + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idrepositorio", idr)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + + /* Toma identificador del perfilsoftware */ + sprintf(sqlstr, "SELECT idperfilsoft FROM ordenadores_particiones WHERE idordenador=%s AND numpar=%s", ido,par); + + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idperfilsoft", ifs)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + + /* Actualizar los datos de la imagen */ + sprintf(sqlstr, + "UPDATE imagenes SET numpar=%s,codpar=%s,idperfilsoft=%d,idrepositorio='%d'" + " WHERE idimagen=%s", par, cpt, ifs, idr, idi); + + if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RestaurarImagen +// +// Descripción: +// Restaura una imagen en una partición +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RestaurarImagen(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "RestaurarImagen()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_RestaurarImagen +// +// Descripción: +// Respuesta del cliente al comando RestaurarImagen +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_RestaurarImagen(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + char *iph, *ido, *idi, *par, *ifs; + char modulo[] = "RESPUESTA_RestaurarImagen()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + // Acciones posteriores + idi = copiaParametro("idi",ptrTrama); // Toma identificador de la imagen + par = copiaParametro("par",ptrTrama); // Número de partición + ifs = copiaParametro("ifs",ptrTrama); // Identificador del perfil software contenido + if (!actualizaRestauracionImagen(db, tbl, idi, par, ido, ifs)) { + errorLog(modulo, 53, FALSE); + db.Close(); // Cierra conexión + return (FALSE); + } + + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: actualizaRestauracionImagen +// +// Descripción: +// Esta función actualiza la base de datos con el resultado de la creación de una imagen +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - idi: Identificador de la imagen +// - par: Partición de donde se restauró +// - ido: Identificador del cliente donde se restauró +// - ifs: Identificador del perfil software contenido en la imagen +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN actualizaRestauracionImagen(Database db, Table tbl, char* idi, + char* par, char* ido, char* ifs) { + char msglog[LONSTD], sqlstr[LONSQL]; + char modulo[] = "actualizaRestauracionImagen()"; + + /* Actualizar los datos de la imagen */ + sprintf(sqlstr, + "UPDATE ordenadores_particiones SET idimagen=%s,idperfilsoft=%s" + " WHERE idordenador=%s AND numpar=%s", idi, ifs, ido, par); + + if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: Configurar +// +// Descripción: +// Configura la tabla de particiones +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN Configurar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "Configurar()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_Configurar +// +// Descripción: +// Respuesta del cliente al comando Configurar +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_Configurar(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + char *iph, *ido,*cfg; + char modulo[] = "RESPUESTA_Configurar()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + cfg = copiaParametro("cfg",ptrTrama); // Toma configuración de particiones + if(!actualizaConfiguracion(db, tbl, cfg, atoi(ido))){ // Actualiza la configuración del ordenador + errorLog(modulo, 24, FALSE); + return (FALSE); // Error al registrar notificacion + } + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: EjecutarScript +// +// Descripción: +// Ejecuta un script de código +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN EjecutarScript(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "EjecutarScript()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_EjecutarScript +// +// Descripción: +// Respuesta del cliente al comando EjecutarScript +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_EjecutarScript(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + char *iph, *ido; + + char modulo[] = "RESPUESTA_EjecutarScript()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + + // Acciones posteriores + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: InventarioHardware +// +// Descripción: +// Solicita al cliente un inventario de su hardware +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN InventarioHardware(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "InventarioHardware()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_InventarioHardware +// +// Descripción: +// Respuesta del cliente al comando InventarioHardware +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_InventarioHardware(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + char *iph, *ido, *idc, *npc, *hrd, *buffer; + char modulo[] = "RESPUESTA_InventarioHardware()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip del cliente + ido = copiaParametro("ido",ptrTrama); // Toma identificador del cliente + npc = copiaParametro("npc",ptrTrama); // Toma Nombre del cliente + idc = copiaParametro("idc",ptrTrama); // Toma identificador del Centro + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + // Lee archivo de inventario enviado anteriormente + hrd = copiaParametro("hrd",ptrTrama); + buffer = rTrim(leeArchivo(hrd)); + + if (buffer) { + if (!actualizaHardware(db, tbl, buffer, ido, npc, idc)) { + errorLog(modulo, 53, FALSE); + return (FALSE); + } + } + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: actualizaHardware +// +// Descripción: +// Actualiza la base de datos con la configuracion hardware del cliente +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - hrd: cadena con el inventario hardware +// - ido: Identificador del ordenador +// - npc: Nombre del ordenador +// - idc: Identificador del centro o Unidad organizativa +// ________________________________________________________________________________________________________ +BOOLEAN actualizaHardware(Database db, Table tbl, char* hrd, char*ido, + char* npc, char *idc) { + char msglog[LONSTD], sqlstr[LONSQL]; + int idtipohardware, idperfilhard; + int lon, i, j, aux; + char *tbHardware[MAXHARDWARE]; + int tbidhardware[MAXHARDWARE]; + char *dualHardware[2], descripcion[250], strInt[LONINT], *idhardwares; + char modulo[] = "actualizaHardware()"; + + /* Toma Centro (Unidad Organizativa) */ + sprintf(sqlstr, "SELECT * FROM ordenadores WHERE idordenador=%s", ido); + + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idperfilhard", idperfilhard)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + hrd=escaparCadena(hrd); // Codificar comillas simples + if(!hrd) + return (FALSE); + /* Recorre componentes hardware*/ + lon = splitCadena(tbHardware, hrd, '\n'); + if (lon > MAXHARDWARE) + lon = MAXHARDWARE; // Limita el número de componentes hardware + /* + for (i=0;i<lon;i++){ + sprintf(msglog,"Linea de inventario: %s",tbHardware[i]); + RegistraLog(msglog,FALSE); + } + */ + for (i = 0; i < lon; i++) { + splitCadena(dualHardware, rTrim(tbHardware[i]), '='); + //sprintf(msglog,"nemonico: %s",dualHardware[0]); + //RegistraLog(msglog,FALSE); + //sprintf(msglog,"valor: %s",dualHardware[1]); + //RegistraLog(msglog,FALSE); + sprintf(sqlstr, "SELECT idtipohardware,descripcion FROM tipohardwares " + " WHERE nemonico='%s'", dualHardware[0]); + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (tbl.ISEOF()) { // Tipo de Hardware NO existente + sprintf(msglog, "%s: %s)", tbErrores[54], dualHardware[0]); + errorInfo(modulo, msglog); + return (FALSE); + } else { // Tipo de Hardware Existe + if (!tbl.Get("idtipohardware", idtipohardware)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("descripcion", descripcion)) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + + sprintf(sqlstr, "SELECT idhardware FROM hardwares " + " WHERE idtipohardware=%d AND descripcion='%s'", + idtipohardware, dualHardware[1]); + + // Ejecuta consulta + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + if (tbl.ISEOF()) { // Hardware NO existente + sprintf(sqlstr, + "INSERT hardwares (idtipohardware,descripcion,idcentro,grupoid) " + " VALUES(%d,'%s',%s,0)", idtipohardware, + dualHardware[1], idc); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + // Recupera el identificador del hardware + sprintf(sqlstr, "SELECT LAST_INSERT_ID() as identificador"); + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.ISEOF()) { // Si existe registro + if (!tbl.Get("identificador", tbidhardware[i])) { + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + } + } else { + if (!tbl.Get("idhardware", tbidhardware[i])) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + } + } + } + // Ordena tabla de identificadores para cosultar si existe un pefil con esas especificaciones + + for (i = 0; i < lon - 1; i++) { + for (j = i + 1; j < lon; j++) { + if (tbidhardware[i] > tbidhardware[j]) { + aux = tbidhardware[i]; + tbidhardware[i] = tbidhardware[j]; + tbidhardware[j] = aux; + } + } + } + /* Crea cadena de identificadores de componentes hardware separados por coma */ + sprintf(strInt, "%d", tbidhardware[lon - 1]); // Pasa a cadena el último identificador que es de mayor longitud + aux = strlen(strInt); // Calcula longitud de cadena para reservar espacio a todos los perfiles + idhardwares = reservaMemoria(sizeof(aux) * lon + lon); + if (idhardwares == NULL) { + errorLog(modulo, 3, FALSE); + return (FALSE); + } + aux = sprintf(idhardwares, "%d", tbidhardware[0]); + for (i = 1; i < lon; i++) + aux += sprintf(idhardwares + aux, ",%d", tbidhardware[i]); + + if (!cuestionPerfilHardware(db, tbl, idc, ido, idperfilhard, idhardwares, + npc, tbidhardware, lon)) { + errorLog(modulo, 55, FALSE); + errorInfo(modulo, msglog); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: cuestionPerfilHardware +// +// Descripción: +// Comprueba existencia de perfil hardware y actualización de éste para el ordenador +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - idc: Identificador de la Unidad organizativa donde se encuentra el cliente +// - ido: Identificador del ordenador +// - tbidhardware: Identificador del tipo de hardware +// - con: Número de componentes detectados para configurar un el perfil hardware +// - npc: Nombre del cliente +// ________________________________________________________________________________________________________ +BOOLEAN cuestionPerfilHardware(Database db, Table tbl, char* idc, char* ido, + int idperfilhardware, char*idhardwares, char *npc, int *tbidhardware, + int lon) +{ + char msglog[LONSTD], *sqlstr; + int i; + int nwidperfilhard; + char modulo[] = "cuestionPerfilHardware()"; + + sqlstr = reservaMemoria(strlen(idhardwares)+LONSQL); // Reserva para escribir sentencia SQL + if (sqlstr == NULL) { + errorLog(modulo, 3, FALSE); + return (FALSE); + } + // Busca perfil hard del ordenador que contenga todos los componentes hardware encontrados + sprintf(sqlstr, "SELECT idperfilhard FROM" + " (SELECT perfileshard_hardwares.idperfilhard as idperfilhard," + " group_concat(cast(perfileshard_hardwares.idhardware AS char( 11) )" + " ORDER BY perfileshard_hardwares.idhardware SEPARATOR ',' ) AS idhardwares" + " FROM perfileshard_hardwares" + " GROUP BY perfileshard_hardwares.idperfilhard) AS temp" + " WHERE idhardwares LIKE '%s'", idhardwares); + // Ejecuta consulta + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + if (tbl.ISEOF()) { // No existe un perfil hardware con esos componentes de componentes hardware, lo crea + sprintf(sqlstr, "INSERT perfileshard (descripcion,idcentro,grupoid)" + " VALUES('Perfil hardware (%s) ',%s,0)", npc, idc); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + // Recupera el identificador del nuevo perfil hardware + sprintf(sqlstr, "SELECT LAST_INSERT_ID() as identificador"); + if (!db.Execute(sqlstr, tbl)) { // Error al leer + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + if (!tbl.ISEOF()) { // Si existe registro + if (!tbl.Get("identificador", nwidperfilhard)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + // Crea la relación entre perfiles y componenetes hardware + for (i = 0; i < lon; i++) { + sprintf(sqlstr, + "INSERT perfileshard_hardwares (idperfilhard,idhardware)" + " VALUES(%d,%d)", nwidperfilhard, tbidhardware[i]); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + } else { // Existe un perfil con todos esos componentes + if (!tbl.Get("idperfilhard", nwidperfilhard)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + if (idperfilhardware != nwidperfilhard) { // No coinciden los perfiles + // Actualiza el identificador del perfil hardware del ordenador + sprintf(sqlstr, "UPDATE ordenadores SET idperfilhard=%d" + " WHERE idordenador=%s", nwidperfilhard, ido); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + /* Eliminar Relación de hardwares con Perfiles hardware que quedan húerfanos */ + sprintf(sqlstr, "DELETE FROM perfileshard_hardwares WHERE idperfilhard IN " + " (SELECT idperfilhard FROM perfileshard WHERE idperfilhard NOT IN" + " (SELECT DISTINCT idperfilhard from ordenadores))"); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + + /* Eliminar Perfiles hardware que quedan húerfanos */ + sprintf(sqlstr, "DELETE FROM perfileshard WHERE idperfilhard NOT IN" + " (SELECT DISTINCT idperfilhard from ordenadores)"); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + /* Eliminar Relación de hardwares con Perfiles hardware que quedan húerfanos */ + sprintf(sqlstr, + "DELETE FROM perfileshard_hardwares WHERE idperfilhard NOT IN" + " (SELECT idperfilhard from perfileshard)"); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: InventarioSoftware +// +// Descripción: +// Solicita al cliente un inventario de su software +// Parámetros: +// - socket_c: Socket de la consola al envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN InventarioSoftware(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + char modulo[] = "InventarioSoftware()"; + + if (!enviaComando(ptrTrama, CLIENTE_OCUPADO)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + respuestaConsola(socket_c, ptrTrama, FALSE); + return (FALSE); + } + respuestaConsola(socket_c, ptrTrama, TRUE); + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: RESPUESTA_InventarioSoftware +// +// Descripción: +// Respuesta del cliente al comando InventarioSoftware +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN RESPUESTA_InventarioSoftware(SOCKET *socket_c, TRAMA* ptrTrama) { + char msglog[LONSTD]; + Database db; + Table tbl; + char *iph, *ido, *npc, *idc, *par, *sft, *buffer; + char modulo[] = "RESPUESTA_InventarioSoftware()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + iph = copiaParametro("iph",ptrTrama); // Toma dirección ip + ido = copiaParametro("ido",ptrTrama); // Toma identificador del ordenador + npc = copiaParametro("npc",ptrTrama); // Toma Nombre del cliente + idc = copiaParametro("idc",ptrTrama); // Toma identificador del Centro + + if (!respuestaEstandar(ptrTrama, iph, ido, db, tbl)) { + errorLog(modulo, 30, FALSE); + return (FALSE); // Error al registrar notificacion + } + par = copiaParametro("par",ptrTrama); + // Lee archivo de inventario enviado anteriormente + sft = copiaParametro("sft",ptrTrama); + + buffer = rTrim(leeArchivo(sft)); + if (buffer) { + if (!actualizaSoftware(db, tbl, buffer, par, ido, npc, idc)) { + errorLog(modulo, 82, FALSE); + return (FALSE); + } + } + db.Close(); // Cierra conexión + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: actualizaSoftware +// +// Descripción: +// Actualiza la base de datos con la configuración software del cliente +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - sft: cadena con el inventario software +// - par: Número de la partición +// - ido: Identificador del ordenador del cliente en la tabla +// - npc: Nombre del ordenador +// - idc: Identificador del centro o Unidad organizativa +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN actualizaSoftware(Database db, Table tbl, char* sft, char* par, + char* ido, char* npc, char* idc) { + int i, j, lon, aux, idperfilsoft; + char *tbSoftware[MAXSOFTWARE]; + int tbidsoftware[MAXSOFTWARE]; + char msglog[LONSTD], sqlstr[LONSQL], strInt[LONINT], *idsoftwares; + char modulo[] = "actualizaSoftware()"; + + /* Toma Centro (Unidad Organizativa) y perfil software */ + sprintf(sqlstr, "SELECT idperfilsoft,numpar" + " FROM ordenadores_particiones" + " WHERE idordenador=%s", ido); + + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + idperfilsoft = 0; // Por defecto se supone que el ordenador no tiene aún detectado el perfil software + while (!tbl.ISEOF()) { // Recorre particiones + if (!tbl.Get("numpar", aux)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (aux == atoi(par)) { // Se encuentra la partición + if (!tbl.Get("idperfilsoft", idperfilsoft)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + break; + } + tbl.MoveNext(); + } + sft=escaparCadena(sft); // Codificar comillas simples + if(!sft) + return (FALSE); + + /* Recorre componentes software*/ + lon = splitCadena(tbSoftware, sft, '\n'); + if (lon == 0) + return (true); // No hay lineas que procesar + if (lon > MAXSOFTWARE) + lon = MAXSOFTWARE; // Limita el número de componentes software + + for (i = 0; i < lon; i++) { + sprintf(sqlstr, + "SELECT idsoftware FROM softwares WHERE descripcion ='%s'", + rTrim(tbSoftware[i])); + + // Ejecuta consulta + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + if (tbl.ISEOF()) { // Software NO existente + sprintf(sqlstr, + "INSERT INTO softwares (idtiposoftware,descripcion,idcentro,grupoid)" + " VALUES(2,'%s',%s,0)", tbSoftware[i], idc); + + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + // Recupera el identificador del software + sprintf(sqlstr, "SELECT LAST_INSERT_ID() as identificador"); + if (!db.Execute(sqlstr, tbl)) { // Error al leer + db.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.ISEOF()) { // Si existe registro + if (!tbl.Get("identificador", tbidsoftware[i])) { + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + } + } else { + if (!tbl.Get("idsoftware", tbidsoftware[i])) { // Toma dato + tbl.GetErrorErrStr(msglog); // Error al acceder al registro + errorInfo(modulo, msglog); + return (FALSE); + } + } + } + + // Ordena tabla de identificadores para cosultar si existe un pefil con esas especificaciones + + for (i = 0; i < lon - 1; i++) { + for (j = i + 1; j < lon; j++) { + if (tbidsoftware[i] > tbidsoftware[j]) { + aux = tbidsoftware[i]; + tbidsoftware[i] = tbidsoftware[j]; + tbidsoftware[j] = aux; + } + } + } + /* Crea cadena de identificadores de componentes software separados por coma */ + sprintf(strInt, "%d", tbidsoftware[lon - 1]); // Pasa a cadena el último identificador que es de mayor longitud + aux = strlen(strInt); // Calcula longitud de cadena para reservar espacio a todos los perfiles + idsoftwares = reservaMemoria((sizeof(aux)+1) * lon + lon); + if (idsoftwares == NULL) { + errorLog(modulo, 3, FALSE); + return (FALSE); + } + aux = sprintf(idsoftwares, "%d", tbidsoftware[0]); + for (i = 1; i < lon; i++) + aux += sprintf(idsoftwares + aux, ",%d", tbidsoftware[i]); + + // Comprueba existencia de perfil software y actualización de éste para el ordenador + if (!cuestionPerfilSoftware(db, tbl, idc, ido, idperfilsoft, idsoftwares, + npc, par, tbidsoftware, lon)) { + errorLog(modulo, 83, FALSE); + errorInfo(modulo, msglog); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: CuestionPerfilSoftware +// +// Parámetros: +// - db: Objeto base de datos (ya operativo) +// - tbl: Objeto tabla +// - idcentro: Identificador del centro en la tabla +// - ido: Identificador del ordenador del cliente en la tabla +// - idsoftwares: Cadena con los identificadores de componentes software separados por comas +// - npc: Nombre del ordenador del cliente +// - particion: Número de la partición +// - tbidsoftware: Array con los identificadores de componentes software +// - lon: Número de componentes +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +//________________________________________________________________________________________________________/ +BOOLEAN cuestionPerfilSoftware(Database db, Table tbl, char* idc, char* ido, + int idperfilsoftware, char *idsoftwares, char *npc, char *par, + int *tbidsoftware, int lon) { + char *sqlstr, msglog[LONSTD]; + int i, nwidperfilsoft; + char modulo[] = "cuestionPerfilSoftware()"; + + sqlstr = reservaMemoria(strlen(idsoftwares)+LONSQL); // Reserva para escribir sentencia SQL + if (sqlstr == NULL) { + errorLog(modulo, 3, FALSE); + return (FALSE); + } + // Busca perfil soft del ordenador que contenga todos los componentes software encontrados + sprintf(sqlstr, "SELECT idperfilsoft FROM" + " (SELECT perfilessoft_softwares.idperfilsoft as idperfilsoft," + " group_concat(cast(perfilessoft_softwares.idsoftware AS char( 11) )" + " ORDER BY perfilessoft_softwares.idsoftware SEPARATOR ',' ) AS idsoftwares" + " FROM perfilessoft_softwares" + " GROUP BY perfilessoft_softwares.idperfilsoft) AS temp" + " WHERE idsoftwares LIKE '%s'", idsoftwares); + // Ejecuta consulta + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + if (tbl.ISEOF()) { // No existe un perfil software con esos componentes de componentes software, lo crea + sprintf(sqlstr, "INSERT perfilessoft (descripcion,idcentro,grupoid)" + " VALUES('Perfil Software (%s, Part:%s) ',%s,0)", npc, par, idc); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + // Recupera el identificador del nuevo perfil software + sprintf(sqlstr, "SELECT LAST_INSERT_ID() as identificador"); + if (!db.Execute(sqlstr, tbl)) { // Error al leer + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + if (!tbl.ISEOF()) { // Si existe registro + if (!tbl.Get("identificador", nwidperfilsoft)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + // Crea la relación entre perfiles y componenetes software + for (i = 0; i < lon; i++) { + sprintf(sqlstr, + "INSERT perfilessoft_softwares (idperfilsoft,idsoftware)" + " VALUES(%d,%d)", nwidperfilsoft, tbidsoftware[i]); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + } else { // Existe un perfil con todos esos componentes + if (!tbl.Get("idperfilsoft", nwidperfilsoft)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + + if (idperfilsoftware != nwidperfilsoft) { // No coinciden los perfiles + // Actualiza el identificador del perfil software del ordenador + sprintf(sqlstr, + "UPDATE ordenadores_particiones SET idperfilsoft=%d,idimagen=0" + " WHERE idordenador=%s AND numpar=%s", nwidperfilsoft, ido, + par); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + } + + /* DEPURACIÓN DE PERFILES SOFTWARE */ + + /* Eliminar Relación de softwares con Perfiles software que quedan húerfanos */ + sprintf(sqlstr, "DELETE FROM perfilessoft_softwares WHERE idperfilsoft IN "\ + " (SELECT idperfilsoft FROM perfilessoft WHERE idperfilsoft NOT IN"\ + " (SELECT DISTINCT idperfilsoft from ordenadores_particiones) AND idperfilsoft NOT IN"\ + " (SELECT DISTINCT idperfilsoft from imagenes))"); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + /* Eliminar Perfiles software que quedan húerfanos */ + sprintf(sqlstr, "DELETE FROM perfilessoft WHERE idperfilsoft NOT IN" + " (SELECT DISTINCT idperfilsoft from ordenadores_particiones)"\ + " AND idperfilsoft NOT IN"\ + " (SELECT DISTINCT idperfilsoft from imagenes)"); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + /* Eliminar Relación de softwares con Perfiles software que quedan húerfanos */ + sprintf(sqlstr, + "DELETE FROM perfilessoft_softwares WHERE idperfilsoft NOT IN" + " (SELECT idperfilsoft from perfilessoft)"); + if (!db.Execute(sqlstr, tbl)) { // Error al insertar + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (false); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: enviaArchivo +// +// Descripción: +// Envia un archivo por la red, por bloques +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN enviaArchivo(SOCKET *socket_c, TRAMA *ptrTrama) { + char *nfl; + char modulo[] = "enviaArchivo()"; + + // Toma parámetros + nfl = copiaParametro("nfl",ptrTrama); // Toma nombre completo del archivo + if (!sendArchivo(socket_c, nfl)) { + errorLog(modulo, 57, FALSE); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: enviaArchivo +// +// Descripción: +// Envia un archivo por la red, por bloques +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN recibeArchivo(SOCKET *socket_c, TRAMA *ptrTrama) { + char *nfl; + char modulo[] = "recibeArchivo()"; + + // Toma parámetros + nfl = copiaParametro("nfl",ptrTrama); // Toma nombre completo del archivo + ptrTrama->tipo = MSG_NOTIFICACION; + enviaFlag(socket_c, ptrTrama); + if (!recArchivo(socket_c, nfl)) { + errorLog(modulo, 58, FALSE); + return (FALSE); + } + return (TRUE); +} +// ________________________________________________________________________________________________________ +// Función: envioProgramacion +// +// Descripción: +// Envia un comando de actualización a todos los ordenadores que han sido programados con +// alguna acción para que entren en el bucle de comandos pendientes y las ejecuten +// Parámetros: +// - socket_c: Socket del cliente que envió el mensaje +// - ptrTrama: Trama recibida por el servidor con el contenido y los parámetros +// Devuelve: +// TRUE: Si el proceso es correcto +// FALSE: En caso de ocurrir algún error +// ________________________________________________________________________________________________________ +BOOLEAN envioProgramacion(SOCKET *socket_c, TRAMA *ptrTrama) +{ + char sqlstr[LONSQL], msglog[LONSTD]; + char *idp,iph[LONIP],mac[LONMAC]; + Database db; + Table tbl; + int idx,idcomando; + char modulo[] = "envioProgramacion()"; + + if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion + errorLog(modulo, 20, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + + idp = copiaParametro("idp",ptrTrama); // Toma identificador de laprogramación de la tabla acciones + + sprintf(sqlstr, "SELECT ordenadores.ip,ordenadores.mac,acciones.idcomando FROM acciones "\ + " INNER JOIN ordenadores ON ordenadores.ip=acciones.ip"\ + " WHERE acciones.idprogramacion=%s",idp); + if (!db.Execute(sqlstr, tbl)) { // Error al leer + errorLog(modulo, 21, FALSE); + db.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if(tbl.ISEOF()) + return (TRUE); // No existen registros + + /* Prepara la trama de actualizacion */ + + initParametros(ptrTrama,0); + ptrTrama->tipo=MSG_COMANDO; + sprintf(ptrTrama->parametros, "nfn=Actualizar\r"); + + while (!tbl.ISEOF()) { // Recorre particiones + if (!tbl.Get("ip", iph)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!tbl.Get("idcomando", idcomando)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if(idcomando==1){ // Arrancar + if (!tbl.Get("mac", mac)) { + tbl.GetErrorErrStr(msglog); + errorInfo(modulo, msglog); + return (FALSE); + } + if (!Levanta(mac)) { + sprintf(msglog, "%s:%s", tbErrores[32], modulo); + errorInfo(modulo, msglog); + return (FALSE); + } + } + if (clienteDisponible(iph, &idx)) { // Si el cliente puede recibir comandos + strcpy(tbsockets[idx].estado, CLIENTE_OCUPADO); // Actualiza el estado del cliente + if (!mandaTrama(&tbsockets[idx].sock, ptrTrama)) { + errorLog(modulo, 26, FALSE); + return (FALSE); + } + close(tbsockets[idx].sock); // Cierra el socket del cliente hasta nueva disponibilidad + } + tbl.MoveNext(); + } + return (TRUE); // No existen registros +} + +// ******************************************************************************************************** +// PROGRAMA PRINCIPAL (SERVICIO) +// ******************************************************************************************************** +int main(int argc, char *argv[]) { + int i; + SOCKET socket_s; // Socket donde escucha el servidor + SOCKET socket_c; // Socket de los clientes que se conectan + socklen_t iAddrSize; + struct sockaddr_in local, cliente; + char modulo[] = "main()"; + + /*-------------------------------------------------------------------------------------------------------- + Validación de parámetros de ejecución y lectura del fichero de configuración del servicio + ---------------------------------------------------------------------------------------------------------*/ + if (!validacionParametros(argc, argv, 1)) // Valida parámetros de ejecución + exit(EXIT_FAILURE); + + if (!tomaConfiguracion(szPathFileCfg)) { // Toma parametros de configuracion + exit(EXIT_FAILURE); + } + /*-------------------------------------------------------------------------------------------------------- + Carga del catálogo de funciones que procesan las tramas (referencia directa por puntero a función) + ---------------------------------------------------------------------------------------------------------*/ + int cf = 0; + + strcpy(tbfuncionesServer[cf].nf, "Sondeo"); + tbfuncionesServer[cf++].fptr = &Sondeo; + strcpy(tbfuncionesServer[cf].nf, "respuestaSondeo"); + tbfuncionesServer[cf++].fptr = &respuestaSondeo; + + strcpy(tbfuncionesServer[cf].nf, "ConsolaRemota"); + tbfuncionesServer[cf++].fptr = &ConsolaRemota; + + strcpy(tbfuncionesServer[cf].nf, "EcoConsola"); + tbfuncionesServer[cf++].fptr = &EcoConsola; + + strcpy(tbfuncionesServer[cf].nf, "Actualizar"); + tbfuncionesServer[cf++].fptr = &Actualizar; + + strcpy(tbfuncionesServer[cf].nf, "Purgar"); + tbfuncionesServer[cf++].fptr = &Purgar; + + strcpy(tbfuncionesServer[cf].nf, "InclusionCliente"); + tbfuncionesServer[cf++].fptr = &InclusionCliente; + + strcpy(tbfuncionesServer[cf].nf, "AutoexecCliente"); + tbfuncionesServer[cf++].fptr = &AutoexecCliente; + + strcpy(tbfuncionesServer[cf].nf, "ComandosPendientes"); + tbfuncionesServer[cf++].fptr = &ComandosPendientes; + + strcpy(tbfuncionesServer[cf].nf, "DisponibilidadComandos"); + tbfuncionesServer[cf++].fptr = &DisponibilidadComandos; + + strcpy(tbfuncionesServer[cf].nf, "Arrancar"); + tbfuncionesServer[cf++].fptr = &Arrancar; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_Arrancar"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_Arrancar; + + strcpy(tbfuncionesServer[cf].nf, "Apagar"); + tbfuncionesServer[cf++].fptr = &Apagar; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_Apagar"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_Apagar; + + strcpy(tbfuncionesServer[cf].nf, "Reiniciar"); + tbfuncionesServer[cf++].fptr = &Reiniciar; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_Reiniciar"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_Reiniciar; + + strcpy(tbfuncionesServer[cf].nf, "IniciarSesion"); + tbfuncionesServer[cf++].fptr = &IniciarSesion; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_IniciarSesion"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_IniciarSesion; + + strcpy(tbfuncionesServer[cf].nf, "CrearImagen"); + tbfuncionesServer[cf++].fptr = &CrearImagen; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_CrearImagen"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_CrearImagen; + + strcpy(tbfuncionesServer[cf].nf, "RestaurarImagen"); + tbfuncionesServer[cf++].fptr = &RestaurarImagen; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_RestaurarImagen"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_RestaurarImagen; + + strcpy(tbfuncionesServer[cf].nf, "Configurar"); + tbfuncionesServer[cf++].fptr = &Configurar; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_Configurar"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_Configurar; + + strcpy(tbfuncionesServer[cf].nf, "EjecutarScript"); + tbfuncionesServer[cf++].fptr = &EjecutarScript; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_EjecutarScript"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_EjecutarScript; + + strcpy(tbfuncionesServer[cf].nf, "InventarioHardware"); + tbfuncionesServer[cf++].fptr = &InventarioHardware; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_InventarioHardware"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_InventarioHardware; + + strcpy(tbfuncionesServer[cf].nf, "InventarioSoftware"); + tbfuncionesServer[cf++].fptr = &InventarioSoftware; + strcpy(tbfuncionesServer[cf].nf, "RESPUESTA_InventarioSoftware"); + tbfuncionesServer[cf++].fptr = &RESPUESTA_InventarioSoftware; + + strcpy(tbfuncionesServer[cf].nf, "enviaArchivo"); + tbfuncionesServer[cf++].fptr = &enviaArchivo; + + strcpy(tbfuncionesServer[cf].nf, "recibeArchivo"); + tbfuncionesServer[cf++].fptr = &recibeArchivo; + + strcpy(tbfuncionesServer[cf].nf, "envioProgramacion"); + tbfuncionesServer[cf++].fptr = &envioProgramacion; + + /*-------------------------------------------------------------------------------------------------------- + // Inicializa array de información de los clientes + ---------------------------------------------------------------------------------------------------------*/ + for (i = 0; i < MAXIMOS_CLIENTES; i++) { + tbsockets[i].ip[0] = '\0'; + tbsockets[i].sock = INVALID_SOCKET; + } + /*-------------------------------------------------------------------------------------------------------- + Creación y configuración del socket del servicio + ---------------------------------------------------------------------------------------------------------*/ + socket_s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Crea socket del servicio + if (socket_s == SOCKET_ERROR) { // Error al crear el socket del servicio + errorLog(modulo, 13, TRUE); + exit(EXIT_FAILURE); + } + + local.sin_addr.s_addr = htonl(INADDR_ANY); // Configura el socket del servicio + local.sin_family = AF_INET; + local.sin_port = htons(atoi(puerto)); + + if (bind(socket_s, (struct sockaddr *) &local, sizeof(local)) + == SOCKET_ERROR) { // Enlaza socket + errorLog(modulo, 14, TRUE); + exit(EXIT_FAILURE); + } + + listen(socket_s, 250); // Pone a escuchar al socket + iAddrSize = sizeof(cliente); + /*-------------------------------------------------------------------------------------------------------- + Bucle para acceptar conexiones + ---------------------------------------------------------------------------------------------------------*/ + infoLog(1); // Inicio de sesión + while (TRUE) { + socket_c = accept(socket_s, (struct sockaddr *) &cliente, &iAddrSize); + if (socket_c == INVALID_SOCKET) { + errorLog(modulo, 15, TRUE); + exit(EXIT_FAILURE); + } + swcSocket = FALSE; // Por defecto se cerrara el socket de cliente después del anális de la trama + if (!gestionaTrama(&socket_c)) { + errorLog(modulo, 39, TRUE); + //close(socket_c); + //break; + } + if (!swcSocket) // Sólo se cierra cuando el cliente NO espera comandos ineractivos + close(socket_c); + } + /*-------------------------------------------------------------------------------------------------------- + Fin del servicio + ---------------------------------------------------------------------------------------------------------*/ + close(socket_s); + exit(EXIT_SUCCESS); +} diff --git a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.h b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.h new file mode 100644 index 00000000..13a53570 --- /dev/null +++ b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.h @@ -0,0 +1,118 @@ +// ******************************************************************************************************** +// Servicio: ogAdmServer +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Marzo-2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ogAdmServer.h +// Descripción: Este fichero implementa el servicio de administración general del sistema +// ******************************************************************************************************** +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <ctype.h> +#include <errno.h> +#include <unistd.h> +#include <time.h> +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include </usr/include/mysql/mysql.h> +#include "Database.h" +#include "ogAdmLib.h" +// ________________________________________________________________________________________________________ +// Variables globales +// ________________________________________________________________________________________________________ +char servidoradm[LONPRM]; // Dirección IP del servidor de administración +char puerto[LONPRM]; // Puerto de comunicación +char usuario[LONPRM]; // Usuario de acceso a la base de datos +char pasguor[LONPRM]; // Password del usuario +char datasource[LONPRM]; // Dirección IP del gestor de base de datos +char catalog[LONPRM]; // Nombre de la base de datos +char aulaup[LONPRM]; // Conmutador para registro automático de clientes + +typedef struct{ // Estructura usada para guardar información de los clientes + char ip[LONIP]; // IP del cliente + char estado[4]; // Tipo de Sistema Operativo en que se encuentra el cliente + SOCKET sock; // Socket por el que se comunica +}SOCKETCL; +SOCKETCL tbsockets[MAXIMOS_CLIENTES]; + +BOOLEAN swcSocket; // Switch para indicar si se debe cerrar el socket del cliente + +typedef struct{ // Estructura usada para referenciar las funciones que procesan las tramas + char nf[LONFUN]; // Nombre de la función + BOOLEAN (*fptr)(SOCKET*,TRAMA*); // Puntero a la función que procesa la trama +}MSGFUN; +MSGFUN tbfuncionesServer[MAXIMAS_FUNCIONES]; +// ________________________________________________________________________________________________________ +// Prototipo de funciones +// ________________________________________________________________________________________________________ + +BOOLEAN tomaConfiguracion(char*); +BOOLEAN gestionaTrama(SOCKET*); +BOOLEAN Sondeo(SOCKET*,TRAMA*); +BOOLEAN respuestaSondeo(SOCKET *,TRAMA*); +BOOLEAN InclusionCliente(SOCKET*,TRAMA*); +BOOLEAN registraCliente(char *); + +BOOLEAN procesoInclusionCliente(SOCKET*,TRAMA*); +BOOLEAN clienteExistente(char *,int *); +BOOLEAN clienteDisponible(char *,int *); +BOOLEAN hayHueco(int *); +BOOLEAN actualizaConfiguracion(Database , Table ,char* ,int); +BOOLEAN AutoexecCliente(SOCKET *, TRAMA *); +BOOLEAN recorreProcedimientos(Database ,char* ,FILE*,char*); + +BOOLEAN tomaRepositorio(Database ,Table ,char*,int*); +BOOLEAN buscaComandos(char *,TRAMA *,int *); +BOOLEAN DisponibilidadComandos(SOCKET*,TRAMA*); +BOOLEAN respuestaEstandar(TRAMA *,char **,char **,char ** ,Database *,Table *); +BOOLEAN respuestaConsola(SOCKET *,TRAMA *,int); +BOOLEAN enviaComando(TRAMA *ptrTrama,const char*); + +BOOLEAN Actualizar(SOCKET *, TRAMA* ); +BOOLEAN Purgar(SOCKET *, TRAMA* ); + +BOOLEAN ConsolaRemota(SOCKET *,TRAMA*); +BOOLEAN RESPUESTA_ConsolaRemota(SOCKET *,TRAMA*); +BOOLEAN EcoConsola(SOCKET *,TRAMA*); + +BOOLEAN Comando(SOCKET *,TRAMA *); +BOOLEAN RESPUESTA_Comando(SOCKET *,TRAMA *); + +BOOLEAN Arrancar(SOCKET *,TRAMA *); +BOOLEAN Levanta(char*); +BOOLEAN WakeUp(SOCKET *,char *); +void PasaHexBin(char *,char *); +BOOLEAN RESPUESTA_Arrancar(SOCKET *,TRAMA*); +BOOLEAN Apagar(SOCKET *,TRAMA *); +BOOLEAN RESPUESTA_Apagar(SOCKET *,TRAMA *); +BOOLEAN Reiniciar(SOCKET *,TRAMA *); +BOOLEAN RESPUESTA_Reiniciar(SOCKET *,TRAMA *); +BOOLEAN IniciarSesion(SOCKET *,TRAMA *); +BOOLEAN RESPUESTA_IniciarSesion(SOCKET *,TRAMA *); +BOOLEAN CrearImagen(SOCKET *,TRAMA *); +BOOLEAN RESPUESTA_CrearImagen(SOCKET *,TRAMA *); +BOOLEAN actualizaCreacionImagen(Database,Table,char*,char*,char*,char*,char*); +BOOLEAN RestaurarImagen(SOCKET *,TRAMA *); +BOOLEAN RESPUESTA_RestaurarImagen(SOCKET *,TRAMA *); +BOOLEAN actualizaRestauracionImagen(Database,Table,char*,char*,char*,char*); +BOOLEAN Configurar(SOCKET *,TRAMA* ); +BOOLEAN RESPUESTA_Configurar(SOCKET *,TRAMA* ); +BOOLEAN actualizaConfigurar(Database , Table , char* ); +BOOLEAN InventarioHardware(SOCKET *,TRAMA *); +BOOLEAN RESPUESTA_InventarioHardware(SOCKET *,TRAMA *); +BOOLEAN actualizaHardware(Database, Table,char* ,char*,char*,char*); +BOOLEAN cuestionPerfilHardware(Database,Table,char*,char*,int,char*,char*,int *,int); +BOOLEAN actualizaSoftware(Database , Table , char* , char* , char*,char*,char*); +BOOLEAN cuestionPerfilSoftware(Database, Table, char*, char*,int,char*,char*,char*,int *,int); + +BOOLEAN enviaArchivo(SOCKET *, TRAMA *); +BOOLEAN recibeArchivo(SOCKET *, TRAMA *); +BOOLEAN envioProgramacion(SOCKET *, TRAMA *); + +int checkDato(Database,Table,char*,const char*,const char*,const char*); + + + diff --git a/admin/WebConsole/acceso.php b/admin/WebConsole/acceso.php new file mode 100644 index 00000000..1fcb7206 --- /dev/null +++ b/admin/WebConsole/acceso.php @@ -0,0 +1,21 @@ +<? +// ******************************************************************************************************** +// Aplicacin WEB: ogAdmWebCon +// Autor: Jos Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creacin: Agosto-2010 +// Fecha ltima modificacin: Agosto-2010 +// Nombre del fichero: barramenu.php +// Descripcin :Este fichero implementa el menu general de la Aplicacin +// ******************************************************************************************************** +if(isset($_SESSION)){ // Si existe algua sesin ... + session_unset(); // Elimina variables + session_destroy(); // Destruye sesin +} + +include_once("controlacceso.php"); + +$herror=0; +if (isset($_GET["herror"])) $herror=$_GET["herror"]; +if (isset($_POST["herror"])) $herror=$_POST["herror"]; +Header("Location: acceso_".$idi.".php?herror=".$herror); // Redireccionamiento a la pgina de inicio en el idioma por defecto +?> diff --git a/admin/WebConsole/acceso_esp.php b/admin/WebConsole/acceso_esp.php new file mode 100644 index 00000000..050bb0d7 --- /dev/null +++ b/admin/WebConsole/acceso_esp.php @@ -0,0 +1,117 @@ +<? +// ********************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: acceso.php +// Descripción : Presenta la pantalla de login de la aplicación +// ******************************************************************************************************** +include_once("controlacceso.php"); +include_once("./includes/CreaComando.php"); +include_once("./clases/AdoPhp.php"); +include_once("./includes/HTMLSELECT.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cnx); // Crea objeto comando +if (!$cmd) + die("Error de acceso"); +//________________________________________________________________________________________________________ +$herror=0; +if (isset($_GET["herror"])) $herror=$_GET["herror"]; +if (isset($_POST["herror"])) $herror=$_POST["herror"]; + +$TbErr=array(); +$TbErr[0]="SIN ERRORES"; +$TbErr[1]="ATENCIÓN: Debe acceder a la aplicación a través de la pagina inicial"; +$TbErr[2]="ATENCIÓN: La Aplicación no tiene acceso al Servidor de Bases de Datos"; +$TbErr[3]="ATENCIÓN: Existen problemas para recuperar el registro, puede que haya sido eliminado"; +$TbErr[4]="ATENCIÓN: Usted no tiene acceso a esta aplicación"; +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="estilos.css"> +</HEAD> +<SCRIPT LANGUAGE="JAVASCRIPT"> +//________________________________________________________________________________________________________ +function confirmar(){ + if (comprobar_datos()) + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.usu.value==""){ + alert("Debe introducir un nombre de Usuario") + document.fdatos.usu.focus() + return(false) + } + if (document.fdatos.pss.value==""){ + alert("Debe introducir una contraseña") + document.fdatos.pss.focus() + return(false) + } + var p=document.fdatos.idcentro.selectedIndex + if (p==0){ + var res=confirm("ATENCIÓN: No ha introducido ninguna Unidad Organizativa. NO tendrá acceso al sistema a menos que sea adminstrador general de la Aplicación. ¿Desea acceder con este perfil?"); + if(!res) + return(false) + } + return(true) +} +//______________________________________________________________________________________________________ +function PulsaEnter(oEvento){ + var iAscii; + if (oEvento.keyCode) + iAscii = oEvento.keyCode; + else{ + if (oEvento.which) + iAscii = oEvento.which; + else + return false; + } + if (iAscii == 13) confirmar(); + return true; +} +//________________________________________________________________________________________________________ +</SCRIPT> +</HEAD> +<BODY> +<DIV style="POSITION:absolute;top:90;left:250"> + <FORM action="controlpostacceso.php" name="fdatos" method="post"> + <DIV align="center"> + <IMG src="./images/login_esp.jpg" width=500 > + <INPUT onkeypress="PulsaEnter(event)" name="usu" + style="POSITION:absolute;top:125px;left:365px;width:90;height:20;COLOR: #999999; FONT-FAMILY: Verdana; FONT-SIZE: 12px;"> + <INPUT onkeypress="PulsaEnter(event)" name="pss" type="password" + style="POSITION:absolute;top:160px;left:365;width:90;height:20;COLOR: #999999; FONT-FAMILY: Verdana; FONT-SIZE: 12px;"> + + <DIV style="POSITION:absolute;top:180px;left:265;COLOR: #F9F9F9; FONT-FAMILY: Verdana; FONT-SIZE: 12px;"> + <P>Unidad Organizativa<BR> + <? + + echo HTMLSELECT($cmd,0,'centros',$idcentro,'idcentro','nombrecentro',220); + ?> + </P></DIV> + + <IMG onclick="confirmar()" src="./images/botonok.gif" style="POSITION:absolute;top:240;left:400;CURSOR: hand"> + </DIV> + </FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +echo '<DIV style="POSITION: absolute;LEFT: 20px;TOP:300px;visibility:hidden" height=300 width=300>'; +echo '<IFRAME scrolling=yes height=300 width=310 id="iframes_comodin" src="./nada.php"></IFRAME>'; +echo '</DIV>'; +//________________________________________________________________________________________________________ +// Posiciona cursor en campo usuario y muestra mensaje de error si lo hubiera +echo '<SCRIPT LANGUAGE="javascript">'; +if (!empty($herror)) + echo " alert('".$TbErr[$herror]."');"; +echo 'document.fdatos.usu.focus()'; +echo '</SCRIPT>'; +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> diff --git a/admin/WebConsole/barramenu.php b/admin/WebConsole/barramenu.php new file mode 100644 index 00000000..e7a2e187 --- /dev/null +++ b/admin/WebConsole/barramenu.php @@ -0,0 +1,175 @@ +<? +// ******************************************************************************************************** +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: barramenu.php +// Descripción :Este fichero implementa el menu general de la Aplicación +// ******************************************************************************************************** +include_once("./includes/ctrlacc.php"); +include_once("./includes/constantes.php"); +include_once("./idiomas/php/".$idioma."/barramenu_".$idioma.".php"); +//________________________________________________________________________________________________________ +?> +<HTML> + <TITLE>Administración web de aulas</TITLE> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> + <LINK rel="stylesheet" type="text/css" href="estilos.css"> + <SCRIPT language="javascript"> + var currentOp=null; + //________________________________________________________________________________________________________ + function resaltar(o){ + if (o==currentOp) return + o.style.borderBottomColor="#808080" + o.style.borderRightColor="#808080" + o.style.borderTopColor="#ffffff" + o.style.borderLeftColor="#ffffff" + } + //________________________________________________________________________________________________________ + function desresaltar(o){ + if (o==currentOp) return + o.style.borderBottomColor="#d4d0c8" + o.style.borderRightColor="#d4d0c8" + o.style.borderTopColor="#d4d0c8" + o.style.borderLeftColor="#d4d0c8" + } + //________________________________________________________________________________________________________ + function eleccion(o,op){ + opadre=window.parent // Toma frame padre + opadre.frames["frame_contenidos"].document.location.href="nada.php" + var href; + var href2="nada.php" + var href3="./api/tree.html" + var href4="./api/main.html" + var href5="./api/index.html" + + switch(op){ + case 1: + href="./principal/aulas.php" + break; + case 2: + href="./principal/acciones.php" + break; + case 3: + href="./principal/imagenes.php" + break; + case 4: + href="./principal/hardwares.php" + break; + case 5: + href="./principal/softwares.php" + break; + case 6: + href="./principal/repositorios.php" + break; + case 7: + href="./principal/menus.php" + break; + case 8: + href="./principal/reservas.php" + break; + case 9: + href="./principal/administracion.php" + break; + case 10: + href="./images/L_Iconos.php" + href2="./images/M_Iconos.php" + break; + case 13: + href="./principal/usuarios.php" + break; + } + var oldOp=currentOp + currentOp=o; + if (oldOp) desresaltar(oldOp); + currentOp.style.borderBottomColor="#ffffff" + currentOp.style.borderRightColor="#ffffff" + currentOp.style.borderTopColor="#808080" + currentOp.style.borderLeftColor="#808080" + if(op<20){ + opadre.frames["frame_arbol"].document.location.href=href + opadre.frames["frame_contenidos"].document.location.href=href2 + } + else{ + switch(op){ + case 21: + window.top.location.href="acceso.php"; + break; + case 22: + opadre.frames["frame_contenidos"].document.location.href=href4 + break; + } + } + } + //________________________________________________________________________________________________________ + </SCRIPT> + </HEAD> + <BODY bgcolor="#d4d0c8"> + <FORM name=fdatos> + <TABLE border=0 width=100% style="POSITION:absolute;LEFT:0px;TOP:0px" cellPadding=2 cellSpacing=0> + <TR> + <TD align=left> + <TABLE class=menupral align=left cellPadding=1 cellSpacing=0 > + <TR valign=baseline> + <TD width=10><IMG src="./images/iconos/pomo.gif"></TD> + <? if($idtipousuario!=$SUPERADMINISTRADOR){?> + <TD onclick=eleccion(this,1) onmouseout=desresaltar(this) onmouseover=resaltar(this) > + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/centros.gif"> <SPAN class="menupral"><?echo $TbMsg[0]?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <TD onclick=eleccion(this,2) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/acciones.gif"> <SPAN class=menupral ><?echo $TbMsg[1]?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <TD onclick=eleccion(this,3) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/imagenes.gif"> <SPAN class=menupral ><?echo $TbMsg[2]?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <TD onclick=eleccion(this,4) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/confihard.gif"> <SPAN class=menupral ><?echo $TbMsg[3] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <TD onclick=eleccion(this,5) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/confisoft.gif"> <SPAN class=menupral ><?echo $TbMsg[4] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <TD onclick=eleccion(this,6) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/repositorio.gif"> <SPAN class=menupral ><?echo $TbMsg[5] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <TD onclick=eleccion(this,7) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/menus.gif"> <SPAN class=menupral ><?echo $TbMsg[6] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + + <!--TD onclick=eleccion(this,8) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/reservas.gif"> <SPAN class=menupral ><?echo $TbMsg[7] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD--> + + <? } + else{ + if($idtipousuario==$SUPERADMINISTRADOR){?> + <TD onclick=eleccion(this,9) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/administracion.gif"> + <SPAN class=menupral ><?echo $TbMsg[8] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + + <TD onclick=eleccion(this,10) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/iconos.gif"> + <SPAN class=menupral ><?echo $TbMsg[9] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <?}?> + <?}?> + + <TD onclick=eleccion(this,22) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/ayuda.gif"> + <SPAN class=menupral ><?echo $TbMsg[11] ?></SPAN></A> </TD> + <TD width=4 align=middle><IMG src="./images/iconos/separitem.gif"></TD> + <TD onclick=eleccion(this,21) onmouseout=desresaltar(this) onmouseover=resaltar(this) align=middle> + <A href="#" style="text-decoration: none"><IMG border=0 src="./images/iconos/usuarioslog.gif"> + <SPAN class=menupral ><?echo $TbMsg[10] ?></SPAN></A> </TD> + + + </TR> + </TABLE> + </TR> + </TABLE> + </FORM> + </BODY> +</HTML> diff --git a/admin/WebConsole/clases/AdoPhp.php b/admin/WebConsole/clases/AdoPhp.php new file mode 100644 index 00000000..c291a8de --- /dev/null +++ b/admin/WebConsole/clases/AdoPhp.php @@ -0,0 +1,676 @@ +<?php +/*================================================================================ +Clase para conectar con una base de datos. + +Especificaciones: + - Estado de la conexión($estado) + 0: No conectado + 1: Conectado + 2: Se est�intentando conectar + +================================================================================*/ + +class Conexion{ + var $basedatos; // Base de datos + var $servidor; // Servidor de Base de datos + var $usuario; // Nombre de usuario + var $password; // Clave de usuario + var $controlador; // Controlador + var $estado; // Estado de la conexion + var $proveedor; // Proveedor de BD + var $error; // Colecci� de errores ocurridos durante el proceso (C�igo de error) + var $ultimoerror; // Ultimo error detectado + var $inderror; // Nmero de errores ocurridos durante el proceso + var $msgerrores=array( + "No se ha producido ningn error", + "001 : conexiónError - La conexion no se pudo establecer", + "002 : conexiónError - Se estableci� la conexióncon el servidor pero la base de datos no responde", + "003 : conexiónError - No se ha podido cerrar la actual conexi�", + "004 : conexiónError - El objeto est�ocupado intentando establecer una conexiónanterior", + "005 : conexiónError - La conexiónya est�cerrada", + "006 : conexiónError - No se ha especificado ningn servidor de base de datos", + "007 : conexiónError - No se ha especificado ningn usuario de la base de datos", + "008 : conexiónError - No se ha especificado password de usuario", + "009 : conexiónError - No se ha especificado ninguna base de datos", + "010 : conexiónError - No se ha especificado ningn proveedor de bases de datos", + ); + /*--------------------------------------------------------------------------------------------*/ + function Conexion(){ // Constructor de la clase + $this->inderror=0; + $this->ultimoerror=0; + $this->estado=0; + } + /* ------------------------------------------------------------------------------------------- + Adquiere o actualiza los datos necesarias para establecer conexiones + + Par�etros de entrada: + servidor: Servidor donde se ubica la base de datos + usuario : Un usuario con acceso al servidor + passwor : Clave de usuario + basedato: Base de datos a la se quiere acceder + proveedor: Proveedor de Base de datos + + Devuelve : + true : Si los datos aportadospara establecer conexiones son correctos + false: En caso contrario + + En el caso de devolver false, la funci� TomaUltimoError() devuelve el error ocurrido + ----------------------------------------------------------------------------------------------*/ + function CadenaConexion($servidor,$usuario,$password,$basedatos,$proveedor){ + $this->servidor=$servidor; + $this->usuario=$usuario; + $this->password=$password; + $this->basedatos=$basedatos; + $this->proveedor=$proveedor; + if (!$this->_cadena_conexion()) return(false); else return(true); + } + /* ------------------------------------------------------------------------------------------- + Abre una conexión + + Devuelve : + true : Si la apertura de la conexiónha sido satisfactoria + false: En caso contrario + + En el caso de devolver false, la funci� TomaUltimoError() devuelve el error ocurrido + ----------------------------------------------------------------------------------------------*/ + function Abrir(){ + $this->inderror=-1; // Inicializar contador de errores + $this->ultimoerror=-1; + $MAXIMOS_INTENTOS_DE_CONECCION=10; + if (!$this->_cadena_conexion()) return(false); // Comprueba si los datos necesarios para conexiones se han aportado + switch ($this->estado) { + case 1: // Existe actualmente una conexiónabierta que se sustituir�por la nueva + if (mysql_close($this->controlador)){ // Se cierra la conexion actual + $this->estado=0; + $intentos_de_conexion=0; + while(true){ + $intentos_de_conexion++; + $resul=($this->_nueva_conexion()); + if ($resul || $intentos_de_conexion>$MAXIMOS_INTENTOS_DE_CONECCION) return($resul); + sleep(1); // Espera 1 segundo para intentar la conexiónde nuevo + } + } + else{ // Error al cerrar la conexi� + $this->error[$this->inderror++]=3; + $this->ultimoerror=3; + return(false); + } + break; + case 2: // Actualmente est�objeto est�ocupado intentando establecer otra conexi� + $this->error[$this->inderror++]=4; + $this->ultimoerror=4; + return(false); + break; + default : // No existe actualmente ninguna conexiónabierta, se abrir�una nueva + $intentos_de_conexion=0; + while(true){ + $intentos_de_conexion++; + $resul=($this->_nueva_conexion()); + if ($resul || $intentos_de_conexion>$MAXIMOS_INTENTOS_DE_CONECCION) return($resul); + sleep(1); // Espera 1 segundo para intentar la conexiónde nuevo + } + } + } + /* ------------------------------------------------------------------------------------------- + Cierra una conexión + + Devuelve : + true : Si la conexiónse ha cerrado satisfactoriamente + false: En caso contrario + + En el caso de devolver false, la funci� TomaUltimoError() devuelve el error ocurrido + ----------------------------------------------------------------------------------------------*/ + function Cerrar(){ + $this->inderror=-1; // Inicializar contador de errores + $this->ultimoerror=-1; + switch ($this->estado) { + case 1: // Actualmente la conexion est�abierta + if (mysql_close($this->controlador)){ // Se cierra la conexion actual + $this->estado=0; + $this->error[$this->inderror++]=0; + $this->ultimoerror=0; + return(true); + } + else{ // Error al cerrar la conexi� + $this->error[$this->inderror++]=3; + $this->ultimoerror=3; + return(false); + } + break; + case 2: // Actualmente est�objeto est�ocupado intentando establecer otra conexi� + $this->error[$this->inderror++]=4; + $this->ultimoerror=4; + return(false); + break; + + default : // Actualmente la conexiónest�ya cerrada + $this->error[$this->inderror++]=5; + $this->ultimoerror=5; + return(false); + } + } + /* ------------------------------------------------------------------------------------------- + Establece una nueva conexi�. Este m�odo es privado y s�o lo puede ejecutar la propia + clase desde el m�odo pblico Abrir. + ----------------------------------------------------------------------------------------------*/ + function _nueva_conexion(){ + $this->estado=2;// Intenta la conexion + if ($this->controlador=mysql_connect($this->servidor,$this->usuario,$this->password)){// Conexion O.K. + $this->estado=1; // La conexion con el servidor se estableci� + if (mysql_select_db($this->basedatos, $this->controlador)){// Base datos O.K. + $this->error[$this->inderror++]=0; + $this->ultimoerror=0; + return(true); + } + else{ // Problemas con la base de datos + $this->error[$this->inderror++]=2; + $this->ultimoerror=2; + if (mysql_close ($this->controlador)) $this->estado=0; // Se cierra la conexion + return(false); + } + } + else{ // Problemas con la conexion + $this->estado=0; + $this->error[$this->inderror++]=1; + $this->ultimoerror=1; + return(false); + } + } + /* ------------------------------------------------------------------------------------------- + Establece una sistema UTF8 para las consultas + ----------------------------------------------------------------------------------------------*/ + function SetUtf8(){ + mysql_query("SET NAMES 'utf8'"); + } + /* ------------------------------------------------------------------------------------------- + Revisa y detecta las condiciones que deben cumplir los datos necesarios para establecer + conexiones + + Devuelve : + true : Si los datos aportados son correctos + false: Si algn dato NO ha sido aportado o es incorrecto + + Este m�odo es privado y s�o lo ejecutan m�odos pblicos de la propia clase + ----------------------------------------------------------------------------------------------*/ + function _cadena_conexion(){ + + if ($this->servidor==null){ + $this->error[$this->inderror++]=6; // Servidor no establecido + $this->ultimoerror=6; + return(false); + } + if ($this->usuario==null){ + $this->error[$this->inderror++]=7;// usuario no establecido + $this->ultimoerror=7; + return(false); + } + if ($this->password==null){ + $this->error[$this->inderror++]=8; // password no establecido + $this->ultimoerror=8; + return(false); + } + if ($this->basedatos==null){ + $this->error[$this->inderror++]=9; // base de datos no establecido + $this->ultimoerror=9; + return(false); + } + if ($this->proveedor==null){ + $this->error[$this->inderror++]=10; // proveedor no establecido + $this->ultimoerror=10; + return(false); + } + $this->error[$this->inderror++]=0; // Datos de conexióncorrectos + $this->ultimoerror=0; + return(true); + } + /* ------------------------------------------------------------------------------------------- + Devuelve el c�igo del ltimo error ocurrido durante el proceso anterior. + ----------------------------------------------------------------------------------------------*/ + function UltimoError(){ + return($this->ultimoerror); + } + /* ------------------------------------------------------------------------------------------- + Devuelve una cadena con el mensage del ltimo error ocurrido durante el proceso anterior. + ----------------------------------------------------------------------------------------------*/ + function DescripUltimoError(){ + return($this->msgerrores[$this->ultimoerror]); + } +} +/*========================================================================================= + Clase para usarla con la clase comando. + + Especificaciones: + + Esta clase tiene dos propiedades que definen su contenido + nombre=nombre del parametro + valor = valor de dicho par�etro + tipo = tipo de parametro: + 0: El valor del par�etro debe ir encerrado entre comillas simples + 1: El valor del par�etro no necesita ir entre comillas simples +========================================================================================*/ +class parametro{ + var $nombre; + var $valor; + var $tipo; + /*--------------------------------------------------------------------------------------------*/ + function parametro($nombre="SinNombre",$valor="",$tipo="0"){ // Constructor de la clase + $this->SetParametro($nombre,$valor,$tipo); + } + /* ------------------------------------------------------------------------------------------- + Modifica los valores de las propiedades de la clase + ----------------------------------------------------------------------------------------------*/ + function SetParametro($nombre,$valor,$tipo){ + $this->nombre=$nombre; + $this->valor=$valor; + $this->tipo=$tipo; + if($tipo==1 && empty($valor)) $this->valor=0; + } +} +/*========================================================================================== + Clase para manipular bases de datos a traves de una conexiónprevia. + + Especificaciones: + + Las sentencias SQL pueden contener par�etros que pueden ser sustituidos por el valor + de los objetos par�etro. Estos par�etros tendr� la forma:@nombre_del_parametro +==================================================================================================*/ +class Comando{ + var $texto; + var $Conexion; + var $parametros=array(); + var $Recordset; + var $resul; + var $error; // Error + var $ultimoerror; // Ultimo error detectado + var $inderror; // Contador de errores + var $msgerrores=array( + "No se ha producido ningn error", + "001 : Comando Error - No se ha establecido el texto del comando", + "002 : Comando Error - No se ha establecido la conexióndel comando", + "003 : Comando Error - No se ha abierto la conexi�", + "004 : Comando Error - La sentencia SQl del comando no es correcta", + "005 : Comando Error - No se ha podido recuperar el valor @@identity de la ltima clave insertada", + ); + /*--------------------------------------------------------------------------------------------*/ + function Comando(){ // Constructor de la clase + $this->inderror=0; + $this->ultimoerror=0; + $this->Recordset=new Recordset; + } + /* ------------------------------------------------------------------------------------------- + Devuelve el c�igo del ltimo error ocurrido durante el proceso anterior. + ----------------------------------------------------------------------------------------------*/ + function UltimoError(){ + return($this->ultimoerror); + } + /* ------------------------------------------------------------------------------------------- + Devuelve una cadena con el mensage del ltimo error ocurrido durante el proceso anterior. + ----------------------------------------------------------------------------------------------*/ + function DescripUltimoError(){ + return($this->msgerrores[$this->ultimoerror]); + } + /* ------------------------------------------------------------------------------------------- + A�de un par�etro a la colecci� de parametros. La matriz que implementa la colecci� + es una matriz asociativa cuyo indice asociativo es el nombre del par�etro + + Par�etros de entrada: + objparam: Un objeto parametro + ---------------------------------------------------------------------------------------------*/ + function AddParametro($objparam){ + $tbparametro["nombre"]=$objparam->nombre; + $tbparametro["valor"]=$objparam->valor; + $tbparametro["tipo"]=$objparam->tipo; + $this->parametros[]=$tbparametro; + } + /* ------------------------------------------------------------------------------------------- + A�de un par�etro a la colecci� de parametros. La matriz que implementa la colecci� + es una matriz asociativa cuyo indice asociativo es el del par�etro + + Par�etros de entrada: + nombre: El nombre del par�etro + valor : El valor del par�etro + tipo = tipo de parametro: + 0: El valor del par�etro debe ir encerrado entre comillas simples + 1: El valor del par�etro no necesita ir entre comillas simples + + + ---------------------------------------------------------------------------------------------*/ + function CreaParametro($nombre,$valor,$tipo){ + for($i=0;$i<sizeof($this->parametros);$i++){ + if($this->parametros[$i]["nombre"]==$nombre){ + $this->parametros[$i]["valor"]=$valor; + return; + } + } + $p = new parametro($nombre,$valor,$tipo); + $this->AddParametro($p); + } + + /* ------------------------------------------------------------------------------------------- + Sustituye el valor de un par�etro existente por otro + Par�etros de entrada: + nombre: El nombre del par�etro + valor : El nuevo valor del par�etro + ---------------------------------------------------------------------------------------------*/ + function ParamSetValor($nombre,$valor){ + for($i=0;$i<sizeof($this->parametros);$i++){ + if($this->parametros[$i]["nombre"]==$nombre) + $this->parametros[$i]["valor"]=$valor; + } + } + /* ------------------------------------------------------------------------------------------- + Establece la conexiónque se usar�para ejecutar las acciones pertinentes + + Par�etros de entrada: + objconexion: Un objeto conexion + ---------------------------------------------------------------------------------------------*/ + function EstableceConexion($objconexion){ + $this->Conexion= $objconexion; + } + /* ------------------------------------------------------------------------------------------- + Establece la conexiónque se usar�para ejecutar las acciones pertinentes + + Par�etros de entrada: + textocomando: Un texto con la sentencia SQL (Puede contener par�etros) + ---------------------------------------------------------------------------------------------*/ + function EstableceTexto($textocomando){ + $this->texto=$textocomando; + } + /* ------------------------------------------------------------------------------------------- + Sustituye el valor de los parametros en la expresi� que forma el texto del Comando + ---------------------------------------------------------------------------------------------*/ + function Traduce(){ + $execomando=$this->texto; + if (sizeof($this->parametros)>0){ // Hay par�etros que sustituir + foreach($this->parametros as $parametro){ + if ($parametro["tipo"]==0) // Tipo alfanum�ico + $execomando=str_replace($parametro["nombre"],"'".$parametro["valor"]."'",$execomando); + else + $execomando=str_replace($parametro["nombre"],$parametro["valor"],$execomando); + } + } + $this->texto=$execomando; + } + /* ------------------------------------------------------------------------------------------- + Ejecuta la sentencia SQL contenida en la propiedad texto + ---------------------------------------------------------------------------------------------*/ + function Ejecutar(){ + $this->inderror=-1; // Inicializar contador de errores + $this->ultimoerror=-1; + if ($this->texto==null){ + $this->error[$this->inderror++]=1; // Texto no especificado + $this->ultimoerror=1; + return(false); + } + else{ + if ($this->Conexion==null){ + $this->error[$this->inderror++]=2; // conexiónNO establecida + $this->ultimoerror=2; + return(false); + } + else{ + if ($this->Conexion->estado==0){ + $this->error[$this->inderror++]=3; // conexiónNO abierta + $this->ultimoerror=3; + return(false); + } + } + } + $this->Traduce(); + if (!$this->resul=mysql_query($this->texto,$this->Conexion->controlador)){ + $this->error[$this->inderror++]=4; // Error en la sentencia SQL del comando + $this->ultimoerror=4; + return(false); + } + if (stristr($this->texto,"select")){ + $this->Recordset->Inicializar(); + $this->Recordset->filas=$this->resul; + $this->Recordset->numerodecampos=mysql_num_fields($this->Recordset->filas); + $this->Recordset->numeroderegistros=mysql_num_rows($this->Recordset->filas); + if ($this->Recordset->numeroderegistros>0){ + $this->Recordset->BOF=false; + $this->Recordset->EOF=false; + $this->Recordset->campos=mysql_fetch_array($this->Recordset->filas); + } + } + + $this->error[$this->inderror++]=0; // Comando ejecutado correctamante + $this->ultimoerror=0; + return(true); + } + /* ------------------------------------------------------------------------------------------- + Esta funci� recupera el ltimo nmero asignado a una clave autonum�ica de una tabla + ---------------------------------------------------------------------------------------------*/ + function Autonumerico(){ + $ulreg=mysql_insert_id(); + return($ulreg); + } +} +/*========================================================================================= + Clase para consultar tablas y vistas de una base de datos. + + Especificaciones: + - Estado del recordset ($estado) + 0: Cerrado + 1: Abierto +=========================================================================================*/ +class Recordset{ + var $Comando; + var $filas= array(); + var $BOF,$EOF,$estado; + var $campos; + var $numeroderegistros,$numerodecampos,$posicion; + + var $error; // Error + var $ultimoerror; // Ultimo error detectado + var $inderror; // Contador de errores + var $msgerrores=array( + "No se ha producido ningn error", + "001 : Recordset Error - Comando no establecido", + "002 : Recordset Error - No se ha establecido la conexióndel comando", + "003 : Recordset Error - No se ha abierto la conexi�", + "004 : Recordset Error - No se pudo abrir la consulta", + "005 : Recordset Error - La sentencia SQl del comando no contiene la clausula SELECT", + "006 : Recordset Error - No se puede liberar la consulta", + ); + /*--------------------------------------------------------------------------------------------*/ + function Recordset(){ // Constructor de la clase + $this->Inicializar(); + } + /* ------------------------------------------------------------------------------------------- + Inicializa propiedades de las clase + ----------------------------------------------------------------------------------------------*/ + function Inicializar(){ + $this->BOF=true; + $this->EOF=true; + $this->posicion=0; + $this->numeroderegistros=0; + $this->numerodecampos=0; + $this->estado=0; + } + /* ------------------------------------------------------------------------------------------- + Devuelve el c�igo del ltimo error ocurrido durante el proceso anterior. + ----------------------------------------------------------------------------------------------*/ + function UltimoError(){ + return($this->ultimoerror); + } + /* ------------------------------------------------------------------------------------------- + Devuelve una cadena con el mensage del ltimo error ocurrido durante el proceso anterior. + ----------------------------------------------------------------------------------------------*/ + function DescripUltimoError(){ + return($this->msgerrores[$this->ultimoerror]); + } + /* ------------------------------------------------------------------------------------------- + Establece el comando que se usar�para ejecutar las consultas pertinentes + + Par�etros de entrada: + objcomando: Un objeto comando con la sentencia SQL (Puede contener par�etros) + + Devuelve : + true : Si el texto del comando contiene la clausula SELECT + false: En caso contrario + + En el caso de devolver false, la funci� TomaUltimoError() devuelve el error ocurrido + ---------------------------------------------------------------------------------------------*/ + function EstableceComando($objcomando){ + $this->inderror=-1; // Inicializar contador de errores + $this->ultimoerror=-1; + if (stristr($objcomando->texto,"select")){ + $this->Comando=$objcomando; + $this->error[$this->inderror++]=0; // Comando v�ido, contiene "SELECT" + $this->ultimoerror=0; + return(true); + } + else{ + $this->error[$this->inderror++]=5; // Comando no valido, NO contiene "SELECT" + $this->ultimoerror=5; + return(false); + } + } + /* ------------------------------------------------------------------------------------------- + Sustituye el valor de los parametros en la expresi� que forma el texto del Comando + ---------------------------------------------------------------------------------------------*/ + function Traduce(){ + $execomando=$this->Comando->texto; + if (sizeof($this->Comando->parametros)>0){ // Hay par�etros que sustituir + foreach($this->Comando->parametros as $parametro){ + if ($parametro["tipo"]==0) // Tipo alfanum�ico + $execomando=str_replace($parametro["nombre"],"'".$parametro["valor"]."'",$execomando); + else + $execomando=str_replace($parametro["nombre"],$parametro["valor"],$execomando); + } + } + $this->Comando->texto=$execomando; + } + /* ------------------------------------------------------------------------------------------- + Recupera registros de la base de datos + ---------------------------------------------------------------------------------------------*/ + function Abrir(){ + $this->inderror=-1; // Inicializar contador de errores + $this->ultimoerror=-1; + if ($this->Comando==null){ + $this->error[$this->inderror++]=1; // Comando no especificado + $this->ultimoerror=1; + return(false); + } + else{ + if ($this->Comando->Conexion==null){ + $this->error[$this->inderror++]=2; // conexiónNO establecida + $this->ultimoerror=2; + return(false); + } + else{ + if ($this->Comando->Conexion->estado==0){ + $this->error[$this->inderror++]=3; // conexiónNO abierta + $this->ultimoerror=3; + return(false); + } + } + } + $this->Traduce(); + $this->Inicializar(); + if (!$this->filas=mysql_query($this->Comando->texto,$this->Comando->Conexion->controlador)){ + $this->error[$this->inderror++]=4; // Error en la sentencia SQL del comando o al abrir la consula + $this->ultimoerror=4; + return(false); + } + $this->numeroderegistros=mysql_num_rows($this->filas); // La consulta se ha realizado con �ito + $this->numerodecampos=mysql_num_fields($this->filas); + if ($this->numeroderegistros>0){ + $this->BOF=false; + $this->EOF=false; + $this->campos=mysql_fetch_array($this->filas); + } + $this->estado=1; // Recordset abierto + $this->error[$this->inderror++]=0; // Recuperaci� de registros correcta + $this->ultimoerror=0; + return(true); + } + /* ------------------------------------------------------------------------------------------- + Libera los registros de una consulta de la base de datos + ---------------------------------------------------------------------------------------------*/ + function Cerrar(){ + $this->inderror=-1; // Inicializar contador de errores + $this->ultimoerror=-1; + if (!mysql_free_result($this->filas)){ + $this->error[$this->inderror++]=6; // Error al cerrar la consulta (Al liberar memoria) + $this->ultimoerror=6; + return(false); + } + $this->Inicializar(); + $this->error[$this->inderror++]=0; // Recuperaci� de registros correcta + $this->ultimoerror=0; + return(true); + } + /* ------------------------------------------------------------------------------------------- + Mueve el puntero de lectura al siguiente registro del recordset + ---------------------------------------------------------------------------------------------*/ + function Siguiente(){ + if (!$this->EOF){ + $this->posicion++; + if ($this->posicion==$this->numeroderegistros) + $this->EOF=true; + else{ + if (mysql_data_seek($this->filas,$this->posicion)) + $this->campos=mysql_fetch_array($this->filas); + } + } + } + /* ------------------------------------------------------------------------------------------- + Mueve el puntero de lectura al anterior registro del recordset + ---------------------------------------------------------------------------------------------*/ + function Anterior(){ + if (!$this->BOF){ + $this->posicion--; + if ($this->posicion<0) + $this->BOF=true; + else{ + if (mysql_data_seek($this->filas,$this->posicion)); + $this->campos=mysql_fetch_array($this->filas); + } + } + } + /* ------------------------------------------------------------------------------------------- + Mueve el puntero de lectura al primer registro del recordset + ---------------------------------------------------------------------------------------------*/ + function Primero(){ + if ($this->numeroderegistros>0){ + $this->posicion=0; + if (mysql_data_seek($this->filas,$this->posicion)) + $this->campos=mysql_fetch_array($this->filas); + } + } + /* ------------------------------------------------------------------------------------------- + Mueve el puntero de lectura al ltimo registro del recordset + ---------------------------------------------------------------------------------------------*/ + function Ultimo(){ + if ($this->numeroderegistros>0){ + $this->posicion=$this->numeroderegistros-1; + if (mysql_data_seek($this->filas,$this->posicion)) + $this->campos=mysql_fetch_array($this->filas); + } + } +} + /* ------------------------------------------------------------------------------------------- + Esta funci�n devuelve una matriz asociativa con el nombre de los campos del recordset + ---------------------------------------------------------------------------------------------*/ + function DatosNombres(){ + if (mysql_data_seek($this->filas,$this->posicion)) + return(mysql_fetch_assoc($this->filas)); + return(""); + } + /* ------------------------------------------------------------------------------------------- + Esta funci�n devuelve informaci�n sobre los campos de la tabla + ---------------------------------------------------------------------------------------------*/ + function InfoCampos(){ + $infocampos= array (); + while ($row = mssql_fetch_field($this->filas)) { + $campo["name"]=$row->name; + $campo["column_source"]=$row->column_source; + $campo["maxlon"]=$row->max_length; + $campo["numeric"]=$row->numeric; + array_push($infocampos,$campo); + } + return($infocampos); + } +?> diff --git a/admin/WebConsole/clases/ArbolVistaXML.php b/admin/WebConsole/clases/ArbolVistaXML.php new file mode 100644 index 00000000..c8529070 --- /dev/null +++ b/admin/WebConsole/clases/ArbolVistaXML.php @@ -0,0 +1,272 @@ +<? +include_once("XmlPhp.php"); +/*=============================================================== +Esta clase implementa la apariencia y comportamiento de un treeview en código HTML y javascript. +La clase utiliza la clase XmlPhp.php para acceder al documento XML. + + Parámetros del constructor: + -fXML=Fichero XML + -fileocade=Indica si el dato anterior es un fichero o una variable con el contenido del árbol + 0: Es una cadena + 1: Es un fichero + -baseurlimg= Url base de las imágenes de los nodos de contracción-expansión + -clasedefault=Clase por defecto de los literales de los nodos + -nivelexp= Máximo nivel que aparecera expandido + -x= Posición x donde aparecerá la tabla + -y= Posición y donde aparecerá la tabla +=================================================================*/ +class ArbolVistaXML{ + var $baseurlimg; // Base de la URL de las imágenes de los nodos de contracción-expansión + var $clasedefault; // Clase por defecto de los literales de los nodos + var $gXML; // Objeto gestor del documento XML + var $nivelexp; // Nivel máximo que aprecerá visible + var $x; // Posición x donde aparecerá la tabla + var $y; // Posición y donde aparecerá la tabla + var $c_imgnivel=array(); // Imagenes de expansión y contracción para los distintos niveles + var $v_imgnivel=array(); // Valores de expansión y contracción para los distintos niveles + var $nodos_count; // Contador de nodo + + Function ArbolVistaXML($fXML,$fileocade,$baseurlimg="/.images/",$clasedefault,$nivelexp=0,$x=0,$y=0,$tipotabla=0,$titulotabla=""){ + // Constructor + $this->gXML=new XmlPhp($fXML,$fileocade); + $this->baseurlimg=$baseurlimg; + $this->clasedefault=$clasedefault; + $this->nivelexp=$nivelexp; + $this->x=$x; + $this->y=$y; + $this->tipotabla=$tipotabla; + $this->titulotabla=$titulotabla; + + // Anchura de los distibtos tipos de tablas + if($this->tipotabla>0){ + $this->anchoM=" width=100% "; + $this->ancho=" width=100% "; + } + else{ + $this->anchoM=" width=1024 "; + $this->ancho=""; + } + for($i=0;$i<=5;$i++){ // Inicializar + $this->c_imgnivel[$i]=$this->baseurlimg.'/nada.gif'; + $this->v_imgnivel[$i]="nada"; + } + $this->nodos_count=0; + } + /*------------------------------------------------------------------------------------------------ + Esta función devuelve una cadena con el contenido de un treeview en código HTML + ------------------------------------------------------------------------------------------------*/ + Function CreaArbolVistaXML(){ + if (!$this->gXML->NodoRaiz()) return; // No existe documento XML que analizar + $arbol_total='<TABLE border=0 '.$this->anchoM.' class="'.$this->clasedefault. '" style="POSITION:absolute;TOP:'.$this->y.'px;LEFT:'.$this->x.'px" class=texto_arbol cellspacing=0 cellpadding=0 border=0>'; + if($this->tipotabla>0) $arbol_total.='<TR><TH>'. $this->titulotabla .'</TH></TR>'; + $arbol_total.='<TR style="display:block">'; + $arbol_total.='<TD>'; + $arbol_total.='<TABLE id=tablanivel-0 border=0 cellspacing=0 cellpadding="0">'; + $arbol_total.=$this->_arbolXmlrecur(0); + $arbol_total.='</TABLE>'; + $arbol_total.='</TD>'; + $arbol_total.='</TR>'; + $arbol_total.='</TABLE>'; + return($arbol_total); + } + // ------------------------------------------------------------------------------------- + // Recorrido recursivo del arbol XML + // Parámetros: + // nivel: nivel del nodo + // ------------------------------------------------------------------------------------- + function _arbolXmlrecur($nivel){ + $arbol_total=""; + if ($nivel+1>$this->nivelexp) $displai="none"; else $displai="block"; + do{ + $gnptr=$this->gXML->nptr; + $arbol_total.='<TR style="display:block" id=TRNodo-'.$this->nodos_count.'>'; + $arbol_total.='<TD>'; + $arbol_total.=$this->_dibujo_nodo($this->gXML->Nodo(),$nivel,$this->gXML->NumerodeHijos(),$this->gXML->EsUltimoHermano()); + $arbol_total.='</TD>'; + $arbol_total.='</TR>'; + $this->nodos_count++; + if ($this->gXML->PrimerNodoHijo()){ + $arbol_total.='<TR id="TRNodoHijo-'.$this->nodos_count.'" style="display:'.$displai.'">'; + $arbol_total.='<TD>'; + $arbol_total.='<TABLE id="tablanivel-'.($nivel+1).'" border=0 cellspacing=0 cellpadding=0>'; + $arbol_total.=$this->_arbolXmlrecur($nivel+1); + $arbol_total.='</TABLE>'; + $arbol_total.='</TD>'; + $arbol_total.='</TR>'; + } + $this->gXML->nptr=$gnptr; + }while($this->gXML->SiguienteNodoHermano()); + return($arbol_total); + } + // ------------------------------------------------------------------------------------- + // Crea un nodo + // Parámetros: + // nivel: nivel del nodo + // ------------------------------------------------------------------------------------- + function CreaNodo($nivel){ + $nodo=$this->_dibujo_nodo($this->gXML->Nodo(),$nivel,0,true); + return($nodo); + } + /*------------------------------------------------------------------------------------------------ + Dibuja los nodos del árbol + parámetros: + nodo: La información del nodo + nivel: Nivel del nodo + nhijos: numero de hijos + uhermano: Es true si el nodo es el último de sus hermanos + + Especificaciones: + Los atributos de los nodos pueden ser HTML o especificos de + esta aplicación. Lso atributos del nodo propios de ésta son: + + - clicksupimg: Función suplementaria de la imagen de signo + - imagenid: Identificador de la imagen de signo + - clickimg: La función que se ejecutará al hacer click sobre la imagen de nodo + - downimg: La función que se ejecutará al pulsar el ratón sobre la imagen de nodo + - clickcontextualimg: Función que se ejecutara al hacer click con el boton derecho sobre la imagen del nodo + - imagenodo: Es la url de la imagen de nodo + - infonodo: Es texto que se visualiza del nodo + - mouseovernodo: La función a ejecutar cuando se posa el ratón sobre el literal del nodo + - clicksupnodo: Función suplementaria del literal del nodo + - clickcontextualnodo: Función que se ejecutara al hacer click con el boton derecho sobre el nodo + - classnodo: Clase (style) a la que pertenece el nodo + - nodoid: identificador del nodo + - nodovalue: parametro value del nodo + ------------------------------------------------------------------------------------------------*/ + function _dibujo_nodo($nodo,$nivel,$nhijos,$uhermano){ + // Comprobar descendencia y posición dentro de los hermanos + $swu=false; // switch para saber si el nodo es el último hermano + $swh=false; // switch para saber si el nodo tiene hijos + if ($nhijos>0) $swh=true; + $swu=$uhermano; + if ($swh){ // Si tiene hijos .. + if ($swu){ // Si es el último de sus hermanos .. + if ($nivel<$this->nivelexp){ + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/menos_c.gif'; + $this->v_imgnivel[$nivel]="menos_c"; + } + else{ + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/mas_c.gif'; + $this->v_imgnivel[$nivel]="mas_c"; + } + } + else{ // Si NO lo es .. + if ($nivel<$this->nivelexp){ + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/menos_t.gif'; + $this->v_imgnivel[$nivel]="menos_t"; + } + else{ + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/mas_t.gif'; + $this->v_imgnivel[$nivel]="mas_t"; + } + } + if ($nivel==0){ + if ($this->nivelexp>0) + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/menos_root.gif'; + else + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/mas_root.gif'; + } + } + else{ // Si NO tiene hijos .. + if ($swu){ // Si es el último de sus hermanos .. + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada_c.gif'; + $this->v_imgnivel[$nivel]="nada_c"; + } + else{ // Si no lo es .. + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada_t.gif'; + $this->v_imgnivel[$nivel]="nada_t"; + } + } + // Fin Comprobar descendencia y posición dentro de los hermanos + if($this->tipotabla==0) + $arbol='<TABLE border=0 cellspacing=0 cellpadding=0>'; + else + $arbol='<TABLE style="BORDER-BOTTOM:#000000 1px solid;" border=0 cellspacing=0 cellpadding=0>'; + $arbol.='<TR height="16px">'; + $atributosHTML=" "; + $atributosHTML=$this->gXML->Atributos($nodo); + $colornodo=""; + $fondonodo=""; + $estilo=""; + $atributosHTML=$this->gXML->TomaAtributoEspecial("colornodo",$colornodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("fondonodo",$fondonodo,$atributosHTML); + if ($colornodo!="" ) $colornodo=' COLOR:'.$colornodo.";"; + if ($fondonodo!="" ) $fondonodo=' BACKGROUND-COLOR:'.$fondonodo.";"; + $estilo=$colornodo || $fondonodo; + if ($estilo!="" ) $estilo='style="'.$colornodo.$fondonodo.'"'; + + for ($i=0;$i<$nivel;$i++){ // Niveles previos + $arbol.='<TD '.$estilo.'width="3px"></TD>'; + $arbol.='<TD '.$estilo.' width="16px"><IMG src="'.$this->c_imgnivel[$i].'" width="16px" height="16px" ></TD>'; + } + $arbol.='<TD '.$estilo.' width="3px"></TD>'; // Desplazamiento de la imagen + $arbol.='<TD '.$estilo.' width="16px">'; + + $imagenid=""; + $clicksupimg=""; + $atributosHTML=$this->gXML->TomaAtributoEspecial("imagenid",$imagenid,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("clicksupimg",$clicksupimg,$atributosHTML); + if ($clicksupimg!="") $clicksupimg.=';'; + if ($swh){ // El nodo tiene hijos + $arbol.='<A href="#nodo"><IMG border=0 '.$estilo.' id="'.$imagenid.'" onclick="clickImagenSigno(this,' ."'".$this->baseurlimg."'".','.$nivel.');'.$clicksupimg.'" src="'.$this->c_imgnivel[$nivel].'" width="16px" height="16px" value="'.$this->v_imgnivel[$nivel].'"></A></TD>'; + } + else + $arbol.='<SPAN><IMG '.$estilo.' id="'.$imagenid.'" src="'.$this->c_imgnivel[$nivel].'" width="16px" height="16px" value="'.$this->v_imgnivel[$nivel].'"></SPAN></TD>'; + + $imagenodo=""; + $clickimg=""; + $downimg=""; + $clickcontextualimg=""; + $styleimg=""; + + $atributosHTML=$this->gXML->TomaAtributoEspecial("imagenodo",$imagenodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("clickimg",$clickimg,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("downimg",$downimg,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("clickcontextualimg",$clickcontextualimg,$atributosHTML); + if ($clickimg!="" ) $clickimg=' onclick="'.$clickimg.'" '; + if ($downimg!="" ) $downimg=' onmousedown="'.$downimg.'" '; + if ($clickcontextualimg!="" ) $clickcontextualimg=' oncontextmenu=" '.$clickcontextualimg.'" '; + + if ($clickimg!="" || $downimg!="" || $clickcontextualimg!="" ) $styleimg=' style="cursor:hand"'; + + $arbol.='<TD '.$estilo.' width=16px><IMG '.$styleimg.' src="'.$imagenodo.'"'.$clickimg.$downimg.$clickcontextualimg.' width="16px" height="16px"></TD>'; + $arbol.='<TD '.$estilo.' width="4px"></TD>'; + + $clicksupnodo=""; + $clickcontextualnodo=""; + $classnodo=""; + $nodoid=""; + $nodovalue=""; + $mouseovernodo=""; + $infonodo=""; + + $atributosHTML=$this->gXML->TomaAtributoEspecial("clickcontextualnodo",$clickcontextualnodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("clicksupnodo",$clicksupnodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("classnodo",$classnodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("nodoid",$nodoid,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("nodovalue",$nodovalue,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("colornodo",$colornodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("fondonodo",$fondonodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("mouseovernodo",$mouseovernodo,$atributosHTML); + $atributosHTML=$this->gXML->TomaAtributoEspecial("infonodo",$infonodo,$atributosHTML); + if ($clickcontextualnodo!="" ) $clickcontextualnodo=' oncontextmenu="'.$clickcontextualnodo.'" '; + if ($mouseovernodo!="" ) $mouseovernodo=' onmouseover="'.$mouseovernodo.'" '; + if ($nodovalue!="" ) $nodovalue=' value="'.$nodovalue.'" '; + if (!$classnodo) $classnodo=$this->clasedefault; + + $arbol.='<TD width="1024px" '.$estilo.' class="'.$classnodo.'">'; + $arbol.='<A href="#nodo" class="'.$this->clasedefault. '" style="text-decoration: none"><SPAN id="'.$nodoid.'" '; + if($this->tipotabla<2){ + $arbol.=' onclick="clickLiteralNodo(this ,' ."'".$this->baseurlimg."'".');'; + $arbol.=" ".$clicksupnodo.'"'.$nodovalue.$mouseovernodo.$clickcontextualnodo; + } + $arbol.=' >'.$infonodo.'</SPAN></A></TD>'; + $arbol.='</TR>'; + $arbol.='</TABLE>'; + if ($swu) + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada.gif'; + else + $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada_l.gif'; + return($arbol); + } +} // Fin de la clase
\ No newline at end of file diff --git a/admin/WebConsole/clases/EncripDescrip.php b/admin/WebConsole/clases/EncripDescrip.php new file mode 100644 index 00000000..7d816e5d --- /dev/null +++ b/admin/WebConsole/clases/EncripDescrip.php @@ -0,0 +1,55 @@ +<?php +/*================================================================================ + Clase para encriptar y desencriptar cadenas +================================================================================*/ +class EncripDescrip{ + var $cadena; // La cadena encriptada o desencriptada que ser�devuelta + var $clave; // La clave de la cadena encriptada o desencriptada que ser�devuelta + //________________________________________________________________________________________ + // + // Constructor + //________________________________________________________________________________________ + function EncripDescrip($clave=12){ + $this->cadena=""; + $this->clave=$clave; + } + // ____________________________________________________________________________ + // + // Encripta una cadena + //_____________________________________________________________________________ + function Encriptar($cadena){ + + return( $cadena); + + $clave=(int)$this->clave; + $clave = (int)$clave & 0xFF; + $lon=strlen($cadena); + $this->cadena=""; + for($i=0;$i<$lon;$i++){ + $ch=(int)ord($cadena[$i]); + $pot=(int)$ch^(int)$clave; + $this->cadena.=chr($pot); + } + return( $this->cadena); + } + // ____________________________________________________________________________ + // + // Desencripta una cadena + //_____________________________________________________________________________ + function Desencriptar($cadena){ + + return( $cadena); + + $clave=(int)$this->clave; + $clave = (int)$clave & 0xFF; + $lon=strlen($cadena); + $this->cadena=""; + for($i=0;$i<$lon;$i++){ + $ch=(int)ord($cadena[$i]); + $pot=(int)$ch^(int)$clave; + $this->cadena.=chr($pot); + } + return( $this->cadena); + } +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/clases/MenuContextual.php b/admin/WebConsole/clases/MenuContextual.php new file mode 100644 index 00000000..e08c63f9 --- /dev/null +++ b/admin/WebConsole/clases/MenuContextual.php @@ -0,0 +1,164 @@ +<?php +/*================================================================================================== +Clase para trabajar con menús contextuales. + + Especificaciones de las etiquetas XML: + - MENUCONTEXTUAL: Elemento raiz en el se especifican los atributos del <DIV> + - ITEM: Especificaciones de cada item. + - SEPARADOR: Indica una linea divisoria entre items + + Especificaciones de atributos: + - idctx: Identificador del menu contextual (DIV) + - imgitem: La url de la imagen que acompañará al literal + - alignitem: La alineación del texto del item (por defecto left) + - textoitem: El literal del item + - subflotante: Si el item despliega otro menu contextual. El valor es el id de ése + - maxanchu: Máxima anchura del menu contextual + - swimg: Vale 1 si el menu tiene algún item con imagen y 0 en caso contrario + - alpulsar: Nombre de la función javascript que se ejecutará en respuesta al evento onclick + - clase: Estilo CSS que tendrán los item menu contextual + - origen_x: Posición de origen, coordenada x + - origen_y: Posición de origen, coordenada y + + + Especificaciones de eventos: + - Los eventos onmouseover y onmouseout están implicitos en la clase por defecto + Especificaciones de submenus: + - Si una opción lleva un submenu asociado el id de éste va en el atributo name del <TR> + + +==================================================================================================*/ +class MenuContextual{ + Function MenuContextual($urlImages="../images/flotantes"){ + $this->urlImg=$urlImages; + } + /*--------------------------------------------------------------------------------------------- + Devuelve una cadena en formato HTML de un layer para usarlo como menu contextual + Parametros: + - cadenaXML: Una cadena en formato XML con los atributos de cada item + ---------------------------------------------------------------------------------------------*/ + function CreaMenuContextual($cadenaXML){ + $idx=0; + $layer=""; + $idctx=""; + $maxanchu=100; + $swimg=0; + $imgitem=""; + $alignitem=""; + $textoitem=""; + $clase=""; + $subflotante=""; + $origen_x="0"; + $origen_y="0"; + + $gXML=new XmlPhp($cadenaXML,0); + $gXML->NodoRaiz(); + $atributosHTML=$gXML->Atributos(); + $atributosHTML=$gXML->TomaAtributoEspecial("maxanchu",$maxanchu,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("swimg",$swimg,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("clase",$clase,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("idctx",$idctx,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("origen_x",$origen_x,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("origen_y",$origen_y,$atributosHTML); + if(empty($origen_x)) $origen_x=0; + if(empty($origen_y)) $origen_y=0; + if (!$clase) $clase="menu_contextual"; + $layer.='<DIV class="'.$clase.'" id="'.$idctx.'" width='.$maxanchu.' style="visibility:hidden;position:absolute;top:'.$origen_y.';left:'.$origen_x.'" >'; + $nuitems=2; + if ($gXML->PrimerNodoHijo()){ + $layer.='<TABLE border=0 width='.$maxanchu.' border=0 cellspacing=0 cellpadding=0>'; + $layer.='<TR width='.$maxanchu.' height=3>'; // Primera linea + $layer.='<TD width=3 background="'.$this->urlImg.'/esi.gif"></TD>'; + $layer.='<TD colspan=6 background="'.$this->urlImg.'/lsu.gif"></TD>'; + $layer.='<TD width=3 background="'.$this->urlImg.'/esd.gif"></TD>'; + $layer.='</TR>'; + + $layer.='<TR width='.$maxanchu.' height=3>'; // Linea de relleno + $layer.='<TD width=3 background="'.$this->urlImg.'/liz.gif"></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD colspan=4></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD width=3 background="'.$this->urlImg.'/ldr.gif"></TD>'; + $layer.='</TR>'; + do{ + $nuitems++; + $atributosHTML=$gXML->Atributos(); + $tiponodo=$gXML->NombreNodo(); + if ($tiponodo=="ITEM"){ + $atributosHTML=$gXML->TomaAtributoEspecial("imgitem",$imgitem,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("textoitem",$textoitem,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("subflotante",$subflotante,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("alpulsar",$alpulsar,$atributosHTML); + $atributosHTML=$gXML->TomaAtributoEspecial("alignitem",$alignitem,$atributosHTML); + + if ($alignitem==null) $alignitem="left"; + + $clickcontextual=' onclick="'.$alpulsar.'" '; + $oncontextual=' onmouseover="sobre_contextual(this)" '; + $offcontextual=""; + + $idx++; + $layer.='<TR id='.$idx.' name="'.$subflotante.'" width='.$maxanchu.' '.$clickcontextual.' '.$oncontextual.' '.$offcontextual.' height=20>'; // Linea de item + $layer.='<TD width=3 background="'.$this->urlImg.'/liz.gif"></TD>'; + $layer.='<TD width=3></TD>'; + + if ($imgitem!=null){ // Item con imagen + $imgonclick=""; + $layer.='<TD width=20 align=center id="TDimg-'.$idx .'"><IMG width=16 src="'.$imgitem.'"></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD align='.$alignitem.' id="TDLit-'.$idx .'" width='.($maxanchu-38).' '.$atributosHTML.'><A href="javascript:void(0)" style="text-decoration: none"><SPAN>'.$textoitem.'</SPAN></A></TD>'; + } + else{ + if ($swimg==1){ // Hay algún item con imagen + $layer.='<TD width=20></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD align='.$alignitem.' width='.($maxanchu-38).' '.$atributosHTML.'><A href="#" style="text-decoration: none"><SPAN>'.$textoitem.'</SPAN></A></TD>'; + } + else{ + $layer.='<TD width=10></TD>'; + $layer.='<TD colspan=2 align='.$alignitem.' width='.($maxanchu-25).' ' .$atributosHTML.' ><A href="#" style="text-decoration: none"><SPAN>'.$textoitem.'</SPAN></A></TD>'; + } + } + if ($subflotante!=null) + $layer.='<TD valign=middle><IMG width=3 name="swsbfn" align=left src="'.$this->urlImg.'/swsbfn.gif">'; + else + $layer.='<TD width=3 >'; + $layer.='</TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD width=3 background="'.$this->urlImg.'/ldr.gif"></TD>'; + $layer.='</TR>'; + } + if ($tiponodo=="SEPARADOR"){ // Separadores + $layer.='<TR width='.$maxanchu.' height=16>'; // Linea de separación + $layer.='<TD width=3 background="'.$this->urlImg.'/liz.gif"></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD colspan=4 background="'.$this->urlImg.'/sep.gif"></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD width=3 background="'.$this->urlImg.'/ldr.gif"></TD>'; + $layer.='</TR>'; + } + + }while($gXML->SiguienteNodoHermano()); + + $layer.='<TR width='.$maxanchu.' height=3>'; // Linea de relleno + $layer.='<TD width=3 background="'.$this->urlImg.'/liz.gif"></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD colspan=4></TD>'; + $layer.='<TD width=3></TD>'; + $layer.='<TD width=3 background="'.$this->urlImg.'/ldr.gif"></TD>'; + $layer.='</TR>'; + + + $layer.='<TR width='.$maxanchu.' height=3>'; // Última linea + $layer.='<TD width=3 background="'.$this->urlImg.'/eii.gif"></TD>'; + $layer.='<TD colspan=6 background="'.$this->urlImg.'/lin.gif"></TD>'; + $layer.='<TD width=3 background="'.$this->urlImg.'/eid.gif"></TD>'; + $layer.='</TR>'; + $layer.='</TABLE>'; + $layer.='<INPUT type=hidden value="-1">'; // Representará el índice seleccionado + $layer.='</DIV>'; + } + return($layer); + } +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/clases/SockHidra.php b/admin/WebConsole/clases/SockHidra.php new file mode 100644 index 00000000..ea467918 --- /dev/null +++ b/admin/WebConsole/clases/SockHidra.php @@ -0,0 +1,183 @@ +<?php + +include_once("EncripDescrip.php"); + +/*================================================================================ + Clase para conectarse con el servidor hidra y enviar comandos + Cualquier error producido en los procesos se puede recuperar con los m�odos +================================================================================*/ +class SockHidra{ + var $ultimoerror; // Ultimo error detectado + var $descripultimoerror; // Descripción del ltimo error detectado + var $socket; // Stream socket + var $servidor; // El servidor hidra + var $puerto; // El puerto odnde se conectar� + var $timeout; // El tiempo de espera para la conexi� + var $encripdescrip; // El encriptador + var $LONGITUD_TRAMA; // M�ima longitud de la trama + + //________________________________________________________________________________________ + // + // Constructor + // Parámetros: + // - servidor: El nombre o la IP del servidor + // - puerto: El puerto usado para las comunicaciones + // - timeout: El tiempo de espera para la conexi� + //________________________________________________________________________________________ + function SockHidra($servidor,$puerto,$timeout=30){ + $this->servidor=$servidor; + if (!$this->_esIP($this->servidor)) + $this->servidor = gethostbyname ($servidor); + $this->puerto=$puerto; + $this->timeout=$timeout; + $this->LONGITUD_TRAMA=4048; + + $this->encripdescrip=new EncripDescrip(); + } + //________________________________________________________________________________________ + // + // Averigua si el parametro pasado es una IP. devuelve true en caso afirmativo + //________________________________________________________________________________________ + function _esIP(){ + return(false); + } + //________________________________________________________________________________________ + // + // Conecta con el servidor + // Devuelve: + // - false: Si falla la conexi� + // - true: En caso contrario + //________________________________________________________________________________________ + function conectar(){ + $this->socket = socket_create (AF_INET, SOCK_STREAM, 0); + if ($this->socket < 0) { + $this->ultimoerror=socket_strerror($socket); + $this->descripultimoerror="socket_create() fallo"; + return(false); + } + $result = socket_connect ($this->socket,$this->servidor,$this->puerto); + if ($result < 0) { + $this->ultimoerror=socket_strerror($result); + $this->descripultimoerror="socket_connect() fallo"; + return(false); + } + return(true); + } + //________________________________________________________________________________________ + // + // Cerrar la conexióncon el servidor + // Devuelve: + // - false: Si falla la conexi� + // - true: En caso contrario + //________________________________________________________________________________________ + function desconectar(){ + socket_close ($this->socket); + } + //________________________________________________________________________________________ + // + // Devuelve el c�igo del ltimo error ocurrido durante el proceso anterior. + //________________________________________________________________________________________ + function UltimoError(){ + return($this->ultimoerror); + } + //________________________________________________________________________________________ + // + // Devuelve una cadena con el mensage del ltimo error ocurrido durante el proceso anterior. + //________________________________________________________________________________________ + function DescripUltimoError(){ + return($this->descripultimoerror); + } + //________________________________________________________________________________________ + // + // Envia una petición de comando al servidor + // Parámetros: + // - Parámetros: Parámetros del mensaje + //________________________________________________________________________________________ + function envia_comando($parametros) + { + global $MSG_COMANDO; + + $tipo=$MSG_COMANDO; + return($this->envia_trama($parametros,$tipo)); + } + //________________________________________________________________________________________ + // + // Envia una petición de información al servidor + // Parámetros: + // - Parámetros: Parámetros del mensaje + //________________________________________________________________________________________ + function envia_peticion($parametros) + { + global $MSG_PETICION; + + $tipo=$MSG_PETICION; + return($this->envia_trama($parametros,$tipo)); + } + //________________________________________________________________________________________ + // + // Envia un mensaje al servidor + // Parámetros: + // - trama: Trama a enviar + // - tipo: Tipo de mensaje + //________________________________________________________________________________________ + function envia_trama($parametros,$tipo) + { + global $LONHEXPRM; + global $LONCABECERA; + + $arroba="@"; + $identificador="JMMLCAMDJ_MCDJ"; + + $lonprm=strlen($parametros); + /* Encripta los parámetros */ + $parametros=$this->encripdescrip->Encriptar($parametros,&$lonprm); + /* Pasa a hexadecimal la longitud de los parámetros ya encriptados para incluirla dentro de la cabecera */ + $hlonprm=str_pad(dechex($LONCABECERA+$LONHEXPRM+$lonprm),$LONHEXPRM,"0",STR_PAD_LEFT); // Rellena con ceros + + $trama=$arroba.$identificador.$tipo.$hlonprm.$parametros; + $resul=socket_write($this->socket,$trama,$LONCABECERA+$LONHEXPRM+$lonprm); + if (!$resul) { + $this->ultimoerror=socket_strerror($resul); + $this->descripultimoerror="socket_write() fallo"; + return(false); + } + return(true); + } + //________________________________________________________________________________________ + // + // Recibe una trama del servidor + // Parámetros: + // - lon: Longitud de la trama + // Devuelve: + // La trama recibida + //________________________________________________________________________________________ + function recibe_respuesta() + { + global $LONHEXPRM; + global $LONCABECERA; + global $LONBLK; + + $lon=$lSize=0; + $buffer=""; + $cadenaret=""; + do{ + $bloque = socket_read ($this->socket,$LONBLK);// Lee bloque + $buffer.=$bloque; // Añade bloque + $lon+=strlen($bloque); + if($lSize==0){ // Comprueba tipo de trama y longitud total de los parámetros + if (substr($buffer,0,15)!="@JMMLCAMDJ_MCDJ") + return($cadenaret); // No se reconoce la trama + $hlonprm=hexdec(substr($buffer,$LONCABECERA,$LONHEXPRM)); + $lSize=$hlonprm; // Longitud total de la trama con los parametros encriptados + } + }while($lon<$lSize); + + $lon=$lSize-($LONCABECERA+$LONHEXPRM); // Longitud de los parametros aún encriptados + $parametros=substr($buffer,$LONCABECERA+$LONHEXPRM,$lon); // Parametros encriptados + $parametros=$this->encripdescrip->Desencriptar($parametros,&$lonprm); // Parametros sin encriptar + $hlonprm=str_pad(dechex($lon),$LONHEXPRM,"0",STR_PAD_LEFT); // Rellena con ceros + $cadenaret=substr($buffer,0,$LONCABECERA).$hlonprm.$parametros; + return($cadenaret); + } + } +?> diff --git a/admin/WebConsole/clases/XmlPhp.php b/admin/WebConsole/clases/XmlPhp.php new file mode 100644 index 00000000..a45d1c90 --- /dev/null +++ b/admin/WebConsole/clases/XmlPhp.php @@ -0,0 +1,285 @@ +<? +/*================================================================================ +Esta clase implementa funciones de utilidad para tratar ficheros XML + + Parametros del constructor: + fxml=Fichero XML que contiene los atributos de los nodos + fileocade=Indica si el dato anterior es un fichero o una variable con el contenido del rbol: + 0: Es una cadena + 1: Es un fichero + + Especificaciones: + Se le llama informacin del nodo al nombre del nodo + sus atributos eliminando los marcadores + de comienzo:"<" y fin:">" +================================================================================*/ +class XmlPhp{ + var $buffer; + var $nptr; + + function XmlPhp($fxml,$fileocade){ // Constructor + if ($fileocade==0){ + $this->nptr=1; + $this->buffer=trim($fxml); + } + else{ + $tbuffer=filesize($fxml); // Calcula tamao del fichero + if ($tbuffer>0){ // EL fichero tiene contenido + $fd=fopen($fxml, "r"); + $this->buffer=fread ($fd,$tbuffer); + fclose ($fd); + $this->nptr=1; + $this->buffer=trim($this->buffer); + } + } + $this->buffer=ereg_replace( "[\n\r\t]"," ", $this->buffer ); + } + /* ------------------------------------------------------------------------------------------- + Recupera la informacin del primer nodo (nodo raiz) del arbol.Devuelve false en caso de que + no tenga hijos o bien no exista documento XML que analizar. + ---------------------------------------------------------------------------------------------*/ + function InfoNodoRaiz(){ + if (!$this->NodoRaiz()) // No existe documento XML + return(false); + return($this->Infonodo()); + } + /* ------------------------------------------------------------------------------------------- + Establece el puntero de nodos al primer nodo del rbol (nodo raiz). Devuelve false en caso + de que no exista documento XML que analizar. + ---------------------------------------------------------------------------------------------*/ + function NodoRaiz(){ + if ($this->buffer==null) return(false); // No existe documento XML + $this->nptr=0; + while ($this->nptr<strlen($this->buffer)) + if ('<'==substr($this->buffer,$this->nptr++,1)) return(true); + return(false); + } + /* ------------------------------------------------------------------------------------------- + Recupera la informacin del primer nodo hijo del nodo actual. Devuelve false en caso de que + no tenga hijos o bien no exista documento XML que analizar. + ---------------------------------------------------------------------------------------------*/ + function InfoPrimerNodoHijo(){ + if (!$this->PrimerNodoHijo()) // No tiene hijos o no existe documento XML + return(false); + return($this->Infonodo()); + } + /* ------------------------------------------------------------------------------------------- + Establece el puntero de nodos al primer nodo hijo del nodo actual. Devuelve false en caso + de que no tenga hijos o bien no exista documento XML que analizar. + ---------------------------------------------------------------------------------------------*/ + function PrimerNodoHijo(){ + if ($this->buffer==null) return(false); // No existe documento XML + $gnptr=$this->nptr; + while ($this->nptr<strlen($this->buffer)) + if ('<'==substr($this->buffer,$this->nptr++,1)) break; + $lon=$this->nptr; + if ('/'==substr($this->buffer,$lon,1)){ // No tiene hijos + $this->nptr=$gnptr; + return(false); + } + return(true); + } + /* ------------------------------------------------------------------------------------------- + Recupera la informacin del siguiente nodo hermano del actual. Devuelve false en caso de que + el nodo actual sea el ltimo de sus hermanos o bien no exista documento XML que analizar. + ---------------------------------------------------------------------------------------------*/ + function InfoSiguienteNodoHermano(){ + if (!$this->SiguienteNodoHermano()) // No tiene hermanos o no existe documento XML + return(false); + return($this->Infonodo()); + } + /* ------------------------------------------------------------------------------------------- + Establece el puntero de nodos al siguiente nodo hermano del nodo actual. Devuelve false en + caso de que el nodo actual sea el ltimo de los hermanos o bien no exista documento XML que analizar. + ---------------------------------------------------------------------------------------------*/ + function SiguienteNodoHermano(){ + if ($this->buffer==null) return(false); // No existe documento XML + $gnptr=$this->nptr; + $resul=$this->_siguiente_hermano(); + if (!$resul){ + $this->nptr=$gnptr; // Es el ltimo hermano + return(false); + } + return(true); + } + /* ------------------------------------------------------------------------------------------- + Establece el puntero de nodos al siguiente nodo hermano del actual + ---------------------------------------------------------------------------------------------*/ + function _siguiente_hermano(){ + $lon=$this->nptr; + $sw=1; + $nombrenodo=$this->NombreNodo(); + while (1){ + $lon = strpos($this->buffer,'<',++$lon); + if (substr($this->buffer,++$lon,1)=='/') + $sw--; + else + $sw++; + if ($sw==0){ + while ($lon<strlen($this->buffer)){ + if (substr($this->buffer,$lon++,1)=='<'){ + if (substr($this->buffer,$lon,1)=='/') + return(false); // Es el ltimo hermano + else{ + $this->nptr=$lon; + return(true); + } + } + } + return(false); // Se trata del nodo raiz + } + } + } + /* ------------------------------------------------------------------------------------------- + Recupera el nmero de hijos del nodo actual + ---------------------------------------------------------------------------------------------*/ + function NumerodeHijos(){ + $gnptr=$this->nptr; + $nh=0; + if ($this->PrimerNodoHijo()){ + $nh++; + while ($this->SiguienteNodoHermano()) $nh++; + } + $this->nptr=$gnptr; + return($nh); + } + /* ------------------------------------------------------------------------------------------- + Devuelve true si el nodo es el ltimo de sus hermanos + ---------------------------------------------------------------------------------------------*/ + function EsUltimoHermano(){ + $gnptr=$this->nptr; + if (!$this->SiguienteNodoHermano()){ + $this->nptr=$gnptr; + return(true); + } + $this->nptr=$gnptr; + return(false); + } + /* ------------------------------------------------------------------------------------------- + Devuelve los atributos del nodo. + Prmetros: + Si se aporta el puntero del nodo se devolvern los atributos del nodo apuntado + pero si no se especifican argumentos se devuelven los atributos del nodo actual. + ---------------------------------------------------------------------------------------------*/ + function Atributos($ptrnodo=-1){ + if ($ptrnodo!=-1) + $this->_setnodo($ptrnodo); + $atributosHTML=""; + $info=$this->Infonodo(); + $pos=strpos($info," "); + if ($pos) // El nodo tiene atributos + $atributosHTML=" ".substr($info,$pos); + return($atributosHTML); + } + /* ------------------------------------------------------------------------------------------- + Posiciona el puntero de nodos + ---------------------------------------------------------------------------------------------*/ + function _setnodo($ptrnodo){ + $this->nptr=$ptrnodo; + } + /* ------------------------------------------------------------------------------------------- + Devuelve el puntero del nodo actual + ---------------------------------------------------------------------------------------------*/ + function Nodo(){ + return($this->nptr); + } + /* ------------------------------------------------------------------------------------------- + Recupera el nombre del nodo + ---------------------------------------------------------------------------------------------*/ + function NombreNodo(){ + $infonodo=$this->Infonodo(); + $trozos=split(" ",$infonodo); + return ($trozos[0]); + } + /* ------------------------------------------------------------------------------------------- + Recupera la informacin del nodo actual + ---------------------------------------------------------------------------------------------*/ + function Infonodo(){ + if ($this->buffer==null) return(false); // No existe documento XML + $lon=$this->nptr; + while ($lon<strlen($this->buffer)) + if ('>'==substr($this->buffer,++$lon,1)) break; + $info=trim(substr($this->buffer,$this->nptr,$lon-$this->nptr)); + $info=str_replace("[","<",$info); + $info=str_replace("]",">",$info); + return $info; + } + /* ------------------------------------------------------------------------------------------- + Recorre el arbol de nodos del documento XML y para cada nodo genera un evento que se + puede capturar a travs de una funcion que tiene esta forma: + fNodoXML(nivel,infonodo) donde: + - nivel es el nivel de profundidad del nodo (en base 0) + - infonodo es toda la informacin contenida en el nodo. + ---------------------------------------------------------------------------------------------*/ + function RecorreArboXML(){ + if (!$this->NodoRaiz()) return; // No existe documento XML que analizar + $this->_arbolXmlrecur(0); + } + // ------------------------------------------------------------------------------------- + // Recorrido recursivo del arbol XML + // ------------------------------------------------------------------------------------- + function _arbolXmlrecur($nivel){ + do{ + $infonodo=$this->Infonodo(); + fNodoXML($nivel,$infonodo); + $gnptr=$this->nptr; + if ($this->PrimerNodoHijo()) + $this->_arbolXmlrecur($nivel+1); + $this->nptr=$gnptr; + }while($this->SiguienteNodoHermano()); + } + /*------------------------------------------------------------------------------------------------ + Elimina un atributo de la informacin del nodo + Parametros: + - nombreatributo:El nombre del atributo + - info: La informacin del Nodo + ------------------------------------------------------------------------------------------------*/ + function EliminaAtributo($nombreatributo,$info){ + $nada=""; + return($this->TomaAtributo($nombreatributo,&$nada,$info,true)); + } + /*------------------------------------------------------------------------------------------------ + Recupera el valor del atributo y lo elimina de la informacin del nodo + Parametros: + - nombreatributo:El nombre del atributo + - puntero: Referencia a la variable que contendr el valor del atributo + - info: La informacin del Nodo + ------------------------------------------------------------------------------------------------*/ + function TomaAtributoEspecial($nombreatributo,&$puntero,$info){ + return($this->TomaAtributo($nombreatributo,&$puntero,$info,true)); + } + /*------------------------------------------------------------------------------------------------ + Recupera el valor del atributo + Parametros: + - nombreatributo:El nombre del atributo + - puntero: Referencia a la variable que contendr el valor del atributo + - info: La informacin del Nodo + - sw: Si vale true el atributo se eliminar de la informacin del nodo + ------------------------------------------------------------------------------------------------*/ + function TomaAtributo($nombreatributo,&$puntero,$info,$swkill=false){ + $doblescomillas='"'; + $strAtributo=" ".$nombreatributo."="; + $pos=strpos($info,$strAtributo); + if (!$pos){ + $puntero=null; + return($info); + } + $pos+=strlen($strAtributo); // Avanza hasta el signo igual + $posa=$pos; // Primera posicin del valor del atributo + $swcomillas=false; + while ($pos<strlen($info)){ + if ($doblescomillas==substr($info,$pos,1)) $swcomillas=!$swcomillas; + if (' '==substr($info,$pos,1) || '> '==substr($info,$pos,1)) + if (!$swcomillas) break; + $pos++; + } + $posb=$pos; + $valoratributo=substr($info,$posa,$posb-$posa); + if ($swkill) // Eliminar el atributo de la la cadena + $info=str_replace($strAtributo.$valoratributo,"",$info); // Elimina el atributo de la informacin + if ($doblescomillas==substr($valoratributo,0,1)) // Elimina las comillas + $valoratributo=str_replace($doblescomillas,"",$valoratributo); + $puntero=$valoratributo; + return($info); + } +} // Fin de la clase +?> diff --git a/admin/WebConsole/clases/jscripts/ArbolVistaXML.js b/admin/WebConsole/clases/jscripts/ArbolVistaXML.js new file mode 100644 index 00000000..e5f5d282 --- /dev/null +++ b/admin/WebConsole/clases/jscripts/ArbolVistaXML.js @@ -0,0 +1,574 @@ +// ************************************************************************************************ +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: ArbolVistaXML.js +// Este fichero implementa las funciones javascript de la clase ArbolVistaXML.php +// ************************************************************************************************* +var botonraton=null; // Botón presionado +var currentNodo=""; // Nodo actual +var currentpathimg=""; // Path por defecto de las imágenes de signo +var gLiteralcolor; // Color nodo vista para restablecer +var gLiteralbackground; // Fondo color nodo vista para restablecer +//________________________________________________________________________________________________________ +// definicion dela clase triada +//________________________________________________________________________________________________________ + function NodoVista(){ + this.nivel=0; // Profundidad del nodo + this.imgsigno=null; // Objeto IMG (Imagen de signo de la celda vista) O SPAN si el nodo vista no tiene hijos + this.literal=null; // Objeto SPAN (Literal de la celda vista) + + this.CeldaVista=null; // El objeto TABLE que contiene la imagen de signo y el literal) + this.Nodo=null; // El nodo en si (Objeto TR que contiene el objeto TABLE celda vista final) + this.ArbolHijos=null; // El arbol conteniendo todos los nodos hijos ( Si nulo no tiene hijos)(Objeto TR) + this.NodoPadre=null; // El nodo padre (Objeto TR que contiene el objeto TABLE celda vista final, del padre) + this.ArbolHijosNodoPadre=null; // El arbol del padre conteniendo los nodos hijos(Objeto TR) + this.siguienteHermano=null; // El nodo hermano siguiente ( Si nulo es el último hermano)(Objeto TR) + //____________________________________________________________________________ + // + // Devuelve el estado del nodo 0: Contraido 1:Desplegado + //____________________________________________________________________________ + this.estadoNodo= function(){ + var signoimg=this.imgsigno.getAttribute("value"); + var estado; + switch(signoimg){ + case "menos_t" : + case "menos_c" : + estado=1; + break; + case "mas_t" : + case "mas_c" : + estado=0; + break; + default: + estado=-1; + } + return(estado); + } + //____________________________________________________________________________ + // + // Devuelve el segundo dato de una cadena con formato xxxxx-xxx que es id del nodo vista + //____________________________________________________________________________ + this.toma_identificador= function(){ + if(this.literal==null) return(null); + var cadena=this.literal.getAttribute("id"); + var iditem=cadena.split("-") // Toma el identificador + return(iditem[1]); + } + //____________________________________________________________________________ + // + // Devuelve el primer dato de una cadena con formato xxxxx-xxx que es sufijo del nodo vista + //____________________________________________________________________________ + this.toma_sufijo= function(){ + if(this.literal==null) return(null); + var cadena=this.literal.getAttribute("id"); + var iditem=cadena.split("-") // Toma el identificador + return(iditem[0]); + } + //____________________________________________________________________________ + // + // Devuelve el literal de un nodo vista + //____________________________________________________________________________ + this.toma_infonodo= function(){ + if(this.literal==null) return(null); + return(this.literal.innerHTML); + } + //____________________________________________________________________________ + // + // Devuelve el literal de un nodo vista + //____________________________________________________________________________ + this.pone_infonodo= function(lit){ + this.literal.innerHTML=lit; + } + //____________________________________________________________________________ + // + // Devuelve el segundo dato de una cadena con formato xxxxx-xxx que es id del nodo vista + //____________________________________________________________________________ + this.toma_atributoNodo= function(atr){ + if(atr=="") return(null); + if(this.literal==null) return(null); + var atributo=this.literal.getAttribute(atr); + return(atributo); + } + //____________________________________________________________________________ + // + // Devuelve true si el nodo tiene hijos,false en caso contrario + //____________________________________________________________________________ + this.TieneHijos= function(){ + return(this.ArbolHijos!=null); + } + //____________________________________________________________________________ + // + // Devuelve true si el nodo es el último, false en caso contrario + //____________________________________________________________________________ + this.UltimoHermano= function(){ + return(this.siguienteHermano==null); + } + //____________________________________________________________________________ + // + // Devuelve el nodo vista padre + //____________________________________________________________________________ + this.PapaNodo= function(){ + if(this.NodoPadre==null) return(null); + var oTABLE=this.NodoPadre.getElementsByTagName('TABLE')[0]; + return(TomaDatosNodo(oTABLE)); + } + // Fin de la clase +} +//________________________________________________________________________________________________________ +// +// Devuelve un nodo vista +// Parametro: +// o: Objeto que puede ser la imagen de signo o el literal de una de las lineas del arbolVista +//________________________________________________________________________________________________________ + function TomaDatosNodo(o){ + var nodo=new NodoVista(); + + while(o.tagName!="TABLE" ) + o=o.parentNode; + nodo.CeldaVista=o; + var TAnchor=nodo.CeldaVista.getElementsByTagName('A'); + if(TAnchor.length==2){ // Imagen de signo pulsable + nodo.imgsigno=TAnchor[0].childNodes[0]; + nodo.literal=TAnchor[1].childNodes[0]; + } + else{ + var TSpan=nodo.CeldaVista.getElementsByTagName('SPAN'); + nodo.imgsigno=TSpan[0].childNodes[0]; + nodo.literal=TAnchor[0].childNodes[0]; + } + while(o.tagName!="TR" ) + o=o.parentNode; + nodo.Nodo=o; + + while(o.tagName!="TABLE" ) + o=o.parentNode; + var Mnivel=o.getAttribute("id").split("-") + nodo.nivel=Mnivel[1] + + while(o.tagName!="TR" ) + o=o.parentNode; + nodo.ArbolHijosNodoPadre=o; + + if(parseInt(nodo.nivel)>0){ + o=o.previousSibling; + while(o.nodeType!=1 ) + o=o.previousSibling + nodo.NodoPadre=o; + } + else + nodo.NodoPadre=null; // Es el primer nodo + var o=nodo.Nodo; + var auxsplit=o.getAttribute("id"); + var idTR=auxsplit.split("-") [0]; + o=o.nextSibling + while(o!=null && o.nodeType!=1 ) + o=o.nextSibling + if(o==null){ // Es el último hermano y no tiene hijos + nodo.ArbolHijos=null; + nodo.siguienteHermano=null; + return(nodo); + } + var auxsplit=o.getAttribute("id"); + var idTRhijo=auxsplit.split("-") [0]; + if(idTR==idTRhijo) { // El nodo no tiene hiijos y no es último hermano + nodo.ArbolHijos=null; + nodo.siguienteHermano=o; + return(nodo); + } + nodo.ArbolHijos=o; + o=o.nextSibling + while(o!=null && o.nodeType!=1) + o=o.nextSibling + if(o==null){ // El nodo tiene hijos y es ultimo hermano + nodo.siguienteHermano=null; + return(nodo); + } + nodo.siguienteHermano=o; // El nodo tiene hijos y no es último hermano + return(nodo); + } +//----------------------------------------------------------------------------------------------------------------------- +// Gestiona el despliegue y contracción de nodovs +//----------------------------------------------------------------------------------------------------------------------- +function clickNodo(nodov,pathimg){ + var signoimg=nodov.imgsigno.getAttribute("value"); + switch(signoimg){ + case "menos_t" : + nodov.imgsigno.setAttribute("value","mas_t",null); + nodov.imgsigno.setAttribute("src",pathimg+"/mas_t.gif",null); + nodov.ArbolHijos.style.display="none" + break; + case "menos_c" : + nodov.imgsigno.setAttribute("value","mas_c",null); + nodov.imgsigno.setAttribute("src",pathimg+"/mas_c.gif",null); + if (nodov.nivel==0) + nodov.imgsigno.setAttribute("src",pathimg+"/mas_root.gif",null); + nodov.ArbolHijos.style.display="none" + break; + case "mas_t" : + nodov.imgsigno.setAttribute("value","menos_t",null); + nodov.imgsigno.setAttribute("src",pathimg+"/menos_t.gif",null); + nodov.ArbolHijos.style.display="block" + break; + case "mas_c" : + nodov.imgsigno.setAttribute("value","menos_c",null); + nodov.imgsigno.setAttribute("src",pathimg+"/menos_c.gif",null); + if (nodov.nivel==0) + nodov.imgsigno.setAttribute("src",pathimg+"/menos_root.gif",null); + nodov.ArbolHijos.style.display="block" + break; + } +} +//----------------------------------------------------------------------------------------------------------------------- +// Gestiona el despliegue y contracción de nodos a través de la imagen del nodo +//----------------------------------------------------------------------------------------------------------------------- +function clickImagenSigno(oIMG,pathimg){ + currentpathimg=pathimg; + var nodov=TomaDatosNodo(oIMG); + clickNodo(nodov,pathimg); + if (EsAncestro(nodov,currentNodo)) + resalta(nodov); +} +//----------------------------------------------------------------------------------------------------------------------- +// Gestiona el despliegue y contracción de nodos a través del literal del nodo +//----------------------------------------------------------------------------------------------------------------------- +function clickLiteralNodo(oLIT,pathimg){ + var nodov=TomaDatosNodo(oLIT); + resalta(nodov); + if(nodov.imgsigno==null) return; + + if(pathimg==null){ + var signoimg=nodov.imgsigno.getAttribute("src"); + var p=signoimg.lastIndexOf("/"); + var pathimg=signoimg.substring(0,p); + currentpathimg=pathimg; + } + var signoimg=nodov.imgsigno.getAttribute("value"); + var signo=signoimg.split("_") + if(botonraton==1){ + if (signo[0]=="mas" || signo[0]=="menos" ) clickNodo(nodov,pathimg); + } + else{ + if (signo[0]=="mas" ) clickNodo(nodov,pathimg); + } +} +//----------------------------------------------------------------------------------------------------------------------- +// Resalta el nodo vista seleccionado y lo pone como nodo vista actual +//----------------------------------------------------------------------------------------------------------------------- +function resalta(nodov){ + if(currentNodo==nodov) return; + if (currentNodo){ + currentNodo.literal.style.color=gLiteralcolor; + currentNodo.literal.style.backgroundColor=gLiteralbackground; + } + gLiteralcolor=nodov.literal.style.color; // Guarda el color del nodo + gLiteralbackground=nodov.literal.style.backgroundColor; // Guarda el background del nodo + + nodov.literal.style.color="#FFFFFF"; // Blanco + nodov.literal.style.backgroundColor="#0a266a"; // Azul marino + currentNodo=nodov; +} +//----------------------------------------------------------------------------------------------------------------------- +// Deja de resaltar un nodo vista +//____________________________________________________________________________ +function desresalta(nodov){ + nodov.literal.style.color=nodov.Literalcolor; + nodov.literal.style.backgroundColor=nodov.Literalbackground; +} +//----------------------------------------------------------------------------------------------------------------------- +// Averigua si el primer nodo vista es ancestro del segundo +//____________________________________________________________________________ +function EsAncestro(nodoA,nodoH){ + if(nodoH==null) return(false); + var NodoAncestro=nodoA.ArbolHijos; + var NodoHijo=nodoH.Nodo; + while(NodoHijo!=null){ + if(NodoHijo==NodoAncestro) return(true); + NodoHijo=NodoHijo.parentNode; + } + return(false); +} +//----------------------------------------------------------------------------------------------------------------------- +// Despliega un nivel el nodo indicado +//----------------------------------------------------------------------------------------------------------------------- +function despliega(o,pathimg){ + var nodov=TomaDatosNodo(o); + clickNodo(nodov,pathimg); +} +//----------------------------------------------------------------------------------------------------------------------- +// Despliega el nodo indicado ( desde la pagina +//----------------------------------------------------------------------------------------------------------------------- +function DespliegaNodo(lit,id){ + var o=document.getElementById(lit+"-"+id); + if(o!=null){ + var ancestro= TomaDatosNodo(o); + resalta(ancestro); + while(ancestro!=null){ + if(ancestro.estadoNodo()==0) // Nodo contraido + clickNodo(ancestro,currentpathimg); + ancestro=ancestro.PapaNodo(); + } + } +} +//____________________________________________________________________________ +// +// Inserta un nodo en el árbol +// Especificaciones: +// Los parámetros recibidos son: +// - nodov: Nodo vista +// - tablanodo: Tabla nodo generada para la nueva celda vista +//____________________________________________________________________________ +function InsertaNodo(nodov,tablanodo){ + var nwceldavista=CreaCeldaVista(nodov,tablanodo); + var nwTR = document.createElement('TR'); + nwTR.id="TRNodo-0"; + var nwTD = document.createElement('TD'); + nwTD.innerHTML=nwceldavista; + nwTR.appendChild(nwTD); + + if(!nodov.TieneHijos()){ + CreaNodoHijo(nodov); + if(parseInt(nodov.nivel)==0){ // Nodo raiz + nodov.imgsigno.setAttribute("value","menos_c",null); + nodov.imgsigno.setAttribute("src",currentpathimg+"/menos_root.gif",null); + } + else{ + if(nodov.UltimoHermano()){ + nodov.imgsigno.setAttribute("value","menos_c",null); + nodov.imgsigno.setAttribute("src",currentpathimg+"/menos_c.gif",null); + } + else{ + nodov.imgsigno.setAttribute("value","menos_t",null); + nodov.imgsigno.setAttribute("src",currentpathimg+"/menos_t.gif",null); + } + } + var ATTonclick='clickImagenSigno(this,' + "'"+currentpathimg+"'"+','+nodov.nivel+');'; + nodov.imgsigno.setAttribute("onclick",ATTonclick,null); + nodov.imgsigno.setAttribute("border","0",null); + var oSPAN=nodov.imgsigno.parentNode; + var htmlIMG=oSPAN.innerHTML; + TDpadre=oSPAN.parentNode; + TDpadre.innerHTML='<A href="#">'+htmlIMG+'</A>'; + } + var pivoteNodo=nodov.ArbolHijos; + var nodoTD = pivoteNodo.childNodes[0];; + var nodoTABLE=nodoTD.childNodes[0]; + var nodoTBODY=nodoTABLE.childNodes[0]; + var nodoTR=nodoTBODY.childNodes[0]; + if(nodoTR!=null) + nodoTBODY.insertBefore(nwTR,nodoTR); + else + nodoTBODY.appendChild(nwTR); +} +//____________________________________________________________________________ +// +// Monta y devuelve el código HTML de la estructura de una celda vista +// Los parámetros recibidos son: +// - pivoteNodo: Nodo vista +// - tablanodo: Tabla nodo generada para la nueva celda vista +//____________________________________________________________________________ +function CreaCeldaVista(nodov,tablanodo){ + var nodoTD = document.createElement('TD'); + nodoTD.innerHTML=tablanodo; + var nodoTABLE=nodoTD.childNodes[0]; + var nodoTBODY=nodoTABLE.childNodes[0]; + var nodoTBODYTR=nodoTBODY.childNodes[0]; + var oIMG=nodoTBODYTR.getElementsByTagName('IMG')[0]; + var HTMLinner=nodoTBODYTR.innerHTML; + + if(nodov.TieneHijos()){ + var patron = new RegExp("nada_c","gi") + HTMLinner=HTMLinner.replace(patron,"nada_t"); + } + else{ + var patron = new RegExp("nada_t","gi") + HTMLinner=HTMLinner.replace(patron,"nada_c"); + } + var auxnodo=nodov; + var nwHTMLinner=""; + var img=""; + while(auxnodo!=null){ + (auxnodo.UltimoHermano())? img="nada.gif" : img="nada_l.gif"; + nwHTMLinner='<TD width="3px"></TD><TD width="16px"><IMG src="../images/signos/'+img+'" width="16px" height="16px" ></TD>'+nwHTMLinner; + auxnodo=auxnodo.PapaNodo(); + } + nwHTMLinner='<TABLE border=0 cellspacing=0 cellpadding=0><TR height="16px">'+nwHTMLinner+HTMLinner+"</TR></TABLE>"; // Contenido de la tabla del nodo literal + return(nwHTMLinner); +} +//____________________________________________________________________________ +// +// Crea un nuevo nodo Hijo (objeto TABLE) +// Parámetros: +// - nodov: Un nodo vista +//____________________________________________________________________________ +function CreaNodoHijo(nodov){ + var nivel=parseInt(nodov.nivel)+1; + var nTR=document.createElement('TR'); + nTR.id="TRNodoHijo-0"; + var nTD=document.createElement('TD'); + nTD.innerHTML='<TABLE with="100%"id="tablanivel-'+nivel+'" border="0" cellspacing="0" cellpadding="0"><TBODY></TBODY></TABLE>'; + nTR.appendChild(nTD); + + var pivoteNodo=nodov.Nodo.parentNode; + if(nodov.UltimoHermano()){ + pivoteNodo.appendChild(nTR); // Para insertar al final + } + else{ + pivoteNodo.insertBefore(nTR,nodov.siguienteHermano) + } + nodov.ArbolHijos=nTR; +} +//____________________________________________________________________________ +// +// Inserta un nodo en el árbol +// Especificaciones: +// Los parámetros recibidos son: +// - nodov: Nodo vista +//____________________________________________________________________________ +function EliminaNodo(nodov){ + var swuh=nodov.UltimoHermano(); + var pn=nodov.Nodo.parentNode; // Nodo padre + var papa=nodov.PapaNodo(); // Nodo vista padre + + if(nodov.TieneHijos()) + pn.removeChild(nodov.ArbolHijos); // Elimina arbol hijo + pn.removeChild(nodov.Nodo); // Elimina Nodo + + var antHermano=pn.lastChild + if(antHermano==null){ // El nodo padre no tiene más hijos + var pn=papa.ArbolHijos.parentNode; // Nodo padre + pn.removeChild(papa.ArbolHijos); // Elimina arbol hijo + ChgSignoPadreEliminaNodo(papa.imgsigno); + } + else{ + if(swuh){ // Si era el último hermano ... + var auxsplit=antHermano.getAttribute("id"); + var idTR=auxsplit.split("-") [0]; + if(idTR=="TRNodoHijo"){ + antHermano=antHermano.previousSibling; + while(antHermano.nodeType!=1 ) + antHermano=antHermano.previousSibling + var TAnchor=antHermano.getElementsByTagName('A'); + if(TAnchor.length==2) // Imagen de signo pulsable + var oIMG=TAnchor[0].childNodes[0]; + } + else{ + var TSpan=antHermano.getElementsByTagName('SPAN'); + var oIMG=TSpan[0].childNodes[0]; + } + var nh=TomaDatosNodo(oIMG); + ChgSignoEliminaNodo(oIMG); + if(nh.TieneHijos()) + ChgSignoNivel(nh.ArbolHijos,nh.nivel); + } + } +} +//----------------------------------------------------------------------------------------------------------------------- +// Cambia la imagen de signo del hermano anterior de un nodo eliminado +//----------------------------------------------------------------------------------------------------------------------- +function ChgSignoEliminaNodo(imgsigno){ + var signoimg=imgsigno.getAttribute("value"); + switch(signoimg){ + case "menos_t" : + imgsigno.setAttribute("value","menos_c",null); + imgsigno.setAttribute("src",currentpathimg+"/menos_c.gif",null); + break; + case "mas_t" : + imgsigno.setAttribute("value","mas_c",null); + imgsigno.setAttribute("src",currentpathimg+"/mas_c.gif",null); + break; + case "nada_t" : + imgsigno.setAttribute("value","nada_c",null); + imgsigno.setAttribute("src",currentpathimg+"/nada_c.gif",null); + break; + } +} +//----------------------------------------------------------------------------------------------------------------------- +// Cambia la imagen de signo del nodo padre de un nodo eliminado ( unico hijo) +//----------------------------------------------------------------------------------------------------------------------- +function ChgSignoPadreEliminaNodo(imgsigno){ + var signoimg=imgsigno.getAttribute("value"); + switch(signoimg){ + case "menos_t" : + imgsigno.setAttribute("value","nada_t",null); + imgsigno.setAttribute("src",currentpathimg+"/nada_t.gif",null); + QuitaANCHOR(imgsigno); + break; + case "menos_c" : + imgsigno.setAttribute("value","nada_c",null); + imgsigno.setAttribute("src",currentpathimg+"/nada_c.gif",null); + QuitaANCHOR(imgsigno); + break; + case "mas_t" : + imgsigno.setAttribute("value","nada_t",null); + imgsigno.setAttribute("src",currentpathimg+"/nada_t.gif",null); + QuitaANCHOR(imgsigno); + break; + case "mas_c" : + imgsigno.setAttribute("value","nada_c",null); + imgsigno.setAttribute("src",currentpathimg+"/nada_c.gif",null); + QuitaANCHOR(imgsigno); + break; + } +} +//----------------------------------------------------------------------------------------------------------------------- +// Cambia la imagen de un determinado nivel +//----------------------------------------------------------------------------------------------------------------------- +function QuitaANCHOR(oIMG){ + var TAnchor=oIMG.parentNode; + var oHTML=TAnchor.innerHTML; + var oTD=TAnchor.parentNode; + oTD.innerHTML="<SPAN>"+oHTML+"</SPAN>"; +} +//----------------------------------------------------------------------------------------------------------------------- +// Cambia la imagen de un determinado nivel +//----------------------------------------------------------------------------------------------------------------------- +function ChgSignoNivel(arbolv,n){ + if(arbolv==null) return + var nodoTD =arbolv.childNodes[0]; + var nodoTABLE=nodoTD.childNodes[0]; + var nodoTBODY=nodoTABLE.childNodes[0]; + var oTRs=nodoTBODY.childNodes; + for(var i=0;i<oTRs.length;i++){ + var auxsplit=oTRs[i].getAttribute("id"); + var idTR=auxsplit.split("-") [0]; + if(idTR=="TRNodoHijo"){ + ChgSignoNivel(oTRs[i],n) + } + else{ + var oTABLE=oTRs[i].getElementsByTagName('TABLE'); + var oIMGs=oTABLE[0].getElementsByTagName('IMG'); + oIMGs[n].setAttribute("src",currentpathimg+"/nada.gif",null); + } + } +} +//____________________________________________________________________________ +// +// Se ejecuta cada vez que se mueve el puntero del ratón. Se usa para desmarca +// cualquier item de menu contextual que estuviese activo +//____________________________________________________________________________ +function click_de_raton_prov(e){ + if(IE){ + botonraton=event.button + event.returnValue=true; + return; + } + if(NS){ + botonraton=e.which; + e.returnValue=true; + return; + } +} +//____________________________________________________________________________ +// +// Recupera el navegador utilizado +//____________________________________________________________________________ +var IE=(navigator.appName=="Microsoft Internet Explorer"); +var NS=(navigator.appName=="Netscape"); +//____________________________________________________________________________ +// +// Redirecciona el evento onmousedown a la función de usuario especificada. +//____________________________________________________________________________ +document.onmousedown = click_de_raton_prov; // Redefine el evento onmousedown + if(NS) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP) + + diff --git a/admin/WebConsole/clases/jscripts/HttpLib.js b/admin/WebConsole/clases/jscripts/HttpLib.js new file mode 100644 index 00000000..953c7ea9 --- /dev/null +++ b/admin/WebConsole/clases/jscripts/HttpLib.js @@ -0,0 +1,59 @@ +// ******************************************************************************** +// Aplicacin WEB: ogAdmWebCon +// Autor: Jos Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creacin: Ao 2009-2010 +// Fecha ltima modificacin: Agosto-2010 +// Nombre del fichero: consolaremota.php +// Descripcin : Clase para llamar pginas web usando metodologa AJAX +// ********************************************************************************
+var _url;
+var _fun;
+var oXMLHttpRequest;
+//____________________________________________________________________________
+//
+// LLama a la pgina
+//
+// Parmetros:
+//
+// url // Url de la pgina a la que se llama
+// fun // Funcin a la que se llama despues de descargarse la pgina
+//____________________________________________________________________________
+function CallPage(url,prm,fun,met){ + _url=url;
+ _fun=fun; +
+ if (window.XMLHttpRequest) {
+ oXMLHttpRequest= new XMLHttpRequest();
+ oXMLHttpRequest.onreadystatechange = procesaoXMLHttpRequest;
+ oXMLHttpRequest.open("POST",_url, true); + oXMLHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
+ oXMLHttpRequest.send(prm);
+ } else if (window.ActiveXObject) {
+ isIE = true;
+ try {
+ oXMLHttpRequest= new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ oXMLHttpRequest= new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (E) {
+ oXMLHttpRequest= false;
+ }
+ }
+ if (oXMLHttpRequest) {
+ oXMLHttpRequest.onreadystatechange =procesaoXMLHttpRequest;
+ oXMLHttpRequest.open("POST",_url, true); + oXMLHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
+ oXMLHttpRequest.send(prm);
+ }
+ }
+}
+ //_____________________________________________________________________________________
+ function procesaoXMLHttpRequest(){ + if (oXMLHttpRequest.readyState == 4) {
+ if (oXMLHttpRequest.status == 200) {
+ var fcbk=_fun+"(oXMLHttpRequest.responseText)"; + eval(fcbk)
+ }
+ }
+} + diff --git a/admin/WebConsole/clases/jscripts/MenuContextual.js b/admin/WebConsole/clases/jscripts/MenuContextual.js new file mode 100644 index 00000000..a39358db --- /dev/null +++ b/admin/WebConsole/clases/jscripts/MenuContextual.js @@ -0,0 +1,394 @@ +// *************************************************************************** +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: menucontextual.js +// Este fichero implementa las funciones javascript de la clase MenuContextual +// *************************************************************************** +var ctx_grissistema="#d4d0c8" +var ctx_azulmarino="#0a266a"; +var ctx_blanco="#ffffff"; +var ctx_negro="#000000"; +var ctx_grissombra="#808080"; + +gmenuctx=new Array(); // Guarda el último menu flotante +var idxmnu=0 // Indice de los menus flotantes +var currentItem=null; +var currentPadresubmenu; +var currentPadreY; + +var ClickX=null // Coordenada x del evento click del boton derecho +var ClickY=null // Coordenada y del evento click del boton derecho +var botonraton=null; +//____________________________________________________________________________ +// +// Esta función muestra un menu contextual +// Parámetros: +// - x: Coordenada x de referencia +// - y: Coordenada y de referencia +// - menuctx: Objeto DIV contenedor del menu contextual +//____________________________________________________________________________ +function muestra_contextual(x,y,menuctx){ + var margen=0 + dpzx=16 + dpzy=16 + wtop=calculatop_ctx(y,dpzy,margen,menuctx) // Calcula posición del menu contextual + wleft=calculaleft_ctx(x,dpzx,margen,menuctx) + ftop=wtop+parseInt(document.body.scrollTop) // Tiene en cuenta el scrolling + fleft=wleft+parseInt(document.body.scrollLeft) + menuctx.style.top=ftop + menuctx.style.left=fleft + menuctx.style.visibility="visible" + menuctxSetSelectedIndex(menuctx,-1) // Coloca el nuevo indice + gmenuctx[idxmnu++]=menuctx; +} +//____________________________________________________________________________ +// +// Calcula coordenada top para el menu contextual que se mostrará. +// Parametros: +// - oriy : Coordenada Y del objeto que provoca el evento +// - dpzy : Desplazamiento sobre el eje y +// - margen : Margen para que el menu aparezca un poco separado del ese objeto +// - menuctx: El menu (objeto DIV) que se mostrará +//____________________________________________________________________________ +function calculatop_ctx(oriy,dpzy,margen,menuctx){ // Calcula Y del menu contextual + largodiv=parseInt(menuctx.offsetHeight); + var wtop=oriy+dpzy+margen + if (wtop+largodiv>parseInt(document.body.clientHeight)){ + var nwtop=oriy-dpzy-margen-largodiv + if (nwtop>0) wtop=nwtop + } + return(wtop) +} +//____________________________________________________________________________ +// +// Calcula coordenada left para el menu contextual que se mostrará. +// Parametros: +// - orix : Coordenada X del objeto que provoca el evento +// - dpzx : Desplazamiento sobre el eje x +// - margen : Margen para que el menu aparezca un poco separado del ese objeto +// - menuctx: El menu (objeto DIV) que se mostrará +//____________________________________________________________________________ +function calculaleft_ctx(orix,dpzx,margen,menuctx){ // Calcula Y del menu contextual + anchodiv=parseInt(menuctx.offsetWidth) + var wleft=orix+dpzx+margen + var maximodpl=parseInt(document.body.clientWidth) + if (wleft+anchodiv>maximodpl){ // Si no cabe a la derecha + var nwleft=orix-dpzx-margen-anchodiv // lo intenta a la izda. + if (nwleft>0) wleft=nwleft + else{ + wleft=maximodpl-dpzx-margen-anchodiv; + if(wleft<document.body.scrollLeft) wleft=document.body.scrollLeft+16 + } + } + return(wleft) +} +//____________________________________________________________________________ +// +// Esta función devuelve el objeto DIV al que pertenece el item <TR> +// Parametros: +// - o: El objeto <TR> +//____________________________________________________________________________ +function contextual(o){ + while(o.tagName!="DIV") + o=o.parentNode + return(o) +} +//____________________________________________________________________________ +// +// Esta función devuelve el objeto <TR> apuntado por el indice +// Parametros: +// - o: El objeto TR +// - idx: el indice del item, si es nulo se devuelve el item(objeto TR), seleccionado +//____________________________________________________________________________ +function menuctxSelectedItem(o,idx){ + var oDIV=contextual(o); // Se asegura que el objeto de inicio es DIV + var oTABLE=oDIV.childNodes[0]; // objeto TABLE + var oINPUT=oDIV.childNodes[1]; // objeto INPUT + var oTBODY=oTABLE.getElementsByTagName('TBODY')[0]; + if(idx==null) // No se especificó indice, devuelve el item seleccionado + idx=oINPUT.getAttribute("value"); + var oTRS=oTBODY.getElementsByTagName('TR'); + for (var i=0;i<oTRS.length;i++){ + var oTR=oTRS[i]; + if(oTR.getAttribute("id")==idx) return(oTR); + } + return(null); +} +//____________________________________________________________________________ +// +// Esta función actualiza el nuevo el indice del item seleccionado +// Parametros: +// - o: El objeto DIV que contiene el menu contextual o un item(objeto TR) de él +// - i: El valor del indice +//____________________________________________________________________________ +function menuctxSetSelectedIndex(o,idx){ + var oDIV=contextual(o); // Se asegura que el objeto de inicio es DIV + var oINPUT=oDIV.childNodes[1]; + oINPUT.value=idx; +} +//____________________________________________________________________________ +// +// Esta función devuelve el indice del item seleccionado +// Parametros: +// -o : El objeto DIV que contiene el menu contextual o un item(objeto TR) de él +//____________________________________________________________________________ +function menuctxSelectedIndex(o){ + var oDIV=contextual(o); // Se asegura que el objeto de inicio es DIV + var oINPUT=oDIV.childNodes[1]; + return(oINPUT.value); +} +//____________________________________________________________________________ +// Se ejecuta cuando se posiciona el cursor dentro de un item de algún menú contextual. +// Parámetros: +// - o: El item (objeto TR) donde se ha colocado el ratón +//____________________________________________________________________________ +function sobre_contextual(o){ + var oDIV=contextual(o) // Se asegura que el objeto de inicio es DIV + var idx=menuctxSelectedIndex(oDIV) // Indice del Item anterior seleccionado + var nwid=o.getAttribute("id"); + if (parseInt(idx)!=parseInt(nwid)){ // Si cambio de item + if(idx>0){ // Si existía item anterior seleccionado + desmarcar_item(oDIV,idx) // Desmarca item anterior + } + marcar_item(o); // Marca el actual item + currentItem=o; + } +} +//____________________________________________________________________________ +// +// Hace resaltar el item del menu contextual donde se coloca el cursor. +// Si este item tuviese un submenu contextual,éste también aparecería. +// Además, inicializa el campo oculto de cada DIV donde se guarda el índice +// del item selecionado. +// +// Parametros: +// - item: El objeto <TR> +//____________________________________________________________________________ +function marcar_item(item){ + marca_desmarca(item,true) // Marca el item + if (item.getAttribute("name")!=""){ // Existe submenu contextual + currentPadresubmenu=item + currentPadreY=ClickY + setTimeout ("muestra_submenu();", 300); + } + menuctxSetSelectedIndex(contextual(item),item.getAttribute("id")); // Coloca el nuevo indice +} +//____________________________________________________________________________ +// +// Quita el resalte de un item y oculta los posibles submenus que tuviera +// Parametros: +// -o : El objeto DIV que contiene el menu contextual +// - idx: el indice del item, si es nulo desmarca el item(objeto TR), seleccionado +//____________________________________________________________________________ +function desmarcar_item(o,idx){ + var oDIV=contextual(o) // Se asegura que el objeto de inicio es DIV + if(idx==null) // No se especificó indice + idx=menuctxSelectedIndex(oDIV) // Indice del Item seleccionado + var item=menuctxSelectedItem(oDIV,idx) + if(item==null) return // No hay item seleccionado + marca_desmarca(item,false); + var nomsub=item.getAttribute("name"); + if (nomsub!=null &&nomsub!=""){ // Tiene submenu + var submenuctx=document.getElementById(nomsub); + desmarcar_item(submenuctx); // Desmarca submenu + submenuctx.style.visibility="hidden"; + } +} +//____________________________________________________________________________ +// +// Marca o desmarca items dependiendo del parametro sw. +// Parámetros: +// - o: El item (objeto TR) +// Si sw=true marca, si sw=false demarca +//____________________________________________________________________________ +function marca_desmarca(o,sw){ + if(sw){ // Marca + var wfondo=ctx_azulmarino; + var wcolor=ctx_blanco; + } + else{ // Desmarca + var wfondo=ctx_grissistema; + var wcolor=ctx_negro; + } + (MenuconImagen(contextual(o)) ? i0=2:i0=1); + var nh=o.childNodes.length; + for (var i=i0;i<nh-1;i++){ + var oTD=o.childNodes[i]; + var oIMGS=oTD.getElementsByTagName('IMG'); + if (oIMGS.length>0){ + var oIMG=oIMGS[0]; + if (oIMG.getAttribute("name")=="swsbfn"){ // imagen switch submenu + oTD.style.backgroundColor=wfondo + oTD.style.color=wcolor + if (sw) + oIMG.setAttribute("src","../images/flotantes/swsbfb.gif",null); + else + oIMG.setAttribute("src","../images/flotantes/swsbfn.gif",null); + } + else{ // imagen del item + if (sw){ // Marcar + oIMG.style.border="1px"; + oIMG.style.borderStyle="outset"; + + } + else{ // Desmarcar + oIMG.style.borderStyle="none"; + } + } + } + else{ + oTD.style.backgroundColor=wfondo + var oSPAN=oTD.getElementsByTagName('SPAN'); + if (oSPAN.length>0) + oSPAN[0].style.color=wcolor + } + } +} +//____________________________________________________________________________ +// +// Detecta si el menu contextual tiene items con imágenes asociadas +// Devuelve true en caso afirmativo y false en caso contrario. +//____________________________________________________________________________ +function MenuconImagen(o){ + var oDIV=contextual(o); + var oIMGS=oDIV.getElementsByTagName('IMG'); + return(oIMGS.length>0); +} +//____________________________________________________________________________ +function reset_contextual(x,y){ + var swm=false; + for (var i=0;i<idxmnu;i++ ){ + if (gmenuctx[i].style.visibility=="visible") + swm=swm || EnContextual(x,y,gmenuctx[i]) + } + if (!swm){ // No se ha hecho click en ningún menu contextual + for (var i=0;i<idxmnu;i++ ){ + desmarcar_item(gmenuctx[i]); + gmenuctx[i].style.visibility="hidden"; + gmenuctx[i]=null + } + idxmnu=0; + } +} +//____________________________________________________________________________ +// +// Detecta si ha hecho fuera del menu contextual pasado como parametro +// Parametros: +// - x : Coordenada X de la pantalla donde se hizo click +// - y : Coordenada Y de la pantalla donde se hizo click +// - menuctx: El submenu (objeto DIV) +//____________________________________________________________________________ +function EnContextual(x,y,menuctx){ + origen_x=parseInt(menuctx.offsetLeft)-parseInt(document.body.scrollLeft) + origen_y=parseInt(menuctx.offsetTop)-parseInt(document.body.scrollTop) + anchodiv=parseInt(menuctx.offsetWidth) + largodiv=parseInt(menuctx.offsetHeight) + + if ( x>=origen_x && x<=origen_x+anchodiv && y>=origen_y && y<=origen_y+largodiv ) return true + return(false) +} +//____________________________________________________________________________ +// +// Muestra un submenu +// Parametros: +// - item: El objeto <TR> padre del submenu +//____________________________________________________________________________ +function muestra_submenu(){ + if(currentPadresubmenu==currentItem){ + var objdiv=contextual(currentPadresubmenu) + var menuctx=document.getElementById(currentPadresubmenu.getAttribute("name")); // Obtiene el submenu + //desmarcar_item(menuctx) // Desmarca el submenu por si se ha usado anteriormente + wleft=subcalculaleft_ctx(objdiv,menuctx) // La x en función del padre + wtop=subcalculatop_ctx(currentPadreY,menuctx) // La y depende de la longitud del submenu + menuctx.style.top=wtop + menuctx.style.left=wleft + menuctx.style.visibility="visible"; + menuctxSetSelectedIndex(menuctx,-1) // Coloca el nuevo indice + gmenuctx[idxmnu++]=menuctx; + } +} +//____________________________________________________________________________ +// +// Calcula coordenada top para el submenu contextual que se mostrará. +// Parametros: +// - y : Coordenada Y de la pantalla donde se hizo click +// - menuctx: El submenu (objeto DIV) que se mostrará +//____________________________________________________________________________ +function subcalculatop_ctx(y,menuctx){ // Calcula el posicionamiento (y) del DIV ( SUBmenu contextual) + var dpl=0 + largodiv=parseInt(menuctx.offsetHeight) + var wtop=y+dpl+parseInt(document.body.scrollTop) + if (parseInt(wtop+largodiv)>parseInt(document.body.clientHeight+parseInt(document.body.scrollTop))){ + var nwtop=y+parseInt(document.body.scrollTop)-16-largodiv + if (nwtop>0) wtop=nwtop + } + return(wtop) +} +//____________________________________________________________________________ +// +// Calcula coordenada left para el submenu contextual que se mostrará. +// Parametros: +// - padrediv : Objeto DIV padre del submenu a mostrar +// - menuctx: El submenu (objeto DIV) que se mostrará +//____________________________________________________________________________ +function subcalculaleft_ctx(padrediv,menuctx){ // Calcula el posicionamiento (x) del DIV ( SUBmenu contextual) + anchopadrediv=parseInt(padrediv.offsetWidth) // Ancho del div padre + anchomenuctx=parseInt(menuctx.offsetWidth) // Ancho del div + if(IE) + leftpadrediv=padrediv.style.pixelLeft // Coordenada x del div padre + else + if(NS) + leftpadrediv=parseInt(padrediv.style.left) // Coordenada x del div padre + desplazamiento=leftpadrediv+anchopadrediv-4 // Desplazamiento + var wleft=parseInt(desplazamiento) + var maximodpl=parseInt(document.body.clientWidth)+parseInt(document.body.scrollLeft) + if (wleft+anchomenuctx>maximodpl){ + var nwleft=leftpadrediv-anchomenuctx + if (nwleft>0) wleft=nwleft + else{ + wleft=maximodpl-anchomenuctx; + if(wleft<document.body.scrollLeft) wleft=document.body.scrollLeft+18 + } + } + return(wleft) +} +//____________________________________________________________________________ +// +// Se ejecuta cada vez que se hace click con el puntero del ratón. Se usa para desmarca +// cualquier item de menu contextual que estuviese activo +//____________________________________________________________________________ +function click_de_raton(e){ + if(IE){ + botonraton=event.button + event.returnValue=true; + } + if(NS){ + botonraton=e.which; + e.returnValue=true; + } + if (gmenuctx.length>0){ + reset_contextual(ClickX,ClickY); + } +} +//____________________________________________________________________________ +// +// Se ejecuta cada vez que se mueve el puntero del ratón. Se usa para capturar coordenadas +//____________________________________________________________________________ +function move_de_raton(e){ + if(IE){ + ClickX=event.clientX + ClickY=event.clientY + event.returnValue=true; + } + if(NS){ + ClickX=e.clientX + ClickY=e.clientY + e.returnValue=true; + } +} +//____________________________________________________________________________ +// +// Redirecciona el evento onmousedown a la función de usuario especificada. +//____________________________________________________________________________ +document.onmousedown = click_de_raton; // Redefine el evento onmousedown +document.onmousemove = move_de_raton; // Redefine el evento onmousedown diff --git a/admin/WebConsole/comandos/Apagar.php b/admin/WebConsole/comandos/Apagar.php new file mode 100644 index 00000000..3ddb8f1a --- /dev/null +++ b/admin/WebConsole/comandos/Apagar.php @@ -0,0 +1,72 @@ +<? +// ************************************************************************************************************************************************* +// 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: Apagar.php +// Descripción : +// Implementación del comando "Apagar" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/comandos/apagar_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="./jscripts/Apagar.js"></SCRIPT> + <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras> + <U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> + diff --git a/admin/WebConsole/comandos/Arrancar.php b/admin/WebConsole/comandos/Arrancar.php new file mode 100644 index 00000000..68489a20 --- /dev/null +++ b/admin/WebConsole/comandos/Arrancar.php @@ -0,0 +1,71 @@ +<? +// ************************************************************************************************************************************************* +// 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: Arrancar.php +// Descripción : +// Implementación del comando "Arrancar" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/comandos/arrancar_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="./jscripts/Arrancar.js"></SCRIPT> + <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> + diff --git a/admin/WebConsole/comandos/Comando.php b/admin/WebConsole/comandos/Comando.php new file mode 100644 index 00000000..50a1e28c --- /dev/null +++ b/admin/WebConsole/comandos/Comando.php @@ -0,0 +1,72 @@ +<? +// ************************************************************************************************************************************************* +// 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: Comando.php +// Descripción : +// Implementación de cualquier comando que no necesite parametros adicionales +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/comandos/comando_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="./jscripts/Comando.js"></SCRIPT> + <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$descricomando.' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras> + <U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> + diff --git a/admin/WebConsole/comandos/Configurar.php b/admin/WebConsole/comandos/Configurar.php new file mode 100644 index 00000000..a5e645b8 --- /dev/null +++ b/admin/WebConsole/comandos/Configurar.php @@ -0,0 +1,260 @@ +<? +// ************************************************************************************************************************************************* +// 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: Configurar.php +// Descripción : +// Implementación del comando "Configurar" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/ConfiguracionesParticiones.php"); +include_once("../includes/RecopilaIpesMacs.php"); +include_once("../idiomas/php/".$idioma."/comandos/configurar_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +// +// Captura parámetros +//________________________________________________________________________________________________________ + +$ambito=0; +$idambito=0; + +// Agrupamiento por defecto +$fk_sysFi=0; +$fk_tamano=0; +$fk_nombreSO=0; + +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; + +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + +if (isset($_POST["fk_sysFi"])) $fk_sysFi=$_POST["fk_sysFi"]; +if (isset($_POST["fk_tamano"])) $fk_tamano=$_POST["fk_tamano"]; +if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<STYLE TYPE="text/css"></STYLE> +<SCRIPT language="javascript" src="./jscripts/Configurar.js"></SCRIPT> +<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/configurar_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? + switch($ambito){ + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].'</span><br>'; // Cabecera + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras> + <U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; // Subcebecera + echo '<P align=center><SPAN align=center class=subcabeceras>'.$TbMsg[19].'</SPAN></P>'; + if($ambito!=$AMBITO_ORDENADORES){ + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + RecopilaIpesMacs($cmd,$ambito,$idambito); + + ?> + <FORM action="Configurar.php" name="fdatos" method="POST"> + <INPUT type="hidden" name="idambito" value="<? echo $idambito?>"> + <INPUT type="hidden" name="ambito" value="<? echo $ambito?>"> + <INPUT type="hidden" name="cadenaid" value="<? echo $cadenaid?>"> + <TABLE class="tabla_busquedas" align=center border=0 cellPadding=0 cellSpacing=0> + <TR> + <TH height=15 align="center" colspan=14><? echo $TbMsg[18]?></TH> + </TR> + <TR> + <TD align=right><? echo $TbMsg[30]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_sysFi?>" name="fk_sysFi" <? if($fk_sysFi==$msk_sysFi) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + + <TD align=right><? echo $TbMsg[32]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_tamano?>" name="fk_tamano" <? if($fk_tamano==$msk_tamano) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + + <TD align=right><? echo $TbMsg[31]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_nombreSO?>" name="fk_nombreSO" <? if($fk_nombreSO==$msk_nombreSO) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + </TR> + <TR> + <TD height=2 style="BORDER-TOP:#999999 1px solid;" align="center" colspan=14> </TD> + </TR> + <TR> + <TD height=20 align="center" colspan=14> + <A href=#> + <IMG border=0 src="../images/boton_confirmar.gif" onclick="document.fdatos.submit()"></A></TD> + </TR> + </TABLE> + </FORM> +<? + } + $sws=$fk_sysFi | $fk_tamano | $fk_nombreSO; + pintaConfiguraciones($cmd,$idambito,$ambito,7,$sws,true); + + /* Dibuja tabla patron !OJO! no insertar caracteres entre las etiquetas*/ + + echo '<TABLE style="visibility:hidden"><TR id="TR_patron">'; + echo '<TD align=center><input id="CHK_patron" type="checkbox"></TD>'; + echo '<TD align=center>'.HTMLSELECT_particiones(0).'</TD>'; + echo '<TD align=center>'.HTMLSELECT_tipospar($cmd,0).'</TD>'; + echo '<TD align=center>'.HTMLSELECT_sistemasficheros($cmd,0).'</TD>'; + echo '<TD align=center><INPUT type="text" style="width:100" value="0"></TD>'; + echo '<TD align=center> </TD>'; + echo '<TD align=center>'.HTMLSELECT_operaciones().'</TD></TR></TABlE>'; + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + $swb=true; // Este switch hace que se muestren o se oculten los botonotes de confirmación + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +/*________________________________________________________________________________________________________ + + Descripción: + (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php) + Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador, + grupo de ordenadores o aula + Parametros: + $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato + sería una secuencia de cadenas del tipo "clave de configuración" separados por "@" + Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0 + $idordenadores: cadena con los identificadores de los ordenadores que forman parte del bloque + $cc: Identificador de la configuración + Devuelve: + El código html de la tabla +________________________________________________________________________________________________________*/ +function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) +{ + global $tbKeys; // Tabla contenedora de claves de configuración + global $conKeys; // Contador de claves de configuración + global $TbMsg; + + $colums=7; + echo '<TR id="TR_'.$cc.'">'; + echo '<TH align=center><IMG src="../images/iconos/eliminar.gif"></TH>'; + echo '<TH align=center> '.$TbMsg[8].' </TH>'; + echo '<TH align=center> '.$TbMsg[24].' </TH>'; + echo '<TH align=center> '.$TbMsg[27].' </TH>'; + echo '<TH align=center> '.$TbMsg[22].' </TH>'; + echo '<TH align=center> '.$TbMsg[21].' </TH>'; + echo '<TH align=center> '.$TbMsg[12].' </TH>'; + echo '</TR>'; + + $auxCfg=split("@",$configuraciones); // Crea lista de particiones + for($i=0;$i<sizeof($auxCfg);$i++){ + $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion + for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición + if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas + $icp=$cc."_".$k; // Identificador de la configuración-partición + echo '<TR id="TR_'.$icp.'">'; + echo '<TD align=center><input type=checkbox onclick="eliminaParticion(\''.$icp.'\',this)"></TD>'; + + echo '<TD align=center>'.HTMLSELECT_particiones($tbKeys[$k]["numpar"]).'</TD>'; + echo '<TD align=center>'.HTMLSELECT_tipospar($cmd,$tbKeys[$k]["codpar"]).'</TD>'; + + $sf=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,true); + echo'<TD align=center>'.HTMLSELECT_sistemasficheros($cmd,$sf).'</TD>'; + + $tm=tomaTamano($tbKeys[$k]["numpar"],$idordenadores); + echo'<TD align=center><INPUT type="text" style="width:100" value="'.$tm.'"></TD>'; + + echo '<TD align=center>'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'</TD>'; + + echo '<TD align=center>'.HTMLSELECT_operaciones().'</TD>'; + echo '</TR>'; + } + } + } + /* Botones de añadir y confirmar */ + echo '<TR id="TRIMG_'.$cc.'" height=5><TD colspan='.$colums.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;"> </TD></TR>'; + echo '<TR height=30><TD style="BACKGROUND-COLOR: #FFFFFF;" colspan='.$colums.' align=center>'; + echo ' <A href="#add" style="text-decoration:none"> + <IMG id="IMG_'.$icp.'" border=0 src="../images/boton_insertar.gif" + value="'.$k.'" onclick="addParticion(this,'.$cc.')"></A> + + <A href="#add" style="text-decoration:none"> + <IMG border=0 src="../images/boton_aceptar.gif" onclick="Confirmar('.$cc.')"></A></TD> + </TR>'; +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los número de particiones +________________________________________________________________________________________________________*/ +function HTMLSELECT_particiones($p) +{ + global $TbMsg; + + $SelectHtml=""; + $opciones=""; + for($i=0;$i<8;$i++) + $opciones.="$i=$i".chr(13); + $opciones.="$i=$i"; + $SelectHtml.=HTMLCTESELECT($opciones,"particiones","estilodesple","",$p,40,""); + return($SelectHtml); +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de las operaciones +________________________________________________________________________________________________________*/ +function HTMLSELECT_operaciones() +{ + global $TbMsg; + + $SelectHtml=""; + $opciones="1=".$TbMsg[14]."".chr(13); + $opciones.="2=".$TbMsg[15]."".chr(13); + $opciones.="3=".$TbMsg[16].""; + $SelectHtml.=HTMLCTESELECT($opciones,"operaciones","estilodesple",$TbMsg[13],0,100,""); + return($SelectHtml); +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los tipos de particiones +________________________________________________________________________________________________________*/ +function HTMLSELECT_tipospar($cmd,$codpar) +{ + return(HTMLSELECT($cmd,0,"tipospar",$codpar,"codpar","tipopar",150,"","formulariodatos")); +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los sistemas de ficheros +________________________________________________________________________________________________________*/ +function HTMLSELECT_sistemasficheros($cmd,$idsistemafichero) +{ + return(HTMLSELECT($cmd,0,"sistemasficheros",$idsistemafichero,"idsistemafichero","descripcion",150,"","formulariodatos")); +} +?> diff --git a/admin/WebConsole/comandos/CrearImagen.php b/admin/WebConsole/comandos/CrearImagen.php new file mode 100644 index 00000000..00e404b5 --- /dev/null +++ b/admin/WebConsole/comandos/CrearImagen.php @@ -0,0 +1,212 @@ +<? +// ************************************************************************************************************************************************* +// 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: CrearImagen.php +// Descripción : +// Implementación del comando "CrearImagen.php" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/TomaDato.php"); +include_once("../idiomas/php/".$idioma."/comandos/crearimagen_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +$resul=tomaPropiedades($cmd,$idambito); +if (!$resul){ + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="./jscripts/CrearImagen.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/crearimagen_'.$idioma.'.js"></SCRIPT>'?> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> +</HEAD> +<BODY> +<? + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[15]; + + echo '<p align=center><span class=cabeceras>'.$TbMsg[0].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras> + <U>'.$TbMsg[14].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; +?> +<P align=center><SPAN align=center class=subcabeceras><? echo $TbMsg[6] ?></SPAN></P> + +<FORM align=center name="fdatos"> + <TABLE id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TH align=center> </TH> + <TH align=center> <? echo $TbMsg[8] ?> </TH> + <TH align=center> <? echo $TbMsg[13] ?> </TH> + <TH align=center> <? echo $TbMsg[9] ?> </TH> + <TH align=center> <? echo $TbMsg[10] ?> </TD> + <TH align=center> <? echo $TbMsg[11] ?> </TD> + </TR> + <? + echo tablaConfiguraciones($cmd,$idambito,$idrepositorio); + ?> + </TABLE> +</FORM> + +<? + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Recupera los datos de un ordenador + Parametros: + - cmd: Una comando ya operativo (con conexiónabierta) + - ido: El identificador del ordenador +________________________________________________________________________________________________________*/ +function tomaPropiedades($cmd,$ido){ + global $nombreordenador; + global $ip; + global $mac; + global $idperfilhard; + global $idrepositorio; + $rs=new Recordset; + $cmd->texto="SELECT nombreordenador,ip,mac,idperfilhard,idrepositorio FROM ordenadores WHERE idordenador='".$ido."'"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreordenador=$rs->campos["nombreordenador"]; + $ip=$rs->campos["ip"]; + $mac=$rs->campos["mac"]; + $idperfilhard=$rs->campos["idperfilhard"]; + $idrepositorio=$rs->campos["idrepositorio"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los perfiles softwares +________________________________________________________________________________________________________*/ +function HTMLSELECT_imagenes($cmd,$idperfilsoft,$particion) +{ + $SelectHtml=""; + $cmd->texto="SELECT imagenes.idimagen,imagenes.descripcion,imagenes.nombreca,imagenes.idperfilsoft FROM imagenes"; +// WHERE imagenes.idperfilsoft=".$idperfilsoft; + // echo $cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + $SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$particion.'" style="WIDTH: 300">'; + $SelectHtml.= ' <OPTION value="0"></OPTION>'; + if ($rs->Abrir()){ + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["nombreca"].'"'; + if($idperfilsoft==$rs->campos["idperfilsoft"]) $SelectHtml.=" selected "; + $SelectHtml.='>'; + $SelectHtml.= $rs->campos["descripcion"].'</OPTION>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + } + $SelectHtml.= '</SELECT>'; + return($SelectHtml); +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los repositorios +________________________________________________________________________________________________________*/ +function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){ + $SelectHtml=""; + $rs=new Recordset; + + $cmd->texto="SELECT nombrerepositorio,ip FROM repositorios"; + $rs->Comando=&$cmd; + + if (!$rs->Abrir()) return($SelectHtml); // Error al abrir recordset + $SelectHtml.= '<SELECT class="formulariodatos" id="desplerepositorios_'.$particion.'" style="WIDTH: 250">'; + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos["ip"].'"'; + if($rs->campos["idrepositorio"]==$idrepositorio) $SelectHtml.=" selected "; + $SelectHtml.='>'; + $SelectHtml.= $rs->campos["nombrerepositorio"]; + $SelectHtml.='</OPTION>'; + $rs->Siguiente(); + } + $SelectHtml.= '</SELECT>'; + $rs->Cerrar(); + return($SelectHtml); +} +/*________________________________________________________________________________________________________ + Crea la tabla de configuraciones y perfiles a crear +________________________________________________________________________________________________________*/ +function tablaConfiguraciones($cmd,$idordenador,$idrepositorio) +{ + global $idcentro; + global $TbMsg; + $tablaHtml=""; + $rs=new Recordset; + $cmd->texto="SELECT ordenadores_particiones.numpar,ordenadores_particiones.codpar,ordenadores_particiones.tamano, + ordenadores_particiones.idnombreso,nombresos.nombreso,tipospar.tipopar,tipospar.clonable, + imagenes.nombreca,imagenes.descripcion as imagen,perfilessoft.idperfilsoft, + perfilessoft.descripcion as perfilsoft,sistemasficheros.descripcion as sistemafichero + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso + INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar + LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen + LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft + LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero + WHERE ordenadores.idordenador=$idordenador ORDER BY ordenadores_particiones.numpar"; + //echo $cmd->texto; + $rs->Comando=&$cmd; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $swcc=$rs->campos["clonable"] && !empty($rs->campos["idnombreso"]); + $swc=$rs->campos["idperfilsoft"]>0; // Una partición es clonable si posee un identificador de perfil software + $swccc=$swcc && $swcc; + $tablaHtml.='<TR>'.chr(13); + if($swccc){ + $tablaHtml.='<TD><input type=radio name="particion" value="'.$rs->campos["numpar"]."_".$rs->campos["codpar"].'"></TD>'.chr(13); + $tablaHtml.='<TD align=center> '.$rs->campos["numpar"].' </TD>'.chr(13); + $tablaHtml.='<TD align=center> '.$rs->campos["tipopar"].' </TD>'.chr(13); + if(empty($rs->campos["nombreso"]) && !empty($rs->campos["idnombreso"])) // Si el identificador del S.O. no es nulo pero no hay descripción + $tablaHtml.='<TD align=center> '.'<span style="FONT-SIZE:10px; COLOR: red;" >'.$TbMsg[12].'</span></TD>'.chr(13); + else + $tablaHtml.='<TD> '.$rs->campos["nombreso"].' </TD>'.chr(13); + $tablaHtml.='<TD>'.HTMLSELECT_imagenes($cmd,$rs->campos["idperfilsoft"],$rs->campos["numpar"]).'</TD>'; + $tablaHtml.='<TD>'.HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$rs->campos["numpar"]).'</TD>'; + $tablaHtml.='<TD> </TD>'; + } + $tablaHtml.='</TR>'.chr(13); + $rs->Siguiente(); + } + $rs->Cerrar(); + return($tablaHtml); +} +?> diff --git a/admin/WebConsole/comandos/EjecutarScripts.php b/admin/WebConsole/comandos/EjecutarScripts.php new file mode 100644 index 00000000..b256daf9 --- /dev/null +++ b/admin/WebConsole/comandos/EjecutarScripts.php @@ -0,0 +1,81 @@ +<? +// ************************************************************************************************************************************************* +// 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: Comando.php +// Descripción : +// Implementación del comando "EjecutarScripts" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/comandos/ejecutarscripts_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="./jscripts/EjecutarScripts.js"></SCRIPT> + <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/ejecutarscripts_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$descricomando.' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras> + <U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; + ?> + <form align=center name="fdatos"> + <table align=center class=tabla_datos border="0" cellpadding="0" cellspacing="1"> + <tr> + <th> <? echo $TbMsg[9]?> </th> + <td><textarea class="cajatexto" name="codigo" cols="70" rows="18"></textarea></td></tr> + </table> + </form> + <? + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> diff --git a/admin/WebConsole/comandos/IniciarSesion.php b/admin/WebConsole/comandos/IniciarSesion.php new file mode 100644 index 00000000..caa8da45 --- /dev/null +++ b/admin/WebConsole/comandos/IniciarSesion.php @@ -0,0 +1,153 @@ +<? +// ************************************************************************************************************************************************* +// 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: IniciarSesion.php +// Descripción : +// Implementación� del comando "Iniciar Sesión" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/TomaDato.php"); +include_once("../idiomas/php/".$idioma."/comandos/iniciarsesion_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//___________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="./jscripts/IniciarSesion.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/iniciarsesion_'.$idioma.'.js"></SCRIPT>'?> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; +?> + <P align=center> + <SPAN align=center class=subcabeceras><? echo $TbMsg[7] ?></SPAN> + </BR> +<form align=center name="fdatos"> + <TABLE id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TH align=center> </TH> + <TH align=center> <? echo $TbMsg[8] ?> </TH> + <TH align=center> <? echo $TbMsg[9] ?> </TH> + </TR> + <? + echo tabla_configuraciones($cmd,$idambito); + ?> + </TABLE> +</FORM> +<? + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Recupera los datos de un ordenador + Parametros: + - cmd: Una comando ya operativo (con conexiónabierta) + - ido: El identificador del ordenador +________________________________________________________________________________________________________*/ +function toma_propiedades($cmd,$idordenador){ + global $nombreordenador; + global $ip; + global $mac; + global $idperfilhard; + global $idservidordhcp; + global $idservidorrembo; + $rs=new Recordset; + $cmd->texto="SELECT nombreordenador,ip,mac,idperfilhard FROM ordenadores WHERE idordenador='".$idordenador."'"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreordenador=$rs->campos["nombreordenador"]; + $ip=$rs->campos["ip"]; + $mac=$rs->campos["mac"]; + $idperfilhard=$rs->campos["idperfilhard"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +/*________________________________________________________________________________________________________ + Crea la tabla de configuraciones y perfiles a crear +________________________________________________________________________________________________________*/ +function tabla_configuraciones($cmd,$idordenador){ + global $idcentro; + $tablaHtml=""; + $cmd->texto="SELECT ordenadores_particiones.idnombreso,ordenadores_particiones.numpar,ordenadores_particiones.tamano,nombresos.nombreso,tipospar.tipopar, + imagenes.descripcion as imagen,perfilessoft.descripcion as perfilsoft,sistemasficheros.descripcion as sistemafichero + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso + INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar + LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen + LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft + LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero + WHERE ordenadores.idordenador=$idordenador ORDER BY ordenadores_particiones.numpar"; + $rs->Comando=&$cmd; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + if(!empty($rs->campos["idnombreso"])){ + $tablaHtml.='<TR>'.chr(13); + $tablaHtml.='<TD ><input type="radio" name="particion" value='.$rs->campos["numpar"].'></TD>'.chr(13); + $tablaHtml.='<TD align=center> '.$rs->campos["numpar"].' </TD>'.chr(13); + $tablaHtml.='<TD> '.$rs->campos["nombreso"].' </TD>'.chr(13); + $tablaHtml.='</TR>'.chr(13); + } + $rs->Siguiente(); + } + $rs->Cerrar(); + return($tablaHtml); +} +?> diff --git a/admin/WebConsole/comandos/InventarioHardware.php b/admin/WebConsole/comandos/InventarioHardware.php new file mode 100644 index 00000000..64e896d9 --- /dev/null +++ b/admin/WebConsole/comandos/InventarioHardware.php @@ -0,0 +1,72 @@ +<? +// ************************************************************************************************************************************************* +// 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: InventarioHardware.php +// Descripción : +// Implementación del comando "Inventario Hardware" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/comandos/inventariohardware_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="./jscripts/InventarioHardware.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> + diff --git a/admin/WebConsole/comandos/InventarioSoftware.php b/admin/WebConsole/comandos/InventarioSoftware.php new file mode 100644 index 00000000..35772002 --- /dev/null +++ b/admin/WebConsole/comandos/InventarioSoftware.php @@ -0,0 +1,122 @@ +<? +// ************************************************************************************************************************************************* +// 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: InventarioSoftware.php +// Descripción : +// Implementación del comando "Inventario Software" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/comandos/inventariosoftware_".$idioma.".php"); +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="./jscripts/InventarioSoftware.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/inventariosoftware_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; +?> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <P align=center> + <SPAN align=center class=subcabeceras><? echo $TbMsg[7] ?></SPAN> + </BR> + <TABLE id="tabla_conf" align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TH align=center> </TH> + <TH align=center> <? echo $TbMsg[8] ?> </TH> + <TH align=center> <? echo $TbMsg[9] ?> </TH> + </TR> + <? + echo tabla_configuraciones($cmd,$idambito); + ?> + </TABLE> + +<BR> +<? +//________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +/*________________________________________________________________________________________________________ + Particiones +________________________________________________________________________________________________________*/ +function tabla_configuraciones($cmd,$idordenador) +{ + global $idcentro; + $tablaHtml=""; + $rs=new Recordset; + $rsp=new Recordset; + $cmd->texto="SELECT ordenadores_particiones.numpar,nombresos.nombreso + FROM ordenadores_particiones + INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar + INNER JOIN nombresos ON ordenadores_particiones.idnombreso=nombresos.idnombreso + WHERE ordenadores_particiones.idordenador=$idordenador + AND tipospar.clonable>0 AND ordenadores_particiones.idnombreso>0 + ORDER BY ordenadores_particiones.numpar"; + $rs->Comando=&$cmd; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $tablaHtml.='<TR>'.chr(13); + $tablaHtml.='<TD ><input type="radio" name="particion" value='.$rs->campos["numpar"].'></TD>'.chr(13); + $tablaHtml.='<TD align=center> '.$rs->campos["numpar"].' </TD>'.chr(13); + $tablaHtml.='<TD> '.$rs->campos["nombreso"].' </TD>'.chr(13); + $tablaHtml.='</TR>'.chr(13); + $rs->Siguiente(); + } + $rs->Cerrar(); + return($tablaHtml); +} +?> diff --git a/admin/WebConsole/comandos/Reiniciar.php b/admin/WebConsole/comandos/Reiniciar.php new file mode 100644 index 00000000..4c95ef52 --- /dev/null +++ b/admin/WebConsole/comandos/Reiniciar.php @@ -0,0 +1,71 @@ +<? +// ************************************************************************************************************************************************* +// 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: Reiniciar.php +// Descripción : +// Implementación del comando "Reiniciar" +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/comandos/reiniciar_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="./jscripts/Reiniciar.js"></SCRIPT> + <SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> + diff --git a/admin/WebConsole/comandos/RestaurarImagen.php b/admin/WebConsole/comandos/RestaurarImagen.php new file mode 100644 index 00000000..580302d7 --- /dev/null +++ b/admin/WebConsole/comandos/RestaurarImagen.php @@ -0,0 +1,269 @@ +<? +// ************************************************************************************************************************************************* +// 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: RestaurarImagenOrdenador.php +// Descripción : +// Implementación del comando "RestaurarImagen" (Ordenadores) +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/ConfiguracionesParticiones.php"); +include_once("../includes/RecopilaIpesMacs.php"); +include_once("../idiomas/php/".$idioma."/comandos/restaurarimagen_".$idioma.".php"); +//________________________________________________________________________________________________________ +include_once("./includes/capturaacciones.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +// +// Captura parámetros +//________________________________________________________________________________________________________ + +$ambito=0; +$idambito=0; + +// Agrupamiento por defecto +$fk_sysFi=0; +$fk_tamano=0; +$fk_nombreSO=0; + +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; + +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + +if (isset($_POST["fk_sysFi"])) $fk_sysFi=$_POST["fk_sysFi"]; +if (isset($_POST["fk_tamano"])) $fk_tamano=$_POST["fk_tamano"]; +if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; + +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<STYLE TYPE="text/css"></STYLE> +<SCRIPT language="javascript" src="./jscripts/RestaurarImagen.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/restaurarimagen_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? + switch($ambito){ + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].'</span><br>'; // Cabecera + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras> + <U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; // Subcebecera + echo '<P align=center><SPAN align=center class=subcabeceras>'.$TbMsg[19].'</SPAN></P>'; + if($ambito!=$AMBITO_ORDENADORES){ + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + RecopilaIpesMacs($cmd,$ambito,$idambito); + ?> + <FORM action="RestaurarImagen.php" name="fdatos" method="POST"> + <INPUT type="hidden" name="idambito" value="<? echo $idambito?>"> + <INPUT type="hidden" name="ambito" value="<? echo $ambito?>"> + <INPUT type="hidden" name="cadenaid" value="<? echo $cadenaid?>"> + <TABLE class="tabla_busquedas" align=center border=0 cellPadding=0 cellSpacing=0> + <TR> + <TH height=15 align="center" colspan=14><? echo $TbMsg[18]?></TH> + </TR> + <TR> + <TD align=right><? echo $TbMsg[30]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_sysFi?>" name="fk_sysFi" <? if($fk_sysFi==$msk_sysFi) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + + <TD align=right><? echo $TbMsg[32]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_tamano?>" name="fk_tamano" <? if($fk_tamano==$msk_tamano) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + + <TD align=right><? echo $TbMsg[31]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_nombreSO?>" name="fk_nombreSO" <? if($fk_nombreSO==$msk_nombreSO) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + </TR> + <TR> + <TD height=2 style="BORDER-TOP:#999999 1px solid;" align="center" colspan=14> </TD> + </TR> + <TR> + <TD height=20 align="center" colspan=14> + <A href=#> + <IMG border=0 src="../images/boton_confirmar.gif" onclick="document.fdatos.submit()"></A></TD> + </TR> + </TABLE> + </FORM> +<? + } + $sws=$fk_sysFi | $fk_tamano | $fk_nombreSO; + pintaConfiguraciones($cmd,$idambito,$ambito,9,$sws,false); + //________________________________________________________________________________________________________ + include_once("./includes/formularioacciones.php"); + //________________________________________________________________________________________________________ + //________________________________________________________________________________________________________ + include_once("./includes/opcionesacciones.php"); + //________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// +// Descripción: +// (Esta función es llamada por pintaConfiguraciones que está incluida en ConfiguracionesParticiones.php) +// Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador, +// grupo de ordenadores o aula +// Parametros: +// $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato +// sería una secuencia de cadenas del tipo "clave de configuración" separados por "@" +// Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0 +// Devuelve: +// El código html de la tabla +//________________________________________________________________________________________________________ +function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) +{ + global $tbKeys; // Tabla contenedora de claves de configuración + global $conKeys; // Contador de claves de configuración + global $TbMsg; + global $_SESSION; + $colums=8; + echo '<TR>'; + echo '<TH align=center> </TH>'; + echo '<TH align=center> '.$TbMsg[8].' </TH>'; + echo '<TH align=center> '.$TbMsg[24].' </TH>'; + echo '<TH align=center> '.$TbMsg[31].' </TH>'; + echo '<TH align=center> '.$TbMsg[27].' </TH>'; + echo '<TH align=center> '.$TbMsg[22].' </TH>'; + echo '<TH align=center> '.$TbMsg[10].' </TH>'; + echo '<TH align=center> '.$TbMsg[11].' </TH>'; + echo '<TH align=center> '.$TbMsg[9].' </TH>'; + echo '</TR>'; + + $auxCfg=split("@",$configuraciones); // Crea lista de particiones + for($i=0;$i<sizeof($auxCfg);$i++){ + $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion + for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición + if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas + $swcc=$tbKeys[$k]["clonable"]; + echo '<TR>'.chr(13); + if($swcc){ + $icp=$cc."_".$tbKeys[$k]["numpar"]; // Identificador de la configuración-partición + echo '<TD ><input type=radio idcfg="'.$cc.'" id="'.$icp.'" name="particion" value='.$tbKeys[$k]["numpar"].'></TD>'.chr(13); + echo '<TD align=center> '.$tbKeys[$k]["numpar"].' </TD>'.chr(13); + echo '<TD align=center> '.$tbKeys[$k]["tipopar"].' </TD>'.chr(13); + + //echo '<TD> '.$tbKeys[$k]["nombreso"].' </TD>'.chr(13); + echo '<TD align=center> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + //echo'<TD align=center> '.$tbKeys[$k]["sistemafichero"].' </TD>'.chr(13); + echo'<TD align=center> '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + //echo'<TD align=rigth> '.formatomiles($tbKeys[$k]["tamano"]).' </TD>'.chr(13); + echo'<TD align=center> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true).'</TD>'; + echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false).'</TD>'; + //Clonación + $metodos="1=UNICAST".chr(13); + $metodos.="2=MULTICAST".chr(13); + $metodos.="3=TORRENT"; + + $TBmetodos["UNICAST"]=1; + $TBmetodos["MULTICAST"]=2; + $TBmetodos["TORRENT"]=3; + $idxc=$_SESSION["protclonacion"]; + echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion_".$icp,"estilodesple","",$TBmetodos[$idxc],100).'</TD>'; + } + echo '<TR>'.chr(13); + } + } + } + echo '<TR height=5><TD colspan='.$colums.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;"> </TD></TR>'; +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los perfiles softwares +________________________________________________________________________________________________________*/ +function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw) +{ + $SelectHtml=""; + $cmd->texto="SELECT *,repositorios.ip as iprepositorio FROM imagenes + INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio"; + if($sw) // Imágenes con el mismo tipo de partición + $cmd->texto.= " WHERE imagenes.codpar=".$codpar; + else + $cmd->texto.= " WHERE imagenes.codpar<>".$codpar; + + $cmd->texto.=" AND imagenes.numpar>0 AND imagenes.codpar>0 AND imagenes.idrepositorio>0"; // La imagene debe existir y estar creada + $rs=new Recordset; + $rs->Comando=&$cmd; + if($sw) $des=1; else $des=0; + $SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$icp.'_'.$des.'" style="WIDTH:220">'; + $SelectHtml.= ' <OPTION value="0"></OPTION>'; + + if ($rs->Abrir()){ + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["iprepositorio"]."_".$rs->campos["idperfilsoft"].'"'; + if($idimagen==$rs->campos["idimagen"]) $SelectHtml.=" selected "; + $SelectHtml.='>'; + $SelectHtml.= $rs->campos["descripcion"].'</OPTION>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + } + $SelectHtml.= '</SELECT>'; + return($SelectHtml); +} +/*________________________________________________________________________________________________________ + Crea la etiqueta html <SELECT> de los repositorios +________________________________________________________________________________________________________*/ +function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){ + $SelectHtml=""; + $rs=new Recordset; + + $cmd->texto="SELECT nombrerepositorio,ip FROM repositorios"; + $rs->Comando=&$cmd; + + if (!$rs->Abrir()) return($SelectHtml); // Error al abrir recordset + $SelectHtml.= '<SELECT class="formulariodatos" id="desplerepositorios_'.$particion.'" style="WIDTH: 200">'; + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos["ip"].'"'; + if($rs->campos["idrepositorio"]==$idrepositorio) $SelectHtml.=" selected "; + $SelectHtml.='>'; + $SelectHtml.= $rs->campos["nombrerepositorio"]; + $SelectHtml.='</OPTION>'; + $rs->Siguiente(); + } + $SelectHtml.= '</SELECT>'; + $rs->Cerrar(); + return($SelectHtml); +} +?> diff --git a/admin/WebConsole/comandos/gestores/gestor_Comandos.php b/admin/WebConsole/comandos/gestores/gestor_Comandos.php new file mode 100644 index 00000000..5425ea81 --- /dev/null +++ b/admin/WebConsole/comandos/gestores/gestor_Comandos.php @@ -0,0 +1,285 @@ +<? +// ************************************************************************************************************************************************* +// 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_Comandos.php +// Descripción : +// Gestor de todos los comandos +// ************************************************************************************************************************************************* +include_once("../../includes/ctrlacc.php"); +include_once("../../clases/AdoPhp.php"); +include_once("../../clases/SockHidra.php"); +include_once("../../includes/constantes.php"); +include_once("../../includes/comunes.php"); +include_once("../../includes/cuestionacciones.php"); +include_once("../../includes/CreaComando.php"); +include_once("../../includes/RecopilaIpesMacs.php"); +//________________________________________________________________________________________________________ +include_once("../includes/capturaacciones.php"); +//________________________________________________________________________________________________________ + + // Recoge parametros de seguimiento +$sw_ejya=""; +$sw_seguimiento=""; + +$sw_mkprocedimiento=""; +$nombreprocedimiento=""; +$idprocedimiento=""; +$ordprocedimiento=0; + +$sw_mktarea=""; +$nombretarea=""; +$idtarea=""; +$ordtarea=0; + +if (isset($_POST["sw_ejya"])) $sw_ejya=$_POST["sw_ejya"]; +if (isset($_POST["sw_seguimiento"])) $sw_seguimiento=$_POST["sw_seguimiento"]; + +if (isset($_POST["sw_ejprg"])) $sw_ejprg=$_POST["sw_ejprg"]; + +if (isset($_POST["sw_mkprocedimiento"])) $sw_mkprocedimiento=$_POST["sw_mkprocedimiento"]; +if (isset($_POST["nombreprocedimiento"])) $nombreprocedimiento=$_POST["nombreprocedimiento"]; +if (isset($_POST["idprocedimiento"])) $idprocedimiento=$_POST["idprocedimiento"]; +if (isset($_POST["ordprocedimiento"])) $ordprocedimiento=$_POST["ordprocedimiento"]; +if(empty($ordprocedimiento)) $ordprocedimiento=0; + +if (isset($_POST["sw_mktarea"])) $sw_mktarea=$_POST["sw_mktarea"]; +if (isset($_POST["nombretarea"])) $nombretarea=$_POST["nombretarea"]; +if (isset($_POST["idtarea"])) $idtarea=$_POST["idtarea"]; +if (isset($_POST["ordtarea"])) $ordtarea=$_POST["ordtarea"]; +if(empty($ordtarea)) $ordtarea=0; + +//__________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//__________________________________________________________________ +$funcion="nfn=".$funcion.chr(13); // Nombre de la función que procesa el comando y el script que lo implementa +$aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por "," +$acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento + +$atributos=str_replace('@',chr(13),$atributos); // Reemplaza caracters +$atributos=str_replace('#',chr(10),$atributos); +$atributos=str_replace('$',chr(9),$atributos); + +//__________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<BODY> + <SCRIPT language="javascript" src="../jscripts/comunescomandos.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?> +<? + +/* Recopila identificadore ,ipes y macs para envío de comandos */ +$cadenaid=""; +$cadenaip=""; +$cadenamac=""; +RecopilaIpesMacs($cmd,$ambito,$idambito); + +/*-------------------------------------------------------------------------------------------------------------------- + Creación de parametros para sentencias SQL +--------------------------------------------------------------------------------------------------------------------*/ +$cmd->CreaParametro("@tipoaccion",0,1); +$cmd->CreaParametro("@idtipoaccion",0,1); +$cmd->CreaParametro("@descriaccion","",0); +$cmd->CreaParametro("@idordenador",0,1); +$cmd->CreaParametro("@ip","",0); +$cmd->CreaParametro("@sesion",0,1); +$cmd->CreaParametro("@parametros","",0); +$cmd->CreaParametro("@fechahorareg","",0); +$cmd->CreaParametro("@estado",0,1); +$cmd->CreaParametro("@resultado",0,1); +$cmd->CreaParametro("@idcentro",0,1); +$cmd->CreaParametro("@idprocedimiento",0,1); +$cmd->CreaParametro("@descripcion","",0); +$cmd->CreaParametro("@idcomando",0,1); +$cmd->CreaParametro("@idtarea",0,1); +$cmd->CreaParametro("@ambito",0,1); +$cmd->CreaParametro("@idambito",0,1); +$cmd->CreaParametro("@restrambito","",0); +$cmd->CreaParametro("@ordprocedimiento",0,1); +$cmd->CreaParametro("@ordtarea",0,1); + +if($ambito==0){ // Ambito restringido a un subconjuto de ordenadores con formato (idordenador1,idordenador2,etc) + $cmd->ParamSetValor("@restrambito",$idambito); + $idambito=0; +} +$resul=true; +/*-------------------------------------------------------------------------------------------------------------------- + Switch de ejecución inmediata y de seguimiento +--------------------------------------------------------------------------------------------------------------------*/ +if($sw_ejya=='on' || $sw_ejprg=="on" ){ + $parametros=$funcion.$atributos; + $aplicacion=chr(13)."ido=".$cadenaid.chr(13)."mac=".$cadenamac.chr(13)."iph=".$cadenaip.chr(13); + if($sw_seguimiento==1 || $sw_ejprg=="on"){ // Switch de ejecución con seguimiento o comando programado + $sesion=time(); + $cmd->ParamSetValor("@tipoaccion",$EJECUCION_COMANDO); + $cmd->ParamSetValor("@idtipoaccion",$idcomando); + $cmd->ParamSetValor("@descriaccion",$descricomando); + $cmd->ParamSetValor("@sesion",$sesion); + $cmd->ParamSetValor("@idcomando",$idcomando); + $cmd->ParamSetValor("@parametros",$parametros); + $cmd->ParamSetValor("@fechahorareg",date("y/m/d H:i:s")); + if($sw_ejprg=="on") // Switch de ejecución con programación (se para el comando tarea para lanzarlo posteriormente) + $cmd->ParamSetValor("@estado",$ACCION_DETENIDA); + else + $cmd->ParamSetValor("@estado",$ACCION_INICIADA); + $cmd->ParamSetValor("@resultado",$ACCION_SINRESULTADO); + $cmd->ParamSetValor("@ambito",$ambito); + $cmd->ParamSetValor("@idambito",$idambito); + $cmd->ParamSetValor("@idcentro",$idcentro); + $auxID=split(",",$cadenaid); + $auxIP=split(";",$cadenaip); + + for ($i=0;$i<sizeof($auxID);$i++){ + $cmd->ParamSetValor("@idordenador",$auxID[$i]); + $cmd->ParamSetValor("@ip",$auxIP[$i]); + $cmd->texto="INSERT INTO acciones (idordenador,tipoaccion,idtipoaccion,descriaccion,ip, + sesion,idcomando,parametros,fechahorareg,estado,resultado,ambito,idambito,restrambito,idcentro) + VALUES (@idordenador,@tipoaccion,@idtipoaccion,@descriaccion,@ip, + @sesion,@idcomando,@parametros,@fechahorareg,@estado,@resultado,@ambito,@idambito,@restrambito,@idcentro)"; + $resul=$cmd->Ejecutar(); + //echo "<br>".$cmd->texto; + } + $acciones=chr(13)."ids=".$sesion.chr(13); // Para seguimiento + } + if (!$resul){ + echo '<SCRIPT language="javascript">'; + echo 'resultado_comando(7);'.chr(13); + echo '</SCRIPT>'; + } + else{ + if($sw_ejya=='on'){ + // Envio al servidor + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $parametros.=$aplicacion; + $parametros.=$acciones; + //echo $parametros; + $resul=$shidra->envia_comando($parametros); + if($resul) + $trama=$shidra->recibe_respuesta(); + if($resul){ + $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); + $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); + $ValorParametros=extrae_parametros($parametros,chr(13),'='); + $resul=$ValorParametros["res"]; + } + $shidra->desconectar(); + } + if (!$resul){ + echo '<SCRIPT language="javascript">'; + echo 'resultado_comando(1);'.chr(13); + echo '</SCRIPT>'; + } + else{ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'resultado_comando(2);'.chr(13); + echo '</SCRIPT>'.chr(13); + } + } + } +} +/*-------------------------------------------------------------------------------------------------------------------- + Switch de creación o inclusión en procedimiento +--------------------------------------------------------------------------------------------------------------------*/ +if($sw_mkprocedimiento=='on' || $sw_mktarea=='on'){ + $resul=false; + if($idprocedimiento==0 || $sw_mktarea=='on'){ // Nuevo procedimiento o Tarea + if($sw_mktarea=='on' && empty($nombreprocedimiento)){ // Si tarea con inclusión de procedimiento... + if(!empty($nombretarea)) + $nombreprocedimiento="Proc($nombretarea)"; // .. tarea nueva + else + $nombreprocedimiento="Proc($idtarea)"; // .. inclusión en tarea + } + $cmd->ParamSetValor("@descripcion",$nombreprocedimiento); + $cmd->ParamSetValor("@idcentro",$idcentro); + $cmd->texto="INSERT INTO procedimientos(descripcion,idcentro) VALUES (@descripcion,@idcentro)"; + $resul=$cmd->Ejecutar(); + if($resul){ + if($idprocedimiento==0) // Cambia el identificador sólo si es nuevo procedimiento + $idprocedimiento=$cmd->Autonumerico(); + if($sw_mktarea=='on') + $idprocedimientotarea=$cmd->Autonumerico(); // Identificador para la tarea; + } + } + if( $idprocedimiento>0 || $sw_mktarea=='on'){ // inclusión en procedimiento existente + $cmd->ParamSetValor("@idprocedimiento",$idprocedimiento); + $cmd->ParamSetValor("@idcomando",$idcomando); + $cmd->ParamSetValor("@ordprocedimiento",$ordprocedimiento); + $parametros=$funcion.$atributos; + $cmd->ParamSetValor("@parametros",$parametros); + $cmd->texto="INSERT INTO procedimientos_acciones(idprocedimiento,orden,idcomando,parametros) VALUES (@idprocedimiento,@ordprocedimiento,@idcomando,@parametros)"; + $resul=$cmd->Ejecutar(); + if($sw_mktarea=='on' && $idprocedimiento!=$idprocedimientotarea){ // Si es tarea se graba para su procedimiento independiente aunque los parametros sean los mismos + $cmd->ParamSetValor("@idprocedimiento",$idprocedimientotarea); + $cmd->texto="INSERT INTO procedimientos_acciones(idprocedimiento,orden,idcomando,parametros) VALUES (@idprocedimiento,@ordprocedimiento,@idcomando,@parametros)"; + $resul=$cmd->Ejecutar(); + } + } + if (!$resul){ + echo '<SCRIPT language="javascript">'; + echo 'resultado_comando(3);'.chr(13); + echo '</SCRIPT>'; + } + else{ + if($sw_mkprocedimiento=='on'){ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'resultado_comando(4);'.chr(13); + echo '</SCRIPT>'.chr(13); + } + } +} +/*-------------------------------------------------------------------------------------------------------------------- + Switch de creación o inclusión en tarea +--------------------------------------------------------------------------------------------------------------------*/ +if($sw_mktarea=='on'){ + $resul=false; + if($idtarea==0){ // Nueva tarea + $cmd->ParamSetValor("@descripcion",$nombretarea); + $cmd->ParamSetValor("@idcentro",$idcentro); + $cmd->ParamSetValor("@ambito",$ambito); + $cmd->ParamSetValor("@idambito",$idambito); + $cmd->texto="INSERT INTO tareas(descripcion,idcentro,ambito,idambito,restrambito) + VALUES (@descripcion,@idcentro,@ambito,@idambito,@restrambito)"; + $resul=$cmd->Ejecutar(); + if($resul) + $idtarea=$cmd->Autonumerico(); + } + if($idtarea>0){ // inclusión en tarea existente + $cmd->ParamSetValor("@idtarea",$idtarea); + $cmd->ParamSetValor("@idprocedimiento",$idprocedimientotarea); + $cmd->ParamSetValor("@ordtarea",$ordtarea); + $cmd->texto="INSERT INTO tareas_acciones(idtarea,orden,idprocedimiento) + VALUES (@idtarea,@ordtarea,@idprocedimiento)"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + } + if (!$resul){ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'resultado_comando(5);'.chr(13); + echo '</SCRIPT>'.chr(13); + } + else{ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'resultado_comando(6);'.chr(13); + echo '</SCRIPT>'.chr(13); + } +} +/* Programación del comando */ +if ($resul){ + if($sw_ejprg=="on" ){ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'var whref="../../varios/programaciones.php?idcomando='.$idcomando.'";'.chr(13); + echo 'whref+="&sesion='.$sesion.'&descripcioncomando='.UrlEncode($descricomando).'&tipoaccion='.$EJECUCION_COMANDO.'";'.chr(13); + echo 'location.href=whref;'; + echo '</SCRIPT>'; + } +} +?> +</BODY> +</HTML> diff --git a/admin/WebConsole/comandos/includes/capturaacciones.php b/admin/WebConsole/comandos/includes/capturaacciones.php new file mode 100644 index 00000000..e26e38e6 --- /dev/null +++ b/admin/WebConsole/comandos/includes/capturaacciones.php @@ -0,0 +1,31 @@ +<? +// ************************************************************************************************************************************************* +// 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: Abril-2010 +// Nombre del fichero: opcionesacciones.php +// Descripción : +// Captura de parámetros comunes para la ejecución de comandos +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +// Captura parámetros +//________________________________________________________________________________________________________ +$idcomando=0; +$ambito=0; +$idambito=0; +$nombreambito=""; +$funcion=""; +$atributos=""; +$gestor=""; + +if (isset($_POST["idcomando"])) $idcomando=$_POST["idcomando"]; +if (isset($_POST["descricomando"])) $descricomando=$_POST["descricomando"]; +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; +if (isset($_POST["funcion"])) $funcion=$_POST["funcion"]; +if (isset($_POST["atributos"])) $atributos=$_POST["atributos"]; +if (isset($_POST["gestor"])) $gestor=$_POST["gestor"]; +?> + diff --git a/admin/WebConsole/comandos/includes/formularioacciones.php b/admin/WebConsole/comandos/includes/formularioacciones.php new file mode 100644 index 00000000..4f8d401e --- /dev/null +++ b/admin/WebConsole/comandos/includes/formularioacciones.php @@ -0,0 +1,20 @@ +<? +// ************************************************************************************************************************************************* +// 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: Abril-2010 +// Nombre del fichero: opcionesacciones.php +// Descripción : +// Formulario para paso de parametros comunes para la ejecución de comandos +// ************************************************************************************************************************************************* +?> +<FORM align=center name="fdatosejecucion" action="<? echo $gestor?>" method="post"> + <INPUT type="hidden" name="idcomando" value="<? echo $idcomando?>"> + <INPUT type="hidden" name="descricomando" value="<? echo $descricomando?>"> + <INPUT type="hidden" name="ambito" value="<? echo $ambito?>"> + <INPUT type="hidden" name="idambito" value="<? echo $idambito?>"> + <INPUT type="hidden" name="funcion" value="<? echo $funcion?>"> + <INPUT type="hidden" name="atributos" value="<? echo $atributos?>"> + <INPUT type="hidden" name="gestor" value="<? echo $gestor?>"> + diff --git a/admin/WebConsole/comandos/includes/opcionesacciones.php b/admin/WebConsole/comandos/includes/opcionesacciones.php new file mode 100644 index 00000000..36672783 --- /dev/null +++ b/admin/WebConsole/comandos/includes/opcionesacciones.php @@ -0,0 +1,93 @@ +<? +// ************************************************************************************************************************************************* +// 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: Abril-2010 +// Nombre del fichero: opcionesacciones.php +// Descripción : +// Opciones comunes para la ejecución de comandos +// ************************************************************************************************************************************************* +?> +<P align=center><span align=center class=subcabeceras><? echo "Opciones de Ejecución"?></span></P> + +<?if($idcomando!=10){?> + <TABLE align=center> + <TR> + <TD><IMG border=0 style="cursor:pointer" src="../images/boton_aceptar.gif" onclick="confirmar()" ></TD> + </TR> + </TABLE> + <BR> +<?}?> +<TABLE align=center class=opciones_ejecucion BORDER=0> + <TR> + <TD><INPUT name=sw_ejya type=checkbox checked></TD> + <TD colspan=3>Ejecutar inmediatamente</TD> + </TR> + <TR> + <TD> </TD> + <TD><INPUT name=sw_seguimiento type=radio value=1></TD><TD>Ejecutar con seguimiento </TD> + </TR> + <TR> + <TD> </TD> + <TD><INPUT checked name=sw_seguimiento type=radio value=0></TD><TD>Sin seguimiento </TD> + </TR> + <!--------------------------------------------------------------------------------------------------------------------------------> + <TR HEIGHT=5><TD colspan=4><HR></TD></TR> + <!--------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TD><INPUT name=sw_ejprg type=checkbox></TD> + <TD colspan=3>Programar comando</TD> + </TR> + <!--------------------------------------------------------------------------------------------------------------------------------> + <TR HEIGHT=5><TD colspan=4><HR></TD></TR> + <!--------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TD><INPUT onclick="clic_mkprocedimiento(this)" name=sw_mkprocedimiento type=checkbox></TD> + <TD colspan=3>Guardar como procedimiento</TD></TR> + + <TR> + <TD> </TD> + <TD><INPUT onclick="clic_nwprocedimiento(this)" name=sw_procedimiento type=radio value=0></TD> + <TD>Guardar como nuevo procedimiento </TD> + <TD><INPUT onclick="clic_nomprocedimiento(this)" style="FONT-FAMILY:Arial, Helvetica, sans-serif;FONT-SIZE: 11px" name=nombreprocedimiento style="HEIGHT: 22px; WIDTH: 275px"></TD></TR> + + <TR> + <TD> </TD> + <TD><INPUT onclick="clic_exprocedimiento(this)" name=sw_procedimiento type=radio value=1></TD> + <TD>Incluir en un procedimiento existente </TD> + <TD><?echo HTMLSELECT($cmd,$idcentro,'procedimientos',0,'idprocedimiento','descripcion',275,"procedimientoexistente");?></TD></TR> + + <TR> + <TD> </TD> + <TD> </TD> + <TD>Orden de ejecución </TD> + <TD><INPUT maxlength=3 style="FONT-FAMILY:Arial, Helvetica, sans-serif;FONT-SIZE: 11px;WIDTH:30" name=ordprocedimiento type=text value=""></TD></TR> + <!--------------------------------------------------------------------------------------------------------------------------------> + <TR HEIGHT=10><TD colspan=4> <HR></TD></TR> + <!--------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TD><INPUT onclick="clic_mktarea(this)" name=sw_mktarea type=checkbox></TD> + <TD colspan=3>Guardar como tarea</TD></TR> + + <TR> + <TD> </TD> + <TD><INPUT onclick="clic_nwtarea(this)" name=sw_tarea type=radio value=0></TD> + <TD>Guardar como una tarea nueva </TD> + <TD><INPUT onclick="clic_nomtarea(this)" style="FONT-FAMILY:Arial, Helvetica, sans-serif;FONT-SIZE: 11px" name=nombretarea style="HEIGHT: 22px; WIDTH: 275px"></TD></TR> + + <TR> + <TD> </TD> + <TD><INPUT onclick="clic_extarea(this)" name=sw_tarea type=radio value=1></TD> + <TD>Incluir en una tarea existente </TD> + <TD><?echo HTMLSELECT($cmd,$idcentro,'tareas',0,'idtarea','descripcion',275,"tareaexistente");?></TD></TR> + + <TR> + <TD> </TD> + <TD> </TD> + <TD>Orden de ejecución </TD> + <TD><INPUT maxlength=3 style="FONT-FAMILY:Arial, Helvetica, sans-serif;FONT-SIZE: 11px;WIDTH:30" name=ordtarea type=text value=""></TD></TR> + <!--------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> + diff --git a/admin/WebConsole/comandos/jscripts/Apagar.js b/admin/WebConsole/comandos/jscripts/Apagar.js new file mode 100644 index 00000000..44106958 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/Apagar.js @@ -0,0 +1,24 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: Apagar.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero Apagar.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar(){ + if (comprobar_datos()){ + document.fdatosejecucion.submit(); + } + } +//________________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + function comprobar_datos(){ + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/Arrancar.js b/admin/WebConsole/comandos/jscripts/Arrancar.js new file mode 100644 index 00000000..acd04a7e --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/Arrancar.js @@ -0,0 +1,24 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: Arrancar.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero Arrancar.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar(){ + if (comprobar_datos()){ + document.fdatosejecucion.submit(); + } + } +//________________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" +} +//________________________________________________________________________________________________________ + function comprobar_datos(){ + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/Comando.js b/admin/WebConsole/comandos/jscripts/Comando.js new file mode 100644 index 00000000..a81f9a92 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/Comando.js @@ -0,0 +1,24 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: Apagar.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero Comando.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar(){ + if (comprobar_datos()){ + document.fdatosejecucion.submit(); + } + } +//________________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + function comprobar_datos(){ + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/Configurar.js b/admin/WebConsole/comandos/jscripts/Configurar.js new file mode 100644 index 00000000..cc7eba86 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/Configurar.js @@ -0,0 +1,174 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: Configurar.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero Configurar.php (Comandos) +// ************************************************************************************************************************************************* + +var atributos; // Variable global + +//________________________________________________________________________________________________________ +// +// Elimina una fila de una tabla de configuraciones perteneciente a las propiedades de una partición +// Parametros: +// icp: Identificador de la configuración-partición +// o: Objeto checkbox que invoca la función +//________________________________________________________________________________________________________ + +function eliminaParticion(icp,o) +{ + var res=confirm(TbMsg[4]); // Pide confirmación + if(!res){ + o.checked=false; + return; + } + var tbCfg = document.getElementById("tabla_conf"); // Recupera objeto <TABLE> + var trCfg = document.getElementById("TR_"+icp); // Recupera <TR> de la fila a eliminar + var tbodyObj=tbCfg.firstChild; // Recupera hijo <TBODY> del objeto <TABLE> + tbodyObj.removeChild(trCfg); // Elimina nodo <TR> completo +} +//________________________________________________________________________________________________________ + +function addParticion(objImg,cc) +{ + var tbCfg = document.getElementById("tabla_conf"); // Recupera objeto <TABLE> + var tbodyObj=tbCfg.firstChild; // Recupera hijo <TBODY> del objeto <TABLE> + + var trImg=document.getElementById("TRIMG_"+cc); // Recupera <TR> de los botones para insertar antes + + var k=objImg.getAttribute('value'); // Toma siguiente identificador de nodo + var icp=cc+"_"+k; // Identificador de la configuración-partición + + /* Crea objeto TR y lo añade al TBODY de la tabla*/ + var nwTR = document.createElement('TR'); + nwTR.setAttribute("id","TR_"+icp); + tbodyObj.insertBefore(nwTR,trImg); // Inserta nodo <TR> completo + var patron = document.getElementById("TR_patron"); // Recupera <TR> patron + nwTR.innerHTML=patron.innerHTML; + /* Actualiza objeto checkbox nuevo para que actue como los demás */ + var nwCHK = document.getElementById("CHK_patron"); // Recupera reciente chekcbox + var fclbk="eliminaParticion('"+icp+"');"; + nwCHK.setAttribute("onclick",fclbk); + nwCHK.removeAttribute("id"); + /* Incrementa para siguiente identificador de nodo */ + k++; + objImg.setAttribute('value',k); +} +//________________________________________________________________________________________________________ +// +// Confirma un bloque de configuración de particiones +// Parametros: +// idordenadores: Identificadores de los ordenadores a los que se aplicará el comando +// cc: Identificador de la configuración (bloque de particiones) +// Especificaciones: +// Cuando un comando se va a aplicar a un conjunto aleatorio de ordenaores, el código del +// ámbito será cero y la variable idambito contendrá la cadena con los identificadores de +// los oordenadores separados por coma (este dato aparece en esta función como promer parámetro) +//________________________________________________________________________________________________________ + +function Confirmar(cc) +{ + if(comprobarDatos(cc)){ + var RC="@"; + var disco=1; // Siempre disco 1 + atributos+=RC+"dsk="+disco+RC; // Le añade a la variable global el parámetro disco + //alert(atributos) + if(document.fdatosejecucion.ambito.value!=AMBITO_ORDENADORES){ + var tbOrd= document.getElementById("tbOrd_"+cc); // Recupera tabla de ordenadores de la configuración + var idordenadores=tbOrd.getAttribute('value'); // Toma identificadores de los ordenadores + var cadenaid=document.fdatos.cadenaid.value; // Cadena de identificadores de todos los ordenadores del ámbito + if(idordenadores!=cadenaid){ // Si no son iguales es que el ámbito de aplicación es restringido + document.fdatosejecucion.ambito.value=0; // Ambito de aplicación restringido + document.fdatosejecucion.idambito.value=idordenadores; + } + } + document.fdatosejecucion.atributos.value=atributos; + document.fdatosejecucion.submit(); + } +} +//________________________________________________________________________________________________________ +// +// Confirma un bloque de configuración de particiones +// Parametros: +// cc: Identificador de la configuración (bloque de particiones) +//________________________________________________________________________________________________________ + +function comprobarDatos(cc) +{ + // Indices de campos a recuperar + var ipar=1; + var icodpar=2; + var isysfi=3; + var itama=4; + var iope=6; + + var SL="#"; + var TB="$"; + + var tbpar=new Array(); // Para control de particiones duplicadas + atributos="cfg="; // Inicializa variable global de parámetros del comando + + var trCfg = document.getElementById("TR_"+cc); // Recupera primer <TR> de la configuración + trCfg=trCfg.nextSibling; // Primera fila de particiones + while(trCfg.id!="TRIMG_"+cc){ + var par=tomavalorDesple(trCfg.childNodes[ipar].childNodes[0]); // Partición + if(par==0){ + alert(TbMsg[1]); + trCfg.childNodes[ipar].childNodes[0].focus(); + return(false); + } + if(tbpar[par]==1){ // Existe ya una partición con ese número + alert(TbMsg[0]); + trCfg.childNodes[ipar].childNodes[0].focus(); + return(false); + } + tbpar[par]=1; + var codpar=tomavalorDesple(trCfg.childNodes[icodpar].childNodes[0]); // Tipo de partición + if(codpar==0){ + alert(TbMsg[2]); + trCfg.childNodes[icodpar].childNodes[0].focus(); + return(false); + } + + var sysfi=tomatextDesple(trCfg.childNodes[isysfi].childNodes[0]); // Sistema de ficheros + + var tama=trCfg.childNodes[itama].childNodes[0].value; // Tamaño de partición + if(tama==0){ + alert(TbMsg[3]); + trCfg.childNodes[itama].childNodes[0].focus(); + return(false); + } + var ope=tomavalorDesple(trCfg.childNodes[iope].childNodes[0]); // Operación a realizar + + trCfg=trCfg.nextSibling; // Primera fila de particiones + /* Compone formato del comando */ + atributos+="par="+par+TB+"cpt="+codpar+TB+"sfi="+sysfi+TB+"tam="+tama+TB+"ope="+ope+SL; + } + return(true); +} +//________________________________________________________________________________________________________ +// +// Devuelve el valor seleccionado de un desplegable cualquiera +//________________________________________________________________________________________________________ + +function tomavalorDesple(desplegable) +{ + var idx=desplegable.selectedIndex; // Indice seleccionado en el desplegable + var val=desplegable.options[idx].value; // Valor seleccionado en el desplegable + return(val); +} +//________________________________________________________________________________________________________ +// +// Devuelve el valor seleccionado de un desplegable cualquiera +//________________________________________________________________________________________________________ + +function tomatextDesple(desplegable) +{ + var idx=desplegable.selectedIndex; // Indice seleccionado en el desplegable + var txt=desplegable.options[idx].text; // Valor seleccionado en el desplegable + return(txt); +} + diff --git a/admin/WebConsole/comandos/jscripts/CrearImagen.js b/admin/WebConsole/comandos/jscripts/CrearImagen.js new file mode 100644 index 00000000..ebf37155 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/CrearImagen.js @@ -0,0 +1,70 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: CrearImagen.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero CrearImagen.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar() + { + if (!comprobar_datos()) return; + + var RC="@"; + var disco=1; // Siempre disco 1 + var atributos="dsk="+disco+RC; + + var tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked){ + var parcod=ochecks[i].value.split("_"); + atributos+="par="+parcod[0]+RC; // Número de partición + atributos+="cpt="+parcod[1]+RC; // Código de partición + + var despleimagen=document.getElementById("despleimagen_"+parcod[0]); + var imgcan=despleimagen.value.split("_"); + atributos+="idi="+imgcan[0]+RC; // Identificador de la imagen + atributos+="nci="+imgcan[1]+RC; // Nonbre canónico + + var desplerepositorios=document.getElementById("desplerepositorios_"+parcod[0]); + var idx=desplerepositorios.selectedIndex; + atributos+="ipr="+desplerepositorios.options[idx].value+RC; + break; + } + } + document.fdatosejecucion.atributos.value=atributos; + document.fdatosejecucion.submit(); +} +//________________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + function comprobar_datos() +{ + tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + var op=0 + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked){ + op++; + var particion=ochecks[i].value.split("_")[0]; + despleimagen=document.getElementById("despleimagen_"+particion); + var p=despleimagen.selectedIndex + if (p==0){ + alert(TbMsg[0]) + despleimagen.focus() + return(false) + } + } + } + if(op==0){ + alert(TbMsg[1]) + return(false); + } + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/EjecutarScripts.js b/admin/WebConsole/comandos/jscripts/EjecutarScripts.js new file mode 100644 index 00000000..e17411c0 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/EjecutarScripts.js @@ -0,0 +1,34 @@ +// *********************************************************************************************************** +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: EjecutarScripts.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero EjecutarScripts.php (Comandos) +// *********************************************************************************************************** + function confirmar(){ + if (comprobar_datos()){ + var RC='@'; + document.fdatosejecucion.atributos.value="scp="+escape(document.fdatos.codigo.value)+RC; + document.fdatosejecucion.submit(); + } + } +//________________________________________________________________________________________________________ + + function cancelar() +{ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + + function comprobar_datos() +{ + if (document.fdatos.codigo.value=="") { + alert(TbMsg[1]); + document.fdatos.codigo.focus(); + return(false); + } + return(comprobar_datosejecucion()) +} diff --git a/admin/WebConsole/comandos/jscripts/IniciarSesion.js b/admin/WebConsole/comandos/jscripts/IniciarSesion.js new file mode 100644 index 00000000..05dcc52c --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/IniciarSesion.js @@ -0,0 +1,47 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: IniciarSesion.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero IniciarSesion.php (Comandos) +// ************************************************************************************************************************************************* +function confirmar(){ + if (comprobar_datos()){ + // Compone atributos del comando + tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + var particion; + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked){ + particion=ochecks[i].value + } + } + var RC='@'; + document.fdatosejecucion.atributos.value="par="+particion+RC; + document.fdatosejecucion.submit(); + } + } +//________________________________________________________________________________________________________ + function cancelar() +{ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + function comprobar_datos() +{ + tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + var op=0 + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked) op++; + } + if(op==0){ + alert(TbMsg[1]) + return(false); + } + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/InventarioHardware.js b/admin/WebConsole/comandos/jscripts/InventarioHardware.js new file mode 100644 index 00000000..903b02a0 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/InventarioHardware.js @@ -0,0 +1,24 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: InventarioHardware.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero InventarioHardware.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar(){ + if (comprobar_datos()){ + document.fdatosejecucion.submit(); + } + } +//________________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + function comprobar_datos(){ + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/InventarioSoftware.js b/admin/WebConsole/comandos/jscripts/InventarioSoftware.js new file mode 100644 index 00000000..aeb8437e --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/InventarioSoftware.js @@ -0,0 +1,44 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: InventarioHardware.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero InventarioHardware.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar(){ + if (comprobar_datos()){ + tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + var particion; + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked){ + particion=ochecks[i].value + } + } + var RC="@"; + var disco=1; // Siempre disco 1 + document.fdatosejecucion.atributos.value="dsk="+disco+RC+"par="+particion+RC; + document.fdatosejecucion.submit(); + } + } +//________________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + function comprobar_datos(){ + tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + var op=0 + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked) op++; + } + if(op==0){ + alert(TbMsg[1]) + return(false); + } + return(comprobar_datosejecucion()); +} diff --git a/admin/WebConsole/comandos/jscripts/Reiniciar.js b/admin/WebConsole/comandos/jscripts/Reiniciar.js new file mode 100644 index 00000000..579ccdb5 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/Reiniciar.js @@ -0,0 +1,24 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: Reiniciar.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero Reiniciar.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar(){ + if (comprobar_datos()){ + document.fdatosejecucion.submit(); + } + } +//__________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" +} +//__________________________________________________________________________________________________ + function comprobar_datos(){ + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/RestaurarImagen.js b/admin/WebConsole/comandos/jscripts/RestaurarImagen.js new file mode 100644 index 00000000..eb436aeb --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/RestaurarImagen.js @@ -0,0 +1,95 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: RestaurarImagen.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero RestaurarImagen.php (Comandos) +// ************************************************************************************************************************************************* + function confirmar(){ + if(comprobar_datos()){ + var RC="@"; + var disco=1; // Siempre disco 1 + var atributos="dsk="+disco+RC; + var tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked){ + var idradio=ochecks[i].id; + var numpar=ochecks[i].value; + + atributos+="par="+numpar+RC; // Número de partición + var despleimagenizda=document.getElementById("despleimagen_"+idradio+"_1"); + var despleimagendrcha=document.getElementById("despleimagen_"+idradio+"_0"); + var despleimagen; + + var protoclonacion=document.getElementById("protoclonacion_"+idradio); + + if(despleimagenizda.selectedIndex>0) despleimagen=despleimagenizda; + if(despleimagendrcha.selectedIndex>0) despleimagen=despleimagendrcha; + var imgcanrepo=despleimagen.value.split("_"); + atributos+="idi="+imgcanrepo[0]+RC; // Identificador de la imagen + atributos+="nci="+imgcanrepo[1]+RC; // Nombre canónico + atributos+="ipr="+imgcanrepo[2]+RC; // Ip del repositorio donde está alojada + atributos+="ifs="+imgcanrepo[3]+RC; // Identificador del perfil soft contenido en la imagen + atributos+="ptc="+protoclonacion.value+RC; // Identificador del protocolo de clonación + + var cc=ochecks[i].getAttribute('idcfg'); // Toma identificador del bloque de configuración + + if(document.fdatosejecucion.ambito.value!=AMBITO_ORDENADORES){ + var tbOrd=document.getElementById("tbOrd_"+cc); + var idordenadores=tbOrd.getAttribute('value'); // Toma identificadores de los ordenadores + var cadenaid=document.fdatos.cadenaid.value; // Cadena de identificadores de todos los ordenadores del ámbito + if(idordenadores!=cadenaid){ + document.fdatosejecucion.ambito.value=0; // Ambito de aplicación restringido + document.fdatosejecucion.idambito.value=idordenadores; + } + } + document.fdatosejecucion.atributos.value=atributos; + document.fdatosejecucion.submit(); + break; + } + } + } + } +//________________________________________________________________________________________________________ + function cancelar(){ + alert(CTbMsg[0]); + location.href="../nada.php" + } +//________________________________________________________________________________________________________ + function comprobar_datos() +{ + tb_conf=document.getElementById("tabla_conf"); + var ochecks=tb_conf.getElementsByTagName('INPUT') + var op=0 + for(var i=0;i<ochecks.length;i++){ + if(ochecks[i].checked){ + op++; + var idradio=ochecks[i].id; // Toma idemtificador del desplegable de imagenes + despleimagenizda=document.getElementById("despleimagen_"+idradio+"_1"); // Desplegable izda. + despleimagendcha=document.getElementById("despleimagen_"+idradio+"_0"); // Desplegable derecha. + + var p1=despleimagenizda.selectedIndex // Toma índice seleccionado + var p2=despleimagendcha.selectedIndex // Toma índice seleccionado + + if (p1==0 && p2==0){ + alert(TbMsg[0]) + despleimagenizda.focus() + return(false) + } + if (p1==p2){ + alert(TbMsg[6]) + despleimagenizda.focus() + return(false) + } + } + } + if(op==0){ + alert(TbMsg[1]) + return(false); + } + return(comprobar_datosejecucion()) +} + diff --git a/admin/WebConsole/comandos/jscripts/comunescomandos.js b/admin/WebConsole/comandos/jscripts/comunescomandos.js new file mode 100644 index 00000000..b82bfa29 --- /dev/null +++ b/admin/WebConsole/comandos/jscripts/comunescomandos.js @@ -0,0 +1,190 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: comunescomandos.js +// Descripción : +// Este fichero implementa las funciones javascript comunes a todos los comandos +// ************************************************************************************************************************************************* + function comprobar_datosejecucion(){ + /* Comprobación de las opciones de ejecución */ + var sw_ejya=document.fdatosejecucion.sw_ejya.checked; + var sw_ejprg=document.fdatosejecucion.sw_ejprg.checked; + + var sw_seguimientocon=document.fdatosejecucion.sw_seguimiento[0].checked; + var sw_seguimientosin=document.fdatosejecucion.sw_seguimiento[1].checked; + + var sw_mkprocedimiento=document.fdatosejecucion.sw_mkprocedimiento.checked; + var sw_nuevaprocedimiento=document.fdatosejecucion.sw_procedimiento[0].checked; + var descripcion_nuevaprocedimiento=document.fdatosejecucion.nombreprocedimiento.value; + var sw_procedimientoexistente=document.fdatosejecucion.sw_procedimiento[1].checked; + + var sw_mktarea=document.fdatosejecucion.sw_mktarea.checked; + var sw_nuevatarea=document.fdatosejecucion.sw_tarea[0].checked; + var descripcion_nuevatarea=document.fdatosejecucion.nombretarea.value; + var sw_tareaexistente=document.fdatosejecucion.sw_tarea[1].checked; + + var pprocedimiento=document.fdatosejecucion.idprocedimiento.selectedIndex + var ptarea=document.fdatosejecucion.idtarea.selectedIndex + + if(!sw_ejya && !sw_ejprg && !sw_mkprocedimiento && !sw_mktarea ){ + alert("ATENCIÓN.- Debe elegir al menos un modo de ejecución"); + return(false); + } + + // Cuestión procedimiento --------------------------------------------------------------------- + + if(sw_ejya){ + if(!sw_seguimientocon && !sw_seguimientosin){ + alert("ATENCIÓN.- Debe elegir un modo de ejecución inmediata"); + return(false); + } + } + // Cuestión procedimiento ----------------------------------------------------------------------- + if(sw_mkprocedimiento){ + if(!sw_nuevaprocedimiento && !sw_procedimientoexistente){ + alert("ATENCIÓN.- Debe elegir un modo de inclusión en procedimiento de este comando"); + return(false); + } + if(sw_nuevaprocedimiento && descripcion_nuevaprocedimiento==""){ + alert("ATENCIÓN.- Debe especificar el nombre del nuevo procedimiento que se creará y al que se añadirá este comando"); + document.fdatosejecucion.nombreprocedimiento.focus(); + return(false); + } + if(sw_procedimientoexistente && pprocedimiento==0){ + alert("ATENCIÓN.- Debe elegir el procedimiento al que se añadirá este comando"); + document.fdatosejecucion.idprocedimiento.focus(); + return(false); + } + } + + // Cuestión tarea ------------------------------------------------------------------------------------------------------------------------------ + if(sw_mktarea){ + if(!sw_nuevatarea && !sw_tareaexistente){ + alert("ATENCIÓN.- Debe elegir un modo de inclusión en tarea ejecutable, de este comando"); + return(false); + } + if(sw_nuevatarea && descripcion_nuevatarea==""){ + alert("ATENCIÓN.- Debe especificar el nombre de la nueva tarea ejecutable que se creará y a la que se añadirá este comando"); + document.fdatosejecucion.nombretarea.focus(); + return(false); + } + if(sw_tareaexistente && ptarea==0){ + alert("ATENCIÓN.- Debe elegir la tarea a la que se añadirá este comando"); + document.fdatosejecucion.idtarea.focus(); + return(false); + } + } + //----------------------------------------------------------------------------------------------------------------------------------------------------- + return(true) +} +//____________________________________________________________________________ +function clic_mktarea(o){ + if(!o.checked){ + document.fdatosejecucion.sw_tarea[0].checked=false; + document.fdatosejecucion.nombretarea.value=""; + document.fdatosejecucion.sw_tarea[1].checked=false; + document.fdatosejecucion.idtarea.selectedIndex=0; + } +} +function clic_nwtarea(o){ + if(o.checked){ + document.fdatosejecucion.sw_mktarea.checked=true; + document.fdatosejecucion.sw_tarea[1].checked=false; + document.fdatosejecucion.idtarea.selectedIndex=0; + } +} +function clic_extarea(o){ + if(o.checked){ + document.fdatosejecucion.sw_mktarea.checked=true; + document.fdatosejecucion.sw_tarea[0].checked=false; + document.fdatosejecucion.nombretarea.value=""; + } +} +function clic_nomtarea(o){ + document.fdatosejecucion.sw_mktarea.checked=true; + document.fdatosejecucion.sw_tarea[0].checked=true; + document.fdatosejecucion.idtarea.selectedIndex=0; +} +function clic_mkprocedimiento(o){ + if(!o.checked){ + document.fdatosejecucion.sw_procedimiento[0].checked=false; + document.fdatosejecucion.nombreprocedimiento.value=""; + document.fdatosejecucion.sw_procedimiento[1].checked=false; + document.fdatosejecucion.idprocedimiento.selectedIndex=0; + } +} +function clic_nwprocedimiento(o){ + if(o.checked){ + document.fdatosejecucion.sw_mkprocedimiento.checked=true; + document.fdatosejecucion.sw_procedimiento[1].checked=false; + document.fdatosejecucion.idprocedimiento.selectedIndex=0; + } +} +function clic_exprocedimiento(o){ + if(o.checked){ + document.fdatosejecucion.sw_mkprocedimiento.checked=true; + document.fdatosejecucion.sw_procedimiento[0].checked=false; + document.fdatosejecucion.nombreprocedimiento.value=""; + } +} +function clic_nomprocedimiento(o){ + document.fdatosejecucion.sw_mkprocedimiento.checked=true; + document.fdatosejecucion.sw_procedimiento[0].checked=true; + document.fdatosejecucion.idprocedimiento.selectedIndex=0; +} + +function procedimientoexistente(o){ + document.fdatosejecucion.sw_mkprocedimiento.checked=true; + document.fdatosejecucion.sw_procedimiento[1].checked=true; + document.fdatosejecucion.nombreprocedimiento.value=""; +} + +function tareaexistente(o){ + document.fdatosejecucion.sw_mktarea.checked=true; + document.fdatosejecucion.sw_tarea[1].checked=true; + document.fdatosejecucion.nombretarea.value=""; +} +//____________________________________________________________________________ +function compone_urlejecucion(){ + + var wurl="" + + var sw_ejya=document.fdatosejecucion.sw_ejya.checked; + var sw_seguimiento=document.fdatosejecucion.sw_seguimiento[0].checked; + + var sw_ejprg=document.fdatosejecucion.sw_ejprg.checked; + + var sw_mkprocedimiento=document.fdatosejecucion.sw_mkprocedimiento.checked; + if (document.fdatosejecucion.sw_procedimiento[0].checked){ + var nwidprocedimiento=0 + var nwdescriprocedimiento=document.fdatosejecucion.nombreprocedimiento.value; + } + else{ + var p=document.fdatosejecucion.idprocedimiento.selectedIndex + var nwidprocedimiento=document.fdatosejecucion.idprocedimiento.options[p].value + var nwdescriprocedimiento=document.fdatosejecucion.idprocedimiento.options[p].text + } + + var sw_mktarea=document.fdatosejecucion.sw_mktarea.checked; + if (document.fdatosejecucion.sw_tarea[0].checked){ + var nwidtarea=0 + var nwdescritarea=document.fdatosejecucion.nombretarea.value; + } + else{ + var p=document.fdatosejecucion.idtarea.selectedIndex + var nwidtarea=document.fdatosejecucion.idtarea.options[p].value + var nwdescritarea=document.fdatosejecucion.idtarea.options[p].text + } + wurl+="sw_ejya="+sw_ejya +"&sw_seguimiento="+sw_seguimiento+"sw_ejprg="+sw_ejprg+"&sw_mktarea="+sw_mktarea+"&nwidtarea="+nwidtarea+"&nwdescritarea="+nwdescritarea + wurl+="&sw_mkprocedimiento="+sw_mkprocedimiento+"&nwidprocedimiento="+nwidprocedimiento+"&nwdescriprocedimiento="+nwdescriprocedimiento + return(wurl) +} +//________________________________________________________________________________________________________ +// +// Resultado ejecución de un comando +//________________________________________________________________________________________________________ +function resultado_comando(resul){ + alert(CTbMsg[resul]); +} diff --git a/admin/WebConsole/controlacceso.php b/admin/WebConsole/controlacceso.php new file mode 100644 index 00000000..f829c3f8 --- /dev/null +++ b/admin/WebConsole/controlacceso.php @@ -0,0 +1,19 @@ +<? +// ********************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: controlacceso.php +// Descripción :Este fichero aporta los datos de acceso a la aplicación +// ********************************************************************************* + + + //======================================================================================================== + // Variables de sessión de configuración de servidor y base de datos( Modificar aquípara cambio global) + $cnx="localhost;usuog;passusuog;ogAdmBD;mysql"; // Cadena de conexión a la base de datos + $wer="OPENGNSYSURL/pagerror.php"; // Página de redireccionamiento de errores + $wac="OPENGNSYSURL/acceso.php"; // Página de login de la aplicación + $idi="esp"; // Idioma por defecto + //======================================================================================================== +?> diff --git a/admin/WebConsole/controlpostacceso.php b/admin/WebConsole/controlpostacceso.php new file mode 100644 index 00000000..aa68c1da --- /dev/null +++ b/admin/WebConsole/controlpostacceso.php @@ -0,0 +1,185 @@ +<? +// ******************************************************************** +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Diciembre-2003 +// Fecha Última modificación: Febrero-2005 +// Nombre del fichero: controlacceso.php +// Descripción :Este fichero implementa el control de acceso a la aplicación +// ********************************************************************* +include_once("controlacceso.php"); +include_once("./includes/CreaComando.php"); +include_once("./clases/AdoPhp.php"); +//________________________________________________________________________________________________________ + $usu=""; + $pss=""; + $idc=0; + $iph=""; // Switch menu cliente + + if (isset($_POST["usu"])) $usu=$_POST["usu"]; + if (isset($_POST["pss"])) $pss=$_POST["pss"]; + if (isset($_POST["idcentro"])) $idc=$_POST["idcentro"]; + + if (isset($_GET["iph"])) $iph=$_GET["iph"]; +//________________________________________________________________________________________________________ + $cmd=CreaComando($cnx); // Crea objeto comando + if (!$cmd) + die("Error de acceso"); +//________________________________________________________________________________________________________ + + $nmc=""; + $idi=""; + + if(!empty($iph)){ // LLamada del browser del cliente + list($wip,$wusu,$wpwd,$wbd,$tbd)=split(";",$cnx); + $usu=$wusu; + $pss=$wpwd; + } + + $resul=toma_datos($cmd,$idc,&$nmc,&$idi,$usu,&$tsu,$pss); + if(!$resul) + Header("Location: ".$wac."?herror=4"); // Error de conexión con servidor B.D. + + if(!empty($iph)){ + $wurl="./varios/menucliente.php"; + Header("Location:".$wurl); // Accede a la página de menus + } + + + session_start(); // Activa variables de sesión + + $_SESSION["widcentro"]=$idc; + $_SESSION["wnombrecentro"]=$nmc; + $_SESSION["wusuario"]=$usu; + $_SESSION["widtipousuario"]=$tsu; + $_SESSION["widioma"]=$idi; + $_SESSION["wcadenaconexion"]=$cnx; + $_SESSION["wpagerror"]=$wer; + $_SESSION["wurlacceso"]=$wac; + +// Variables de entorno + $resul=toma_entorno($cmd,&$ips,&$prt,&$pclo,&$rep); + if(!$resul) + Header("Location: ".$wac."?herror=4"); // Error de conexión con servidor B.D. + + $_SESSION["wservidorhidra"]=$ips; + $_SESSION["whidraport"]=$prt; + $_SESSION["protclonacion"]=$pclo; + $_SESSION["repcentralizado"]=$rep; + +/* +echo "<BR>Cadena=".$_SESSION["wcadenaconexion"]; +echo "<BR>servidorhidra=".$_SESSION["wservidorhidra"]; +echo "<BR>hidraport=".$_SESSION["whidraport"]; +echo "<BR>usuario=".$_SESSION["wusuario"]; +echo "<BR>idtipousuario=".$_SESSION["widtipousuario"]; +*/ + + //________________________________________________________________________________________________________ + // Busca datos del usuario que intenta acceder a la aplicación + // Parametros: + // - cmd:Una comando ya operativo (con conexión abierta) + // - usuario: Nombre del usuario + // - pasguor: Password del uuario + // + // Devuelve el identificador del centro, el nombre y el idioma utilizado por el usuario + //_______________________________________________________________________________________________________ + function toma_datos($cmd,$idcentro,$nombrecentro,$idioma,$usuario,$idtipousuario,$pasguor){ + $rs=new Recordset; + if(!empty($idcentro)){ + $cmd->texto="SELECT usuarios.idtipousuario,centros.nombrecentro,idiomas.nemonico AS idioma FROM usuarios"; + $cmd->texto.=" INNER JOIN administradores_centros ON administradores_centros.idusuario=usuarios.idusuario"; + $cmd->texto.=" INNER JOIN centros ON centros.idcentro=administradores_centros.idcentro"; + $cmd->texto.=" INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma"; + $cmd->texto.=" WHERE idtipousuario<>3 + AND usuarios.usuario='".$usuario."' + AND usuarios.pasguor='".$pasguor."' + AND administradores_centros.idcentro=".$idcentro; + } + else{ + $cmd->texto="SELECT usuarios.idtipousuario,idiomas.nemonico AS idioma FROM usuarios"; + $cmd->texto.=" INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma"; + $cmd->texto.=" WHERE idtipousuario<>3 + AND usuarios.usuario='".$usuario."' + AND usuarios.pasguor='".$pasguor."'"; + + } + $rs->Comando=&$cmd; + //echo $cmd->texto; + if (!$rs->Abrir()) return($false); // Error al abrir recordset + if(!$rs->EOF){ + $idtipousuario=$rs->campos["idtipousuario"]; + $idioma=$rs->campos["idioma"]; + $usuario=$rs->campos["usuario"]; + if(!empty($idcentro)){ + $nombrecentro=$rs->campos["nombrecentro"]; + $idtipousuario=2; // Fuerza al acceso como administrador de UNidad organizativa + return(true); + } + else{ + $nombrecentro=""; + if($idtipousuario<>1) // Si NO es superadminsitrador + return(false); + else + return(true); + } + } + return(false); + } +//________________________________________________________________________________________________________ + // Busca datos de configuración del sistema + // Parametros: + // - cmd:Una comando ya operativo (con conexión abierta) + // - ips: Dirección IP del servidor de administración + // - prt: Puerto de comunicaciones + // - pclo: Protocolo de clonación + // - rep: Uso de repositorio centralizado + // + // Devuelve datos generales de configuración del sistema + //_______________________________________________________________________________________________________ + function toma_entorno($cmd,$ips,$prt,$pclo,$rep){ + $rs=new Recordset; + $cmd->texto="SELECT * FROM entornos"; + $rs->Comando=&$cmd; + //echo $cmd->texto; + if (!$rs->Abrir()) return($false); // Error al abrir recordset + if(!$rs->EOF){ + $ips=$rs->campos["ipserveradm"]; + $prt=$rs->campos["portserveradm"]; + $pclo=$rs->campos["protoclonacion"]; + $rep=$rs->campos["repositorio"]; + + } + return(true); + } + //_______________________________________________________________________________________________________ +?> + <HTML> + <TITLE> Administración web de aulas</TITLE> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="estilos.css"> + </HEAD> + <BODY> + <DIV id="mensaje" style="Position:absolute;TOP:250;LEFT:330; visibility:visible"> + <SPAN align=center class=subcabeceras>Acceso permitido. Espere por favor ...</SPAN></P> + <SCRIPT LANGUAGE="JAVASCRIPT"> + var vez=0; + setTimeout("acceso();",300); + function acceso(){ + o=document.getElementById("mensaje"); + var s=o.style.visibility; + if(s=="hidden") + o.style.visibility="visible"; + else + o.style.visibility="hidden"; + if(vez>5){ + var w=window.top; + w.location="frames.php"; + } + vez++; + setTimeout("acceso();",300); + } + </SCRIPT> + </BODY> + </HTML> diff --git a/admin/WebConsole/dirphp.php b/admin/WebConsole/dirphp.php new file mode 100644 index 00000000..73dfb3a0 --- /dev/null +++ b/admin/WebConsole/dirphp.php @@ -0,0 +1,63 @@ +<?php +listar_directorios_ruta("./"); +function listar_directorios_ruta($ruta){ + // abrir un directorio y listarlo recursivo + if (is_dir($ruta)) { + if ($dh = opendir($ruta)) { + while (($file = readdir($dh)) !== false) { + if($file !=".svn" && $file!="." && $file!=".."){ + //esta lnea la utilizaramos si queremos listar todo lo que hay en el directorio + //mostrara tanto archivos como directorios + //echo "<br>Nombre de archivo: $file : Es un: " . filetype($ruta . $file); + if (is_dir($ruta . $file) && $file!="." && $file!=".."){ + //solo si el archivo es un directorio, distinto que "." y ".." + echo "<br>Directorio: $ruta$file"; + listar_directorios_ruta($ruta . $file . "/"); + } + else{ + //echo "<br>Archivp:$file"; + //if($file=="aulas.php") + procesaarchivo($ruta,$file); + } + } + } + closedir($dh); + } + }else + echo "<br>No es ruta valida"; +} + function procesaarchivo($ruta,$file){ + $meta='<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + $archivo=realpath($ruta.$file); + echo "<br>Procesando Archivo:".$file; + + $tam=filesize($archivo); + $fp = fopen($archivo, "rb"); + $buffer = fread($fp, $tam); + fclose($fp); + + $pos = strpos($buffer,'<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'); + if($pos==0) + $pos = strpos($buffer,'<head>'); + if($pos==0) + return; + + $dpl=strlen('<HEAD>'); + $prebuffer=substr($buffer,0,$pos+$dpl); + $posbuffer=substr($buffer,$pos+$dpl); + + $buffer=$prebuffer."\n\t".$meta.$posbuffer; + + /* + $buffer=ereg_replace( "<"," ",$buffer); + $buffer=ereg_replace( ">"," ",$buffer); + $buffer=ereg_replace( "[\n\r]","<BR>",$buffer); + echo $buffer; + */ + + $fp = fopen($archivo,"w"); + fwrite($fp, $buffer,strlen($buffer)); + fclose($fp); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/estilos.css b/admin/WebConsole/estilos.css new file mode 100644 index 00000000..fe836968 --- /dev/null +++ b/admin/WebConsole/estilos.css @@ -0,0 +1,395 @@ +.textos{
+ COLOR: #A53B2D;
+ FONT-FAMILY:MS Sans Serif;
+ FONT-SIZE: 8pt;
+}
+
+.texto_arbol{
+ COLOR: #000000;
+ FONT-FAMILY: sans-serif;
+ FONT-SIZE: 11px;
+}
+
+.menu_contextual TABLE{
+ BACKGROUND-COLOR: #d4d0c8;
+}
+
+.menu_contextual TD{
+ COLOR: #000000;
+ FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ LETTER-SPACING: -1px;
+}
+.menu_contextual SPAN{
+ COLOR: #000000;
+ FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ LETTER-SPACING: -1px;
+}
+.tabla_standar TD{
+ COLOR: #000000;
+ FONT-FAMILY: Verdana;
+ FONT-SIZE: 11px;
+}
+
+.tabla_lista TD{
+ COLOR: #000000;
+ FONT-FAMILY: Verdana;
+ FONT-SIZE: 11px;
+ LETTER-SPACING: -1px;
+}
+
+.input_nodo{
+ BORDER-BOTTOM: 1px solid;
+ BORDER-LEFT: 1px solid;
+ BORDER-RIGHT: 1px solid;
+ BORDER-TOP: 1px solid;
+ COLOR: #000000;
+ FONT-SIZE: 11px;
+ HEIGHT: 14px;
+}
+.marcorelieve{
+ BORDER-BOTTOM: #808080 1px solid;
+ BORDER-LEFT: #ffffff 1px solid;
+ BORDER-RIGHT: #808080 1px solid;
+ BORDER-TOP: #ffffff 1px solid;
+}
+.marco{
+ BORDER-BOTTOM: #999999 1px solid;
+ BORDER-LEFT: #999999 1px solid;
+ BORDER-RIGHT: #999999 1px solid;
+ BORDER-TOP: #999999 1px solid; + COLOR: #000000;
+ FONT-FAMILY: Verdana,Arial, Helvetica, sans-serif;
+ FONT-SIZE: 13px;
+}
+.menupral{
+ BACKGROUND-COLOR: #d4d0c8;
+ FONT-FAMILY: sans-serif;
+ FONT-SIZE: 11px;
+}
+.menupral TD{
+ BORDER-BOTTOM: #d4d0c8 1px solid;
+ BORDER-LEFT: #d4d0c8 1px solid;
+ BORDER-RIGHT: #d4d0c8 1px solid;
+ BORDER-TOP: #d4d0c8 1px solid;
+}
+
+.menupral SPAN{
+ COLOR: #000000;
+ FONT-FAMILY: sans-serif;
+ FONT-SIZE: 11px;
+}
+
+.filtros{ + BORDER-BOTTOM: #999999 1px solid;
+ BORDER-LEFT: #999999 1px solid;
+ BORDER-RIGHT: #999999 1px solid;
+ BORDER-TOP: #999999 1px solid;
+}
+
+.filtros TD{
+ FONT-FAMILY: sans-serif;
+ FONT-SIZE: 11px;
+ COLOR:#999999;
+}
+.supercabeceras {
+ COLOR:#FE6C65;
+ FONT-FAMILY: Arial;
+ FONT-SIZE: 30px;
+ FONT-WEIGHT: 600;
+}
+.sobrecabeceras {
+ COLOR:#7575DD;
+ FONT-FAMILY: Arial;
+ FONT-SIZE: 24px;
+ FONT-WEIGHT: 400;
+}
+.cabeceras{
+ COLOR: #999999;
+ FONT-FAMILY: Verdana;
+ FONT-SIZE: 24px;
+ FONT-WEIGHT: 600;
+}
+.subcabeceras{
+ COLOR: #D6A621;
+ FONT-FAMILY: Verdana;
+ FONT-SIZE: 20px;
+}
+
+.presentaciones{
+ COLOR: #999999;
+ FONT-FAMILY: Verdana,Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px;
+}
+ +
+.notas{
+ COLOR: #999999;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 10px;
+}
+
+.tabla_datos{
+}
+
+.tabla_datos TH{
+ BACKGROUND-COLOR: #63676b;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px;
+ FONT-WEIGHT: 500;
+ BORDER-BOTTOM:#999999 1px solid ;
+}
+
+.tabla_datos TD{
+ BACKGROUND-COLOR: #d4d0c8;
+ COLOR: #003300;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px;
+ BORDER-BOTTOM:#999999 1px solid;
+}
+
+.formulariodatos{
+ COLOR: #000000;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px
+}
+
+.tabla_listados{
+}
+
+.tabla_listados TH{
+ BACKGROUND-COLOR: #63676b;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px;
+ FONT-WEIGHT: 500;
+ BORDER-BOTTOM:#999999 1px solid ;
+}
+.tabla_listados TD{
+ BACKGROUND-COLOR: #EEEECC;
+ COLOR: #003300;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ BORDER-BOTTOM:#999999 1px solid;
+}
+
+.tabla_listados_sin {
+}
+
+.tabla_listados_sin TH{
+ BACKGROUND-COLOR: #63676b;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px;
+ FONT-WEIGHT: 500; + BORDER-BOTTOM:#4f4f4f 1px solid; + BORDER-RIGHT:#4f4f4f 1px solid;
+}
+
+.tabla_listados_sin TD{
+ BACKGROUND-COLOR: #EEEECC;
+ COLOR: #000000;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11;
+}
+
+A.tabla_listados_sin:visited{
+ COLOR: #000000;
+ FONT-FAMILY: sans-serif;
+ FONT-SIZE: 11px;
+}
+A.tabla_listados_sin:link{
+ COLOR: #000000;
+ FONT-FAMILY: sans-serif;
+ FONT-SIZE: 11px;
+}
+
+.recuadros{
+ BACKGROUND-COLOR: lightseagreen;
+ BORDER-BOTTOM: teal solid;
+ BORDER-LEFT: #b4e0d2 solid;
+ BORDER-RIGHT: teal solid;
+ BORDER-TOP: #b4e0d2 solid;
+ COLOR: white;
+ FONT-STYLE: italic
+}
+
+.tabla_meses{
+}
+
+.tabla_meses TH{
+ BACKGROUND-COLOR: #b5daad;
+ COLOR: #000000;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ FONT-WEIGHT: 500;
+ BORDER-BOTTOM: #999999 1px solid;
+ BORDER-LEFT: #999999 1px solid;
+ BORDER-RIGHT: #999999 1px solid;
+ BORDER-TOP: #999999 1px solid;
+}
+
+.tabla_meses TD{
+ BACKGROUND-COLOR: #EEEECC;
+ COLOR: #003300;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px;
+ BORDER-BOTTOM: #d4d4d4 1px solid;
+ BORDER-LEFT: #d4d4d4 1px solid;
+
+}
+
+.tabla_reservas{
+}
+
+.tabla_reservas TH{
+ BACKGROUND-COLOR: #B5DAAD;
+ COLOR: #000000;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 10px;
+ FONT-WEIGHT: 700;
+}
+
+.tabla_reservas TD{
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 10px;
+
+}
+.tabla_busquedas{
+}
+
+.tabla_busquedas TH{
+ BACKGROUND-COLOR: #5a86b5;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ FONT-WEIGHT: 500;
+ BORDER-BOTTOM:#000000 1px solid ;
+}
+
+.tabla_busquedas TD{
+ COLOR: #003300;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+}
+
+.tablaipes{
+ BACKGROUND-COLOR: #b5daad;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 9px
+}
+
+.estilodesple{
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px
+}
+
+.cajatexto{
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px
+}
+ +.cajacomandos{ + BACKGROUND-COLOR: #ffffff; + COLOR: #000000;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px
+} +.salidacomandos{ + BACKGROUND-COLOR: #000000; + COLOR: #ffffff;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px
+} +
+.tabla_parametros{
+}
+
+.tabla_parametros TH{
+ BACKGROUND-COLOR: #D4D4D4;
+ COLOR: #000000;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 12px;
+ FONT-WEIGHT: 700;
+ BORDER-BOTTOM:#000000 1px solid ;
+
+}
+.tabla_parametros TD{
+ BACKGROUND-COLOR: #B5DAAD;
+ COLOR: #003300;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ BORDER-BOTTOM:#000000 1px solid;
+
+}
+.opciones_ejecucion{
+ BORDER-TOP: silver thin solid;
+ BORDER-BOTTOM: silver thin solid;
+ BORDER-LEFT: silver thin solid;
+ BORDER-RIGHT: silver thin solid;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+} +
+.tablaprogramacion TABLE{
+}
+
+.tablaprogramacion TH{
+ FONT-WEIGHT: bold;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ BORDER-LEFT: medium none;
+ COLOR: white;
+ BACKGROUND-COLOR: lightseagreen;
+ TEXT-ALIGN: left;
+}
+
+.tablaprogramacion TD{
+ FONT-SIZE: 9pt;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ COLOR: #000000;
+
+}
+
+.botonprogramacion{
+ BORDER-BOTTOM: #666666 1px solid;
+ BORDER-TOP: #ffffff 1px solid;
+ BORDER-LEFT: #ffffff 1px solid;
+ BORDER-RIGHT: #666666 1px solid;
+ BACKGROUND-COLOR: #EEEECC;
+ FONT-SIZE: 9pt;
+ COLOR: #000000;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+}
+
+.tabla_accesos{
+}
+
+.tabla_accesos TH{
+ BACKGROUND-COLOR: lightseagreen;
+ COLOR: #ffffff;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+ FONT-WEIGHT: 500;
+ BORDER-BOTTOM:#000000 1px solid ;
+}
+
+.tabla_accesos TD{
+ COLOR: #003300;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 11px;
+} +.mensajebrowser{
+ BORDER-BOTTOM: #999999 1px solid;
+ BORDER-LEFT: #999999 1px solid;
+ BORDER-RIGHT: #999999 1px solid;
+ BORDER-TOP: #999999 1px solid; + BACKGROUND-COLOR: #FFFFFF;
+ COLOR: #999999;
+ FONT-FAMILY: Arial, Helvetica, sans-serif;
+ FONT-SIZE: 14px;
+ FONT-WEIGHT: 300;
+}
+
diff --git a/admin/WebConsole/frames.php b/admin/WebConsole/frames.php new file mode 100644 index 00000000..ebcaad57 --- /dev/null +++ b/admin/WebConsole/frames.php @@ -0,0 +1,34 @@ +<? +// ******************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: frames.php +// Descripción :Este fichero implementa la distribución en frames de la aplicación +// ******************************************************************************************************* +include_once("./includes/ctrlacc.php"); +include_once("./includes/constantes.php"); +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<TITLE> Administración web de aulas</TITLE> +</HEAD> +<FRAMESET rows="25,*"> + <FRAME SRC="barramenu.php" frameborder=0 scrolling=no NAME="frame_menus" > + <FRAMESET cols="30%,*"> + <? + if($idtipousuario!=$SUPERADMINISTRADOR) + echo '<FRAME SRC="./principal/aulas.php" frameborder=1 scrolling=auto NAME="frame_arbol" >'; + else{ + if($idtipousuario==$SUPERADMINISTRADOR) + echo '<FRAME SRC="./principal/administracion.php" frameborder=1 scrolling=auto NAME="frame_arbol" >'; + } + ?> + <FRAME SRC="nada.php" frameborder=1 NAME="frame_contenidos"> + </FRAMESET> + </FRAMESET> +</FRAMESET> +</HTML> diff --git a/admin/WebConsole/gestores/gestor_accionmenu.php b/admin/WebConsole/gestores/gestor_accionmenu.php new file mode 100644 index 00000000..41a7a213 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_accionmenu.php @@ -0,0 +1,145 @@ +<? +// ************************************************************************************************************************************************* +// 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_accionmenu.php +// Descripción : +// Gestiona el mantenimiento de la tabla de acciones_menus +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ + +$altas=""; +$bajas=""; +$modificaciones=""; + +if (isset($_POST["altas"])) $altas=$_POST["altas"]; // Recoge parametros +if (isset($_POST["bajas"])) $bajas=$_POST["bajas"]; +if (isset($_POST["modificaciones"])) $modificaciones=$_POST["modificaciones"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal="resultado_gestion_accionmenu"; + +if ($resul) + echo $literal."(1,'".$cmd->DescripUltimoError()."');"; +else + echo $literal."(0,'".$cmd->DescripUltimoError()."');"; + +// ************************************************************************************************************************************************* +function Gestiona() +{ + global $cmd; + global $altas; + global $bajas; + global $modificaciones; + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + + $cmd->CreaParametro("@idtipoaccion",0,1); + $cmd->CreaParametro("@idmenu",0,1); + $cmd->CreaParametro("@tipoaccion",0,1); + $cmd->CreaParametro("@tipoitem",0,1); + $cmd->CreaParametro("@idurlimg","",1); + $cmd->CreaParametro("@descripitem","",0); + $cmd->CreaParametro("@orden",0,1); + + /* Altas */ + if(!empty($altas)){ + $altas=substr($altas,0,strlen($altas)-1); // Quita el último ";" + $tbAltas=split(";",$altas); + for($i=0;$i<sizeof($tbAltas);$i++){ + $tbAlta=split(",",$tbAltas[$i]); + /* Toma datos altas */ + $idmenu=$tbAlta[0]; + $idtipoaccion=$tbAlta[1]; + $tipoaccion=$tbAlta[2]; + $tipoitem=$tbAlta[3]; + $idurlimg=$tbAlta[4]; + $descripitem=$tbAlta[5]; + $orden=$tbAlta[6]; + + $cmd->ParamSetValor("@idtipoaccion",$idtipoaccion); + $cmd->ParamSetValor("@idmenu",$idmenu); + $cmd->ParamSetValor("@tipoaccion",$tipoaccion); + $cmd->ParamSetValor("@tipoitem",$tipoitem); + $cmd->ParamSetValor("@idurlimg",$idurlimg); + $cmd->ParamSetValor("@descripitem",$descripitem); + $cmd->ParamSetValor("@orden",$orden); + + $cmd->texto="INSERT INTO acciones_menus (idmenu,idtipoaccion,tipoaccion,tipoitem,idurlimg,descripitem,orden) + VALUES (@idmenu,@idtipoaccion,@tipoaccion,@tipoitem,@idurlimg,@descripitem,@orden)"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if(!$resul) + return(false); + } + } + + /* Bajas */ + if(!empty($bajas)){ + $bajas=substr($bajas,0,strlen($bajas)-1); // Quita el último ";" + $tbBajas=split(";",$bajas); + for($i=0;$i<sizeof($tbBajas);$i++){ + $tbBaja=split(",",$tbBajas[$i]); + /* Toma datos bajas */ + $idmenu=$tbBaja[0]; + $idtipoaccion=$tbBaja[1]; + $tipoaccion=$tbBaja[2]; + + $cmd->ParamSetValor("@idtipoaccion",$idtipoaccion); + $cmd->ParamSetValor("@idmenu",$idmenu); + $cmd->ParamSetValor("@tipoaccion",$tipoaccion); + + $cmd->texto="DELETE FROM acciones_menus + WHERE idmenu=@idmenu AND idtipoaccion=@idtipoaccion AND tipoaccion=@tipoaccion"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if(!$resul) + return(false); + } + } +/* Modificaciones */ + if(!empty($modificaciones)){ + $modificaciones=substr($modificaciones,0,strlen($modificaciones)-1); // Quita el último ";" + $tbModificaciones=split(";",$modificaciones); + for($i=0;$i<sizeof($tbModificaciones);$i++){ + $tbtbModificacion=split(",",$tbModificaciones[$i]); + /* Toma datos modificaciones */ + $idmenu=$tbtbModificacion[0]; + $idtipoaccion=$tbtbModificacion[1]; + $tipoaccion=$tbtbModificacion[2]; + $tipoitem=$tbtbModificacion[3]; + $idurlimg=$tbtbModificacion[4]; + $descripitem=$tbtbModificacion[5]; + $orden=$tbtbModificacion[6]; + + $cmd->ParamSetValor("@idtipoaccion",$idtipoaccion); + $cmd->ParamSetValor("@idmenu",$idmenu); + $cmd->ParamSetValor("@tipoaccion",$tipoaccion); + $cmd->ParamSetValor("@tipoitem",$tipoitem); + $cmd->ParamSetValor("@idurlimg",$idurlimg); + $cmd->ParamSetValor("@descripitem",$descripitem); + $cmd->ParamSetValor("@orden",$orden); + + $cmd->texto="UPDATE acciones_menus set tipoitem=@tipoitem,idurlimg=@idurlimg,descripitem=@descripitem,orden=@orden + WHERE idmenu=@idmenu AND idtipoaccion=@idtipoaccion AND tipoaccion=@tipoaccion"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if(!$resul) + return(false); + } + } + return(true); +} +?> diff --git a/admin/WebConsole/gestores/gestor_administradores_centros.php b/admin/WebConsole/gestores/gestor_administradores_centros.php new file mode 100644 index 00000000..f21988ca --- /dev/null +++ b/admin/WebConsole/gestores/gestor_administradores_centros.php @@ -0,0 +1,77 @@ +<? +// ************************************************************************************************************************************************* +// 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_dministradores_centros.php +// Descripción : +// Gestiona la asignación de administradores a las Unidades organizativas +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros +$idcentro=0; +$idusuario=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["idcentro"])) $idcentro=$_POST["idcentro"]; +if (isset($_POST["idusuario"])) $idusuario=$_POST["idusuario"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_administradores_centros"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_administradores_centros"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idusuario.");".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idusuario.");".chr(13); +} +else{ + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idusuario.")"; +} +// ************************************************************************************************************************************************* +function Gestiona(){ + global $cmd; + global $opcion; + global $idusuario; + global $idcentro; + global $urlimgth; + global $op_alta; + global $op_eliminacion; + + $cmd->CreaParametro("@idusuario",$idusuario,1); + $cmd->CreaParametro("@idcentro",$idcentro,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO administradores_centros(idusuario,idcentro) VALUES (@idusuario,@idcentro)"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto='DELETE FROM administradores_centros WHERE idusuario='.$idusuario.' AND idcentro='.$idcentro; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_administradores_usuarios.php b/admin/WebConsole/gestores/gestor_administradores_usuarios.php new file mode 100644 index 00000000..319503ad --- /dev/null +++ b/admin/WebConsole/gestores/gestor_administradores_usuarios.php @@ -0,0 +1,80 @@ +<? +// ************************************************************************************************************************************************* +// 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_dministradores_centros.php +// Descripción : +// Gestiona la asignación de administradores a las Unidades organizativas +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros +$idcentro=0; +$idusuario=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idusuario"])) $idusuario=$_POST["idusuario"]; +if (isset($_POST["idcentro"])) $idcentro=$_POST["idcentro"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_centros_administradores"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_centros_administradores"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idcentro.");".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idcentro.");".chr(13); +} +else{ + echo " window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."',".$idcentro.")"; +} +// ************************************************************************************************************************************************* +function Gestiona(){ + global $cmd; + global $opcion; + global $idusuario; + global $idcentro; + global $urlimgth; + global $op_alta; + global $op_eliminacion; + + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idusuario",$idusuario,1); + + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO administradores_centros(idusuario,idcentro) VALUES (@idusuario,@idcentro)"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto='DELETE FROM administradores_centros WHERE idusuario='.$idusuario.' AND idcentro='.$idcentro; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_aulas.php b/admin/WebConsole/gestores/gestor_aulas.php new file mode 100644 index 00000000..27447ac5 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_aulas.php @@ -0,0 +1,264 @@ +<? +// ************************************************************************************************************************************************* +// 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_aulas.php +// Descripción : +// Gestiona el mantenimiento de la tabla de aulas +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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/aulas_eliminacion.php"); +include_once("./relaciones/ordenadores_eliminacion.php"); +include_once("../includes/opciones.php"); +include_once("./relaciones/gruposordenadores_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idaula=0; +$nombreaula=""; +$grupoid=0; +$urlfoto=""; +$cagnon=false; +$pizarra=false; +$ubicacion=""; +$comentarios=""; +$puestos=0; +$horaresevini=0; +$horaresevfin=0; +$idmenu=0; +$idproautoexec=0; +$idrepositorio=0; +$idperfilhard=0; +$cache=0; +$modomul=0; +$ipmul=""; +$pormul=0; +$velmul=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["idaula"])) $idaula=$_POST["idaula"]; +if (isset($_POST["identificador"])) $idaula=$_POST["identificador"]; + +if (isset($_POST["nombreaula"])) $nombreaula=$_POST["nombreaula"]; +if (isset($_POST["urlfoto"])) $urlfoto=$_POST["urlfoto"]; +if (isset($_POST["cagnon"])) $cagnon=$_POST["cagnon"]; +if (isset($_POST["pizarra"])) $pizarra=$_POST["pizarra"]; +if (isset($_POST["ubicacion"])) $ubicacion=$_POST["ubicacion"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["puestos"])) $puestos=$_POST["puestos"]; +if (isset($_POST["horaresevini"])) $horaresevini=$_POST["horaresevini"]; +if (isset($_POST["horaresevfin"])) $horaresevfin=$_POST["horaresevfin"]; +if (isset($_POST["idmenu"])) $idmenu=$_POST["idmenu"]; +if (isset($_POST["idprocedimiento"])) $idproautoexec=$_POST["idprocedimiento"]; +if (isset($_POST["idrepositorio"])) $idrepositorio=$_POST["idrepositorio"]; +if (isset($_POST["idperfilhard"])) $idperfilhard=$_POST["idperfilhard"]; +if (isset($_POST["cache"])) $cache=$_POST["cache"]; +if (isset($_POST["modomul"])) $modomul=$_POST["modomul"]; +if (isset($_POST["ipmul"])) $ipmul=$_POST["ipmul"]; +if (isset($_POST["pormul"])) $pormul=$_POST["pormul"]; +if (isset($_POST["velmul"])) $velmul=$_POST["velmul"]; + +$gidmenu=0; +$gidproautoexec=0; +$gidrepositorio=0; +$gidperfilhard=0; +$gcache=0; + +if (isset($_POST["gidmenu"])) $gidmenu=$_POST["gidmenu"]; +if (isset($_POST["gidprocedimiento"])) $gidproautoexec=$_POST["gidprocedimiento"]; +if (isset($_POST["gidrepositorio"])) $gidrepositorio=$_POST["gidrepositorio"]; +if (isset($_POST["gidperfilhard"])) $gidperfilhard=$_POST["gidperfilhard"]; +if (isset($_POST["gcache"])) $gcache=$_POST["gcache"]; + +$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_aulas.js"></SCRIPT> +<? + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_aulas"; + break; + case $op_modificacion: + $literal="resultado_modificar_aulas"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_aulas"; + 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()." ',".$idaula.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombreaula."');".chr(13); + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idaula.")"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla aulas +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $grupoid; + + global $idaula; + global $nombreaula; + global $urlfoto; + global $cagnon; + global $pizarra; + global $ubicacion; + global $comentarios; + global $puestos; + global $horaresevini; + global $horaresevfin; + + global $idmenu; + global $idproautoexec; + global $idrepositorio; + global $idperfilhard; + global $cache; + + global $gidmenu; + global $gidproautoexec; + global $gidrepositorio; + global $gidperfilhard; + global $gcache; + + global $modomul; + global $ipmul; + global $pormul; + global $velmul; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $tablanodo; + + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idcentro",$idcentro,1); + + $cmd->CreaParametro("@idaula",$idaula,1); + $cmd->CreaParametro("@nombreaula",$nombreaula,0); + $cmd->CreaParametro("@urlfoto",$urlfoto,0); + $cmd->CreaParametro("@cagnon",$cagnon,1); + $cmd->CreaParametro("@pizarra",$pizarra,1); + $cmd->CreaParametro("@ubicacion",$ubicacion,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + $cmd->CreaParametro("@puestos",$puestos,1); + $cmd->CreaParametro("@horaresevini",$horaresevini,1); + $cmd->CreaParametro("@horaresevfin",$horaresevfin,1); + $cmd->CreaParametro("@idmenu",$idmenu,1); + $cmd->CreaParametro("@idproautoexec",$idproautoexec,1); + $cmd->CreaParametro("@idrepositorio",$idrepositorio,1); + $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); + $cmd->CreaParametro("@cache",$cache,1); + $cmd->CreaParametro("@modomul",$modomul,1); + $cmd->CreaParametro("@ipmul",$ipmul,0); + $cmd->CreaParametro("@pormul",$pormul,1); + $cmd->CreaParametro("@velmul",$velmul,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO aulas(idcentro,grupoid,nombreaula,urlfoto,cagnon,pizarra,ubicacion,comentarios, + puestos,horaresevini,horaresevfin,modomul,ipmul,pormul,velmul) + VALUES (@idcentro,@grupoid,@nombreaula,@urlfoto,@cagnon,@pizarra,@ubicacion,@comentarios, + @puestos,@horaresevini,@horaresevfin,@modomul,@ipmul,@pormul,@velmul)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idaula=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_aulas($idaula,$nombreaula); + $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 aulas SET nombreaula=@nombreaula,urlfoto=@urlfoto,cagnon=@cagnon,pizarra=@pizarra, + ubicacion=@ubicacion,comentarios=@comentarios,puestos=@puestos,horaresevini=@horaresevini, + horaresevfin=@horaresevfin,modomul=@modomul,ipmul=@ipmul,pormul=@pormul,velmul=@velmul WHERE idaula=@idaula"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $clsUpdate=""; + if($idmenu>0 || $gidmenu>0) + $clsUpdate.="idmenu=@idmenu,"; + if($idproautoexec>0 || $gidproautoexec>0) + $clsUpdate.="idproautoexec=@idproautoexec,"; + if($idrepositorio>0 || $gidrepositorio>0) + $clsUpdate.="idrepositorio=@idrepositorio,"; + if($idperfilhard>0 || $gidperfilhard>0) + $clsUpdate.="idperfilhard=@idperfilhard,"; + if($cache!=0 || $gcache>0) + $clsUpdate.="cache=@cache,"; + + if(!empty($clsUpdate)){ + $clsUpdate=substr($clsUpdate,0,strlen($clsUpdate)-1); // Quita última coma + $cmd->texto="UPDATE ordenadores SET ".$clsUpdate." WHERE idaula=@idaula"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + } + } + break; + case $op_eliminacion : + $resul=EliminaAulas($cmd,$idaula,"idaula");// Eliminación en cascada + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_aulas($idaula,$nombreaula){ + global $LITAMBITO_AULAS; + $cadenaXML='<AULAS '; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_AULAS."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$nombreaula.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_AULAS.'-'.$idaula; + $cadenaXML.='>'; + $cadenaXML.='</AULAS>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_centros.php b/admin/WebConsole/gestores/gestor_centros.php new file mode 100644 index 00000000..e758d066 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_centros.php @@ -0,0 +1,160 @@ +<? +// ************************************************************************************************************************************************* +// 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_centros.php +// Descripción : +// Gestiona el mantenimiento de la tabla de centros +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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/centros_eliminacion.php"); +include_once("../includes/opciones.php"); +include_once("./relaciones/centros_eliminacion.php"); +include_once("./relaciones/aulas_eliminacion.php"); +include_once("./relaciones/ordenadores_eliminacion.php"); +include_once("./relaciones/gruposordenadores_eliminacion.php"); + +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$identidad=0; +$idcentro=0; +$nombrecentro=""; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["identidad"])) $identidad=$_POST["identidad"]; +if (isset($_POST["idcentro"])) $idcentro=$_POST["idcentro"]; +if (isset($_POST["identificador"])) $idcentro=$_POST["identificador"]; +if (isset($_POST["nombrecentro"])) $nombrecentro=$_POST["nombrecentro"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; + + +$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_centros.js"></SCRIPT> +<? + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_centros"; + break; + case $op_modificacion: + $literal="resultado_modificar_centros"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_centros"; + break; + case $op_movida : + $literal="resultado_cambiar_centros"; + 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()." ',".$idcentro.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombrecentro."');".chr(13); + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idcentro.")"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +/*________________________________________________________________________________________________________ + Inserta, modifica o elimina datos en la tabla centros +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $nombrecentro; + global $comentarios; + global $identidad; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + global $tablanodo; + + $cmd->CreaParametro("@identidad",$identidad,1); + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@nombrecentro",$nombrecentro,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO centros(nombrecentro,comentarios,identidad) VALUES (@nombrecentro,@comentarios,@identidad)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idcentro=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_centros($idcentro,$nombrecentro); + $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 centros SET nombrecentro=@nombrecentro,comentarios=@comentarios WHERE idcentro=@idcentro"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaCentros($cmd,$idcentro,"idcentro");// Eliminación en cascada + break; + case $op_movida : + $cmd->texto="UPDATE centros SET identidad=@identidad WHERE idcentro=@idcentro"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_centros($idcentro,$nombrecentro){ + global $LITAMBITO_CENTROS; + $cadenaXML='<CENTRO'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_CENTROS."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/centros.gif"'; + $cadenaXML.=' infonodo="'.$nombrecentro.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_CENTROS.'-'.$idcentro; + $cadenaXML.='></CENTRO>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_colasacciones.php b/admin/WebConsole/gestores/gestor_colasacciones.php new file mode 100644 index 00000000..ed27d232 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_colasacciones.php @@ -0,0 +1,178 @@ +<?php +// ************************************************************************************************************************************************* +// 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: colasacciones.php +// Descripción : +// Gestiona las operaciones realizadas sobre las acciones registradas +// ************************************************************************************************************************************************* + +include_once("../includes/ctrlacc.php"); +include_once("../includes/TomanDatos.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/SockHidra.php"); +//________________________________________________________________________________________________________ + +$opcion=0; // Inicializa parametros +$acciones=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; +if (isset($_POST["acciones"])) $acciones=$_POST["acciones"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=gestiona($cmd,$opcion,$acciones); + $cmd->Conexion->Cerrar(); +} +if($resul) + echo $opcion; // Proceso con éxito, devuelve la opción +else + echo 0; // Proceso con algún error, devuelve cero +// +// ***************************************************************************************************************** +// +function gestiona($cmd,$opcion,$acciones){ + + global $ACCION_EXITOSA; + global $ACCION_FALLIDA; + global $ACCION_SINRESULTADO; + + global $LITACCION_EXITOSA; + global $LITACCION_FALLIDA; + + global $ACCION_DETENIDA; + global $ACCION_INICIADA; + global $ACCION_FINALIZADA; + + $tbAcciones=split(";",$acciones); + for($i=0;$i<sizeof($tbAcciones)-1;$i++){ + list($tipoaccion,$idtipoaccion,$sesion,$idaccion)=split(",",$tbAcciones[$i]); + switch($opcion){ + + case 1: // Eliminar ============================================================ + $cmd->texto="DELETE FROM acciones "; + if(!empty($idaccion)) + $cmd->texto.=" WHERE idaccion=".$idaccion; + else + $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion; + $resul=$cmd->Ejecutar(); + break; + + case 2: // Reiniciar ============================================================ + /* Recordset para envío de comando actualizar */ + $cmd->texto="SELECT count(*) as con, + group_concat(cast(ordenadores.idordenador AS char( 11 ) ) SEPARATOR ',' ) AS cadenaid, + group_concat(ordenadores.ip SEPARATOR ';' ) AS cadenaip + FROM acciones + INNER JOIN ordenadores ON ordenadores.idordenador=acciones.idordenador"; + if(!empty($idaccion)) + $cmd->texto.=" WHERE idaccion=".$idaccion; + else + $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." + AND sesion=".$sesion; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->EOF) return(true); // No existen registros + $aplicacion="ido=".$rs->campos["cadenaid"].chr(13)."iph=".$rs->campos["cadenaip"].chr(13); + + /* Update de la tabla */ + $cmd->texto="UPDATE acciones + SET estado=".$ACCION_INICIADA.",resultado=".$ACCION_SINRESULTADO.",descrinotificacion='',fechahorafin=''"; + if(!empty($idaccion)) + $cmd->texto.=" WHERE idaccion=".$idaccion; + else + $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion; + $resul=$cmd->Ejecutar(); + if($resul) + $resul=enviaComandoActualizar($aplicacion); + break; + + case 3: // Para acciones ============================================================ + $cmd->texto="UPDATE acciones SET estado=".$ACCION_DETENIDA; + if(!empty($idaccion)) + $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_INICIADA; + else + $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_INICIADA; + $resul=$cmd->Ejecutar(); + break; + + case 4: // Reanuda acciones ============================================================ + $cmd->texto="UPDATE acciones SET estado=".$ACCION_INICIADA; + if(!empty($idaccion)) + $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_DETENIDA; + else + $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_DETENIDA; + $resul=$cmd->Ejecutar(); + break; + + case 5: // Finalizar sin errores ============================================================ + $ahora=date("y/m/d H:i:s"); + $cmd->texto="UPDATE acciones SET estado=".$ACCION_FINALIZADA.",resultado=".$ACCION_EXITOSA.", + fechahorafin='".$ahora."'".",descrinotificacion='".$LITACCION_EXITOSA."'"; + if(!empty($idaccion)) + $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_INICIADA; + else + $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_INICIADA; + $resul=$cmd->Ejecutar(); + break; + + case 6: // Finalizar con errores ============================================================ + $ahora=date("y/m/d H:i:s"); + $cmd->texto="UPDATE acciones SET estado=".$ACCION_FINALIZADA.",resultado=".$ACCION_FALLIDA.", + fechahorafin='".$ahora."'".",descrinotificacion='".$LITACCION_FALLIDA."'"; + if(!empty($idaccion)) + $cmd->texto.=" WHERE idaccion=".$idaccion." AND estado=".$ACCION_INICIADA; + else + $cmd->texto.=" WHERE tipoaccion=".$tipoaccion." AND idtipoaccion=".$idtipoaccion." AND sesion=".$sesion." AND estado=".$ACCION_INICIADA; + $resul=$cmd->Ejecutar(); + break; + } + //echo $cmd->texto; + } + return($resul); +} +// _________________________________________________________________________ +// +// Envía un comando de actualizar a los ordenadores tras reinicio de acción +// _________________________________________________________________________ + +function enviaComandoActualizar($aplicacion) +{ + global $servidorhidra; + global $hidraport; + global $LONCABECERA; + global $LONHEXPRM; + + $funcion="Actualizar"; // Nombre de la función que procesa la petición + //________________________________________________________________________________________________________ + // + // Envio al servidor de la petición + //________________________________________________________________________________________________________ + $trama=""; + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $parametros="nfn=".$funcion.chr(13); + $parametros.=$aplicacion; + $shidra->envia_comando($parametros); + $trama=$shidra->recibe_respuesta(); + $shidra->desconectar(); + } + else + return(false); // Error de actualización + + $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); + $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); + $ValorParametros=extrae_parametros($parametros,chr(13),'='); + $trama_notificacion=$ValorParametros["res"]; + if($trama_notificacion==1) return(true); // Devuelve respuesta + return(false); // Error de actualización +} +?> diff --git a/admin/WebConsole/gestores/gestor_componentehardwares.php b/admin/WebConsole/gestores/gestor_componentehardwares.php new file mode 100644 index 00000000..5710f5f3 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_componentehardwares.php @@ -0,0 +1,169 @@ +<? +// ************************************************************************************************************************************************* +// 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_componentehardwares.php +// Descripción : +// Gestiona el mantenimiento de la tabla de hardwares +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/constantes.php"); +include_once("../includes/opciones.php"); +include_once("./relaciones/hardwares_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idhardware=0; +$descripcion=""; +$idtipohardware=0; +$grupoid=0; + +$urlimgth=""; // Url de la imagen del tipo de hardware al que pertenece el componente + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idhardware"])) $idhardware=$_POST["idhardware"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["idtipohardware"])) $idtipohardware=$_POST["idtipohardware"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["identificador"])) $idhardware=$_POST["identificador"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_componentehardwares.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_componentehardwares"; + break; + case $op_modificacion: + $literal="resultado_modificar_componentehardwares"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_componentehardwares"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idhardware.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idhardware.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla hardwares +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $idhardware; + global $descripcion; + global $idtipohardware; + global $grupoid; + + global $urlimgth; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idhardware",$idhardware,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@idtipohardware",$idtipohardware,1); + $cmd->CreaParametro("@grupoid",$grupoid,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO hardwares (descripcion,idtipohardware,idcentro,grupoid) VALUES (@descripcion,@idtipohardware,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idhardware=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_ComponenteHardwares($cmd,$idhardware,$descripcion,$idtipohardware); + $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 hardwares SET descripcion=@descripcion,idtipohardware=@idtipohardware WHERE idhardware=@idhardware"; + $resul=$cmd->Ejecutar(); + if ($resul) // Toma la imagen del tipo de componente hardware + $urlimgth=TomaDato($cmd,0,'tipohardwares',$idtipohardware,'idtipohardware','urlimg'); + break; + case $op_eliminacion : + $resul=EliminaHardwares($cmd,$idhardware,"idhardware"); + break; + case $op_movida : + $cmd->texto="UPDATE hardwares SET grupoid=@grupoid WHERE idhardware=@idhardware"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_ComponenteHardwares($cmd,$idhardware,$descripcion,$idtipohardware){ + global $LITAMBITO_COMPONENTESHARD; + $urlimg=TomaDato($cmd,0,'tipohardwares',$idtipohardware,'idtipohardware','urlimg'); + $cadenaXML='<COMPONENTEHARDWARES'; + // Atributos + if (!empty($urlimg)) + $cadenaXML.=' imagenodo="'.$urlimg.'"'; + else + $cadenaXML.=' imagenodo="../images/iconos/confihard.gif"'; + $cadenaXML.=' infonodo="'.$descripcion.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_COMPONENTESHARD.'-'.$idhardware; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_COMPONENTESHARD."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</COMPONENTEHARDWARES>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_componentesoftwares.php b/admin/WebConsole/gestores/gestor_componentesoftwares.php new file mode 100644 index 00000000..bb6c1c95 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_componentesoftwares.php @@ -0,0 +1,173 @@ +<? +// ************************************************************************************************************************************************* +// 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_componentesoftwares.php +// Descripción : +// Gestiona el mantenimiento de la tabla de softwares +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/constantes.php"); +include_once("../includes/opciones.php"); +include_once("./relaciones/softwares_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idsoftware=0; +$descripcion=""; +$idtiposoftware=0; +$idtiposo=0; +$grupoid=0; + +$urlimgth=""; // Url de la imagen del tipo de software al que pertenece el componente + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idsoftware"])) $idsoftware=$_POST["idsoftware"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["idtiposoftware"])) $idtiposoftware=$_POST["idtiposoftware"]; +if (isset($_POST["idtiposo"])) $idtiposo=$_POST["idtiposo"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["identificador"])) $idsoftware=$_POST["identificador"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_componentesoftwares.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_componentesoftwares"; + break; + case $op_modificacion: + $literal="resultado_modificar_componentesoftwares"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_componentesoftwares"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idsoftware.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idsoftware.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla softwares +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $idsoftware; + global $descripcion; + global $idtiposoftware; + global $idtiposo; + global $grupoid; + + global $urlimgth; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idsoftware",$idsoftware,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@idtiposoftware",$idtiposoftware,1); + $cmd->CreaParametro("@idtiposo",$idtiposo,1); + $cmd->CreaParametro("@grupoid",$grupoid,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO softwares (descripcion,idtiposoftware,idtiposo,idcentro,grupoid) VALUES (@descripcion,@idtiposoftware,@idtiposo,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idsoftware=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_Componentesoftwares($cmd,$idsoftware,$descripcion,$idtiposoftware); + $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 softwares SET descripcion=@descripcion,idtiposoftware=@idtiposoftware,idtiposo=@idtiposo WHERE idsoftware=@idsoftware"; + $resul=$cmd->Ejecutar(); + if ($resul) // Toma la imagen del tipo de componente software + $urlimgth=TomaDato($cmd,0,'tiposoftwares',$idtiposoftware,'idtiposoftware','urlimg'); + break; + case $op_eliminacion : + $resul=EliminaSoftwares($cmd,$idsoftware,"idsoftware"); + break; + case $op_movida : + $cmd->texto="UPDATE softwares SET grupoid=@grupoid WHERE idsoftware=@idsoftware"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_Componentesoftwares($cmd,$idsoftware,$descripcion,$idtiposoftware){ + global $LITAMBITO_COMPONENTESSOFT; + $urlimg=TomaDato($cmd,0,'tiposoftwares',$idtiposoftware,'idtiposoftware','urlimg'); + $cadenaXML='<COMPONENTESOFTWARES'; + // Atributos + if (!empty($urlimg)) + $cadenaXML.=' imagenodo="'.$urlimg.'"'; + else + $cadenaXML.=' imagenodo="../images/iconos/confisoft.gif"'; + $cadenaXML.=' infonodo="'.$descripcion.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_COMPONENTESSOFT.'-'.$idsoftware; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_COMPONENTESSOFT."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</COMPONENTESOFTWARES>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_ejecutaracciones.php b/admin/WebConsole/gestores/gestor_ejecutaracciones.php new file mode 100644 index 00000000..30aa8c7d --- /dev/null +++ b/admin/WebConsole/gestores/gestor_ejecutaracciones.php @@ -0,0 +1,300 @@ +<?
+// *************************************************************************************************************************************************
+// 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: Mayo-2005
+// Nombre del fichero: gestor_procedimientos.php
+// Descripción :
+// Gestiona la ejecución de procedimientos
+// *************************************************************************************************************************************************
+include_once("../includes/ctrlacc.php");
+include_once("../clases/AdoPhp.php");
+include_once("../clases/XmlPhp.php");
+include_once("../clases/ArbolVistaXML.php");
+include_once("../clases/SockHidra.php");
+include_once("../includes/CreaComando.php");
+include_once("../includes/constantes.php");
+include_once("../includes/comunes.php");
+include_once("../includes/RecopilaIpesMacs.php");
+//________________________________________________________________________________________________________
+
+$opcion=0; // Inicializa parametros
+
+$idprocedimiento=0;
+$idtarea=0;
+$ambito=0;
+$idambito=0;
+$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser
+
+if (isset($_POST["opcion"])) $opcion=$_POST["opcion"];
+if (isset($_POST["idprocedimiento"])) $idprocedimiento=$_POST["idprocedimiento"];
+if (isset($_POST["descriprocedimiento"])) $descriprocedimiento=$_POST["descriprocedimiento"];
+if (isset($_POST["ambito"])) $ambito=$_POST["ambito"];
+if (isset($_POST["idambito"])) $idambito=$_POST["idambito"];
+if (isset($_POST["idtarea"])) $idtarea=$_POST["idtarea"];
+if (isset($_POST["descritarea"])) $descritarea=$_POST["descritarea"];
+
+if (isset($_GET["opcion"])) $opcion=$_GET["opcion"];
+if (isset($_GET["idprocedimiento"])) $idprocedimiento=$_GET["idprocedimiento"];
+if (isset($_GET["descriprocedimiento"]))$descriprocedimiento=$_GET["descriprocedimiento"];
+if (isset($_GET["ambito"])) $ambito=$_GET["ambito"];
+if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
+if (isset($_GET["idtarea"])) $idtarea=$_GET["idtarea"];
+if (isset($_GET["descritarea"])) $descritarea=$_GET["descritarea"];
+
+if (isset($_GET["swc"])) $swc=$_GET["swc"]; // Switch que indica que la página la solicita un cliente a través del browser
+
+$cmd=CreaComando($cadenaconexion); // Crea objeto comando
+$resul=false;
+if ($cmd){
+ $shidra=new SockHidra($servidorhidra,$hidraport);
+ $cadenaid="";
+ $cadenaip="";
+ $cadenamac="";
+ $sesion=0;
+ $vez=0;
+ if(opcion!=$EJECUCION_TAREA)
+ RecopilaIpesMacs($cmd,$ambito,$idambito); // Recopila Ipes del ámbito
+ if(opcion!=$EJECUCION_AUTOEXEC){
+ //Creación parametros para inserción en tabla acciones
+ $sesion=time();
+ $cmd->CreaParametro("@tipoaccion",$opcion,1);
+ $cmd->CreaParametro("@idtipoaccion",0,1);
+ $cmd->CreaParametro("@descriaccion","",0);
+ $cmd->CreaParametro("@idordenador",0,1);
+ $cmd->CreaParametro("@ip","",0);
+ $cmd->CreaParametro("@sesion",$sesion,1);
+ $cmd->CreaParametro("@idcomando",0,1);
+ $cmd->CreaParametro("@parametros","",0);
+ $cmd->CreaParametro("@fechahorareg","",0);
+ $cmd->CreaParametro("@fechahorafin","",0);
+ $cmd->CreaParametro("@estado",$ACCION_INICIADA,1);
+ $cmd->CreaParametro("@resultado",$ACCION_SINRESULTADO,1);
+ $cmd->CreaParametro("@descrinotificacion","",0);
+ $cmd->CreaParametro("@idprocedimiento",0,1);
+ $cmd->CreaParametro("@idtarea",0,1);
+ $cmd->CreaParametro("@idcentro",$idcentro,1);
+ $cmd->CreaParametro("@ambito",0,1);
+ $cmd->CreaParametro("@idambito",0,1);
+ $cmd->CreaParametro("@restrambito","",0);
+ }
+ switch($opcion){
+ case $EJECUCION_AUTOEXEC:
+ $resul=actualizaAutoexec($idprocedimiento);
+ $literal="resultado_gestion_procedimiento";
+ break;
+ case $EJECUCION_PROCEDIMIENTO:
+ $cmd->ParamSetValor("@idtipoaccion",$idprocedimiento);
+ $cmd->ParamSetValor("@descriaccion",$descriprocedimiento);
+ $resul=ejecucionProcedimiento($idprocedimiento,$ambito,$idambito);
+ $literal="resultado_gestion_procedimiento";
+ break;
+ case $EJECUCION_TAREA:
+ $cmd->ParamSetValor("@idtipoaccion",$idtarea);
+ $cmd->ParamSetValor("@descriaccion",$descritarea);
+ $cmd->ParamSetValor("@idtarea",$idtarea);
+ $resul=ejecucionTarea($idtarea);
+ $literal="resultado_ejecutar_tareas";
+ break;
+ }
+ $cmd->Conexion->Cerrar();
+}
+if ($resul){
+ if(empty($swc)){
+ echo $literal."(1,'".$cmd->DescripUltimoError()."');".chr(13);
+ }
+ else{
+ echo '<SCRIPT language="javascript">'.chr(13);
+ echo 'alert("El item se ha ejecutado correctamente");'.chr(13);
+ echo 'var wurl="../varios/menucliente.php?iph='.trim($_SESSION["ogCliente"]).'";';
+ echo 'history.back();';
+ echo '</SCRIPT>';
+ }
+}
+else{
+ if(empty($swc)){
+ echo $literal."(0,'".$cmd->DescripUltimoError()."')";
+ }
+ else{
+ echo '<SCRIPT language="javascript">'.chr(13);
+ echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13);
+ echo 'var wurl="../varios/menucliente.php?iph='.trim($_SESSION["ogCliente"]).'";';
+ echo 'location.href=wurl;';
+ echo '</SCRIPT>';
+ }
+}
+//********************************************************************************************************
+//
+// Incorpora un procedimiento como autoexec
+//________________________________________________________________________________________________________
+function actualizaAutoexec($idprocedimiento)
+{
+ global $cadenaid;
+ global $cmd;
+
+ $cmd->texto="UPDATE ordenadores SET idproautoexec=".$idprocedimiento." WHERE idordenador IN (".$cadenaid.")";
+ $resul=$cmd->Ejecutar();
+ return(resul);
+}
+//________________________________________________________________________________________________________
+//
+// Ejecuta un procedimiento: lo registra en acciones y lo envía por la red
+//________________________________________________________________________________________________________
+function ejecucionProcedimiento($idprocedimiento,$ambito,$idambito)
+{
+ return(recorreProcedimientos($idprocedimiento,$ambito,$idambito));
+}
+//________________________________________________________________________________________________________
+//
+// Ejecuta una tarea: la registra en acciones y la envía por la red
+//________________________________________________________________________________________________________
+function ejecucionTarea($idtarea)
+{
+ return(recorreTareas($idtarea));
+}
+//________________________________________________________________________________________________________
+function recorreProcedimientos($idprocedimiento,$ambito,$idambito)
+{
+ global $cmd;
+
+ $cmd->texto="SELECT idcomando,procedimientoid,parametros
+ FROM procedimientos_acciones
+ WHERE idprocedimiento=".$idprocedimiento."
+ ORDER BY orden";
+ //echo $cmd->texto;
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ if (!$rs->Abrir()) return(false); // Error al abrir recordset
+ while (!$rs->EOF){
+ $procedimientoid=$rs->campos["procedimientoid"];
+ if($procedimientoid>0){ // Procedimiento recursivo
+ if(!recorreProcedimientos($procedimientoid,$ambito,$idambito)){
+ return(false);
+ }
+ }
+ else{
+ $parametros=$rs->campos["parametros"];
+ $idcomando=$rs->campos["idcomando"];
+ if(!insertaComando($idcomando,$parametros,$idprocedimiento,$ambito,$idambito))
+ return(false);
+ }
+ $rs->Siguiente();
+ }
+ return(true);
+}
+//________________________________________________________________________________________________________
+function recorreTareas($idtarea)
+{
+ global $cadenaid;
+ global $cadenaip;
+ global $cadenamac;
+ global $cmd;
+
+ $cmd->texto="SELECT tareas_acciones.orden,tareas_acciones.idprocedimiento,tareas_acciones.tareaid,
+ tareas.ambito,tareas.idambito,tareas.restrambito
+ FROM tareas
+ INNER JOIN tareas_acciones ON tareas_acciones.idtarea=tareas.idtarea
+ WHERE tareas_acciones.idtarea=".$idtarea."
+ ORDER BY tareas_acciones.orden";
+ //echo $cmd->texto;
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ if (!$rs->Abrir()) return(false); // Error al abrir recordset
+ while (!$rs->EOF){
+ $tareaid=$rs->campos["tareaid"];
+ if($tareaid>0){ // Tarea recursiva
+ if(!recorreTareas($tareaid)){
+ return(false);
+ }
+ }
+ else{
+ $ambito=$rs->campos["ambito"];
+ $idambito=$rs->campos["idambito"];
+ if($ambito==0 && $idambito==0){ // Ámbito restringido
+ $idambito=$rs->campos["restrambito"];
+ }
+ RecopilaIpesMacs($cmd,$ambito,$idambito); // Recopila Ipes del ámbito
+ $idprocedimiento=$rs->campos["idprocedimiento"];
+ if(!recorreProcedimientos($idprocedimiento,$ambito,$idambito))
+ return(false);
+ }
+ $rs->Siguiente();
+ }
+ return(true);
+}
+//________________________________________________________________________________________________________
+//
+// Registra un procedimiento para un ambito concreto
+//________________________________________________________________________________________________________
+function insertaComando($idcomando,$parametros,$idprocedimiento,$ambito,$idambito)
+{
+ global $cadenaid;
+ global $cadenaip;
+ global $cmd;
+ global $vez;
+
+ if($ambito==0){ // Ambito restringido a un subconjuto de ordenadores con formato (idordenador1,idordenador2,etc)
+ $cmd->ParamSetValor("@restrambito",$idambito);
+ $idambito=0;
+ }
+
+ $cmd->ParamSetValor("@idcomando",$idcomando);
+ $cmd->ParamSetValor("@idprocedimiento",$idprocedimiento);
+ $cmd->ParamSetValor("@parametros",$parametros);
+ $cmd->ParamSetValor("@fechahorareg",date("y/m/d H:i:s"));
+ $cmd->ParamSetValor("@ambito",$ambito);
+ $cmd->ParamSetValor("@idambito",$idambito);
+
+ if(strlen($cadenaip)==0) return(true);
+
+ $auxID=split(",",$cadenaid);
+ $auxIP=split(";",$cadenaip);
+
+ for ($i=0;$i<sizeof($auxID);$i++){
+ $cmd->ParamSetValor("@idordenador",$auxID[$i]);
+ $cmd->ParamSetValor("@ip",$auxIP[$i]);
+ $cmd->texto="INSERT INTO acciones (idordenador,tipoaccion,idtipoaccion,descriaccion,ip,sesion,idcomando,parametros,fechahorareg,estado,resultado,ambito,idambito,restrambito,idprocedimiento,idtarea,idcentro)
+ VALUES (@idordenador,@tipoaccion,@idtipoaccion,@descriaccion,@ip,@sesion,@idcomando,@parametros,@fechahorareg,@estado,@resultado,@ambito,@idambito,@restrambito,@idprocedimiento,@idtarea,@idcentro)";
+ $resul=$cmd->Ejecutar();
+ //echo $cmd->texto;
+ if(!$resul) return(false);
+
+ /* Sólo envía por la red el primer comando, el resto, si hubiera,
+ lo encontrará el cliente a través de los comandos pendientes */
+ if(empty($vez))
+ if(!enviaComando($parametros)) return(false);
+ $vez++;
+ }
+ return(true);
+}
+//________________________________________________________________________________________________________
+//
+// Envia un procedimiento a un grupo de ordenadores a través de la red
+//________________________________________________________________________________________________________
+function enviaComando($parametros)
+{
+ global $cadenaid;
+ global $cadenaip;
+ global $cadenamac;
+ global $sesion;
+ global $servidorhidra;
+ global $hidraport;
+ global $LONCABECERA;
+ global $shidra;
+
+ // Envio al servidor
+
+ $aplicacion=chr(13)."ido=".$cadenaid.chr(13)."mac=".$cadenamac.chr(13)."iph=".$cadenaip.chr(13);
+ $acciones=chr(13)."ids=".$sesion.chr(13); // Para seguimiento
+
+ if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra
+ $parametros.=$aplicacion;
+ $parametros.=$acciones;
+ $shidra->envia_comando($parametros);
+ $trama=$shidra->recibe_respuesta();
+ $shidra->desconectar();
+ }
+ return(true);
+}
+?>
diff --git a/admin/WebConsole/gestores/gestor_entidades.php b/admin/WebConsole/gestores/gestor_entidades.php new file mode 100644 index 00000000..93584b11 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_entidades.php @@ -0,0 +1,163 @@ +<? +// ************************************************************************************************************************************************* +// 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_entidades.php +// Descripción : +// Gestiona el mantenimiento de la tabla de entidades +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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/entidades_eliminacion.php"); +include_once("../includes/opciones.php"); +include_once("./relaciones/centros_eliminacion.php"); +include_once("./relaciones/aulas_eliminacion.php"); +include_once("./relaciones/ordenadores_eliminacion.php"); +include_once("./relaciones/gruposordenadores_eliminacion.php"); + +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$grupoid=0; +$iduniversidad=0; +$identidad=0; +$nombreentidad=""; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["iduniversidad"])) $iduniversidad=$_POST["iduniversidad"]; +if (isset($_POST["identidad"])) $identidad=$_POST["identidad"]; +if (isset($_POST["identificador"])) $identidad=$_POST["identificador"]; +if (isset($_POST["nombreentidad"])) $nombreentidad=$_POST["nombreentidad"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; + + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_entidades.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_entidades"; + break; + case $op_modificacion: + $literal="resultado_modificar_entidades"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_entidades"; + break; + case $op_movida : + $literal="resultado_cambiar_entidades"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$identidad.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombreentidad."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$identidad.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/*________________________________________________________________________________________________________ + Inserta, modifica o elimina datos en la tabla entidades +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $identidad; + global $nombreentidad; + global $comentarios; + global $grupoid; + global $iduniversidad; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + global $tablanodo; + + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@iduniversidad",$iduniversidad,1); + $cmd->CreaParametro("@identidad",$identidad,1); + $cmd->CreaParametro("@nombreentidad",$nombreentidad,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO entidades(nombreentidad,comentarios,iduniversidad,grupoid) VALUES (@nombreentidad,@comentarios,@iduniversidad,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $identidad=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_entidades($identidad,$nombreentidad); + $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 entidades SET nombreentidad=@nombreentidad,comentarios=@comentarios WHERE identidad=@identidad"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaEntidad($cmd,$identidad,"identidad");// Eliminación en cascada + break; + case $op_movida : + $cmd->texto="UPDATE entidades SET iduniversidad=@iduniversidad, grupoid=@grupoid WHERE identidad=@identidad"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_entidades($identidad,$nombreentidad){ + global $LITAMBITO_ENTIDADES; + $cadenaXML='<ENTIDAD'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_ENTIDADES."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/entidades.gif"'; + $cadenaXML.=' infonodo="'.$nombreentidad.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_ENTIDADES.'-'.$identidad; + $cadenaXML.='></ENTIDAD>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_entornos.php b/admin/WebConsole/gestores/gestor_entornos.php new file mode 100644 index 00000000..6836db45 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_entornos.php @@ -0,0 +1,86 @@ +<? +// ************************************************************************************************************************************************* +// 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_entornos.php +// Descripción : +// Gestiona el mantenimiento de la tabla de entornos +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ + +$identorno=0; + +$ipserveradm=""; +$portserveradm=0; +$protoclonacion=""; + + +if (isset($_POST["ipserveradm"])) $ipserveradm=$_POST["ipserveradm"]; +if (isset($_POST["portserveradm"])) $portserveradm=$_POST["portserveradm"]; +if (isset($_POST["protoclonacion"])) $protoclonacion=$_POST["protoclonacion"]; + +$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_entornos.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + +<? + +$literal="resultado_modificar_entornos"; + + +if ($resul){ + echo '<SCRIPT language="javascript">'.chr(13); + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$identorno.");".chr(13); + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$identorno.")"; + echo '</SCRIPT>'; +} + +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla entornos +________________________________________________________________________________________________________*/ +function Gestiona() +{ + global $cmd; + + global $identorno; + global $ipserveradm; + global $portserveradm; + global $protoclonacion; + + + $cmd->CreaParametro("@identorno",$identorno,1); + $cmd->CreaParametro("@ipserveradm",$ipserveradm,0); + $cmd->CreaParametro("@portserveradm",$portserveradm,1); + $cmd->CreaParametro("@protoclonacion",$protoclonacion,0); + + $cmd->texto="UPDATE entornos SET ipserveradm=@ipserveradm,portserveradm=@portserveradm,protoclonacion=@protoclonacion"; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_grupos.php b/admin/WebConsole/gestores/gestor_grupos.php new file mode 100644 index 00000000..b20ed22e --- /dev/null +++ b/admin/WebConsole/gestores/gestor_grupos.php @@ -0,0 +1,273 @@ +<? +// ************************************************************************************************************************************************* +// 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_grupos.php +// Descripción : +// Gestiona el mantenimiento de la tabla de grupos +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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/aulas_eliminacion.php"); +include_once("./relaciones/ordenadores_eliminacion.php"); +include_once("./relaciones/gruposordenadores_eliminacion.php"); +include_once("./relaciones/procedimientos_eliminacion.php"); +include_once("./relaciones/tareas_eliminacion.php"); +include_once("./relaciones/trabajos_eliminacion.php"); +include_once("./relaciones/imagenes_eliminacion.php"); +include_once("./relaciones/hardwares_eliminacion.php"); +include_once("./relaciones/perfileshard_eliminacion.php"); +include_once("./relaciones/softwares_eliminacion.php"); +include_once("./relaciones/perfilessoft_eliminacion.php"); +include_once("./relaciones/incrementales_eliminacion.php"); +include_once("./relaciones/repositorios_eliminacion.php"); +include_once("./relaciones/menus_eliminacion.php"); +include_once("./relaciones/reservas_eliminacion.php"); +include_once("./relaciones/entidades_eliminacion.php"); +include_once("./relaciones/centros_eliminacion.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$nombregrupo=""; +$grupoid=0; +$idgrupo=0; +$tipo=0; +$literaltipo=""; +$iduniversidad=0; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["nombregrupo"])) $nombregrupo=$_POST["nombregrupo"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["idgrupo"])) $idgrupo=$_POST["idgrupo"]; +if (isset($_POST["tipo"])) $tipo=$_POST["tipo"]; +if (isset($_POST["literaltipo"])) $literaltipo=$_POST["literaltipo"]; +if (isset($_POST["iduniversidad"])) $iduniversidad=$_POST["iduniversidad"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; + +$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_grupos.js"></SCRIPT> +<? + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_grupos"; + break; + case $op_modificacion: + $literal="resultado_modificar_grupos"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_grupos"; + break; + default: + break; + } +echo '<p><span id="arbol_nodo">'.$tablanodo.'</span></p>'; +if ($resul){ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'var o=document.getElementById("arbol_nodo");'.chr(13); + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idgrupo.",o.innerHTML);"; + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombregrupo."');"; + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idgrupo.")"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla grupos +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + global $idcentro; + global $nombregrupo; + global $grupoid; + global $idgrupo; + global $tipo; + global $literaltipo; + global $iduniversidad; + global $comentarios; + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $tablanodo; + + if($iduniversidad) $idcentro=0; // Administración + + $cmd->CreaParametro("@nombregrupo",$nombregrupo,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idgrupo",$idgrupo,1); + $cmd->CreaParametro("@tipo",$tipo,1); + $cmd->CreaParametro("@iduniversidad",$iduniversidad,1); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO grupos(nombregrupo,idcentro,grupoid,tipo,iduniversidad,comentarios) VALUES (@nombregrupo,@idcentro,@grupoid,@tipo,@iduniversidad,@comentarios)"; + $resul=$cmd->Ejecutar(); + + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idgrupo=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_grupos($idgrupo,$nombregrupo,$literaltipo); + $baseurlimg="../images/signos"; + $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol + $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault); + $tablanodo=$arbol->CreaNodo(0); + } + break; + case $op_modificacion: + $cmd->texto="UPDATE grupos SET nombregrupo=@nombregrupo,comentarios=@comentarios WHERE idgrupo=@idgrupo"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaGrupos($cmd,$idgrupo,"idgrupo",$literaltipo);// Eliminación en cascada + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_grupos($idgrupo,$nombregrupo,$literaltipo){ + + $cadenaXML='<GRUPOS'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$literaltipo."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$nombregrupo.'"'; + $cadenaXML.=' nodoid='.$literaltipo.'-'.$idgrupo; + $cadenaXML.='>'; + $cadenaXML.='</GRUPOS>'; + return($cadenaXML); +} +/*________________________________________________________________________________________________________ + Elimina en cascada grupos + Parametros: + - cmd: Un comando ya operativo (con conexión abierta) + - idgrupo: El identificador del grupo + - literaltipo: El literal del grupo + - literaltipo: El literal del grupo + - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) +________________________________________________________________________________________________________*/ +function EliminaGrupos($cmd,$identificador,$nombreid,$literaltipo,$swid=1){ + if (empty($identificador)) return(true); + + global $LITAMBITO_GRUPOSAULAS ; + global $LITAMBITO_GRUPOSIMAGENES ; + global $LITAMBITO_GRUPOSPROCEDIMIENTOS ; + global $LITAMBITO_GRUPOSTAREAS ; + global $LITAMBITO_GRUPOSTRABAJOS ; + global $LITAMBITO_GRUPOSCOMPONENTESHARD ; + global $LITAMBITO_GRUPOSCOMPONENTESSOFT ; + global $LITAMBITO_GRUPOSPERFILESHARD ; + global $LITAMBITO_GRUPOSPERFILESSOFT ; + global $LITAMBITO_GRUPOSSOFTINCREMENTAL ; + global $LITAMBITO_GRUPOSMENUS ; + global $LITAMBITO_GRUPOSREPOSITORIOS ; + global $LITAMBITO_GRUPOSRESERVAS ; + global $LITAMBITO_GRUPOSENTIDADES ; + + if($swid==0) + $cmd->texto="SELECT idgrupo FROM grupos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idgrupo FROM grupos WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $resul=EliminaGrupos($cmd,$rs->campos["idgrupo"],"grupoid",$literaltipo); + if ($resul){ + switch($literaltipo){ + case $LITAMBITO_GRUPOSAULAS : + $resul=EliminaAulas($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSPROCEDIMIENTOS : + $resul=EliminaProcedimientos($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSTAREAS : + $resul=EliminaTareas($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSTRABAJOS : + $resul=EliminaTrabajos($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSIMAGENES : + $resul=EliminaImagenes($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSCOMPONENTESHARD : + $resul=EliminaHardwares($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSCOMPONENTESSOFT : + $resul=EliminaSoftwares($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSPERFILESHARD : + $resul=EliminaPerfileshard($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSPERFILESSOFT : + $resul=EliminaPerfilessoft($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSSOFTINCREMENTAL : + $resul=EliminaSoftincremental($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSREPOSITORIOS : + $resul=Eliminarepositorios($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSMENUS : + $resul=EliminaMenus($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSRESERVAS : + $resul=EliminaReservas($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + case $LITAMBITO_GRUPOSENTIDADES : + $resul=EliminaEntidad($cmd,$rs->campos["idgrupo"],"grupoid"); + break; + default: + $resul=false; + } + } + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM grupos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM grupos WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_gruposordenadores.php b/admin/WebConsole/gestores/gestor_gruposordenadores.php new file mode 100644 index 00000000..f301f283 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_gruposordenadores.php @@ -0,0 +1,165 @@ +<? +// ************************************************************************************************************************************************* +// 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_gruposordenadores.php +// Descripción : +// Gestiona el mantenimiento de la tabla de gruposordenadores +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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/ordenadores_eliminacion.php"); +include_once("../includes/opciones.php"); +include_once("./relaciones/gruposordenadores_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros +$nombregrupoordenador=""; +$grupoid=0; +$idgrupo=0; +$idaula=0; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["nombregrupo"])) $nombregrupoordenador=$_POST["nombregrupo"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["idgrupo"])) $idgrupo=$_POST["idgrupo"]; +if (isset($_POST["idaula"])) $idaula=$_POST["idaula"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + if ($idaula==0) + $idaula=toma_aula($cmd,$grupoid); + $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_grupos.js"></SCRIPT> +<? + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_grupos"; + break; + case $op_modificacion: + $literal="resultado_modificar_grupos"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_grupos"; + break; + default: + break; + } +echo '<p><span 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()." ',".$idgrupo.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombregrupoordenador."');".chr(13); + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idgrupo.")"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Busca identificador del aula cuando el grupo a crear está pertenece a otro grupo +________________________________________________________________________________________________________*/ +function toma_aula($cmd,$idgrupo){ + $rs=new Recordset; + $cmd->texto="SELECT idaula FROM gruposordenadores WHERE idgrupo=".$idgrupo; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF) + return($rs->campos["idaula"]); + else + return(0); +} +/*________________________________________________________________________________________________________ + Inserta, modifica o elimina datos en la tabla gruposordenadores +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + global $idaula; + global $nombregrupoordenador; + global $grupoid; + global $idgrupo; + global $comentarios; + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $tablanodo; + + $cmd->CreaParametro("@nombregrupoordenador",$nombregrupoordenador,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idaula",$idaula,1); + $cmd->CreaParametro("@idgrupo",$idgrupo,1); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO gruposordenadores(nombregrupoordenador,idaula,grupoid,comentarios) VALUES (@nombregrupoordenador,@idaula,@grupoid,@comentarios)"; + $resul=$cmd->Ejecutar(); +echo $cmd->texto; + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idgrupo=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_grupos_ordenadores($idgrupo,$nombregrupoordenador); + $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 gruposordenadores SET nombregrupoordenador=@nombregrupoordenador,comentarios=@comentarios WHERE idgrupo=@idgrupo"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaGruposOrdenadores($cmd,$idgrupo,"idgrupo"); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo grupo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_grupos_ordenadores($idgrupo,$nombregrupoordenador){ + global $LITAMBITO_GRUPOSORDENADORES; + $cadenaXML='<GRUPOSORDENADORES '; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_GRUPOSORDENADORES."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$nombregrupoordenador.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSORDENADORES.'-'.$idgrupo; + $cadenaXML.='>'; + $cadenaXML.='</GRUPOSORDENADORES>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_imagenes.php b/admin/WebConsole/gestores/gestor_imagenes.php new file mode 100644 index 00000000..bbffd63a --- /dev/null +++ b/admin/WebConsole/gestores/gestor_imagenes.php @@ -0,0 +1,182 @@ +<? +// ************************************************************************************************************************************************* +// 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_imagenes.php +// Descripción : +// Gestiona el mantenimiento de la tabla de imagenes +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +include_once("./relaciones/imagenes_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idimagen=0; +$nombreca=""; +$descripcion=""; +$grupoid=0; +$idperfilsoft=0; +$comentarios=""; +$numpar=0; +$codpar=0; +$idrepositorio=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idimagen"])) $idimagen=$_POST["idimagen"]; +if (isset($_POST["nombreca"])) $nombreca=$_POST["nombreca"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["idperfilsoft"])) $idperfilsoft=$_POST["idperfilsoft"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["identificador"])) $idimagen=$_POST["identificador"]; +if (isset($_POST["numpar"])) $numpar=$_POST["numpar"]; +if (isset($_POST["codpar"])) $codpar=$_POST["codpar"]; +if (isset($_POST["idrepositorio"])) $idrepositorio=$_POST["idrepositorio"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_imagenes.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_imagenes"; + break; + case $op_modificacion: + $literal="resultado_modificar_imagenes"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_imagenes"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idimagen.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idimagen.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla imagenes +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $idimagen; + global $nombreca; + global $descripcion; + global $grupoid; + global $comentarios; + global $numpar; + global $codpar; + global $idrepositorio; + global $idperfilsoft; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + + $cmd->CreaParametro("@idimagen",$idimagen,1); + $cmd->CreaParametro("@nombreca",$nombreca,0); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idperfilsoft",$idperfilsoft,1); + $cmd->CreaParametro("@comentarios",$comentarios,0); + $cmd->CreaParametro("@numpar",$numpar,1); + $cmd->CreaParametro("@codpar",$codpar,1); + $cmd->CreaParametro("@idrepositorio",$idrepositorio,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO imagenes (nombreca,descripcion,idperfilsoft,comentarios,numpar,codpar,idrepositorio,idcentro,grupoid) + VALUES (@nombreca,@descripcion,@idperfilsoft,@comentarios,@numpar,@codpar,@idrepositorio,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idimagen=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_imagenes($idimagen,$descripcion); + $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 imagenes SET nombreca=@nombreca,descripcion=@descripcion,idperfilsoft=@idperfilsoft, + comentarios=@comentarios,numpar=@numpar,codpar=@codpar,idrepositorio=@idrepositorio + WHERE idimagen=@idimagen"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaImagenes($cmd,$idimagen,"idimagen");// Eliminación en cascada + break; + case $op_movida : + $cmd->texto="UPDATE imagenes SET grupoid=@grupoid WHERE idimagen=@idimagen"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_imagenes($idimagen,$descripcion){ + global $LITAMBITO_IMAGENES; + $cadenaXML='<IMAGEN'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagen.gif"'; + $cadenaXML.=' infonodo="'.$descripcion.'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_IMAGENES."'" .')"'; + $cadenaXML.=' nodoid='.$LITAMBITO_IMAGENES.'-'.$idimagen; + $cadenaXML.='>'; + $cadenaXML.='</IMAGEN>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_inclusionacciones.php b/admin/WebConsole/gestores/gestor_inclusionacciones.php new file mode 100644 index 00000000..6d28f513 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_inclusionacciones.php @@ -0,0 +1,175 @@ +<? +// ********************************************************************************************************* +// 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_inclusionacciones.php +// Descripción : +// Gestiona el mantenimiento de la tabla de procedimientos_acciones y tareas_acciones +// ******************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +//________________________________________________________________________________________________________ + +$tipoaccion=0; +$idtipoaccion=0; +$altas=""; +$bajas=""; +$modificaciones=""; + +if (isset($_POST["tipoaccion"])) $tipoaccion=$_POST["tipoaccion"]; +if (isset($_POST["idtipoaccion"])) $idtipoaccion=$_POST["idtipoaccion"]; + +if (isset($_POST["altas"])) $altas=$_POST["altas"]; // Recoge parametros +if (isset($_POST["bajas"])) $bajas=$_POST["bajas"]; +if (isset($_POST["modificaciones"])) $modificaciones=$_POST["modificaciones"]; + + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal="resultado_gestion_inclusionacciones"; + +if ($resul) + echo $literal."(1,'".$cmd->DescripUltimoError()."');"; +else + echo $literal."(0,'".$cmd->DescripUltimoError()."');"; + +// ************************************************************************************************************************************************* +function Gestiona() +{ + global $cmd; + global $tipoaccion; + global $idtipoaccion; + global $altas; + global $bajas; + global $modificaciones; + global $AMBITO_PROCEDIMIENTOS; + global $AMBITO_TAREAS; + + switch($tipoaccion){ + case $AMBITO_PROCEDIMIENTOS: + $cmd->CreaParametro("@idprocedimientoaccion",0,1); + $cmd->CreaParametro("@idprocedimiento",0,1); + $cmd->CreaParametro("@orden",0,1); + $cmd->CreaParametro("@idcomando",0,1); + $cmd->CreaParametro("@parametros","",0); + $cmd->CreaParametro("@procedimientoid",0,1); + break; + case $AMBITO_TAREAS: + $cmd->CreaParametro("@idtareaaccion",0,1); + $cmd->CreaParametro("@idtarea",0,1); + $cmd->CreaParametro("@orden",0,1); + $cmd->CreaParametro("@idprocedimiento",0,1); + $cmd->CreaParametro("@tareaid",0,1); + break; + } + + /* Altas */ + if(!empty($altas)){ + $altas=substr($altas,0,strlen($altas)-1); // Quita el último ";" + $tbAltas=split(";",$altas); + for($i=0;$i<sizeof($tbAltas);$i++){ + /* Toma datos altas */ + list($identificador,$orden,$ambito)=split(",",$tbAltas[$i]); + switch($tipoaccion){ + case $AMBITO_PROCEDIMIENTOS: + $cmd->ParamSetValor("@idprocedimiento",$idtipoaccion); + $cmd->ParamSetValor("@orden",$orden); + $cmd->ParamSetValor("@procedimientoid",$identificador); + $cmd->texto="INSERT INTO procedimientos_acciones + (idprocedimiento,orden,idcomando,parametros,procedimientoid) + VALUES (@idprocedimiento,@orden,@idcomando,@parametros,@procedimientoid)"; + break; + case $AMBITO_TAREAS: + switch($ambito){ + case $AMBITO_TAREAS: + $cmd->ParamSetValor("@idtarea",$idtipoaccion); + $cmd->ParamSetValor("@orden",$orden); + $cmd->ParamSetValor("@tareaid",$identificador); + $cmd->ParamSetValor("@idprocedimiento",0); + $cmd->texto="INSERT INTO tareas_acciones + (idtarea,orden,idprocedimiento,tareaid) + VALUES (@idtarea,@orden,@idprocedimiento,@tareaid)"; + break; + case $AMBITO_PROCEDIMIENTOS: + $cmd->ParamSetValor("@idtarea",$idtipoaccion); + $cmd->ParamSetValor("@orden",$orden); + $cmd->ParamSetValor("@tareaid",0); + $cmd->ParamSetValor("@idprocedimiento",$identificador); + $cmd->texto="INSERT INTO tareas_acciones + (idtarea,orden,idprocedimiento,tareaid) + VALUES (@idtarea,@orden,@idprocedimiento,@tareaid)"; + break; + } + break; + } + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if(!$resul) + return(false); + } + } + + /* Bajas */ + if(!empty($bajas)){ + $bajas=substr($bajas,0,strlen($bajas)-1); // Quita el último ";" + $tbBajas=split(";",$bajas); + for($i=0;$i<sizeof($tbBajas);$i++){ + switch($tipoaccion){ + case $AMBITO_PROCEDIMIENTOS: + list($idprocedimientoaccion)=split(",",$tbBajas[$i]); + $cmd->ParamSetValor("@idprocedimientoaccion",$idprocedimientoaccion); + $cmd->texto="DELETE FROM procedimientos_acciones + WHERE idprocedimientoaccion=@idprocedimientoaccion"; + break; + case $AMBITO_TAREAS: + list($idtareaaccion)=split(",",$tbBajas[$i]); + $cmd->ParamSetValor("@idtareaaccion",$idtareaaccion); + $cmd->texto="DELETE FROM tareas_acciones + WHERE idtareaaccion=@idtareaaccion"; + break; + } + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if(!$resul) + return(false); + } + } + + /* Modificaciones */ + if(!empty($modificaciones)){ + $modificaciones=substr($modificaciones,0,strlen($modificaciones)-1); // Quita el último ";" + $tbModificaciones=split(";",$modificaciones); + for($i=0;$i<sizeof($tbModificaciones);$i++){ + switch($tipoaccion){ + case $AMBITO_PROCEDIMIENTOS: + list($idprocedimientoaccion,$orden)=split(",",$tbModificaciones[$i]); + $cmd->ParamSetValor("@idprocedimientoaccion",$idprocedimientoaccion); + $cmd->ParamSetValor("@orden",$orden); + $cmd->texto="UPDATE procedimientos_acciones SET orden=@orden + WHERE idprocedimientoaccion=@idprocedimientoaccion"; + break; + case $AMBITO_TAREAS: + list($idtareaaccion,$orden)=split(",",$tbModificaciones[$i]); + $cmd->ParamSetValor("@idtareaaccion",$idtareaaccion); + $cmd->ParamSetValor("@orden",$orden); + $cmd->texto="UPDATE tareas_acciones SET orden=@orden + WHERE idtareaaccion=@idtareaaccion"; + break; + } + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if(!$resul) + return(false); + } + } + return(true); +} +?> diff --git a/admin/WebConsole/gestores/gestor_menus.php b/admin/WebConsole/gestores/gestor_menus.php new file mode 100644 index 00000000..36e90920 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_menus.php @@ -0,0 +1,209 @@ +<? +// ************************************************************************************************************************************************* +// 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_menus.php +// Descripción : +// Gestiona el mantenimiento de la tabla de menus +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +include_once("./relaciones/menus_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idmenu=0; +$descripcion=""; +$titulo=""; +$coorx=0; +$coory=0; +$modalidad=0; +$scoorx=0; +$scoory=0; +$smodalidad=0; +$comentarios=""; +$grupoid=0; +$htmlmenupub=""; +$htmlmenupri=""; +$resolucion=0; +$idurlimg=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idmenu"])) $idmenu=$_POST["idmenu"]; +if (isset($_POST["identificador"])) $idmenu=$_POST["identificador"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["titulo"])) $titulo=$_POST["titulo"]; +if (isset($_POST["coorx"])) $coorx=$_POST["coorx"]; +if (isset($_POST["coory"])) $coory=$_POST["coory"]; +if (isset($_POST["modalidad"])) $modalidad=$_POST["modalidad"]; + +if (isset($_POST["scoorx"])) $scoorx=$_POST["scoorx"]; +if (isset($_POST["scoory"])) $scoory=$_POST["scoory"]; +if (isset($_POST["smodalidad"])) $smodalidad=$_POST["smodalidad"]; + +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["htmlmenupub"])) $htmlmenupub=$_POST["htmlmenupub"]; +if (isset($_POST["htmlmenupri"])) $htmlmenupri=$_POST["htmlmenupri"]; +if (isset($_POST["resolucion"])) $resolucion=$_POST["resolucion"]; +if (isset($_POST["idicono"])) $idurlimg=$_POST["idicono"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_menus.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_menus"; + break; + case $op_modificacion: + $literal="resultado_modificar_menus"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_menus"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idmenu.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idmenu.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla menus +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $idmenu; + global $descripcion; + global $titulo; + global $coorx; + global $coory; + global $modalidad; + global $scoorx; + global $scoory; + global $smodalidad; + global $comentarios; + global $grupoid; + global $htmlmenupub; + global $htmlmenupri; + global $resolucion; + global $idurlimg; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idmenu",$idmenu,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@titulo",$titulo,0); + $cmd->CreaParametro("@coorx",$coorx,1); + $cmd->CreaParametro("@coory",$coory,1); + $cmd->CreaParametro("@modalidad",$modalidad,1); + $cmd->CreaParametro("@scoorx",$scoorx,1); + $cmd->CreaParametro("@scoory",$scoory,1); + $cmd->CreaParametro("@smodalidad",$smodalidad,1); + $cmd->CreaParametro("@comentarios",$comentarios,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@htmlmenupub",$htmlmenupub,0); + $cmd->CreaParametro("@htmlmenupri",$htmlmenupri,0); + $cmd->CreaParametro("@resolucion",$resolucion,1); + $cmd->CreaParametro("@idurlimg",$idurlimg,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO menus (descripcion,titulo,coorx,coory,modalidad,scoorx,scoory,smodalidad, + comentarios,idcentro,grupoid,htmlmenupub,htmlmenupri,resolucion,idurlimg) + VALUES (@descripcion,@titulo,@coorx,@coory,@modalidad,@scoorx,@scoory,@smodalidad, + @comentarios,@idcentro,@grupoid,@htmlmenupub,@htmlmenupri,@resolucion,@idurlimg)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idmenu=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_menus($idmenu,$descripcion); + $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 menus SET descripcion=@descripcion,titulo=@titulo,coorx=@coorx,coory=@coory,modalidad=@modalidad,scoorx=@scoorx,scoory=@scoory,smodalidad=@smodalidad, + comentarios=@comentarios,htmlmenupub=@htmlmenupub ,htmlmenupri=@htmlmenupri,resolucion=@resolucion,idurlimg=@idurlimg + WHERE idmenu=@idmenu"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaMenus($cmd,$idmenu,"idmenu"); + break; + case $op_movida : + $cmd->texto="UPDATE menus SET grupoid=@grupoid WHERE idmenu=@idmenu"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_menus($idmenu,$descripcion){ + global $LITAMBITO_MENUS; + $cadenaXML.='<MENU'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/menu.gif"'; + $cadenaXML.=' infonodo="' .$descripcion.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_MENUS.'-'.$idmenu; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_MENUS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</MENU>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_ordenadores.php b/admin/WebConsole/gestores/gestor_ordenadores.php new file mode 100644 index 00000000..3316c428 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_ordenadores.php @@ -0,0 +1,210 @@ +<? +// ************************************************************************************************************************************************* +// 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_ordenadores.php +// Descripción : +// Gestiona el mantenimiento de la tabla de ordenadores +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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/ordenadores_eliminacion.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$grupoid=0; +$idaula=0; +$idordenador=0; +$nombreordenador=""; +$ip=""; +$mac=""; +$idperfilhard=0; +$idrepositorio=0; +$idmenu=0; +$idprocedimiento=0; +$idimagen=0; +$cache=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["idaula"])) $idaula=$_POST["idaula"]; +if (isset($_POST["idordenador"])) $idordenador=$_POST["idordenador"]; +if (isset($_POST["identificador"])) $idordenador=$_POST["identificador"]; +if (isset($_POST["nombreordenador"])) $nombreordenador=$_POST["nombreordenador"]; +if (isset($_POST["ip"])) $ip=$_POST["ip"]; +if (isset($_POST["mac"])) $mac=$_POST["mac"]; +if (isset($_POST["idperfilhard"])) $idperfilhard=$_POST["idperfilhard"]; +if (isset($_POST["idrepositorio"])) $idrepositorio=$_POST["idrepositorio"]; +if (isset($_POST["idmenu"])) $idmenu=$_POST["idmenu"]; +if (isset($_POST["idprocedimiento"])) $idprocedimiento=$_POST["idprocedimiento"]; +if (isset($_POST["cache"])) $cache=$_POST["cache"]; + +if(empty($cache)) $cache=0; + +$tablanodo=""; // Arbol para nodos insertados +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + if ($idaula==0) + $idaula=toma_aula($cmd,$grupoid); + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_ordenadores.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} +//________________________________________________________________________________________________________ + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_ordenadores"; + break; + case $op_modificacion: + $literal="resultado_modificar_ordenadores"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_ordenadores"; + break; + case $op_movida : + $literal="resultado_cambiar_ordenadores"; + break; + default: + break; + } +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idordenador.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombreordenador."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idordenador.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Busca identificador del aula de un grupo de ordenador .Devuelve el identificador del aula a la que pertenece el grupo + Parametros: + - cmd:Una comando ya operativo (con conexión abierta) +________________________________________________________________________________________________________*/ +function toma_aula($cmd,$idgrupo){ + $rs=new Recordset; + $cmd->texto="SELECT idaula FROM gruposordenadores WHERE idgrupo=".$idgrupo; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF) + return($rs->campos["idaula"]); + else + return(0); +} +/*________________________________________________________________________________________________________ + Inserta, modifica o elimina datos en la tabla ordenadores +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $grupoid; + global $idordenador; + global $nombreordenador; + global $ip; + global $mac; + global $idaula; + global $idperfilhard; + global $idrepositorio; + global $idmenu; + global $idprocedimiento; + global $cache; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + global $tablanodo; + + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idaula",$idaula,1); + $cmd->CreaParametro("@idordenador",$idordenador,1); + $cmd->CreaParametro("@nombreordenador",$nombreordenador,0); + $cmd->CreaParametro("@ip",$ip,0); + $cmd->CreaParametro("@mac",$mac,0); + $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); + $cmd->CreaParametro("@idrepositorio",$idrepositorio,1); + $cmd->CreaParametro("@idmenu",$idmenu,1); + $cmd->CreaParametro("@idprocedimiento",$idprocedimiento,1); + $cmd->CreaParametro("@cache",$cache,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,idperfilhard,idrepositorio, + idmenu,idproautoexec,idaula,grupoid,cache) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idrepositorio, + @idmenu,@idprocedimiento,@idaula,@grupoid,@cache)"; + + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idordenador=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_ordenadores($idordenador,$nombreordenador); + $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 ordenadores SET nombreordenador=@nombreordenador,ip=@ip,mac=@mac,idperfilhard=@idperfilhard, + idrepositorio=@idrepositorio,idmenu=@idmenu,idproautoexec=@idprocedimiento,cache=@cache + WHERE idordenador=@idordenador"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + break; + case $op_eliminacion : + $resul=EliminaOrdenadores($cmd,$idordenador,"idordenador");// Eliminación en cascada + break; + case $op_movida : + $cmd->texto="UPDATE ordenadores SET idaula=@idaula, grupoid=@grupoid WHERE idordenador=@idordenador"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_ordenadores($idordenador,$nombreordenador){ + global $LITAMBITO_ORDENADORES; + $cadenaXML='<ORDENADOR'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_ORDENADORES."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $cadenaXML.=' infonodo="'.$nombreordenador.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_ORDENADORES.'-'.$idordenador; + $cadenaXML.='></ORDENADOR>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_ordenadorestandar.php b/admin/WebConsole/gestores/gestor_ordenadorestandar.php new file mode 100644 index 00000000..ddefd72e --- /dev/null +++ b/admin/WebConsole/gestores/gestor_ordenadorestandar.php @@ -0,0 +1,136 @@ +<? +// ************************************************************************************************************************************************* +// 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_ordenadorestandar.php +// Descripción : +// Gestiona la actualización de los ordenadores de un aula a través de la plantilla +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +//________________________________________________________________________________________________________ +$idaula=0; +$nombreordenador=""; +$ip=""; +$mac=""; +$cache=0; +$idperfilhard=0; +$idservidordhcp=0; +$idservidorrembo=0; +$numorde=0; + +if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; +if (isset($_GET["nombreordenador"])) $nombreordenador=$_GET["nombreordenador"]; +if (isset($_GET["ip"])) $ip=$_GET["ip"]; +if (isset($_GET["mac"])) $mac=$_GET["mac"]; +if (isset($_GET["cache"])) $cache=$_GET["cache"]; +if (isset($_GET["idperfilhard"])) $idperfilhard=$_GET["idperfilhard"]; +if (isset($_GET["idservidordhcp"])) $idservidordhcp=$_GET["idservidordhcp"]; +if (isset($_GET["idservidorrembo"])) $idservidorrembo=$_GET["idservidorrembo"]; +if (isset($_GET["numorde"])) $numorde=$_GET["numorde"]; + +if(empty($cache)) $cache=0; + +$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> +<? +$literal="resultado_ordenadorestandar"; +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); + echo 'window.parent.'.$literal."(1,'".$cmd->DescripUltimoError()."');".chr(13); + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo " window.parent.".$literal."(0,'".$cmd->DescripUltimoError()."')"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function Gestiona(){ + global $cmd; + global $idaula; + global $nombreordenador; + global $ip; + global $mac; + global $cache; + global $idaula; + global $idperfilhard; + global $idservidordhcp; + global $idservidorrembo; + global $numorde; + + if($numorde>0){ + $auxIP=split("[.]",$ip); + $swip=false; + $litnwip=""; + $nwip=0; + if(isset($auxIP[3])){ + $nwip=$auxIP[3]; + if(empty($nwip)) $nwip=0; + $litnwip=$auxIP[0].".".$auxIP[1].".".$auxIP[2]."."; + $swip=true; + } + $swnom=false; + if(substr($nombreordenador,strlen($nombreordenador)-1,1)=="$"){ + $swnom=true; + $nombreordenador=substr($nombreordenador,0,strlen($nombreordenador)-1); + } + $cmd->CreaParametro("@grupoid",0,1); + $cmd->CreaParametro("@idaula",$idaula,1); + $cmd->CreaParametro("@nombreordenador",$nombreordenador,0); + $cmd->CreaParametro("@ip",$ip,0); + $cmd->CreaParametro("@mac",$mac,0); + $cmd->CreaParametro("@cache",$cache,1); + $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); + $cmd->CreaParametro("@idservidordhcp",$idservidordhcp,1); + $cmd->CreaParametro("@idservidorrembo",$idservidorrembo,1); + + for($i=0;$i<$numorde;$i++){ + if($swip) + $cmd->ParamSetValor("@ip",$litnwip.$nwip); + if($swnom && $swip) + $cmd->ParamSetValor("@nombreordenador",$nombreordenador.$nwip); + $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,cache,idperfilhard,idservidordhcp,idservidorrembo,idaula,grupoid,idconfiguracion) VALUES (@nombreordenador,@ip,@mac,@cache,@idperfilhard,@idservidordhcp,@idservidorrembo,@idaula,@grupoid,0)"; + if($swip) $nwip++; + $resul=$cmd->Ejecutar(); + if (!$resul) return(false); + } + } + else{ + $strsql="UPDATE ordenadores SET "; + if (!empty($nombreordenador)) $strsql.=" nombreordenador='".$nombreordenador."',"; + if (!empty($ip)) $strsql.=" ip='".$ip."',"; + if (!empty($mac)) $strsql.=" mac='".$mac."',"; + $strsql.=" cache='".$cache."',"; + if ($idperfilhard>0) $strsql.=" idperfilhard=".$idperfilhard.","; + if ($idservidordhcp>0) $strsql.=" idservidordhcp=".$idservidordhcp.","; + if ($idservidorrembo>0) $strsql.=" idservidorrembo=".$idservidorrembo.","; + $strsql=substr($strsql,0,strlen($strsql)-1); // Quita la coma final + $strsql.=" WHERE idaula=".$idaula; + $cmd->texto=$strsql; + $resul=$cmd->Ejecutar(); + } + return($resul); +} +?>z
\ No newline at end of file diff --git a/admin/WebConsole/gestores/gestor_perfilcomponente_hard.php b/admin/WebConsole/gestores/gestor_perfilcomponente_hard.php new file mode 100644 index 00000000..e4e5bdd2 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_perfilcomponente_hard.php @@ -0,0 +1,77 @@ +<? +// ************************************************************************************************************************************************* +// 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_perfilcomponente_hard.php +// Descripción : +// Gestiona el mantenimiento de la tabla de perfileshard_hardwares +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros +$idperfilhard=0; +$idhardware=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["idperfilhard"])) $idperfilhard=$_POST["idperfilhard"]; +if (isset($_POST["idhardware"])) $idhardware=$_POST["idhardware"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_perfilcomponente_hard"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_perfilcomponente_hard"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idhardware.");".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idhardware.");".chr(13); +} +else{ + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idhardware.")"; +} +// ************************************************************************************************************************************************* +function Gestiona(){ + global $cmd; + global $opcion; + global $idperfilhard; + global $idhardware; + global $urlimgth; + global $op_alta; + global $op_eliminacion; + + $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); + $cmd->CreaParametro("@idhardware",$idhardware,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO perfileshard_hardwares (idperfilhard,idhardware) VALUES (@idperfilhard,@idhardware)"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto='DELETE FROM perfileshard_hardwares WHERE idperfilhard='.$idperfilhard.' AND idhardware='.$idhardware; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_perfilcomponente_soft.php b/admin/WebConsole/gestores/gestor_perfilcomponente_soft.php new file mode 100644 index 00000000..389d5df2 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_perfilcomponente_soft.php @@ -0,0 +1,77 @@ +<? +// ************************************************************************************************************************************************* +// 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_perfilcomponente_soft.php +// Descripción : +// Gestiona el mantenimiento de la tabla de perfilessoft_softwares +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros +$idperfilsoft=0; +$idsoftware=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["idperfilsoft"])) $idperfilsoft=$_POST["idperfilsoft"]; +if (isset($_POST["idsoftware"])) $idsoftware=$_POST["idsoftware"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_perfilcomponente_soft"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_perfilcomponente_soft"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idsoftware.");".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idsoftware.");".chr(13); +} +else{ + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idsoftware.")"; +} +// ************************************************************************************************************************************************* +function Gestiona(){ + global $cmd; + global $opcion; + global $idperfilsoft; + global $idsoftware; + global $urlimgth; + global $op_alta; + global $op_eliminacion; + + $cmd->CreaParametro("@idperfilsoft",$idperfilsoft,1); + $cmd->CreaParametro("@idsoftware",$idsoftware,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO perfilessoft_softwares (idperfilsoft,idsoftware) VALUES (@idperfilsoft,@idsoftware)"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto='DELETE FROM perfilessoft_softwares WHERE idperfilsoft='.$idperfilsoft.' AND idsoftware='.$idsoftware; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_perfilhardwares.php b/admin/WebConsole/gestores/gestor_perfilhardwares.php new file mode 100644 index 00000000..ec932b6b --- /dev/null +++ b/admin/WebConsole/gestores/gestor_perfilhardwares.php @@ -0,0 +1,163 @@ +<? +// ************************************************************************************************************************************************* +// 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_perfilhardwares.php +// Descripción : +// Gestiona el mantenimiento de la tabla de perfileshard +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +include_once("./relaciones/perfileshard_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idperfilhard=0; +$descripcion=""; +$comentarios=""; +$grupoid=0; + +$urlimgth=""; // Url de la imagen del tipo de hardware al que pertenece el perfil + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idperfilhard"])) $idperfilhard=$_POST["idperfilhard"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["identificador"])) $idperfilhard=$_POST["identificador"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_perfilhardwares.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_perfilhardwares"; + break; + case $op_modificacion: + $literal="resultado_modificar_perfilhardwares"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_perfilhardwares"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; + } + +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idperfilhard.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idperfilhard.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla perfileshard +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $idperfilhard; + global $descripcion; + global $comentarios; + global $grupoid; + + global $urlimgth; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO perfileshard (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idperfilhard=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_perfileshard($idperfilhard,$descripcion); + $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 perfileshard SET descripcion=@descripcion,comentarios=@comentarios WHERE idperfilhard=@idperfilhard"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaPerfileshard($cmd,$idperfilhard,"idperfilhard"); + break; + case $op_movida : + $cmd->texto="UPDATE perfileshard SET grupoid=@grupoid WHERE idperfilhard=@idperfilhard"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_perfileshard($idperfilhard,$descripcion){ + global $LITAMBITO_PERFILESHARD; + $cadenaXML='<PERFILESHARDWARES '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/perfilhardware.gif"'; + $cadenaXML.=' infonodo="'.$descripcion.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PERFILESHARD.'-'.$idperfilhard; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PERFILESHARD."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</PERFILESHARDWARES>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_perfilsoftwares.php b/admin/WebConsole/gestores/gestor_perfilsoftwares.php new file mode 100644 index 00000000..a5155287 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_perfilsoftwares.php @@ -0,0 +1,159 @@ +<? +// ************************************************************************************************************************************************* +// 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_perfilsoftwares.php +// Descripción : +// Gestiona el mantenimiento de la tabla de perfilessoft +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +include_once("./relaciones/perfilessoft_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idperfilsoft=0; +$descripcion=""; +$comentarios=""; +$grupoid=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idperfilsoft"])) $idperfilsoft=$_POST["idperfilsoft"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["identificador"])) $idperfilsoft=$_POST["identificador"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_perfilsoftwares.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} + +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_perfilsoftwares"; + break; + case $op_modificacion: + $literal="resultado_modificar_perfilsoftwares"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_perfilsoftwares"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idperfilsoft.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idperfilsoft.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla perfilessoft +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $idperfilsoft; + global $descripcion; + global $comentarios; + global $grupoid; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idperfilsoft",$idperfilsoft,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO perfilessoft (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idperfilsoft=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_perfilessoft($idperfilsoft,$descripcion); + $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 perfilessoft SET descripcion=@descripcion,comentarios=@comentarios WHERE idperfilsoft=@idperfilsoft"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaPerfilessoft($cmd,$idperfilsoft,"idperfilsoft"); + break; + case $op_movida : + $cmd->texto="UPDATE perfilessoft SET grupoid=@grupoid WHERE idperfilsoft=@idperfilsoft"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_perfilessoft($idperfilsoft,$descripcion){ + global $LITAMBITO_PERFILESSOFT; + $cadenaXML='<PERFILESSOFTWARES '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/perfilsoftware.gif"'; + $cadenaXML.=' infonodo="' .$descripcion.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PERFILESSOFT.'-'.$idperfilsoft; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PERFILESSOFT."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</PERFILESSOFTWARES>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_procedimientos.php b/admin/WebConsole/gestores/gestor_procedimientos.php new file mode 100644 index 00000000..5e5d93c0 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_procedimientos.php @@ -0,0 +1,159 @@ +<? +// ************************************************************************************************************************************************* +// 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_procedimientos.php +// Descripción : +// Gestiona el mantenimiento de la tabla de procedimientos +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +include_once("./relaciones/procedimientos_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idprocedimiento=0; +$descripcion=""; +$grupoid=0; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idprocedimiento"])) $idprocedimiento=$_POST["idprocedimiento"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["identificador"])) $idprocedimiento=$_POST["identificador"]; + +$tablanodo=""; // Arbol para nodos insertados +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_procedimientos.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_procedimientos"; + break; + case $op_modificacion: + $literal="resultado_modificar_procedimientos"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_procedimientos"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; + } +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idprocedimiento.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idprocedimiento.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla procedimientos +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $EJECUCION_PROCEDIMIENTO; + global $cmd; + global $opcion; + + global $idcentro; + global $idprocedimiento; + global $descripcion; + global $grupoid; + global $comentarios; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idprocedimiento",$idprocedimiento,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO procedimientos (descripcion,comentarios,idcentro,grupoid) VALUES (@descripcion,@comentarios,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idprocedimiento=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_procedimientos($idprocedimiento,$descripcion); + $baseurlimg="../images/signos"; // Url de las procedimientos 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 procedimientos SET descripcion=@descripcion, comentarios=@comentarios WHERE idprocedimiento=@idprocedimiento"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaProcedimientos($cmd,$idprocedimiento,"idprocedimiento"); + break; + case $op_movida : + $cmd->texto="UPDATE procedimientos SET grupoid=@grupoid WHERE idprocedimiento=@idprocedimiento"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_procedimientos($idprocedimiento,$descripcion){ + global $LITAMBITO_PROCEDIMIENTOS; + $cadenaXML='<PROCEDIMIENTO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/procedimiento.gif"'; + $cadenaXML.=' infonodo="'.$descripcion.'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PROCEDIMIENTOS.'-'.$idprocedimiento; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PROCEDIMIENTOS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</PROCEDIMIENTO>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_procedimientoscomandos.php b/admin/WebConsole/gestores/gestor_procedimientoscomandos.php new file mode 100644 index 00000000..71eae65b --- /dev/null +++ b/admin/WebConsole/gestores/gestor_procedimientoscomandos.php @@ -0,0 +1,71 @@ +<? +// ************************************************************************************************************************************************* +// 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_procedimientoscomandos.php +// Descripción : +// Gestiona el mantenimiento de la tabla de procedimientos_comandos +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros +$idprocedimientocomando=0; +$orden=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["idprocedimientocomando"])) $idprocedimientocomando=$_POST["idprocedimientocomando"]; +if (isset($_POST["orden"])) $orden=$_POST["orden"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal=""; +switch($opcion){ + case $op_eliminacion : + $literal="resultado_eliminar_procedimientocomando"; + break; + case $op_modificacion : + $literal="resultado_modificar_procedimientocomando"; + break; + default: + break; +} +if ($resul){ + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idprocedimientocomando.");"; +} +else{ + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idprocedimientocomando.");"; +} +// ************************************************************************************************************************************************* +function Gestiona(){ + global $cmd; + global $opcion; + global $op_modificacion; + global $op_eliminacion; + global $idprocedimientocomando; + global$orden; + + $cmd->CreaParametro("@orden",$orden,1); + switch($opcion){ + case $op_modificacion : + $cmd->texto='UPDATE procedimientos_comandos set orden=@orden WHERE idprocedimientocomando='.$idprocedimientocomando; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto='DELETE FROM procedimientos_comandos WHERE idprocedimientocomando='.$idprocedimientocomando; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_programaciones.php b/admin/WebConsole/gestores/gestor_programaciones.php new file mode 100644 index 00000000..2fc91cb8 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_programaciones.php @@ -0,0 +1,210 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: gestor_programaciones.php +// Descripción : +// Gestiona las programaciones de tareas y trabajos +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/comunes.php"); +//________________________________________________________________________________________________________ +$op_alta=1; +$op_modificacion=2; +$op_eliminacion=3; +$op_suspension=4; + +$pswop=0; // opcion alta,modificación o eliminación +$pidprogramacion=0; // Identificador de la programación si se trata de mofdificación o eliminación +$pidentificador=0; // Identificador de la tarea o el trabajo que se está programando +$ptipoaccion=0; // Tipo de acción:tarea o trabajo +$pnombrebloque=""; // Nombre del bloque de programación +$pannos=""; // Valor hexadecimal que indica los años elegidos +$pmeses=""; // Valor hexadecimal que indica los meses elegidos +$pdiario=""; // Valor hexadecimal que indica los dias elegidos en modalidad simple ( un sólo mes ) +$pdias=""; // Valor hexadecimal que indica los días elegidos +$psemanas=""; // Valor hexadecimal que indica las semanas elegidas +$phoras=""; // Valor hexadecimal que indica las horas elegidas +$pampm=0; // Valor que indica la modalidad a.m.=0 p.m.= 1 +$pminutos=0; // Valor decimal que indica los minutos +$psegundos=0; // Valor decimal que indica los segundos +$phorasini=""; // Valor hexadecimal que indica las horas hasta elegidas +$pampmini=0; // Valor que indica la modalidad a.m.=0 p.m.= 1 hora hasta +$pminutosini=0; // Valor decimal que indica los minutos hasa +$phorasfin=""; // Valor hexadecimal que indica las horas hasta elegidas +$pampmfin=0; // Valor que indica la modalidad a.m.=0 p.m.= 1 hora hasta +$pminutosfin=0; // Valor decimal que indica los minutos hasa + +$wsw_sus=""; // programación suspendida +$psesion=0; // Sesión de un comando programado + +if (isset($_POST["wswop"])) $pswop=$_POST["wswop"]; +if (isset($_POST["widprogramacion"])) $pidprogramacion=$_POST["widprogramacion"]; +if (isset($_POST["widentificador"])) $pidentificador=$_POST["widentificador"]; +if (isset($_POST["wtipoaccion"])) $ptipoaccion=$_POST["wtipoaccion"]; +if (isset($_POST["wnombrebloque"])) $pnombrebloque=$_POST["wnombrebloque"]; +if (isset($_POST["wannos"])) $pannos=$_POST["wannos"]; +if (isset($_POST["wmeses"])) $pmeses=$_POST["wmeses"]; +if (isset($_POST["wdiario"])) $pdiario=$_POST["wdiario"]; +if (isset($_POST["wdias"])) $pdias=$_POST["wdias"]; +if (isset($_POST["wsemanas"])) $psemanas=$_POST["wsemanas"]; +if (isset($_POST["whoras"])) $phoras=$_POST["whoras"]; +if (isset($_POST["wampm"])) $pampm=$_POST["wampm"]; +if (isset($_POST["wminutos"])) $pminutos=$_POST["wminutos"]; +if (isset($_POST["wsegundos"])) $psegundos=$_POST["wsegundos"]; +if (isset($_POST["whorasini"])) $phorasini=$_POST["whorasini"]; +if (isset($_POST["wampmini"])) $pampmini=$_POST["wampmini"]; +if (isset($_POST["wminutosini"])) $pminutosini=$_POST["wminutosini"]; +if (isset($_POST["whorasfin"])) $phorasfin=$_POST["whorasfin"]; +if (isset($_POST["wampmfin"])) $pampmfin=$_POST["wampmfin"]; +if (isset($_POST["wminutosfin"])) $pminutosfin=$_POST["wminutosfin"]; + +if (isset($_POST["wsw_sus"])) $wsw_sus=$_POST["wsw_sus"]; +if (isset($_POST["wsesion"])) $psesion=$_POST["wsesion"]; + +if(empty($pminutos)) $pminutos=0; +if(empty($psegundos)) $psegundos=0; +if(empty($pminutosini)) $pminutosini=0; +if(empty($pminutosfin)) $pminutosfin=0; + +if($wsw_sus=='true') + $psw_sus=1; +else + $psw_sus=0 ; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($pswop!=$op_suspension){ + if (!$resul){ // Ha ocurrido algún error + $reporerr=$cmd->UltimoError(); + $repordes=$cmd->DescripUltimoError(); + echo "error_programacion()"; + } + else{ // programacion registrada correctamente + switch($pswop){ + case $op_modificacion : + $idr=$pidprogramacion; // Identificador de la programacion modificada + $swop=$op_modificacion; + break; + case $op_alta: + $idr=$pidprogramacion; // Identificador de la programacion nueva + $swop=$op_alta; + break; + case $op_eliminacion : + $idr=$pidprogramacion; // Identificador de la programacion eliminada + $swop=$op_eliminacion; + break; + default: + break; + } + echo 'registro_programacion('.$idr.',"'.$pnombrebloque.'",'.$swop.')'; + } +} +else{ + if (!$resul){ // Ha ocurrido algún error + $reporerr=0; + $repordes="Error al suspender la programación"; + echo 'error_programacion()'; + } + else{ // programacion registrada correctamente + echo 'resultado_suspender_programacion()'; + } +} +// *************************************************************************************************** +function Gestiona() +{ + global $cmd; + global $pswop; + global $pidprogramacion; + global $pidentificador; + global $ptipoaccion; + global $pnombrebloque; + global $pannos; + global $pmeses; + global $pdiario; + global $pdias; + global $psemanas; + global $phoras; + global $pampm; + global $pminutos; + global $psegundos; + global $phorasini; + global $pampmini; + global $pminutosini; + global $phorasfin; + global $pampmfin; + global $pminutosfin; + global $psw_sus; + global $psesion; + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_suspension; + + $cmd->CreaParametro("@idprogramacion",$pidprogramacion,1); + + $cmd->CreaParametro("@tipoaccion",$ptipoaccion,1); + $cmd->CreaParametro("@identificador",$pidentificador,1); + $cmd->CreaParametro("@nombrebloque",$pnombrebloque,0); + $cmd->CreaParametro("@annos",$pannos,1); + $cmd->CreaParametro("@meses",$pmeses,1); + $cmd->CreaParametro("@diario",$pdiario,1); + $cmd->CreaParametro("@dias",$pdias,1); + $cmd->CreaParametro("@semanas",$psemanas,1); + $cmd->CreaParametro("@horas",$phoras,1); + $cmd->CreaParametro("@ampm",$pampm,1); + $cmd->CreaParametro("@minutos",$pminutos,1); + $cmd->CreaParametro("@segundos",$psegundos,1); + $cmd->CreaParametro("@inihoras",$phorasini,1); + $cmd->CreaParametro("@iniampm",$pampmini,1); + $cmd->CreaParametro("@iniminutos",$pminutosini,1); + $cmd->CreaParametro("@finhoras",$phorasfin,1); + $cmd->CreaParametro("@finampm",$pampmfin,1); + $cmd->CreaParametro("@finminutos",$pminutosfin,1); + $cmd->CreaParametro("@suspendida",$psw_sus,1); + $cmd->CreaParametro("@sesion",$psesion,1); + switch($pswop){ + case $op_alta : + $cmd->texto="INSERT INTO programaciones(tipoaccion,identificador,nombrebloque,annos,meses,diario, + dias,semanas,horas,ampm,minutos,segundos,horasini,ampmini,minutosini,horasfin, + ampmfin,minutosfin,suspendida,sesion) + VALUES (@tipoaccion,@identificador,@nombrebloque,@annos,@meses,@diario,@dias, + @semanas,@horas,@ampm,@minutos,@segundos,@inihoras,@iniampm,@iniminutos,@finhoras, + @finampm,@finminutos,@suspendida,@sesion)"; + $resul=$cmd->Ejecutar(); + if($resul) + $pidprogramacion=$cmd->Autonumerico(); + break; + case $op_modificacion: + $cmd->texto="UPDATE programaciones SET nombrebloque=@nombrebloque,annos=@annos,meses=@meses,diario=@diario, + dias=@dias,semanas=@semanas,horas=@horas,ampm=@ampm,minutos=@minutos,segundos=@segundos, + horasini=@inihoras,ampmini=@iniampm,minutosini=@iniminutos,horasfin=@finhoras,ampmfin=@finampm, + minutosfin=@finminutos,suspendida=@suspendida WHERE idprogramacion=@idprogramacion"; + $cmd->Traduce(); + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto="DELETE FROM programaciones WHERE idprogramacion=".$pidprogramacion; + $resul=$cmd->Ejecutar(); + break; + case $op_suspension : + $cmd->texto="UPDATE programaciones SET suspendida=@suspendida + WHERE identificador=@identificador AND tipoaccion=@tipoaccion"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +?> + + diff --git a/admin/WebConsole/gestores/gestor_repositorios.php b/admin/WebConsole/gestores/gestor_repositorios.php new file mode 100644 index 00000000..c8eb14a2 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_repositorios.php @@ -0,0 +1,187 @@ +<? +// ****************************************************************************************************** +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creaciónn: Año 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: gestor_repositorios.php +// Descripción : +// Gestiona el mantenimiento de la tabla de repositorios +// ****************************************************************************************************** +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +include_once("./relaciones/repositorios_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idrepositorio=0; +$nombrerepositorio=""; +$ip=""; +$passguor=""; +$pathrepoconf=""; +$pathrepod=""; +$pathpxe=""; + +$grupoid=0; +$puertorepo=""; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["idrepositorio"])) $idrepositorio=$_POST["idrepositorio"]; +if (isset($_POST["identificador"])) $idrepositorio=$_POST["identificador"]; + +if (isset($_POST["nombrerepositorio"])) $nombrerepositorio=$_POST["nombrerepositorio"]; +if (isset($_POST["ip"])) $ip=$_POST["ip"]; +if (isset($_POST["passguor"])) $passguor=$_POST["passguor"]; +if (isset($_POST["pathrepoconf"])) $pathrepoconf=$_POST["pathrepoconf"]; +if (isset($_POST["pathrepod"])) $pathrepod=$_POST["pathrepod"]; +if (isset($_POST["pathpxe"])) $pathpxe=$_POST["pathpxe"]; +if (isset($_POST["puertorepo"])) $puertorepo=$_POST["puertorepo"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_repositorios.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} + +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_repositorios"; + break; + case $op_modificacion: + $literal="resultado_modificar_repositorios"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_repositorios"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idrepositorio.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombrerepositorio."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idrepositorio.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla repositorios +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $grupoid; + + global $idrepositorio; + global $nombrerepositorio; + global $ip; + global $passguor; + global $pathrepoconf; + global $pathrepod; + global $pathpxe; + global $puertorepo; + global $comentarios; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idcentro",$idcentro,1); + + $cmd->CreaParametro("@idrepositorio",$idrepositorio,1); + $cmd->CreaParametro("@nombrerepositorio",$nombrerepositorio,0); + $cmd->CreaParametro("@ip",$ip,0); + $cmd->CreaParametro("@passguor",$passguor,0); + $cmd->CreaParametro("@pathrepoconf",$pathrepoconf,0); + $cmd->CreaParametro("@pathrepod",$pathrepod,0); + $cmd->CreaParametro("@pathpxe",$pathpxe,0); + $cmd->CreaParametro("@puertorepo",$puertorepo,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO repositorios(idcentro,grupoid,nombrerepositorio,ip,passguor,pathrepoconf,pathrepod,pathpxe,puertorepo,comentarios) VALUES (@idcentro,@grupoid,@nombrerepositorio,@ip,@passguor,@pathrepoconf,@pathrepod,@pathpxe,@puertorepo,@comentarios)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la p�gina que llam� �sta + $idrepositorio=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_repositorios($idrepositorio,$nombrerepositorio); + $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 repositorios SET nombrerepositorio=@nombrerepositorio,ip=@ip,passguor=@passguor,pathrepoconf=@pathrepoconf,pathrepod=@pathrepod,pathpxe=@pathpxe,puertorepo=@puertorepo,comentarios=@comentarios WHERE idrepositorio=@idrepositorio"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=Eliminarepositorios($cmd,$idrepositorio,"idrepositorio"); + break; + case $op_movida : + $cmd->texto="UPDATE repositorios SET grupoid=@grupoid WHERE idrepositorio=@idrepositorio"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +//________________________________________________________________________________________________________ +// Crea un arbol XML para el nuevo grupo insertado +//________________________________________________________________________________________________________ +function SubarbolXML_repositorios($idrepositorio,$nombrerepositorio){ + global $LITAMBITO_REPOSITORIOS; + $cadenaXML='<REPOSITORIO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/repositorio.gif" '; + $cadenaXML.=' infonodo="'.$nombrerepositorio.'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_REPOSITORIOS."'" .')"'; + $cadenaXML.=' nodoid='.$LITAMBITO_REPOSITORIOS.'-'.$idrepositorio; + $cadenaXML.='>'; + $cadenaXML.='</REPOSITORIO>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_reservas.php b/admin/WebConsole/gestores/gestor_reservas.php new file mode 100644 index 00000000..5150a42b --- /dev/null +++ b/admin/WebConsole/gestores/gestor_reservas.php @@ -0,0 +1,200 @@ +<? +// ************************************************************************************************************************************************* +// 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_reservas.php +// Descripción : +// Gestiona el mantenimiento de la tabla de reservas +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +include_once("./relaciones/reservas_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idreserva=0; +$descripcion=""; +$grupoid=0; +$solicitante=""; +$email=""; +$idestatus=0; +$idaula=0; +$idimagen=0; +$idtarea=0; +$idtrabajo=0; +$estado=0; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idreserva"])) $idreserva=$_POST["idreserva"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["solicitante"])) $solicitante=$_POST["solicitante"]; +if (isset($_POST["email"])) $email=$_POST["email"]; +if (isset($_POST["idestatus"])) $idestatus=$_POST["idestatus"]; +if (isset($_POST["idaula"])) $idaula=$_POST["idaula"]; +if (isset($_POST["idimagen"])) $idimagen=$_POST["idimagen"]; +if (isset($_POST["idtarea"])) $idtarea=$_POST["idtarea"]; +if (isset($_POST["idtrabajo"])) $idtrabajo=$_POST["idtrabajo"]; +if (isset($_POST["estado"])) $estado=$_POST["estado"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["identificador"])) $idreserva=$_POST["identificador"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_reservas.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_reservas"; + break; + case $op_modificacion: + $literal="resultado_modificar_reservas"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_reservas"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + default: + break; +} +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idreserva.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idreserva.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla reservas +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $idreserva; + global $descripcion; + global $grupoid; + global $solicitante; + global $email; + global $idestatus; + global $idaula; + global $idimagen; + global $idtarea; + global $idtrabajo; + global $estado; + global $comentarios; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + + $cmd->CreaParametro("@idreserva",$idreserva,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@solicitante",$solicitante,0); + $cmd->CreaParametro("@email",$email,0); + $cmd->CreaParametro("@idestatus",$idestatus,1); + $cmd->CreaParametro("@idaula",$idaula,1); + $cmd->CreaParametro("@idimagen",$idimagen,1); + $cmd->CreaParametro("@idtarea",$idtarea,1); + $cmd->CreaParametro("@idtrabajo",$idtrabajo,1); + $cmd->CreaParametro("@estado",$estado,1); + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO reservas (descripcion,solicitante,email,idestatus,idaula,idimagen,idtarea,idtrabajo,estado,comentarios,idcentro,grupoid) VALUES (@descripcion,@solicitante,@email,@idestatus,@idaula,@idimagen,@idtarea,@idtrabajo,@estado,@comentarios,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idreserva=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_reservas($idreserva,$descripcion,$estado); + $baseurlimg="../images/signos"; // Url de las reservas 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 reservas SET descripcion=@descripcion,solicitante=@solicitante, email=@email,idestatus=@idestatus,idaula=@idaula,idimagen=@idimagen,idtarea=@idtarea,idtrabajo=@idtrabajo,estado=@estado,comentarios=@comentarios WHERE idreserva=@idreserva"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaReservas($cmd,$idreserva,"idreserva");// Eliminación en cascada + break; + case $op_movida : + $cmd->texto="UPDATE reservas SET grupoid=@grupoid WHERE idreserva=@idreserva"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_reservas($idreserva,$descripcion,$estado){ + global $LITAMBITO_RESERVAS; + global $RESERVA_CONFIRMADA; + global $RESERVA_PENDIENTE; + global $RESERVA_DENEGADA; + + $tbimg[$RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif'; + $tbimg[$RESERVA_PENDIENTE]='../images/iconos/pendientes.gif'; + $tbimg[$RESERVA_DENEGADA]='../images/iconos/denegadas.gif'; + + $cadenaXML='<RESERVA'; + // Atributos + $cadenaXML.=' imagenodo="'.$tbimg[$estado].'"'; + $cadenaXML.=' infonodo="'.$descripcion.'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_RESERVAS."'" .')"'; + $cadenaXML.=' nodoid='.$LITAMBITO_RESERVAS.'-'.$idreserva; + $cadenaXML.='>'; + $cadenaXML.='</RESERVA>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_tareas.php b/admin/WebConsole/gestores/gestor_tareas.php new file mode 100644 index 00000000..d13e7259 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_tareas.php @@ -0,0 +1,312 @@ +<? +// ************************************************************************************************************************************************* +// 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_tareas.php +// Descripción : +// Gestiona el mantenimiento de la tabla de tareas +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/SockHidra.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +include_once("../includes/opciones.php"); +include_once("./relaciones/tareas_eliminacion.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idtarea=0; +$descripcion=""; +$comentarios=""; +$ambito=""; +$idambito=""; + + +$grupoid=0; +$swc=0; // switch de cliente, esta pagina la llama el cliente a través del browser + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idtarea"])) $idtarea=$_POST["idtarea"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["grupoid"])) $grupoid=$_POST["grupoid"]; +if (isset($_POST["identificador"])) $idtarea=$_POST["identificador"]; +if (isset($_POST["swc"])) $swc=$_POST["swc"]; + +$tablanodo=""; // Arbol para nodos insertados + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} + +$literal=""; +switch($opcion){ + case $op_alta : + $literal="resultado_insertar_tareas"; + break; + case $op_modificacion: + $literal="resultado_modificar_tareas"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_tareas"; + break; + case $op_movida : + $literal="resultado_mover"; + break; + case $op_ejecucion : + $literal="resultado_ejecutar_tareas"; + break; + default: + break; +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_tareas.js"></SCRIPT>'; + echo '<p><span style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</span></p>'; + if ($resul){ + if(empty($swc)){ + 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()." ',".$idtarea.",o.innerHTML);".chr(13); + else{ + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); + } + echo '</SCRIPT>'; + } + else{ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'alert("El item se ha ejecutado correctamente");'.chr(13); + echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13); + echo '</SCRIPT>'; + } + } + else{ + if(empty($swc)){ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idtarea.")"; + echo '</SCRIPT>'; + } + else{ + echo '<SCRIPT language="javascript">'.chr(13); + echo 'alert("***ATENCIÓN:El item NO se ha podido ejecutar");'.chr(13); + echo 'location.href="../varios/menucliente.php?iph='.$_SESSION["ogCliente"].'";'.chr(13); + echo '</SCRIPT>'; + } + } + echo '</BODY>'; + echo '</HTML>'; +} +else{ + if ($resul) + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); + else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idtarea.")"; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla tareas +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $EJECUCION_TAREA; + + global $cmd; + global $opcion; + + global $idcentro; + global $idtarea; + global $descripcion; + global $comentarios; + global $ambito; + global $idambito; + global $grupoid; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + global $op_ejecucion; + + global $tablanodo; + + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@idtarea",$idtarea,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + $cmd->CreaParametro("@ambito",$ambito,1); + $cmd->CreaParametro("@idambito",$idambito,1); + $cmd->CreaParametro("@grupoid",$grupoid,1); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO tareas (descripcion,comentarios,ambito,idambito,idcentro,grupoid) + VALUES (@descripcion,@comentarios,@ambito,@idambito,@idcentro,@grupoid)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idtarea=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_tareas($idtarea,$descripcion,""); + $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 tareas SET descripcion=@descripcion,comentarios=@comentarios, + ambito=@ambito,idambito=@idambito + WHERE idtarea=@idtarea"; + $resul=$cmd->Ejecutar(); + //echo $cmd->texto; + break; + case $op_eliminacion : + $resul=EliminaTareas($cmd,$idtarea,"idtarea"); + break; + case $op_movida : + $cmd->texto="UPDATE tareas SET grupoid=@grupoid WHERE idtarea=@idtarea"; + $resul=$cmd->Ejecutar(); + break; + case $op_ejecucion : + $resul=EjecutandoTareas(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_tareas($idtarea,$descripcion,$urlimg){ + global $LITAMBITO_TAREAS; + $cadenaXML='<TAREA'; + // Atributos` + if ($urlimg!="") + $cadenaXML.=' imagenodo="'.$urlimg; + else + $cadenaXML.=' imagenodo="../images/iconos/tareas.gif"'; + $cadenaXML.=' infonodo="'.$descripcion; + $cadenaXML.=' nodoid='.$LITAMBITO_TAREAS.'-'.$idtarea; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TAREAS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</TAREA>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function EjecutandoTareas(){ + + global $EJECUCION_COMANDO; + global $EJECUCION_TAREA; + global $PROCESOS; + global $ACCION_INICIADA; + global $ACCION_SINERRORES; + global $idcentro; + global $servidorhidra; + global $hidraport; + global $idtarea; + global $cmd; + + $shidra=new SockHidra($servidorhidra,$hidraport); + + $ambitarea=""; + $paramtarea="cmd="; + + $tbComandos=""; + $tabla_comandos=""; + $cont_comandos=0; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM tareas_comandos WHERE idtarea=".$idtarea; + $cmd->texto.=" ORDER by tareas_comandos.orden"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + // Recorre tareas-comandos + while (!$rs->EOF){ + $tbComandos["idcomando"]=$rs->campos["idcomando"]; + $tbComandos["ambito"]=$rs->campos["ambito"]; + $tbComandos["idambito"]=$rs->campos["idambito"]; + $tbComandos["parametros"]=$rs->campos["parametros"]; + $tbComandos["idnotificador"]=$rs->campos["idtareacomando"]; + $tabla_comandos[$cont_comandos]=$tbComandos; + $cont_comandos++; + + $ambitarea.=$rs->campos["ambito"].":".$rs->campos["idambito"].";"; + $paramtarea.=$rs->campos["idtareacomando"].";"; + + $rs->Siguiente(); + } + $rs->Cerrar(); + + $ambitarea=substr($ambitarea,0,strlen($ambitarea)-1); // Quita la coma final + $paramtarea=substr($paramtarea,0,strlen($paramtarea)-1); // Quita la coma final + + //Creación parametros para inserción + $cmd->CreaParametro("@tipoaccion","",1); + $cmd->CreaParametro("@idtipoaccion",0,1); + $cmd->CreaParametro("@cateaccion",$PROCESOS,1); + $cmd->CreaParametro("@ambito",0,1); + $cmd->CreaParametro("@idambito",0,1); + $cmd->CreaParametro("@ambitskwrk","",0); + $cmd->CreaParametro("@fechahorareg","",0); + $cmd->CreaParametro("@estado",$ACCION_INICIADA,0); + $cmd->CreaParametro("@resultado",$ACCION_SINRESULTADO,0); + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@parametros","",0); + $cmd->CreaParametro("@accionid",0,1); + $cmd->CreaParametro("@idnotificador",0,1); + + // Insertar accion:tarea -------------------------------------------------------------------- + $cmd->ParamSetValor("@tipoaccion",$EJECUCION_TAREA); + $cmd->ParamSetValor("@idtipoaccion",$idtarea); + $cmd->ParamSetValor("@ambito",0); + $cmd->ParamSetValor("@idambito",0); + $cmd->ParamSetValor("@ambitskwrk",$ambitarea); + $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s")); + $cmd->ParamSetValor("@parametros",$paramtarea); + $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,0,0)"; + $resul=$cmd->Ejecutar(); + if(!$resul) return(false); + + $accionid=$cmd->Autonumerico(); // Toma identificador dela acción + + // Insertar acciones:comandos + $shidra=new SockHidra($servidorhidra,$hidraport); + for ($i=0;$i<$cont_comandos;$i++){ + $tbComandos=$tabla_comandos[$i]; + $cmd->ParamSetValor("@tipoaccion",$EJECUCION_COMANDO); + $cmd->ParamSetValor("@idtipoaccion",$tbComandos["idcomando"]); + $cmd->ParamSetValor("@ambito",$tbComandos["ambito"]); + $cmd->ParamSetValor("@idambito",$tbComandos["idambito"]); + $cmd->ParamSetValor("@ambitskwrk",""); + $cmd->ParamSetValor("@fechahorareg",date("d/m/y H:i:s")); + $cmd->ParamSetValor("@parametros",$tbComandos["parametros"]); + $cmd->ParamSetValor("@accionid",$accionid); + $cmd->ParamSetValor("@idnotificador",$tbComandos["idnotificador"]); + $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,@accionid,@idnotificador)"; + $resul=$cmd->Ejecutar(); + if(!$resul) return(false); + $tbComandos["parametros"].="ids=".$cmd->Autonumerico().chr(13); + + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $shidra->envia_comando($tbComandos["parametros"]); + $shidra->desconectar(); + } + } + return(true); +} +?> diff --git a/admin/WebConsole/gestores/gestor_tareascomandos.php b/admin/WebConsole/gestores/gestor_tareascomandos.php new file mode 100644 index 00000000..3064728b --- /dev/null +++ b/admin/WebConsole/gestores/gestor_tareascomandos.php @@ -0,0 +1,122 @@ +<? +// ************************************************************************************************************************************************* +// 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_tareascomandos.php +// Descripción : +// Gestiona el mantenimiento de la tabla de tareas_comandos +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +include_once("../clases/SockHidra.php"); +include_once("../includes/constantes.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros +$idtareacomando=0; +$orden=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros +if (isset($_POST["idtareacomando"])) $idtareacomando=$_POST["idtareacomando"]; +if (isset($_POST["orden"])) $orden=$_POST["orden"]; + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +$literal=""; +switch($opcion){ + case $op_eliminacion : + $literal="resultado_eliminar_tareacomando"; + break; + case $op_modificacion : + $literal="resultado_modificar_tareacomando"; + break; + case $op_ejecucion : + $literal="resultado_ejecutar_tareacomando"; + break; + default: + break; +} +if ($resul){ + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idtareacomando.");".chr(13); +} +else{ + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idtareacomando.")"; +} +// ************************************************************************************************************************************************* +function Gestiona(){ + global $cmd; + global $opcion; + global $op_modificacion; + global $op_eliminacion; + global $op_ejecucion; + global $EJECUCION_COMANDO; + global $PROCESOS; + global $ACCION_INICIADA; + global $ACCION_SINERRORES; + global $servidorhidra; + global $hidraport; + global $idcentro; + global $idtareacomando; + global $orden; + + $cmd->CreaParametro("@orden",$orden,1); + + switch($opcion){ + case $op_modificacion : + $cmd->texto='UPDATE tareas_comandos set orden=@orden WHERE idtareacomando='.$idtareacomando; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto='DELETE FROM tareas_comandos WHERE idtareacomando='.$idtareacomando; + $resul=$cmd->Ejecutar(); + break; + case $op_ejecucion : + $nombreliterales[0]="idcomando"; + $nombreliterales[1]="ambito"; + $nombreliterales[2]="idambito"; + $nombreliterales[3]="parametros"; + $Datos=TomanDatos($cmd,"tareas_comandos",$idtareacomando,"idtareacomando",$nombreliterales); + if(empty($Datos)) return(false); + + $idtipoaccion=$Datos["idcomando"]; + $ambito=$Datos["ambito"]; + $idambito=$Datos["idambito"]; + $parametros=$Datos["parametros"]; + + $resul=true; + + $cmd->CreaParametro("@tipoaccion",$EJECUCION_COMANDO,1); + $cmd->CreaParametro("@idtipoaccion",$idtipoaccion,1); + $cmd->CreaParametro("@cateaccion",$PROCESOS,1); + $cmd->CreaParametro("@ambito",$ambito,1); + $cmd->CreaParametro("@idambito",$idambito,1); + $cmd->CreaParametro("@ambitskwrk","",0); + $cmd->CreaParametro("@fechahorareg",date("y/m/d H:i:s"),0); + $cmd->CreaParametro("@estado",$ACCION_INICIADA,0); + $cmd->CreaParametro("@resultado",$ACCION_SINRESULTADO,0); + $cmd->CreaParametro("@idcentro",$idcentro,1); + $cmd->CreaParametro("@parametros",$parametros,0); + $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,ambitskwrk,fechahorareg,estado,resultado,idcentro,parametros,accionid) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@ambitskwrk,@fechahorareg,@estado,@resultado,@idcentro,@parametros,0)"; + $resul=$cmd->Ejecutar(); + if($resul){ + $parametros.="ids=".$cmd->Autonumerico().chr(13); + } + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $shidra->envia_comando($parametros); + $shidra->desconectar(); + } + break; + default: + break; + } + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/gestor_tipohardwares.php b/admin/WebConsole/gestores/gestor_tipohardwares.php new file mode 100644 index 00000000..a48757d2 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_tipohardwares.php @@ -0,0 +1,150 @@ +<? +// ************************************************************************************************************************************************* +// 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_tipohardwares.php +// Descripción : +// Gestiona el mantenimiento de la tabla de tipohardwares +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.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("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$idtipohardware=0; +$descripcion=""; +$urlimg=""; +$urlicono=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["idtipohardware"])) $idtipohardware=$_POST["idtipohardware"]; +if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; +if (isset($_POST["urlicono"])) $urlicono=$_POST["urlicono"]; + +if(empty($urlicono)) + $urlimg="../images/iconos/confihard.gif"; +else + $urlimg="../images/iconos/".$urlicono; + +$tablanodo=""; // Arbol para nodos insertados +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$resul=false; +if ($cmd){ + $resul=Gestiona(); + $cmd->Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo '<HTML>'; + echo '<HEAD>'; + echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">'; + echo '<BODY>'; + echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>'; + echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_tipohardwares.js"></SCRIPT>'; + echo '<SCRIPT language="javascript">'.chr(13); + if ($resul){ + echo 'var oHTML'.chr(13); + echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13); + echo 'o=cTBODY.item(1);'.chr(13); + } +} + $literal=""; + switch($opcion){ + case $op_alta : + $literal="resultado_insertar_tipohardwares"; + break; + case $op_modificacion: + $literal="resultado_modificar_tipohardwares"; + break; + case $op_eliminacion : + $literal="resultado_eliminar_tipohardwares"; + break; + default: + break; + } +if ($resul){ + if ($opcion==$op_alta ) + echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idtipohardware.",o.innerHTML);".chr(13); + else + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$descripcion."');".chr(13); +} +else + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idtipohardware.")"; + +if($opcion!=$op_movida){ + echo ' </SCRIPT>'; + echo '</BODY> '; + echo '</HTML>'; +} +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla tipohardwares +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idtipohardware; + global $descripcion; + global $urlimg; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $tablanodo; + + $cmd->CreaParametro("@idtipohardware",$idtipohardware,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + $cmd->CreaParametro("@urlimg",$urlimg,0); + + switch($opcion){ + case $op_alta : + $cmd->texto="INSERT INTO tipohardwares(descripcion,urlimg) VALUES (@descripcion,@urlimg)"; + $resul=$cmd->Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idtipohardware=$cmd->Autonumerico(); + $arbolXML=SubarbolXML_tipohardwares($idtipohardware,$descripcion,$urlimg); + $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 tipohardwares SET descripcion=@descripcion,urlimg=@urlimg WHERE idtipohardware=@idtipohardware"; + $resul=$cmd->Ejecutar(); + break; + case $op_eliminacion : + $cmd->texto="DELETE FROM tipohardwares WHERE idtipohardware=".$idtipohardware; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_tipohardwares($idtipohardware,$descripcion,$urlimg){ + global $LITAMBITO_TIPOHARDWARES; + $cadenaXML.='<TIPOHARDWARES'; + // Atributos + if ($urlimg) + $cadenaXML.=' imagenodo='.$urlimg; + else + $cadenaXML.=' imagenodo="../images/iconos/confihard.gif"'; + $cadenaXML.=' infonodo="'.$descripcion.'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TIPOHARDWARES."'" .')"'; + $cadenaXML.=' nodoid='.$LITAMBITO_TIPOHARDWARES.'-'.$idtipohardware; + $cadenaXML.='>'; + $cadenaXML.='</TIPOHARDWARES>'; + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/gestores/gestor_universidades.php b/admin/WebConsole/gestores/gestor_universidades.php new file mode 100644 index 00000000..21f883d5 --- /dev/null +++ b/admin/WebConsole/gestores/gestor_universidades.php @@ -0,0 +1,97 @@ +<? +// ************************************************************************************************************************************************* +// 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_universidades.php +// Descripción : +// Gestiona el mantenimiento de la tabla de iduniversidades +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/opciones.php"); +//________________________________________________________________________________________________________ +$opcion=0; // Inicializa parametros + +$iduniversidad=0; +$nombreuniversidad=""; +$comentarios=""; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros + +if (isset($_POST["iduniversidad"])) $iduniversidad=$_POST["iduniversidad"]; +if (isset($_POST["nombreuniversidad"])) $nombreuniversidad=$_POST["nombreuniversidad"]; +if (isset($_POST["comentarios"])) $comentarios=$_POST["comentarios"]; +if (isset($_POST["identificador"])) $iduniversidad=$_POST["identificador"]; + +$iduniversidad=1; + +$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_universidades.js"></SCRIPT> +<? + $literal=""; + switch($opcion){ + case $op_modificacion: + $literal="resultado_modificar_universidades"; + break; + default: + break; + } +if ($resul){ + echo '<SCRIPT language="javascript">'.chr(13); + echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombreuniversidad."');".chr(13); + echo '</SCRIPT>'; +} +else{ + echo '<SCRIPT language="javascript">'; + echo $literal."(0,'".$cmd->DescripUltimoError()."',".$iduniversidad.")"; + echo '</SCRIPT>'; +} +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Inserta, modifica o elimina datos en la tabla iduniversidades +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + + global $idcentro; + global $iduniversidad; + global $nombreuniversidad; + global $comentarios; + + global $op_modificacion; + + $cmd->CreaParametro("@iduniversidad",$iduniversidad,1); + $cmd->CreaParametro("@nombreuniversidad",$nombreuniversidad,0); + $cmd->CreaParametro("@comentarios",$comentarios,0); + + switch($opcion){ + case $op_modificacion: + $cmd->texto="UPDATE universidades SET nombreuniversidad=@nombreuniversidad,comentarios=@comentarios WHERE iduniversidad=@iduniversidad"; + $resul=$cmd->Ejecutar(); + break; + default: + break; + } + return($resul); +} +?> 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); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/aulas_eliminacion.php b/admin/WebConsole/gestores/relaciones/aulas_eliminacion.php new file mode 100644 index 00000000..a9d2bc10 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/aulas_eliminacion.php @@ -0,0 +1,43 @@ +<? +// ************************************************************************************************************************************************* +// 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: aulas_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla aulas +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el aula +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaAulas($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idaula,nombreaula FROM aulas WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $resul=EliminaGruposOrdenadores($cmd,$rs->campos["idaula"],"idaula"); + if ($resul) + $resul=EliminaOrdenadores($cmd,$rs->campos["idaula"],"idaula"); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM aulas WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM aulas WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/centros_eliminacion.php b/admin/WebConsole/gestores/relaciones/centros_eliminacion.php new file mode 100644 index 00000000..aad93185 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/centros_eliminacion.php @@ -0,0 +1,41 @@ +<? +// ************************************************************************************************************************************************* +// 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: centros_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla centros +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el centro +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaCentros($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idcentro FROM centros WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idcentro FROM centros WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $resul=EliminaAulas($cmd,$rs->campos["idcentro"],"idcentro"); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM centros WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM centros WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/entidades_eliminacion.php b/admin/WebConsole/gestores/relaciones/entidades_eliminacion.php new file mode 100644 index 00000000..41b279e5 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/entidades_eliminacion.php @@ -0,0 +1,41 @@ +<? +// ************************************************************************************************************************************************* +// 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: entidades_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla entidades +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el entidad +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaEntidad($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT identidad FROM entidades WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT identidad FROM entidades WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $resul=EliminaCentros($cmd,$rs->campos["identidad"],"identidad"); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM entidades WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM entidades WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/gruposordenadores_eliminacion.php b/admin/WebConsole/gestores/relaciones/gruposordenadores_eliminacion.php new file mode 100644 index 00000000..dad01a95 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/gruposordenadores_eliminacion.php @@ -0,0 +1,44 @@ +<? +// ************************************************************************************************************************************************* +// 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: gruposordenadores_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla gruposordenadores +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el grupo de ordenadores +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaGruposOrdenadores($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idgrupo FROM gruposordenadores WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idgrupo FROM gruposordenadores WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $resul=EliminaGruposOrdenadores($cmd,$rs->campos["idgrupo"],"grupoid"); + if ($resul) + $resul=EliminaOrdenadores($cmd,$rs->campos["idgrupo"],"grupoid"); + + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM gruposordenadores WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM gruposordenadores WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/hardwares_eliminacion.php b/admin/WebConsole/gestores/relaciones/hardwares_eliminacion.php new file mode 100644 index 00000000..802df7f6 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/hardwares_eliminacion.php @@ -0,0 +1,42 @@ +<? +// ************************************************************************************************************************************************* +// 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: hardwares_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla hardwares +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el hardware +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaHardwares($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idhardware FROM hardwares WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idhardware FROM hardwares WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM perfileshard_hardwares WHERE idhardware=".$rs->campos["idhardware"];; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM hardwares WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM hardwares WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/imagenes_eliminacion.php b/admin/WebConsole/gestores/relaciones/imagenes_eliminacion.php new file mode 100644 index 00000000..85b4c1a7 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/imagenes_eliminacion.php @@ -0,0 +1,43 @@ +<? +// ************************************************************************************************************************************************* +// 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: imagenes_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla imagenes +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará la imagen +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaImagenes($cmd,$identificador,$nombreid,$swid=1){ + global $EJECUCION_TAREA; + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idimagen FROM imagenes WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idimagen FROM imagenes WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="UPDATE ordenadores_particiones SET idimagen=0 WHERE idimagen=".$rs->campos["idimagen"]; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM imagenes WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM imagenes WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/incrementales_eliminacion.php b/admin/WebConsole/gestores/relaciones/incrementales_eliminacion.php new file mode 100644 index 00000000..eeb35cec --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/incrementales_eliminacion.php @@ -0,0 +1,46 @@ +<? +// ************************************************************************************************************************************************* +// 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: incrementales_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla softincrementales +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el software incremental +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaSoftincremental($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idsoftincremental FROM softincrementales WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idsoftincremental FROM softincrementales WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM softincremental_softwares WHERE idsoftincremental=".$rs->campos["idsoftincremental"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM imagenes_softincremental WHERE idsoftincremental=".$rs->campos["idsoftincremental"]; + $resul=$cmd->Ejecutar(); + } + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM softincrementales WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM softincrementales WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/menus_eliminacion.php b/admin/WebConsole/gestores/relaciones/menus_eliminacion.php new file mode 100644 index 00000000..dcefc7cf --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/menus_eliminacion.php @@ -0,0 +1,43 @@ +<? +// ************************************************************************************************************************************************* +// 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: menus_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla menus +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el menu +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaMenus($cmd,$identificador,$nombreid,$swid=1){ + global $EJECUCION_PROCEDIMIENTO; + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idmenu FROM menus WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idmenu FROM menus WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="UPDATE ordenadores SET idmenu=0 where idmenu=".$rs->campos["idmenu"];; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM menus WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM menus WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/ordenadores_eliminacion.php b/admin/WebConsole/gestores/relaciones/ordenadores_eliminacion.php new file mode 100644 index 00000000..0f2415b8 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/ordenadores_eliminacion.php @@ -0,0 +1,44 @@ +<? +// ************************************************************************************************************************************************* +// 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: ordenadores_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla ordenadores +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el ordenador +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) +//************************************************************************************************************************************************* +function EliminaOrdenadores($cmd,$identificador,$nombreid,$swid=1) +{ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idordenador FROM ordenadores WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idordenador FROM ordenadores WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM ordenadores_particiones WHERE idordenador=".$rs->campos["idordenador"]; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM ordenadores WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM ordenadores WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/perfileshard_eliminacion.php b/admin/WebConsole/gestores/relaciones/perfileshard_eliminacion.php new file mode 100644 index 00000000..254a2637 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/perfileshard_eliminacion.php @@ -0,0 +1,47 @@ +<? +// ************************************************************************************************************************************************* +// 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: perfileshard_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla perfileshard +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el el perfil hardware +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) +//************************************************************************************************************************************************* +function EliminaPerfileshard($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idperfilhard FROM perfileshard WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idperfilhard FROM perfileshard WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="UPDATE ordenadores SET idperfilhard=0 WHERE idperfilhard=".$rs->campos["idperfilhard"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM perfileshard_hardwares WHERE idperfilhard=".$rs->campos["idperfilhard"]; + $resul=$cmd->Ejecutar(); + } + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM perfileshard WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM perfileshard WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/perfilessoft_eliminacion.php b/admin/WebConsole/gestores/relaciones/perfilessoft_eliminacion.php new file mode 100644 index 00000000..4cb87efe --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/perfilessoft_eliminacion.php @@ -0,0 +1,46 @@ +<? +// ************************************************************************************************************************************************* +// 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: perfilessoft_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla perfilessoft +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el el perfil software +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaPerfilessoft($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idperfilsoft FROM perfilessoft WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idperfilsoft FROM perfilessoft WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="UPDATE imagenes SET idperfilsoft=0 WHERE idperfilsoft=".$rs->campos["idperfilsoft"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM perfileshard_perfilessoft WHERE idperfilsoft=".$rs->campos["idperfilsoft"]; + $resul=$cmd->Ejecutar(); + } + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM perfilessoft WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM perfilessoft WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/procedimientos_eliminacion.php b/admin/WebConsole/gestores/relaciones/procedimientos_eliminacion.php new file mode 100644 index 00000000..a1a65019 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/procedimientos_eliminacion.php @@ -0,0 +1,51 @@ +<? +// ************************************************************************************************************************************************* +// 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: procedimientos_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla procedimientos +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el procedimiento +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaProcedimientos($cmd,$identificador,$nombreid,$swid=1){ + global $EJECUCION_PROCEDIMIENTO; + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idprocedimiento FROM procedimientos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idprocedimiento FROM procedimientos WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM acciones_menus WHERE tipoaccion=".$EJECUCION_PROCEDIMIENTO." AND idtipoaccion=".$rs->campos["idprocedimiento"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM procedimientos_acciones WHERE idprocedimiento=".$rs->campos["idprocedimiento"]; + $resul=$cmd->Ejecutar(); + } + if ($resul){ + $cmd->texto="DELETE FROM tareas_acciones WHERE idprocedimiento=".$rs->campos["idprocedimiento"]; + $resul=$cmd->Ejecutar(); + } + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM procedimientos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM procedimientos WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/repositorios_eliminacion.php b/admin/WebConsole/gestores/relaciones/repositorios_eliminacion.php new file mode 100644 index 00000000..69137a3b --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/repositorios_eliminacion.php @@ -0,0 +1,43 @@ +<? +// ************************************************************************************************************************************************* +// 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: repositorios_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla repositorios +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el repositorio +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) +// ************************************************************************************************************************************************* +function Eliminarepositorios($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idrepositorio FROM repositorios WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idrepositorio FROM repositorios WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="UPDATE ordenadores SET idrepositorio=0 WHERE idrepositorio=".$rs->campos["idrepositorio"]; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM repositorios WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM repositorios WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/reservas_eliminacion.php b/admin/WebConsole/gestores/relaciones/reservas_eliminacion.php new file mode 100644 index 00000000..46ea627d --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/reservas_eliminacion.php @@ -0,0 +1,43 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: reservas_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla reservas +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará la reserva +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaReservas($cmd,$identificador,$nombreid,$swid=1){ + global $EJECUCION_RESERVA; + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idreserva FROM reservas WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idreserva FROM reservas WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM programaciones WHERE identificador=".$rs->campos["idreserva"]." AND tipoaccion=".$EJECUCION_RESERVA; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM reservas WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM reservas WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/softwares_eliminacion.php b/admin/WebConsole/gestores/relaciones/softwares_eliminacion.php new file mode 100644 index 00000000..6f254a61 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/softwares_eliminacion.php @@ -0,0 +1,42 @@ +<? +// ************************************************************************************************************************************************* +// 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: softwares_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla softwares +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el software +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaSoftwares($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idsoftware FROM softwares WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idsoftware FROM softwares WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM perfilessoft_softwares WHERE idsoftware=".$rs->campos["idsoftware"]; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM softwares WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM softwares WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/tareas_eliminacion.php b/admin/WebConsole/gestores/relaciones/tareas_eliminacion.php new file mode 100644 index 00000000..02277721 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/tareas_eliminacion.php @@ -0,0 +1,52 @@ +<? +// ************************************************************************************************************************************************* +// 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: tareas_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla tareas +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará la tarea +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaTareas($cmd,$identificador,$nombreid,$swid=1){ + global $EJECUCION_TAREA; + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idtarea FROM tareas WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idtarea FROM tareas WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM acciones_menus WHERE tipoaccion=".$EJECUCION_TAREA." AND idtipoaccion=".$rs->campos["idtarea"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM programaciones WHERE tipoaccion=".$EJECUCION_TAREA." AND identificador=".$rs->campos["idtarea"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM tareas_acciones WHERE idtarea=".$rs->campos["idtarea"]; + $resul=$cmd->Ejecutar(); + } + } + + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM tareas WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM tareas WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/trabajos_eliminacion.php b/admin/WebConsole/gestores/relaciones/trabajos_eliminacion.php new file mode 100644 index 00000000..cfeb0449 --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/trabajos_eliminacion.php @@ -0,0 +1,51 @@ +<? +// ************************************************************************************************************************************************* +// 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: trabajos_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla trabajos +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el trabajo +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaTrabajos($cmd,$identificador,$nombreid,$swid=1){ + global $EJECUCION_TRABAJO; + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idtrabajo FROM trabajos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idtrabajo FROM trabajos WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + $cmd->texto="DELETE FROM acciones_menus WHERE tipoaccion=".$EJECUCION_TRABAJO." AND idtipoaccion=".$rs->campos["idtrabajo"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM programaciones WHERE tipoaccion=".$EJECUCION_TRABAJO." AND identificador=".$rs->campos["idtrabajo"]; + $resul=$cmd->Ejecutar(); + if ($resul){ + $cmd->texto="DELETE FROM trabajos_tareas WHERE idtrabajo=".$rs->campos["idtrabajo"]; + $resul=$cmd->Ejecutar(); + } + } + if (!$resul){ + $rs->Cerrar(); + return(false); + } + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM trabajos WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM trabajos WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/gestores/relaciones/usuarios_eliminacion.php b/admin/WebConsole/gestores/relaciones/usuarios_eliminacion.php new file mode 100644 index 00000000..541cbddb --- /dev/null +++ b/admin/WebConsole/gestores/relaciones/usuarios_eliminacion.php @@ -0,0 +1,44 @@ +<? +// ************************************************************************************************************************************************* +// 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: usuarios_eliminacion.php +// Descripción : +// Elimina en cascada registros de la tabla usuarios +// Parametros: +// - cmd:Una comando ya operativo (con conexión abierta) +// - identificador: El identificador por el que se eliminará el usuario +// - nombreid: Nombre del campo identificador del registro +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) ************************************************************************************************************************************************* +function EliminaUsuarios($cmd,$identificador,$nombreid,$swid=1){ + if (empty($identificador)) return(true); + if($swid==0) + $cmd->texto="SELECT idusuario FROM usuarios WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT idusuario FROM usuarios WHERE '.$nombreid.'='.$identificador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->numeroderegistros==0) return(true); + $rs->Primero(); + while (!$rs->EOF){ + /* + $cmd->texto="DELETE FROM usuario_imagen WHERE idusuario=".$rs->campos["idusuario"]; + $resul=$cmd->Ejecutar(); + if (!$resul){ + $rs->Cerrar(); + return(false); + } + */ + $rs->Siguiente(); + } + if($swid==0) + $cmd->texto="DELETE FROM usuarios WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='DELETE FROM usuarios WHERE '.$nombreid.'='.$identificador; + $resul=$cmd->Ejecutar(); + return($resul); +} +?> diff --git a/admin/WebConsole/idiomas/javascripts/eng/acciones_eng.js b/admin/WebConsole/idiomas/javascripts/eng/acciones_eng.js new file mode 100644 index 00000000..3e230582 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/acciones_eng.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: acciones_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- This task will be performed. Are you sure ?"; +TbMsg[1]="WARNING.- This job will be performed. Are you sure ?"; +TbMsg[2]="This task has been successfully initiated"; +TbMsg[3]="This job has been successfully initiated"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/accionmenu_eng.js b/admin/WebConsole/idiomas/javascripts/eng/accionmenu_eng.js new file mode 100644 index 00000000..51d2550d --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/accionmenu_eng.js @@ -0,0 +1,13 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: accionmenu_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING: You must introduce an item description"; +TbMsg[1]="WARNING: You must introduce an order number"; +TbMsg[2]="This item has been successfully included in this menu"; +TbMsg[3]="This item has been successfully excluded from this menu"; +TbMsg[4]="This item has been successfully modified"; + + diff --git a/admin/WebConsole/idiomas/javascripts/eng/aulas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/aulas_eng.js new file mode 100644 index 00000000..320a894d --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/aulas_eng.js @@ -0,0 +1,10 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: aulas_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Computer template have been successfully registered and all the computers of this lab have been updated using this configuration"; +TbMsg[1]="WARNING: This environment will be refresh. Are you sure ?"; +TbMsg[2]="WARNING: This environment will be purge. Are you sure ?"; +TbMsg[3]="WARNING: the items of menus from this environment will be refresh. Are you sure ?"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/colasacciones_eng.js b/admin/WebConsole/idiomas/javascripts/eng/colasacciones_eng.js new file mode 100644 index 00000000..d9865e7d --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/colasacciones_eng.js @@ -0,0 +1,28 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: colasacciones_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING: This action has finished in a way automatically and you can't change its final result manually"; +TbMsg[1]="WARNING: This action has finished and you can't change its status"; +TbMsg[2]="WARNING: This action has already finished in a way manually"; + +TbMsg[3]="WARNING: This action has already been canceled"; +TbMsg[4]="WARNING: This action is already initiated"; +TbMsg[5]="WARNING: This action is already stopped "; +TbMsg[6]="WARNING: This action has already been removed"; + +TbMsg[7]="WARNING: The final result of this action has been successfully modified "; +TbMsg[8]="WARNING: The status of this action has been successfully modified "; +TbMsg[9]="WARNING: This action has been successfully reinitialized"; +TbMsg[10]="WARNING: This action has been successfully removed"; +TbMsg[11]="WARNING: This action has finished successfully "; + +TbMsg[12]="WARNING: This notification has already been removed or reinitialized"; +TbMsg[13]="WARNING: This notification has already been reinitialized"; +TbMsg[14]="WARNING: It's already been successfully notified."; +TbMsg[15]="WARNING: It's already been unsuccessfully notified."; + +TbMsg[16]="WARNING: The result of this notification has been successfully modified "; +TbMsg[17]="WARNING: This notification has been successfully reinitialized"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js new file mode 100644 index 00000000..85b89539 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/comunescomandos_eng.js @@ -0,0 +1,9 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: comunescomandos_eng.js (Comn a todos los comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ +CTbMsg=new Array; +CTbMsg[0]="WARNING.- Cancelled operation, you will might come back this screen in another moment to perform this command"; +CTbMsg[1]="WARNING: An error occurs when attempt to register command"; +CTbMsg[2]="The command has been successfully registered"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/configurar_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/configurar_eng.js new file mode 100644 index 00000000..0175c9a6 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/configurar_eng.js @@ -0,0 +1,15 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: configurar_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- There are not partitions table modified, therefore no command will be registered"; +TbMsg[1]="WARNING.- There are partitions with the same number, you must select another or remove it clicking in the last column"; +TbMsg[2]="WARNING.- The size of the partition must be greater than zero"; +TbMsg[3]="WARNING.- The partition must be correlative and there would not have spaces between partitions"; +TbMsg[4]="WARNING.- This partition is empty, therefore you can't to perform any operation"; +TbMsg[5]="WARNING.- This partition must be just formatted because the operating system has changed or has changed the size of some partition"; +TbMsg[6]="WARNING.- There is not coherent to hide this partition because it is not a Windows partition"; +TbMsg[7]="WARNING.- There is not coherent to show this partition because it is not a Windows partition"; +TbMsg[8]="You can't add more partitions"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/crearperfilsoftware_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/crearperfilsoftware_eng.js new file mode 100644 index 00000000..dbf1484a --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/crearperfilsoftware_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: crearperfilsoftware_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must select a software profile for this partition"; +TbMsg[1]="You must select at least a partition and a software profile"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/crearsoftincremental_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/crearsoftincremental_eng.js new file mode 100644 index 00000000..675b5419 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/crearsoftincremental_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: crearsoftincremental_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must select a diferential software for this partition"; +TbMsg[1]="You must select at least a partition and a diferential software"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/ejecutarscripts_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/ejecutarscripts_eng.js new file mode 100644 index 00000000..e2de10f6 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/ejecutarscripts_eng.js @@ -0,0 +1,10 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: ejecutarscripts_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- Bash code will be performed Are you sure ?"; +TbMsg[1]="You must introduce some code lines or at least a file with Bash code"; +TbMsg[2]="You must introduce the title of the script whether you want to follow-up the accion or to save it like a procedure or task"; +TbMsg[3]="You must introduce the description of the script whether you want to follow-up the accion or to save it like a procedure or task"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/particionaryformatear_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/particionaryformatear_eng.js new file mode 100644 index 00000000..6598e659 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/particionaryformatear_eng.js @@ -0,0 +1,15 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: particionaryformatear_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- There are not partitions table modified, therefore no command will be registered"; +TbMsg[1]="WARNING.- There are partitions with the same number, you must select another or remove it clicking in the last column"; +TbMsg[2]="WARNING.- The size of the partition must be greater than zero"; +TbMsg[3]="WARNING.- The partition must be correlative and there would not have spaces between partitions"; +TbMsg[4]="WARNING.- This partition is empty, therefore you can't to perform any operation"; +TbMsg[5]="WARNING.- This partition must be just formatted because the operating system has changed or has changed the size of some partition"; +TbMsg[6]="WARNING.- There is not coherent to hide this partition because it is not a Windows partition"; +TbMsg[7]="WARNING.- There is not coherent to show this partition because it is not a Windows partition"; +TbMsg[8]="You can't add more partitions"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js new file mode 100644 index 00000000..c1fe1d21 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/restaurarimagen_eng.js @@ -0,0 +1,12 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: configurar_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must select at least an Image for partition "; +TbMsg[1]="You can only select an Image for partition "; +TbMsg[2]="WARNING: You have selected an Image from other operating system for current partition "; +TbMsg[3]=" Are you sure ?" +TbMsg[4]="You must select at least a partition and an Image" +TbMsg[5]="You must select at least a image path for partition "; diff --git a/admin/WebConsole/idiomas/javascripts/eng/comunes_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comunes_eng.js new file mode 100644 index 00000000..271dede0 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/comunes_eng.js @@ -0,0 +1,14 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: comunes_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +CTbMsg=new Array; +CTbMsg[0]="WARNING.- This group contain others groups or elements. If you remove it, you will also remove all these. Are you sure ?"; +CTbMsg[1]="WARNING.- This group will be removed. Are you sure ?"; +CTbMsg[2]="This group has been successfully modified"; +CTbMsg[3]="This group has been successfully removed"; +CTbMsg[4]="The record has been successfully inserted"; +CTbMsg[5]="The record has been successfully modified"; +CTbMsg[6]="The record has been successfully removed"; +CTbMsg[7]="There is not exists any element in stack to be moved into this group"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/ejecutarprocedimientos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/ejecutarprocedimientos_eng.js new file mode 100644 index 00000000..698e4c21 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/ejecutarprocedimientos_eng.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: ejecutarprocedimientos_eng.js +// Idioma: Ingls +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- This procedure will be executed Applying this environment. Are you sure ?"; +TbMsg[1]="This procedure has been successfully executed for this environment"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/hardwares_eng.js b/admin/WebConsole/idiomas/javascripts/eng/hardwares_eng.js new file mode 100644 index 00000000..28e179a7 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/hardwares_eng.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: hardwares.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/eng/imagenes_eng.js b/admin/WebConsole/idiomas/javascripts/eng/imagenes_eng.js new file mode 100644 index 00000000..171afd22 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/imagenes_eng.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: imagenes.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/eng/imagenincremental_eng.js b/admin/WebConsole/idiomas/javascripts/eng/imagenincremental_eng.js new file mode 100644 index 00000000..e9e69b92 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/imagenincremental_eng.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: incrementalcomponente_soft_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="This incremental software has been successfully included in this image"; +TbMsg[1]="This incremental software has been successfully excluded from this iamge"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/incrementalcomponente_soft_eng.js b/admin/WebConsole/idiomas/javascripts/eng/incrementalcomponente_soft_eng.js new file mode 100644 index 00000000..16c594c8 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/incrementalcomponente_soft_eng.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: incrementalcomponente_soft_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="This software component has been successfully included in this incremental software"; +TbMsg[1]="This software component has been successfully excluded from this incremental software"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/informacion_menus_eng.js b/admin/WebConsole/idiomas/javascripts/eng/informacion_menus_eng.js new file mode 100644 index 00000000..79274efe --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/informacion_menus_eng.js @@ -0,0 +1,9 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: informacion_menus_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- This item will be removed. Are you sure ?"; +TbMsg[1]="This item has been successfully excluded from this menu"; +TbMsg[2]="This item has been successfully modified"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/menus_eng.js b/admin/WebConsole/idiomas/javascripts/eng/menus_eng.js new file mode 100644 index 00000000..39ea2374 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/menus_eng.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: menus_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/eng/perfilcomponente_hard_eng.js b/admin/WebConsole/idiomas/javascripts/eng/perfilcomponente_hard_eng.js new file mode 100644 index 00000000..8a102354 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/perfilcomponente_hard_eng.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: perfilcomponente_hard_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="This hardware component has been successfully included in this profile"; +TbMsg[1]="This hardware component has been successfully excluded from this profile"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/perfilcomponente_soft_eng.js b/admin/WebConsole/idiomas/javascripts/eng/perfilcomponente_soft_eng.js new file mode 100644 index 00000000..d693301c --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/perfilcomponente_soft_eng.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: perfilcomponente_soft_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="This software component has been successfully included in this profile"; +TbMsg[1]="This software component has been successfully excluded from this profile"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/procedimientoscomandos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/procedimientoscomandos_eng.js new file mode 100644 index 00000000..c01dbc5d --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/procedimientoscomandos_eng.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: procedimientoscomandos_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- This command will be excluded from procedure. Are you sure ?"; +TbMsg[1]="WARNING: You must introduce an order number"; +TbMsg[2]="This command has been successfully excluded from this procedure"; +TbMsg[3]="This commad has been successfully modified"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/programaciones_eng.js b/admin/WebConsole/idiomas/javascripts/eng/programaciones_eng.js new file mode 100644 index 00000000..35955178 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/programaciones_eng.js @@ -0,0 +1,21 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: programaciones_eng.js +// Idioma: Ingls +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIN: Debe elegir algn ao"; +TbMsg[1]="ATENCIN: Debe elegir algn mes"; +TbMsg[2]="ATENCIN: Debe elegir algn da de la semana, alguna semana o algn da del mes"; +TbMsg[3]="ATENCIN: Debe elegir algn da del mes"; +TbMsg[4]="ATENCIN: Debe elegir alguna hora"; +TbMsg[5]="ATENCIN: Debe introducir la descripcin del bloque de programacion"; +TbMsg[6]="ATENCIN: Debe introducir los minutos entre los valores 0 y 59"; +TbMsg[7]="ATENCIN: Debe introducir los segundos entre los valores 0 y 59"; +TbMsg[8]="ATENCIN: Debe insertar algn bloque para poder suspender temporalmente la programacin de todos ellos"; +TbMsg[9]="La programacin se ha suspendido temporalmente con xito"; +TbMsg[10]="La programacin se ha activado de nuevo con xito"; +TbMsg[11]="El bloque de programacin se ha registrado correctamente"; +TbMsg[12]="El bloque de programacin se ha modificado correctamente"; +TbMsg[13]="El bloque de programacin se ha eliminado correctamente"; +TbMsg[14]="No existe ningn bloque seleccionado"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js new file mode 100644 index 00000000..d49c7db6 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_aulas_eng.js @@ -0,0 +1,11 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_aulas_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this lab"; +TbMsg[1]="You must introduce a number of places for this lab"; +TbMsg[2]="WARNING.- This lab contain others groups or labs. If you remove it, you will also remove all these. Are you sure ?"; +TbMsg[3]="Time for begining of reserves periode must be smaller than final time"; + diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_centros_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_centros_eng.js new file mode 100644 index 00000000..06663364 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_centros_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_usuarios_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this Organizing Unit"; +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_componentehardwares_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_componentehardwares_eng.js new file mode 100644 index 00000000..4ee13c51 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_componentehardwares_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_componentehardwares_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this hardware component "; +TbMsg[1]="You must introduce a hardware type for this component";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_componentesoftwares_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_componentesoftwares_eng.js new file mode 100644 index 00000000..faf928ba --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_componentesoftwares_eng.js @@ -0,0 +1,9 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_componentesoftwares_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this software component "; +TbMsg[1]="You must introduce a software type for this component"; +TbMsg[2]="You must introduce an operating system name for this component";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_entidades_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_entidades_eng.js new file mode 100644 index 00000000..9bf4e4b1 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_entidades_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_usuarios_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this Entity"; +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_grupos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_grupos_eng.js new file mode 100644 index 00000000..791611bf --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_grupos_eng.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_grupos_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this group"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_imagenes_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_imagenes_eng.js new file mode 100644 index 00000000..2f5301dc --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_imagenes_eng.js @@ -0,0 +1,9 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_imagenes_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this image"; +TbMsg[1]="The image must contain at least some of a software profile"; +TbMsg[2]="WARNING: There are computers with this image in some of their partitions. Are you sure ?"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_menus_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_menus_eng.js new file mode 100644 index 00000000..22f45bae --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_menus_eng.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_menus_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this menu"; +TbMsg[1]="WARNING: There are computers managed by this menu. You can't remove them until you change menu to this computers"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_ordenadores_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_ordenadores_eng.js new file mode 100644 index 00000000..f255316b --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_ordenadores_eng.js @@ -0,0 +1,12 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_ordenadores_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a computer name"; +TbMsg[1]="You must introduce an IP Address"; +TbMsg[2]="You must introduce a MAC Address"; +TbMsg[3]="You must link this computer with some of a hardware profile"; +TbMsg[4]="You must introduce a DHCP server"; +TbMsg[5]="You must introduce a OpenGnsys server";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_perfilhardwares_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_perfilhardwares_eng.js new file mode 100644 index 00000000..25ee5642 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_perfilhardwares_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_perfilhardwares_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this hardware profile"; +TbMsg[1]="WARNING: There are computers with this profile. You can't remove them until you change hardware profile to this computers"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_perfilsoftwares_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_perfilsoftwares_eng.js new file mode 100644 index 00000000..712f263b --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_perfilsoftwares_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_perfilsoftwares_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this software profile"; +TbMsg[1]="WARNING: There are images with this profile. You can't remove them until you change software profile to this images"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_procedimientos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_procedimientos_eng.js new file mode 100644 index 00000000..03c1d5d7 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_procedimientos_eng.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_procedimientos_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this procedure"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_reservas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_reservas_eng.js new file mode 100644 index 00000000..c8b904a8 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_reservas_eng.js @@ -0,0 +1,11 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_imagenes_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this reserva"; +TbMsg[1]="The image must contain at least some of a petitioner"; +TbMsg[2]="You must reserve at least a Lab"; +TbMsg[3]="You must to specify some state from this reserve"; +TbMsg[4]="WARNING.- You has specified time for previous action from this reserve Are you sure ?" diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_softincrementales_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_softincrementales_eng.js new file mode 100644 index 00000000..e97e500c --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_softincrementales_eng.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_softincrementales_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this incremental software"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_tareas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_tareas_eng.js new file mode 100644 index 00000000..eede2409 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_tareas_eng.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_tareas_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this task"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_tipohardwares_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_tipohardwares_eng.js new file mode 100644 index 00000000..2cef3703 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_tipohardwares_eng.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_tipohardwares_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this hardware type "; + diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_trabajos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_trabajos_eng.js new file mode 100644 index 00000000..f90396e0 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_trabajos_eng.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_trabajos_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this job"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_universidades_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_universidades_eng.js new file mode 100644 index 00000000..7477ed4b --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_universidades_eng.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_universidades_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce a name for this University"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/propiedades_usuarios_eng.js b/admin/WebConsole/idiomas/javascripts/eng/propiedades_usuarios_eng.js new file mode 100644 index 00000000..9315b21e --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/propiedades_usuarios_eng.js @@ -0,0 +1,11 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_usuarios_eng.js +// Idioma: Ings +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="You must introduce an user"; +TbMsg[1]="You must introduce a password for this user"; +TbMsg[2]="You must introduce a complete name"; +TbMsg[3]="You must introduce an organizing unit for this user"; +TbMsg[4]="You must introduce a language"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/reservas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/reservas_eng.js new file mode 100644 index 00000000..890e7394 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/reservas_eng.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: reservas.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/eng/softwares_eng.js b/admin/WebConsole/idiomas/javascripts/eng/softwares_eng.js new file mode 100644 index 00000000..1f399ec5 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/softwares_eng.js @@ -0,0 +1,6 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: softwares.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; diff --git a/admin/WebConsole/idiomas/javascripts/eng/tareascomandos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/tareascomandos_eng.js new file mode 100644 index 00000000..d5cfa10d --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/tareascomandos_eng.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: tareascomandos_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- This command will be excluded from task. Are you sure ?"; +TbMsg[1]="WARNING: You must introduce an order number"; +TbMsg[2]="This command has been successfully excluded from this task"; +TbMsg[3]="This commad has been successfully modified"; diff --git a/admin/WebConsole/idiomas/javascripts/eng/trabajostareas_eng.js b/admin/WebConsole/idiomas/javascripts/eng/trabajostareas_eng.js new file mode 100644 index 00000000..dc334d71 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/trabajostareas_eng.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: trabajostareas_eng.js +// Idioma: Ings +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="This task has been successfully included in this job"; +TbMsg[1]="WARNING: You must introduce an order number"; +TbMsg[2]="This task has been successfully excluded from this job"; +TbMsg[3]="This task has been successfully modified"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/acciones_esp.js b/admin/WebConsole/idiomas/javascripts/esp/acciones_esp.js new file mode 100644 index 00000000..a83aa52b --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/acciones_esp.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: acciones_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN.- La Tarea será ejecutada. ¿ Está seguro ?"; +TbMsg[1]="ATENCIÓN.- Este Trabajo será ejecutado. ¿ Está seguro ?"; +TbMsg[2]="La Tarea ha sido ejecutada correctamente"; +TbMsg[3]="Este Trabajo ha sido iniciado correctamente"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/accionmenu_esp.js b/admin/WebConsole/idiomas/javascripts/esp/accionmenu_esp.js new file mode 100644 index 00000000..ce8b69e0 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/accionmenu_esp.js @@ -0,0 +1,12 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: accionmenu_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN: Debe introducir la descripción de litem"; +TbMsg[1]=" ATENCIÓN: Debe introducir un número de orden"; +TbMsg[2]="Este item ha sido incluido correctamente en el menú"; +TbMsg[3]="El proceso se ha ejecutado correctamente"; + + diff --git a/admin/WebConsole/idiomas/javascripts/esp/administradores_centros_esp.js b/admin/WebConsole/idiomas/javascripts/esp/administradores_centros_esp.js new file mode 100644 index 00000000..d1c004c4 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/administradores_centros_esp.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: perfilcomponente_soft_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Este Administrador ha sido incluido en esta Unidad Organizativa correctamente"; +TbMsg[1]="Este Administrador ha sido excluido correctamente de esta Unidad Organizativa"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/administradores_usuarios_esp.js b/admin/WebConsole/idiomas/javascripts/esp/administradores_usuarios_esp.js new file mode 100644 index 00000000..ae2cbd50 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/administradores_usuarios_esp.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: perfilcomponente_soft_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Esta Unidad Organizativa ha sido asignado al Usuario correctamente"; +TbMsg[1]="Esta Unidad Organizativa ha sido excluido correctamente de este Usuario"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js new file mode 100644 index 00000000..99b954fd --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js @@ -0,0 +1,19 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: aulas_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="La plantilla de ordenador ha sido registrada correctamente y los ordenadores de este aula han sido actualizados con dicha plantilla"; +TbMsg[1]=" ATENCIÓN: Este ámbito será refrescado. ¿ Está seguro ?"; +TbMsg[2]=""; +TbMsg[3]="ATENCIÓN: Los items de menús de este ámbito serán renovados. ¿ Está seguro ?"; +TbMsg[4]=" ATENCIÓN: Este ámbito será conmutado. ¿ Está seguro ?"; +TbMsg[5]=" ATENCIÓN: La consola remota ya está activada para este ámbito. Haga el seguimiento en la propia pantalla de comandos/scripts"; +TbMsg[6]=" ATENCIÓN: Debe seleccionar la opción 'Consola remota' previamente"; +TbMsg[7]="La petición de Actualización se ha enviado con éxito"; +TbMsg[8]="Ha ocurrido algún problema con la actualización solicitada"; +TbMsg[9]="La petición de Conmutar se ha enviado con éxito"; +TbMsg[10]="Ha ocurrido algún problema con la conmutación solicitada"; +TbMsg[11]="La petición de Sondeo se ha enviado con éxito"; +TbMsg[12]="Ha ocurrido algún problema con sondeo solicitado"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/colasacciones_esp.js b/admin/WebConsole/idiomas/javascripts/esp/colasacciones_esp.js new file mode 100644 index 00000000..2ef62900 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/colasacciones_esp.js @@ -0,0 +1,17 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: colasacciones_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN.-Ha ocurrido algún error en el proceso realizado"; +TbMsg[1]="ATENCIÓN.-Se van a eliminar todas las acciones que se han seleccionado. ¿Está seguro de querer hacerlo?"; +TbMsg[2]="ATENCIÓN.-Se van a reiniciar acciones que están actualmente finalizadas. ¿Está seguro de querer hacerlo?"; +TbMsg[3]="ATENCIÓN.-Se van a detener acciones que están actualmente activas. ¿Está seguro de querer hacerlo?"; +TbMsg[4]="ATENCIÓN.-Se van a reanudar acciones que están actualmente paradas. ¿Está seguro de querer hacerlo?"; +TbMsg[5]="ATENCIÓN.-Van a finalizar sin errores las acciones que están actualmente activas. ¿Está seguro de querer hacerlo?"; +TbMsg[6]="ATENCIÓN.-Van a finalizar con errores las acciones que están actualmente activas. ¿Está seguro de querer hacerlo?"; +TbMsg[7]=""; +TbMsg[8]=""; +TbMsg[9]=""; +TbMsg[10]="La operación se ha procesado con éxito";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js new file mode 100644 index 00000000..0c7c5904 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/comunescomandos_esp.js @@ -0,0 +1,14 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: comunescomandos_esp.js (Común a todos los comandos) +// Idioma: Español +//________________________________________________________________________________________________________ +CTbMsg=new Array; +CTbMsg[0]="ATENCIÓN.- Acción cancelada, puede volver en cualquier momento a esta pantalla para ejecutar este Comando"; +CTbMsg[1]="ATENCIÓN: Ha ocurrido un error al intentar enviar este Comando"; +CTbMsg[2]="El comando se ha enviado correctamente"; +CTbMsg[3]="ATENCIÓN: Ha ocurrido un error al intentar registrar este Comando como un Procedimiento"; +CTbMsg[4]="El comando se ha registrado correctamente como un Procedimineto"; +CTbMsg[5]="ATENCIÓN: Ha ocurrido un error al intentar registrar este Comando como una Tarea"; +CTbMsg[6]="El comando se ha registrado correctamente como una Tarea"; +CTbMsg[7]="ATENCIÓN: Ha ocurrido un error al intentar registrar la acción de Comando"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/configurar_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/configurar_esp.js new file mode 100644 index 00000000..b4b05984 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/configurar_esp.js @@ -0,0 +1,12 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: configurar_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN: Partición duplicada, ya existe una partición con ese número"; +TbMsg[1]="El número de la partición debe ser mayor de 0"; +TbMsg[2]="El tipo de partición no se ha especificado"; +TbMsg[3]="El tamaño de la partición debe ser mayor que cero"; +TbMsg[4]="ATENCIÓN: Se va a eliminar esta partición ¿ Está seguro ?"; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/crearimagen_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/crearimagen_esp.js new file mode 100644 index 00000000..f1124410 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/crearimagen_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: crearperfilsoftware_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe elegir una imagen para esta partición"; +TbMsg[1]="Debe elegir al menos una partición y una imagen"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/crearperfilsoftware_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/crearperfilsoftware_esp.js new file mode 100644 index 00000000..48d4a7f1 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/crearperfilsoftware_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: crearperfilsoftware_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe elegir un perfil software para esta partición"; +TbMsg[1]="Debe elegir al menos una partición y un perfil software"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/crearsoftincremental_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/crearsoftincremental_esp.js new file mode 100644 index 00000000..bfcbf99a --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/crearsoftincremental_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: crearsoftincremental_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe elegir un software incremental para esta partición"; +TbMsg[1]="Debe elegir al menos una partición y un software incremental"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/ejecutarscripts_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/ejecutarscripts_esp.js new file mode 100644 index 00000000..80da1b67 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/ejecutarscripts_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: ejecutarscripts_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]=""; +TbMsg[1]="El script debe tener alguna linea de código"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js new file mode 100644 index 00000000..2708a5fe --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: iniciarsesion_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]=""; +TbMsg[1]="Debe elegir al menos una partición"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/inventariosoftware_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/inventariosoftware_esp.js new file mode 100644 index 00000000..2708a5fe --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/inventariosoftware_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: iniciarsesion_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]=""; +TbMsg[1]="Debe elegir al menos una partición"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/particionaryformatear_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/particionaryformatear_esp.js new file mode 100644 index 00000000..7f3f529c --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/particionaryformatear_esp.js @@ -0,0 +1,15 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: particionaryformatear_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN: No ha efectuado ningún cambio en la tabla de particiones, por tanto, no se ejecutará ninguna acción"; +TbMsg[1]="ATENCIÓN: Hay particiones con el mismo número, debe seleccionar otra o eliminarla haciendo click en la última columna"; +TbMsg[2]="ATENCIÓN: El tamaño de la partición debe ser mayor que cero"; +TbMsg[3]="ATENCIÓN: Las particiones deben ser correlativas y no debe haber espacios entre ellas"; +TbMsg[4]="ATENCIÓN: La partición está vacia , por tanto, no se ejecutará ninguna acción sobre ella"; +TbMsg[5]="ATENCIÓN: Esta partición debe ser formateada porque ha cambiado su sistema operativo o el tamaño de alguna partición"; +TbMsg[6]="ATENCIÓN: No tiene sentido ocultar una partición que no sea un sistema Windows"; +TbMsg[7]="ATENCIÓN: No tiene sentido mostrar una partición que no sea un sistema Windows"; +TbMsg[8]="No se pueden añadir más particiones";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js new file mode 100644 index 00000000..ec7ef847 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/restaurarimagen_esp.js @@ -0,0 +1,13 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascripts: configurar_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe elegir una imagen para esta partición"; +TbMsg[1]="Debe elegir al menos una partición y una imagen"; +TbMsg[2]="ATENCIÓN: Ha selecccionado una imagen de Sistema Operativo distinto al que tiene instalado la actual partición "; +TbMsg[3]="¿ Está seguro ?" +TbMsg[4]="Debe elegir al menos una imagen para la partición" +TbMsg[5]="Debe elegir al menos un path de imagen para la partición "; +TbMsg[6]="Debe elegir la imagen de uno sólo de los desplegables" diff --git a/admin/WebConsole/idiomas/javascripts/esp/comunes_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comunes_esp.js new file mode 100644 index 00000000..2e8c3611 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/comunes_esp.js @@ -0,0 +1,14 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: comunes_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +CTbMsg=new Array; +CTbMsg[0]="ATENCIÓN.- Este grupo contiene otros grupos o elementos. Si lo elimina, eliminará también éstos. ¿ Está seguro ?"; +CTbMsg[1]="ATENCIÓN.- Este grupo será eliminado. ¿ Está seguro ?"; +CTbMsg[2]="Este grupo ha sido modificado correctamente"; +CTbMsg[3]="Este grupo ha sido eliminado correctamente"; +CTbMsg[4]="El registro ha sido insertado correctamente"; +CTbMsg[5]="El registro ha sido modificado correctamente"; +CTbMsg[6]="El registro ha sido eliminado correctamente"; +CTbMsg[7]="ATENCIÓN: No hay ningún elemento pendiente de ser movido a este grupo"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/consolaremota_esp.js b/admin/WebConsole/idiomas/javascripts/esp/consolaremota_esp.js new file mode 100644 index 00000000..c80c8236 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/consolaremota_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: consolaremota_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN.-Ha ocurrido algún error en la petición de consola remota"; +TbMsg[1]="La petición de consola remota se ha enviado con éxito"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/ejecutaracciones_esp.js b/admin/WebConsole/idiomas/javascripts/esp/ejecutaracciones_esp.js new file mode 100644 index 00000000..5a655679 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/ejecutaracciones_esp.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: ejecutarprocedimientos_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN.- El Procedimiento será ejecutado aplicándolo a este ámbito. ¿ Está seguro ?"; +TbMsg[1]="El Procedimiento ha sido gestionado correctamente para este ámbito"; +TbMsg[2]="ATENCIÓN.- El Procedimiento se convertirá en procedimiento de inicio (Autoexec) para todos los ordenadores de este ámbito. ¿ Está seguro ?"; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/hardwares_esp.js b/admin/WebConsole/idiomas/javascripts/esp/hardwares_esp.js new file mode 100644 index 00000000..b184c520 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/hardwares_esp.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: hardwares.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/imagenes_esp.js b/admin/WebConsole/idiomas/javascripts/esp/imagenes_esp.js new file mode 100644 index 00000000..4be8b09c --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/imagenes_esp.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: imagenes.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/imagenincremental_esp.js b/admin/WebConsole/idiomas/javascripts/esp/imagenincremental_esp.js new file mode 100644 index 00000000..50119ba0 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/imagenincremental_esp.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: incrementalcomponente_soft_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Este software incremental ha sido incluido en esta imagen correctamente"; +TbMsg[1]="Este software incremental ha sido excluido correctamente de esta imagen"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/inclusionacciones_esp.js b/admin/WebConsole/idiomas/javascripts/esp/inclusionacciones_esp.js new file mode 100644 index 00000000..98239c6e --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/inclusionacciones_esp.js @@ -0,0 +1,10 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: accionmenu_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]=""; +TbMsg[1]=" ATENCIÓN: Debe introducir un número de orden correcto"; +TbMsg[2]="El proceso se ha ejecutado correctamente"; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/incrementalcomponente_soft_esp.js b/admin/WebConsole/idiomas/javascripts/esp/incrementalcomponente_soft_esp.js new file mode 100644 index 00000000..982a8b4f --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/incrementalcomponente_soft_esp.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: incrementalcomponente_soft_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Este componente software ha sido incluido en este software incremental correctamente"; +TbMsg[1]="Este componente software ha sido excluido correctamente de este software incremental"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/informacion_menus_esp.js b/admin/WebConsole/idiomas/javascripts/esp/informacion_menus_esp.js new file mode 100644 index 00000000..3b4619ef --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/informacion_menus_esp.js @@ -0,0 +1,9 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: informacion_menus_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN.- Este item será eliminado. ¿ Está seguro ?"; +TbMsg[1]="El item ha sido excluido correctamente de este menú"; +TbMsg[2]="El item ha sido modificado correctamente"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/menus_esp.js b/admin/WebConsole/idiomas/javascripts/esp/menus_esp.js new file mode 100644 index 00000000..7faf2e7a --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/menus_esp.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: menus_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/perfilcomponente_hard_esp.js b/admin/WebConsole/idiomas/javascripts/esp/perfilcomponente_hard_esp.js new file mode 100644 index 00000000..c9fc9224 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/perfilcomponente_hard_esp.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: perfilcomponente_hard_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Este componente hardware ha sido incluido correctamente en este perfil"; +TbMsg[1]="Este componente hardware ha sido excluido correctamente de este perfil"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/perfilcomponente_soft_esp.js b/admin/WebConsole/idiomas/javascripts/esp/perfilcomponente_soft_esp.js new file mode 100644 index 00000000..2785c77c --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/perfilcomponente_soft_esp.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: perfilcomponente_soft_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Este componente software ha sido incluido en este perfil correctamente"; +TbMsg[1]="Este componente software ha sido excluido correctamente de este perfil"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/procedimientoscomandos_esp.js b/admin/WebConsole/idiomas/javascripts/esp/procedimientoscomandos_esp.js new file mode 100644 index 00000000..a8d50f76 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/procedimientoscomandos_esp.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: procedimientoscomandos_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN.- El comando será excluido de este procedimiento. ¿ Está seguro ?"; +TbMsg[1]="ATENCIÓN: Debe introducir un número de orden"; +TbMsg[2]="El comando ha sido excluido correctamente de este procedimiento"; +TbMsg[3]="El comando ha sido modificado correctamente"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/programaciones_esp.js b/admin/WebConsole/idiomas/javascripts/esp/programaciones_esp.js new file mode 100644 index 00000000..a6dea0b4 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/programaciones_esp.js @@ -0,0 +1,21 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: programaciones_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN: Debe elegir algún año"; +TbMsg[1]="ATENCIÓN: Debe elegir algún mes"; +TbMsg[2]="ATENCIÓN: Debe elegir algún día de la semana, alguna semana o algún día del mes"; +TbMsg[3]="ATENCIÓN: Debe elegir algún día del mes"; +TbMsg[4]="ATENCIÓN: Debe elegir alguna hora"; +TbMsg[5]="ATENCIÓN: Debe introducir la descripción del bloque de programacion"; +TbMsg[6]="ATENCIÓN: Debe introducir los minutos entre los valores 0 y 59"; +TbMsg[7]="ATENCIÓN: Debe introducir los segundos entre los valores 0 y 59"; +TbMsg[8]="ATENCIÓN: Debe insertar algún bloque para poder suspender temporalmente la programación de todos ellos"; +TbMsg[9]="La programación se ha suspendido temporalmente con éxito"; +TbMsg[10]="La programación se ha activado de nuevo con éxito"; +TbMsg[11]="El bloque de programación se ha registrado correctamente"; +TbMsg[12]="El bloque de programación se ha modificado correctamente"; +TbMsg[13]="El bloque de programación se ha eliminado correctamente"; +TbMsg[14]="No existe ningún bloque seleccionado"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js new file mode 100644 index 00000000..4c4dcaea --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_aulas_esp.js @@ -0,0 +1,11 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_aulas_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este aula"; +TbMsg[1]="Debe introducir un número de puestos para este aula"; +TbMsg[2]="ATENCIÓN.- Este aula contiene grupos de ordenadores u ordenadores. Si los elimina, eliminará también éstos. ¿ Está seguro ?"; +TbMsg[3]="La hora de comienzo del intervalo de reservas debe ser menor que la hora final"; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_centros_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_centros_esp.js new file mode 100644 index 00000000..b2a3412c --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_centros_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_centros_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Nombre de la Unidad Organizativa es un dato obligatorio"; +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_componentehardwares_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_componentehardwares_esp.js new file mode 100644 index 00000000..6fe9a3b3 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_componentehardwares_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_componentehardwares_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este componente hardware "; +TbMsg[1]="Debe introducir un tipo de hardware para este componente";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_componentesoftwares_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_componentesoftwares_esp.js new file mode 100644 index 00000000..8331cfd4 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_componentesoftwares_esp.js @@ -0,0 +1,9 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_componentesoftwares_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este componente software"; +TbMsg[1]="Debe introducir un tipo de software para este componente"; +TbMsg[2]="Debe introducir un nombre de sistema operativo para este componente";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_entidades_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_entidades_esp.js new file mode 100644 index 00000000..5830d3fb --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_entidades_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_usuarios_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Nombre de la entidad es un dato obligatorio"; +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_grupos_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_grupos_esp.js new file mode 100644 index 00000000..b20f4e50 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_grupos_esp.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_grupos_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este grupo"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js new file mode 100644 index 00000000..5e30cfe2 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js @@ -0,0 +1,10 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_imagenes_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para esta imagen"; +TbMsg[1]="La imagen debe contener al menos un perflil software"; +TbMsg[2]="ATENCIÓN: Hay ordenadores con esta imagen en alguna de sus particiones. ¿ Está seguro ?"; +TbMsg[3]="Debe introducir un nombre canónico para esta imagen"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_menus_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_menus_esp.js new file mode 100644 index 00000000..5aafbe88 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_menus_esp.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_menus_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este menú"; +TbMsg[1]="ATENCIÓN: Hay ordenadores con este menú. No puede darlo de baja hasta que cambie este dato en dichos ordenadores"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_ordenadores_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_ordenadores_esp.js new file mode 100644 index 00000000..e27af69e --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_ordenadores_esp.js @@ -0,0 +1,12 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_ordenadores_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este ordenador"; +TbMsg[1]="Debe introducir una dirección IP"; +TbMsg[2]="Debe introducir a una dirección MAC"; +TbMsg[3]=""; +TbMsg[4]=""; +TbMsg[5]="Debe elegir un repositorio por defecto";
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_perfilhardwares_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_perfilhardwares_esp.js new file mode 100644 index 00000000..f0d1dba4 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_perfilhardwares_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_perfilhardwares_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este perfil hardware"; +TbMsg[1]="ATENCIÓN: Hay ordenadores con este perfil hardware. No puede darlo de baja hasta que cambie este dato en dichos ordenadores"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_perfilsoftwares_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_perfilsoftwares_esp.js new file mode 100644 index 00000000..9c42ffbb --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_perfilsoftwares_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_perfilsoftwares_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este perfil software"; +TbMsg[1]="ATENCIÓN: Hay imágenes con este perfil. No puede eliminarlo hasta que cambie este dato en dichas imágenes"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_procedimientos_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_procedimientos_esp.js new file mode 100644 index 00000000..b9a77fae --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_procedimientos_esp.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_procedimientos_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este procedimiento"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_repositorios_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_repositorios_esp.js new file mode 100644 index 00000000..881a9860 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_repositorios_esp.js @@ -0,0 +1,12 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_servidoresrembo_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este repositorio"; +TbMsg[1]="Debe introducir una dirección IP"; +TbMsg[2]="ATENCIÓN: Hay imágenes alojadas por este repositorio. ¿Está seguro de querer eliminarlo ?"; +TbMsg[3]="Debe introducir un puerto de comunicaciones para los clientes"; +TbMsg[4]="Debe introducir la ruta del directorio base del Repositorio"; +TbMsg[5]="Debe introducir la ruta del directorio donde están los archivos de configuración del PXE"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_reservas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_reservas_esp.js new file mode 100644 index 00000000..896c52f7 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_reservas_esp.js @@ -0,0 +1,11 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_imagenes_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para esta reserva"; +TbMsg[1]="La reserva debe contener al menos un solicitante"; +TbMsg[2]="Debe elegir un aula para esta reserva"; +TbMsg[3]="Debe especificar un estado para la reserva"; +TbMsg[4]="ATENCIÓN.- Ha especificado un tiempo para anticipar la acción previa a esta reserva ¿ Está seguro ?" diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_softincrementales_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_softincrementales_esp.js new file mode 100644 index 00000000..b8127bea --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_softincrementales_esp.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_softincrementales_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este software incremental"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_tareas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_tareas_esp.js new file mode 100644 index 00000000..77358d77 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_tareas_esp.js @@ -0,0 +1,9 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_tareas_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para esta tarea"; +TbMsg[1]="Debe seleccionar un ámbito de aplicación para la tarea"; +TbMsg[2]="ATENCIÓN.- Si no selecciona ningún ámbito de aplicación no podrá incluir procedimientos en esta tarea. Sólo podra incluir otras tareas con sus propikos ámbitos de aplicación"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_tipohardwares_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_tipohardwares_esp.js new file mode 100644 index 00000000..98aa0514 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_tipohardwares_esp.js @@ -0,0 +1,8 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_tipohardwares_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este tipo de hardware "; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_trabajos_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_trabajos_esp.js new file mode 100644 index 00000000..a4d1ab54 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_trabajos_esp.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_trabajos_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para este trabajo"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_universidades_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_universidades_esp.js new file mode 100644 index 00000000..312fa248 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_universidades_esp.js @@ -0,0 +1,7 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_universidades_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Debe introducir un nombre para esta Universidad"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_usuarios_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_usuarios_esp.js new file mode 100644 index 00000000..d6a80576 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_usuarios_esp.js @@ -0,0 +1,12 @@ +//________________________________________________________________________________________________________ +// +// Fichero de idiomas javascript: propiedades_usuarios_esp.js +// Idioma: Español +//________________________________________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="Usuario es un dato obligatorio"; +TbMsg[1]="Password es un dato obligatorio"; +TbMsg[2]="Nombre completo es un dato obligatorio"; +TbMsg[3]="Unidad organizativa es obligatoria para este usuario"; +TbMsg[4]="Idioma es un dato obligatorio"; +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/javascripts/esp/reservas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/reservas_esp.js new file mode 100644 index 00000000..3a8adf72 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/reservas_esp.js @@ -0,0 +1,7 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: reservas.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; + diff --git a/admin/WebConsole/idiomas/javascripts/esp/softwares_esp.js b/admin/WebConsole/idiomas/javascripts/esp/softwares_esp.js new file mode 100644 index 00000000..d8028b2b --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/softwares_esp.js @@ -0,0 +1,6 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: softwares.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; diff --git a/admin/WebConsole/idiomas/javascripts/esp/tareascomandos_esp.js b/admin/WebConsole/idiomas/javascripts/esp/tareascomandos_esp.js new file mode 100644 index 00000000..9e483095 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/tareascomandos_esp.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: tareascomandos_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="ATENCIÓN.- El comando será excluido de la tarea. ¿ Está seguro ?"; +TbMsg[1]="ATENCIÓN: Debe introducir un número de orden"; +TbMsg[2]="El comando ha sido excluido correctamente de esta tarea"; +TbMsg[3]="El comando ha sido modificado correctamente"; diff --git a/admin/WebConsole/idiomas/javascripts/esp/trabajostareas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/trabajostareas_esp.js new file mode 100644 index 00000000..1b593886 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/esp/trabajostareas_esp.js @@ -0,0 +1,10 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: trabajostareas_esp.js +// Idioma: Español +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="La Tarea ha sido incluida correctamente en este trabajo"; +TbMsg[1]="ATENCIÓN: Debe introducir un número de orden"; +TbMsg[2]="La Tarea ha sido excluida correctamente de este trabajo"; +TbMsg[3]="La Tarea ha sido modificada correctamente"; diff --git a/admin/WebConsole/idiomas/php/cat/acciomenu_cat.txt b/admin/WebConsole/idiomas/php/cat/acciomenu_cat.txt new file mode 100644 index 00000000..d603a34e --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/acciomenu_cat.txt @@ -0,0 +1,23 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: accionmenu_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Items'; + $TbMsg[1]='Gesti Items Menu'; + $TbMsg[2]='Procediment'; + $TbMsg[3]='Tasca'; + $TbMsg[4]='Treballs'; + $TbMsg[5]='Pblic'; + $TbMsg[6]='Privat'; + $TbMsg[7]='Items pblics '; + $TbMsg[8]='Items privats '; + $TbMsg[9]='Nom del Menu'; + $TbMsg[10]='Tipus item'; + $TbMsg[11]='Imatge del item'; + $TbMsg[12]='Literal item'; + $TbMsg[13]='Ord'; + $TbMsg[14]='(*)Per a incloure alguna acci en aquest men deu fer click sobre la casella de verificaci corresponenet. Per a actualitzar fagi click sobre la imatge.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/accions_cat.txt b/admin/WebConsole/idiomas/php/cat/accions_cat.txt new file mode 100644 index 00000000..56cc0e95 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/accions_cat.txt @@ -0,0 +1,41 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: accions_cat.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nou grup de procediments"'; + $TbMsg[1]='"Definir nou procediment"'; + $TbMsg[2]='"Col.locar procediment"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grup de procediments"'; + $TbMsg[5]='"Gesti d'ordres"'; + $TbMsg[6]='"Informaci Procediment"'; + $TbMsg[7]='"Moure procediment"'; + $TbMsg[8]='"Propietats"'; + $TbMsg[9]='"Eliminar procediment"'; + $TbMsg[10]='"Gesti de Mens"'; + $TbMsg[11]='"Nou grup de tasques"'; + $TbMsg[12]='"Definir nova tasca"'; + $TbMsg[13]='"Col.locar tasca"'; + $TbMsg[14]='"Eliminar grup de tasca"'; + $TbMsg[15]='"Executar tasca"'; + $TbMsg[16]='"Programacions"'; + $TbMsg[17]='"Informaci Tasca"'; + $TbMsg[18]='"Moure tasca"'; + $TbMsg[19]='"Eliminar tasca"'; + $TbMsg[20]='"Nou grup de treballs"'; + $TbMsg[21]='"Definir nou treball"'; + $TbMsg[22]='"Col.locar treball"'; + $TbMsg[23]='"Eliminar grup de treballs"'; + $TbMsg[24]='"Executar treball"'; + $TbMsg[25]='"Gesti de tasques"'; + $TbMsg[26]='"Informaci Treball"'; + $TbMsg[27]='"Moure treball"'; + $TbMsg[28]='"Eliminar treball"'; + $TbMsg[29]='Procediments'; + $TbMsg[30]='Ordres'; + $TbMsg[31]='Tasques'; + $TbMsg[32]='Treballs'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/actualitzar_cat.txt b/admin/WebConsole/idiomas/php/cat/actualitzar_cat.txt new file mode 100644 index 00000000..3d1b08d8 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/actualitzar_cat.txt @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: actualitzar_cat.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Aquest mbit s'ha actualitzat correctament'; + $TbMsg[1]='ATENCI: Ha hagut un problema al actualitzar l'mbit'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/administracio_cat.txt b/admin/WebConsole/idiomas/php/cat/administracio_cat.txt new file mode 100644 index 00000000..164916ba --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/administracio_cat.txt @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: administraci_cat.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Administraci"'; + $TbMsg[1]='"Nou grup d'Entitats"'; + $TbMsg[2]='"Nova Entitat"'; + $TbMsg[3]='"Nou Superadministrador"'; + $TbMsg[4]='"Propietats"'; + $TbMsg[5]='"Eliminar"'; + $TbMsg[6]='"Renombrar"'; + $TbMsg[7]='"Eliminar grup d'Entitats"'; + $TbMsg[8]='"Nova unitat organizativa"'; + $TbMsg[9]='"Nou Administrador"'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/aules_cat.php b/admin/WebConsole/idiomas/php/cat/aules_cat.php new file mode 100644 index 00000000..73e1e157 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/aules_cat.php @@ -0,0 +1,46 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: aules_cat.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nou grup d\'aules"'; + $TbMsg[1]='"Estatus ordinadors"'; + $TbMsg[2]='"Purgar"'; + $TbMsg[3]='"Afegir nova aula"'; + $TbMsg[4]='"Refrescar'; + $TbMsg[5]='"Ordres"'; + $TbMsg[6]='"Cua d\'accions"'; + $TbMsg[7]='"Eliminar grup d\'aules"'; + $TbMsg[8]='"Nou grup d\'ordinadors"'; + $TbMsg[9]='"Afegir nou ordinador"'; + $TbMsg[10]='"Configuraci"'; + $TbMsg[11]='"Col.locar ordinador"'; + $TbMsg[12]='"Ordinador Plantilla"'; + $TbMsg[13]='"Propietats"'; + $TbMsg[14]='"Eliminar aula"'; + $TbMsg[15]='"Renombrar"'; + $TbMsg[16]='"Eliminar grup d\'ordinadors"'; + $TbMsg[17]='"Moure ordinador"'; + $TbMsg[18]='"Eliminar ordinador"'; + $TbMsg[19]='"Tasques"'; + $TbMsg[20]='"Treballs"'; + $TbMsg[21]='"Totes"'; + $TbMsg[22]='Estatus ordinadors'; + $TbMsg[23]='Aula d\'ordinadors'; + $TbMsg[24]='mbit: Centres'; + $TbMsg[25]='mbit: Grup d\'aules'; + $TbMsg[26]='mbito: Grup d\'ordinadors'; + $TbMsg[27]='"Incorporar ordinadores"'; + $TbMsg[28]='"Procedimentss"'; + $TbMsg[29]='"Reserves d\'aules"'; + $TbMsg[30]='"Confirmadas"'; + $TbMsg[31]='"Pendents"'; + $TbMsg[32]='"Denegades"'; + $TbMsg[33]='"Commutar"'; + $TbMsg[34]='"Programaci reserves"'; + $TbMsg[35]='"Operadors"'; + $TbMsg[36]='"Eliminar Operador"'; + $TbMsg[37]='"Afegir nou Operador"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/barramenu_cat.txt b/admin/WebConsole/idiomas/php/cat/barramenu_cat.txt new file mode 100644 index 00000000..74d103d5 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/barramenu_cat.txt @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: barramenu_cat.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Aules'; + $TbMsg[1]='Accions'; + $TbMsg[2]='Imtges'; + $TbMsg[3]='Hardware'; + $TbMsg[4]='Software'; + $TbMsg[5]='Servidors'; + $TbMsg[6]='Mens'; + $TbMsg[7]='Reserves'; + $TbMsg[8]='Administraci'; + $TbMsg[9]='Iconos'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/configuracioaula_cat.txt b/admin/WebConsole/idiomas/php/cat/configuracioaula_cat.txt new file mode 100644 index 00000000..c2390763 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/configuracioaula_cat.txt @@ -0,0 +1,23 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: configuracionaula_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]='Configuraci Ordinadors'; +$TbMsg[1]='Caractersticas del Aula'; +$TbMsg[2]="Nombre Aula"; +$TbMsg[3]="Ubicaci"; +$TbMsg[4]="Can"; +$TbMsg[5]="Pissarra"; +$TbMsg[6]="LLocs"; +$TbMsg[7]="Url Imatge"; +$TbMsg[8]="Comentaris"; +$TbMsg[9]='Dades de configuracio'; +$TbMsg[10]='Partici'; +$TbMsg[11]='Nombre S.O.'; +$TbMsg[12]='Tamany'; +$TbMsg[13]='Ordinadors'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/configuraciogrupordinador_cat.txt b/admin/WebConsole/idiomas/php/cat/configuraciogrupordinador_cat.txt new file mode 100644 index 00000000..b68d12cc --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/configuraciogrupordinador_cat.txt @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: configuraciongrupoordenador_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]='Configuraci Ordinadors'; +$TbMsg[1]='Caracterstiques del Grup'; +$TbMsg[2]="Nom del Grup"; +$TbMsg[3]='Dades de la configuraci'; +$TbMsg[4]='Partici'; +$TbMsg[5]='Nom S.O.'; +$TbMsg[6]='Tamany'; +$TbMsg[7]='Ordenidors'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/configuracioordinador_cat.txt b/admin/WebConsole/idiomas/php/cat/configuracioordinador_cat.txt new file mode 100644 index 00000000..60573374 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/configuracioordinador_cat.txt @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: configuracionordenador_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Configuracions d'ordinadors'; + $TbMsg[1]='Caracterstiques del ordinador'; + $TbMsg[2]='Nombre'; + $TbMsg[3]='Direcci IP'; + $TbMsg[4]='Direcci MAC'; + $TbMsg[5]='Perfil Hardware'; + $TbMsg[6]='Particin'; + $TbMsg[7]='Nombre del Sistema'; + $TbMsg[8]='Tamany'; + $TbMsg[9]='Dades de configuraci'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/conmutar_cat.txt b/admin/WebConsole/idiomas/php/cat/conmutar_cat.txt new file mode 100644 index 00000000..73d998ee --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/conmutar_cat.txt @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: conmutar_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Aquest mbit ha conmutat correctament'; + $TbMsg[1]='ATENCI: Ha hagut algn problema al conmutar L'mbit'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/cuasaccions_cat.txt b/admin/WebConsole/idiomas/php/cat/cuasaccions_cat.txt new file mode 100644 index 00000000..ec379419 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/cuasaccions_cat.txt @@ -0,0 +1,79 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: colasacciones_cat.php +// Idioma: Catal +//________________________________________________________________________________________________________ + +// Literals dels tipus d'accions +$LITEJECUCION_COMANDO="Ordres"; +$LITEJECUCION_PROCEDIMIENTO="Procediments"; +$LITEJECUCION_TAREA="Tasques"; +$LITEJECUCION_TRABAJO="Treballs"; + +$LITACCION_EXITOSA='Finalitzada correctament'; // Literal Finalitzada exitosament +$LITACCION_FALLIDA='Finalitzada amb errors'; // Literal Finalitzada amb errors +$LITACCION_TERMINADA='Finalitzada manualment'; //Literal Finalitzada manualment amb indicaci d'exit +$LITACCION_ABORTADA='Cancelada manualment'; // Literal Finalitzada manualment amb indicaci d'errors +$LITACCION_SINERRORES='Activa sense errors'; // Literal Activa i sense cap error +$LITACCION_CONERRORES='Activa amb errors'; // Literal Activa i amb algn error + +$LITACCION_DETENIDA='Parada'; // Literal acci momentniament parada +$LITACCION_INICIADA='Activa'; // Literal acci activa +$LITACCION_FINALIZADA='Finalitzada'; // Literal acci finalitzada + +$TbMsg=array(); + $TbMsg[0]='Cua d'accions'; + $TbMsg[1]='Opcions de bsqueda'; + $TbMsg[2]='Accions'; + $TbMsg[3]='Resultats'; + $TbMsg[4]='Estats'; + $TbMsg[5]='Percentatge desde'; + $TbMsg[6]='fins'; + $TbMsg[7]='Data inici'; + $TbMsg[8]='Data final'; + $TbMsg[9]='Hora inici'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='mbit'; + $TbMsg[12]='Eliminar'; + $TbMsg[13]='Reiniciar'; + $TbMsg[14]='Parar'; + $TbMsg[15]='Seguir'; + $TbMsg[16]='Cancel.lar'; + $TbMsg[17]='Finalitzar'; + + $TbMsg[18]='Acci'; + $TbMsg[19]='Data final'; + $TbMsg[20]='Hora final'; + $TbMsg[21]='Data inici'; + $TbMsg[22]='Hora inici'; + $TbMsg[23]='Nom'; + + $TbMsg[24]='Centres'; + $TbMsg[25]='Grup d'aules'; + $TbMsg[26]='Aules'; + $TbMsg[27]='Grup d'ordinadors'; + $TbMsg[28]='Ordinadors'; + + $TbMsg[30]='Ordres'; + $TbMsg[31]='Tasques'; + $TbMsg[32]='Treballs'; + + $TbMsg[41]='"Filtre Acci"'; + $TbMsg[42]='"Filtre mbit"'; + $TbMsg[43]='"Eliminar filtre"'; + $TbMsg[44]='"Modificar Acci"'; + $TbMsg[45]='"Reiniciar"'; + $TbMsg[46]='"Eliminar"'; + $TbMsg[47]='"Tasca pare"'; + $TbMsg[48]='"Treball paree"'; + $TbMsg[49]='"Veure Ordres"'; + $TbMsg[50]='"Veure tasques"'; + $TbMsg[51]='"Parar"'; + $TbMsg[52]='"Seguir"'; + $TbMsg[53]='"Cancelar"'; + $TbMsg[54]='"Finalitzar"'; + $TbMsg[55]='"Finalitzar sense errors"'; + $TbMsg[56]='"Finalitzar amb errors"'; + $TbMsg[57]='Informaci'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/cuasreserves_cat.txt b/admin/WebConsole/idiomas/php/cat/cuasreserves_cat.txt new file mode 100644 index 00000000..3116cdaf --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/cuasreserves_cat.txt @@ -0,0 +1,53 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: colasreservas_cat.php +// Idioma: Catal +//________________________________________________________________________________________________________ + +// Literals dels tipus de reserves +$LITRESERVA_PENDENT="Pendents"; +$LITRESERVA_CONFIRMADA="Confirmades"; +$LITRESERVA_DENEGADA="Denegades"; + +$RESERVA_PARADA=1; // reserva momentniament aturada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspesa'; // Literal reserva momentniament aturada +$LITRESERVA_ACTIVA='Activa'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Reserves d'aules'; + $TbMsg[1]='Opcions de bsqueda'; + $TbMsg[2]='Tipus'; + $TbMsg[3]=''; + $TbMsg[4]='Estats'; + $TbMsg[5]='Percentatge desde'; + $TbMsg[6]='Percentatge fins '; + $TbMsg[7]='Data inici'; + $TbMsg[8]='Data final'; + $TbMsg[9]='Hora inici'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='mbit'; + + $TbMsg[12]='Centres'; + $TbMsg[13]='Grup d'aules'; + $TbMsg[14]='Aules'; + + $TbMsg[15]='Any'; + $TbMsg[16]='Mes'; + $TbMsg[17]='Da'; + $TbMsg[18]='Aula'; + $TbMsg[19]='Ocupaci'; + $TbMsg[20]='Imatge asociada'; + $TbMsg[21]='Descripci'; + + $TbMsg[22]='Programaci reserves'; + $TbMsg[23]='(Sense especificar)'; + $TbMsg[24]='Aula'; + $TbMsg[25]='Solicitant'; + $TbMsg[26]="Anticipaci previa"; + $TbMsg[27]="(Sense acci previa)"; + $TbMsg[28]="Tasca previa"; + $TbMsg[29]="Treball previ"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/executarprocediments_cat.php b/admin/WebConsole/idiomas/php/cat/executarprocediments_cat.php new file mode 100644 index 00000000..46a60e41 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/executarprocediments_cat.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: acciones_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centres'; + $TbMsg[1]='Grup d\'aules'; + $TbMsg[2]='Aules'; + $TbMsg[3]='Grup d\'ordinadors'; + $TbMsg[4]='Ordinadors'; + $TbMsg[5]='Execuci de procediments'; + $TbMsg[6]='mbit'; + $TbMsg[7]='Procediments'; + $TbMsg[8]='Procedimients'; + $TbMsg[9]='"Executar procediment"'; + ?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/hardwares_cat.txt b/admin/WebConsole/idiomas/php/cat/hardwares_cat.txt new file mode 100644 index 00000000..2395dea3 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/hardwares_cat.txt @@ -0,0 +1,30 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: hardwares_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Definir nou tipus hardware"'; + $TbMsg[1]='"Propietats"'; + $TbMsg[2]='"Eliminar tipus de hardware"'; + $TbMsg[3]='"Nou grup de components"'; + $TbMsg[4]='"Definir nou component"'; + $TbMsg[5]='"Col.locar component"'; + $TbMsg[6]='"Renombrar"'; + $TbMsg[7]='"Eliminar grup de components"'; + $TbMsg[8]='"Moure component"'; + $TbMsg[9]='"Eliminar component"'; + $TbMsg[10]='"Nou grup de perfils"'; + $TbMsg[11]='"Definir nou perfil"'; + $TbMsg[12]='"Col.locar perfil"'; + $TbMsg[13]='"Eliminar grup de perfils"'; + $TbMsg[14]='"Gesti Components"'; + $TbMsg[15]='"Informaci Perfil"'; + $TbMsg[16]='"Moure perfil"'; + $TbMsg[17]='"Eliminar perfil hardware"'; + $TbMsg[18]='"Tipus de hardware"'; + $TbMsg[19]='"Components hardwares"'; + $TbMsg[20]='"Perfils hardwares"'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/imatgeincremental_cat.txt b/admin/WebConsole/idiomas/php/cat/imatgeincremental_cat.txt new file mode 100644 index 00000000..2b970d06 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/imatgeincremental_cat.txt @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: imagenincremental_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Imtges'; + $TbMsg[1]='Gesti de software incremental'; + $TbMsg[2]='Imatge'; + $TbMsg[3]='Nom del software incremental'; + $TbMsg[4]='(*)Per a incloure algun software incremental en aquesta imatge deu fer click sobre la casella de verificaci corresponent.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/imatgens_cat.txt b/admin/WebConsole/idiomas/php/cat/imatgens_cat.txt new file mode 100644 index 00000000..36fb497b --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/imatgens_cat.txt @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxcher d'idiomes php: imagenes_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nou grup d'imtges"'; + $TbMsg[1]='"Definir nova imatge"'; + $TbMsg[2]='"Col.locar imatge"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grup d'imtges"'; + $TbMsg[5]='"Imatge informaci"'; + $TbMsg[6]='"Moure imatge"'; + $TbMsg[7]='"Propietats"'; + $TbMsg[8]='"Eliminar Imatge"'; + $TbMsg[9]='"Imtges"'; + $TbMsg[10]='"Gesti incrementals"'; +?> diff --git a/admin/WebConsole/idiomas/php/cat/incorporaordinadors_cat.txt b/admin/WebConsole/idiomas/php/cat/incorporaordinadors_cat.txt new file mode 100644 index 00000000..f9060859 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/incorporaordinadors_cat.txt @@ -0,0 +1,17 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: incorporaordenadores_esp.php (Comandos) +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Incorporaci d'Ordinadors'; + $TbMsg[1]='Aula'; + $TbMsg[2]='Fitxer'; + $TbMsg[3]='ATENCI: Ha hagut algn problema al incorporar ordinadors des del fitxer'; + $TbMsg[4]='ATENCI: El fitxer est buit'; + $TbMsg[5]='ATENCI: El fitxer no cont informaci amb el format necesari per a incorpora ordinadors'; + $TbMsg[6]='ATENCI: Hi ha algn problema per a salvar el fitxer'; + $TbMsg[7]='S'han incorporat correctament ordinadors desde fitxer'; + $TbMsg[8]='Contingut'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/incrementalcomponent_soft_cat.txt b/admin/WebConsole/idiomas/php/cat/incrementalcomponent_soft_cat.txt new file mode 100644 index 00000000..cf9ece55 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/incrementalcomponent_soft_cat.txt @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: incrementalcomponente_soft_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Softwares Incrementals'; + $TbMsg[1]='Gesti de components software'; + $TbMsg[2]='Software incremental'; + $TbMsg[3]='Nombre del component'; + $TbMsg[4]='(*)Per a incloure algn component en aquest software incremental deu fer click sobre la casella de verificaci corresponent.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_imatges_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_imatges_cat.txt new file mode 100644 index 00000000..cab1ce4d --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_imatges_cat.txt @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_imagenes_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Imtges'; + $TbMsg[1]='Informacio sobre imatges'; + $TbMsg[2]='Imatge'; + $TbMsg[3]='Informaci de la Imatge'; + $TbMsg[4]='Componentes software'; + $TbMsg[5]='Software incremental'; + $TbMsg[6]='Perfil Software'; + $TbMsg[7]='Ordinadors amb aquesta imatge'; + $TbMsg[8]='Partici'; + $TbMsg[9]='Comentaris'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_incrementals_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_incrementals_cat.txt new file mode 100644 index 00000000..fc15ab13 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_incrementals_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_incrementales_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Software Incremental'; + $TbMsg[1]='Informaci sobre software incremental'; + $TbMsg[2]='Software Incremental'; + $TbMsg[3]='Informaci software incremental'; + $TbMsg[4]='Components software'; + $TbMsg[5]='Perfils Combinables'; + $TbMsg[6]='Perfils Hardware soportats'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_menus_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_menus_cat.txt new file mode 100644 index 00000000..e6f88df0 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_menus_cat.txt @@ -0,0 +1,29 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_menus_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Items del Menu'; + $TbMsg[1]='Informaci del Men'; + $TbMsg[2]='Men'; + $TbMsg[3]='Informaci Men'; + $TbMsg[4]='Propietats de los items'; + $TbMsg[5]='Propietats'; + $TbMsg[6]='Eliminar Item'; + $TbMsg[7]='Ttul'; + $TbMsg[8]='Propietats de los items pblics del Men'; + $TbMsg[9]='Coordenada x'; + $TbMsg[10]='Coordenada y'; + $TbMsg[11]='Modalitat'; + $TbMsg[12]='Propietats de los items privats del Men'; + $TbMsg[13]='Items pblics '; + $TbMsg[14]='Items privats'; + $TbMsg[15]='Orden del item'; + $TbMsg[16]='Literal del item'; + $TbMsg[17]='Nombre de la Imatge'; + $TbMsg[18]='Men simple'; + $TbMsg[19]='Men doble'; + $TbMsg[20]='Cdi del item'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_perfilshard_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_perfilshard_cat.txt new file mode 100644 index 00000000..6ebf5869 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_perfilshard_cat.txt @@ -0,0 +1,17 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_perfileshard_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfils hardware'; + $TbMsg[1]='Informacio sobre Perfils hardware'; + $TbMsg[2]='Perfil hardware'; + $TbMsg[3]='Informaci Perfil hardware'; + $TbMsg[4]='Perfils software disponibles'; + $TbMsg[5]='Components software'; + $TbMsg[6]='Components hardware '; + $TbMsg[7]='Software Incremental'; + $TbMsg[8]='Comentaris'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_perfilssoft_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_perfilssoft_cat.txt new file mode 100644 index 00000000..13fada81 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_perfilssoft_cat.txt @@ -0,0 +1,17 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_perfilessoft_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfils software'; + $TbMsg[1]='Informaci sobre perfils software'; + $TbMsg[2]='Perfil software'; + $TbMsg[3]='Informaci perfils software'; + $TbMsg[4]='Perfils Hardware soportatass'; + $TbMsg[5]='Components hardware'; + $TbMsg[6]='Components software'; + $TbMsg[7]='Software Incremental'; + $TbMsg[8]='Comentaris'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_procediments_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_procediments_cat.txt new file mode 100644 index 00000000..48005b00 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_procediments_cat.txt @@ -0,0 +1,11 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_procedimientos_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Parmetres dels comandaments del Procedimeno'; + $TbMsg[1]='Parmetre'; + $TbMsg[2]='Valor'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_tasques_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_tasques_cat.txt new file mode 100644 index 00000000..71301069 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_tasques_cat.txt @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_tareas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Parmetres dels Comandaents de la Tascaa'; + $TbMsg[1]='Parmetre'; + $TbMsg[2]='Valor'; + $TbMsg[3]='mbit'; + $TbMsg[4]='Nom'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/informacio_treballs_cat.txt b/admin/WebConsole/idiomas/php/cat/informacio_treballs_cat.txt new file mode 100644 index 00000000..b0253253 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/informacio_treballs_cat.txt @@ -0,0 +1,14 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: informacion_tareas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Tasques incloses en Treballs'; + $TbMsg[1]='Parmetres de comandaments en Tasca'; + $TbMsg[2]='Parmetre'; + $TbMsg[3]='Valor'; + $TbMsg[4]='mbit'; + $TbMsg[5]='Nom'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/menus_cat.txt b/admin/WebConsole/idiomas/php/cat/menus_cat.txt new file mode 100644 index 00000000..9c353e33 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/menus_cat.txt @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: menus_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nou grup de mens"'; + $TbMsg[1]='"Definir nou men"'; + $TbMsg[2]='"Col.locar menu"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grup de mens"'; + $TbMsg[5]='"Informaci Men"'; + $TbMsg[6]='"Moure men"'; + $TbMsg[7]='"Propietats"'; + $TbMsg[8]='"Eliminar men"'; + $TbMsg[9]='"Mens"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/perfilcomponent_hard_cat.txt b/admin/WebConsole/idiomas/php/cat/perfilcomponent_hard_cat.txt new file mode 100644 index 00000000..54522fb7 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/perfilcomponent_hard_cat.txt @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: perfilcomponente_hard_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfils hardware'; + $TbMsg[1]='Gesti Components hardware'; + $TbMsg[2]='Perfil hardware'; + $TbMsg[3]='Nom del component'; + $TbMsg[4]='(*)Per a incloure algn component en aquest perfil deu fer click sobre la casella de verificaci corresponent.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/perfilcomponent_soft_cat.txt b/admin/WebConsole/idiomas/php/cat/perfilcomponent_soft_cat.txt new file mode 100644 index 00000000..a72db2e8 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/perfilcomponent_soft_cat.txt @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: perfilcomponente_soft_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfils software'; + $TbMsg[1]='Gesti de components software'; + $TbMsg[2]='Perfil software'; + $TbMsg[3]='Nom del component'; + $TbMsg[4]='(*)Per a incloure algn component en aquest perfil deu fer click sobre la casella de verificaci corresponent.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/procedimentscomandaments_cat.txt b/admin/WebConsole/idiomas/php/cat/procedimentscomandaments_cat.txt new file mode 100644 index 00000000..0acd6309 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/procedimentscomandaments_cat.txt @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: procedimientoscomandos_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Gesti Comandaments del Procediment'; + $TbMsg[1]='Comandaments inclosos'; + $TbMsg[2]='Procediment'; + $TbMsg[3]='Nom Comandaments'; + $TbMsg[4]='Ord.'; + $TbMsg[5]='Parmetre'; + $TbMsg[6]='Valor'; + $TbMsg[7]='(*)Per a excluir algn comandament de aquest procediment deu fer click sobre la casella de verificaci corresponent'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/programacions_cat.txt b/admin/WebConsole/idiomas/php/cat/programacions_cat.txt new file mode 100644 index 00000000..d7dfa906 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/programacions_cat.txt @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: programaciones_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +// Literals dels tipus d'accions +$LITEJECUCION_COMANDO="Comandaments"; +$LITEJECUCION_PROCEDIMIENTO="Procedimentss"; +$LITEJECUCION_TAREA="Tasques"; +$LITEJECUCION_TRABAJO="Treballs"; +$LITEJECUCION_RESERVA="Reserves"; + +$TbMsg=array(); + +$TbMsg[0]="Programacions"; +$TbMsg[1]="Suspendre temporalment tots els blocs programats"; +$TbMsg[2]="Descripci del bloc"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/programacionsaules_cat.txt b/admin/WebConsole/idiomas/php/cat/programacionsaules_cat.txt new file mode 100644 index 00000000..50efa88a --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/programacionsaules_cat.txt @@ -0,0 +1,54 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: colasreservas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + +// Literals dels tipus de reserves +$LITRESERVA_PENDIENTE="Pendents"; +$LITRESERVA_CONFIRMADA="Confirmades"; +$LITRESERVA_DENEGADA="Denegades"; + +$RESERVA_PARADA=1; // reserva momentaniament aturada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspendida'; // Literal reserva momentaniament aturada +$LITRESERVA_ACTIVA='Activa'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Reserves d'aules'; + $TbMsg[1]='Opcions de Recerca'; + $TbMsg[2]='Tipus'; + $TbMsg[3]=''; + $TbMsg[4]='Estats'; + $TbMsg[5]='Percentatge desde'; + $TbMsg[6]='Porcentatge fins '; + $TbMsg[7]='Data inici'; + $TbMsg[8]='Data final'; + $TbMsg[9]='Hora inici'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='mbit'; + + $TbMsg[12]='Centres'; + $TbMsg[13]='Grup d'aules'; + $TbMsg[14]='Aules'; + + $TbMsg[15]='Any'; + $TbMsg[16]='Mes'; + $TbMsg[17]='Da'; + $TbMsg[18]='Aula'; + $TbMsg[19]='Ocupaci'; + $TbMsg[20]='Imatge asociada'; + $TbMsg[21]='Descripci'; + + $TbMsg[22]='Programaci reserves'; + $TbMsg[23]='(Sense especificar)'; + $TbMsg[24]='Aula'; + $TbMsg[25]='Solicitant'; + $TbMsg[26]="Anticipaci previa"; + $TbMsg[27]="(Sense acci previa)"; + $TbMsg[28]="Tasca previa"; + $TbMsg[29]="Treball previ"; + $TbMsg[30]='Grup de reserves'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/programacionsreserves_cat.txt b/admin/WebConsole/idiomas/php/cat/programacionsreserves_cat.txt new file mode 100644 index 00000000..28becbf9 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/programacionsreserves_cat.txt @@ -0,0 +1,53 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: colasreservas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + +// Literals dels tipus de reserves +$LITRESERVA_PENDIENTE="Pendents"; +$LITRESERVA_CONFIRMADA="Confirmades"; +$LITRESERVA_DENEGADA="Denegades"; + +$RESERVA_PARADA=1; // reserva momentaniament aturada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspendida'; // Literal reserva momentaniament aturada +$LITRESERVA_ACTIVA='Activa'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Reserves d'aules'; + $TbMsg[1]='Opcions de recerca'; + $TbMsg[2]='Tipus'; + $TbMsg[3]=''; + $TbMsg[4]='Estats'; + $TbMsg[5]='Percentatge desde'; + $TbMsg[6]='Percentatge fins '; + $TbMsg[7]='Data inici'; + $TbMsg[8]='Data final'; + $TbMsg[9]='Hora inici'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='mbit'; + + $TbMsg[12]='Reserves'; + $TbMsg[13]='Grup de reserves'; + + $TbMsg[15]='Any'; + $TbMsg[16]='Mes'; + $TbMsg[17]='Da'; + $TbMsg[18]='Aula'; + $TbMsg[19]='Ocupaci'; + $TbMsg[20]='Imatge asociada'; + $TbMsg[21]='Descripci'; + + $TbMsg[22]='Programaci reserves'; + $TbMsg[23]='(Sense especificar)'; + $TbMsg[24]='Aula'; + $TbMsg[25]='Sol.licitant'; + $TbMsg[26]="Anticipaci previa"; + $TbMsg[27]="(Sense accin previa)"; + $TbMsg[28]="Tasca previa"; + $TbMsg[29]="Treball previ"; + $TbMsg[30]="Dades Reserva"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_aules_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_aules_cat.txt new file mode 100644 index 00000000..85c5a06b --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_aules_cat.txt @@ -0,0 +1,24 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_aulas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Aules"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Ubicaci"; +$TbMsg[7]="Cann"; +$TbMsg[8]="Pissarra"; +$TbMsg[9]="Puestos"; +$TbMsg[10]="Url Imatge"; +$TbMsg[11]="Menu"; +$TbMsg[12]="Comentaris"; +$TbMsg[13]="Intervals"; +$TbMsg[14]="Hora desde:"; +$TbMsg[15]="Hora fins:"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_centres_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_centres_cat.txt new file mode 100644 index 00000000..a68cb4e8 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_centres_cat.txt @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_ordenadores_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti d'Unidats Organitzatives"; +$TbMsg[5]="Nom de la unitat"; +$TbMsg[6]="Comentaris"; +?> +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_componenthardwares_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_componenthardwares_cat.txt new file mode 100644 index 00000000..2fd987f2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_componenthardwares_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_componentehardwares_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Components Hardware"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Tipus de hardware"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_componentsoftwares_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_componentsoftwares_cat.txt new file mode 100644 index 00000000..9bdb40ec --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_componentsoftwares_cat.txt @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_componentesoftwares_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Components Software"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Tipus de Software"; +$TbMsg[7]="Tipus de S.O."; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_entitats_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_entitats_cat.txt new file mode 100644 index 00000000..bb097247 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_entitats_cat.txt @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_ordenadores_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Entitats"; +$TbMsg[5]="Nom de l'Entitat"; +$TbMsg[6]="Comentaris"; +?> +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_grups_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_grups_cat.txt new file mode 100644 index 00000000..1dbe4345 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_grups_cat.txt @@ -0,0 +1,31 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_tareas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Grups"; +$TbMsg[5]="Nom Grup"; +$TbMsg[6]="Comentaris"; +$TbMsg[7]="Grups d'Aules"; +$TbMsg[8]="Grups de Procediments"; +$TbMsg[9]="Grups de Tasques"; +$TbMsg[10]="Grups de Treballs"; +$TbMsg[11]="Grups d'Imtges"; +$TbMsg[12]="Grups de Components Hardware"; +$TbMsg[13]="Grups de Components Software"; +$TbMsg[14]="Grups de Perfils Hardware"; +$TbMsg[15]="Grups de Perfils Software"; +$TbMsg[16]="Grups de Software Incremental"; +$TbMsg[17]="Grups de Servidors Rembo"; +$TbMsg[18]="Grups de Servidors Dhcp"; +$TbMsg[19]="Grups de Mens"; +$TbMsg[20]="Grups de Reserves"; +$TbMsg[21]="Grups d'Entitats"; +$TbMsg[22]="Grupo d'Ordinadors"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_imatges_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_imatges_cat.txt new file mode 100644 index 00000000..b28bb149 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_imatges_cat.txt @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_imagenes_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Imtges"; +$TbMsg[5]="Nom Imatge"; +$TbMsg[6]="Perfil Software"; +$TbMsg[7]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_menus_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_menus_cat.txt new file mode 100644 index 00000000..3df91f1c --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_menus_cat.txt @@ -0,0 +1,26 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idioms php: propiedades_menus_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Menus"; +$TbMsg[5]="Nom del Men"; +$TbMsg[6]="Ttul"; +$TbMsg[7]="Comentaris"; +$TbMsg[8]="Items pblics del Menu"; +$TbMsg[9]="Coordenada x"; +$TbMsg[10]="Coordenada y"; +$TbMsg[11]="Modalitat"; +$TbMsg[12]="Items privats del Menu"; +$TbMsg[13]="Men simple"; +$TbMsg[14]="Men doble"; +$TbMsg[15]="Html men pblic"; +$TbMsg[16]="Html men privat"; +$TbMsg[17]="Resoluci de pantalla"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_ordinadors_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_ordinadors_cat.txt new file mode 100644 index 00000000..e4faad18 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_ordinadors_cat.txt @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_ordenadores_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Ordinadors"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Direcci IP"; +$TbMsg[7]="Direcci MAC"; +$TbMsg[8]="Perfil Hardware"; +$TbMsg[9]="Servidor Dhcp"; +$TbMsg[10]="Servidor Rembo "; +$TbMsg[11]="Menu"; +$TbMsg[12]="Tamany Cach"; +?> diff --git a/admin/WebConsole/idiomas/php/cat/propietats_ordinadorstandar_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_ordinadorstandar_cat.txt new file mode 100644 index 00000000..785784f0 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_ordinadorstandar_cat.txt @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_ordenadorestandar_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Aula"; +$TbMsg[1]="Ordinador plantilla"; +$TbMsg[2]="Nom"; +$TbMsg[3]="Direcci IP"; +$TbMsg[4]="Direcci MAC"; +$TbMsg[5]="Perfil hardware"; +$TbMsg[6]="Servidor Dhcp"; +$TbMsg[7]="Servidor Rembo "; +$TbMsg[8]="Ordinadors per a insertar"; +$TbMsg[9]='(*) Per a modificar un ordinador amb un certa dada, en aquest'aula, deu introduir el valor corresponent i deixar el camp "Ordinadors a insertar" a zero.'; +$TbMsg[10]="(**)Si es tracta de ordinadors nous amb una configuraci per defecte, pero no vol modificar els ordinadors ja existents deu introduir un valor mes gran que zero."; +$TbMsg[11]="Tamany Cach"; + +?> diff --git a/admin/WebConsole/idiomas/php/cat/propietats_perfilhardwares_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_perfilhardwares_cat.txt new file mode 100644 index 00000000..f4188157 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_perfilhardwares_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_perfilhardwares_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Perfils Hardware"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_perfilsoftwares_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_perfilsoftwares_cat.txt new file mode 100644 index 00000000..c10acd57 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_perfilsoftwares_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_perfilsoftwares_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti de Perfils software"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_procediments_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_procediments_cat.txt new file mode 100644 index 00000000..c9912844 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_procediments_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_procedimientos_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Procediments"; +$TbMsg[5]="Nom Procediment"; +$TbMsg[6]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_reserves_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_reserves_cat.txt new file mode 100644 index 00000000..5f14953f --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_reserves_cat.txt @@ -0,0 +1,30 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_reservas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Reserves"; +$TbMsg[5]="Descripci"; +$TbMsg[6]="Nom solicitant"; +$TbMsg[7]="Comentaris"; +$TbMsg[8]="E-mail"; +$TbMsg[9]="Estatus universitari"; +$TbMsg[10]="Aula"; +$TbMsg[11]="Imatge associada"; +$TbMsg[12]="Anticipacin previa"; +$TbMsg[13]="Confirmada"; +$TbMsg[14]="Pendent"; +$TbMsg[15]="Denegada"; +$TbMsg[16]="Estatat de la reserva"; +$TbMsg[17]="(En blanc o 0 minuts indica sense anticipaci)"; +$TbMsg[18]="(Sense acci anticipada)"; +$TbMsg[19]="Tasca previa"; +$TbMsg[20]="Treball previ"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_softincrementals_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_softincrementals_cat.txt new file mode 100644 index 00000000..f0f2ed69 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_softincrementals_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_softincrementales_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti de Software Incremental"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_tasques_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_tasques_cat.txt new file mode 100644 index 00000000..a4a1de56 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_tasques_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_tareas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Tasques"; +$TbMsg[5]="Nom Tascaa"; +$TbMsg[6]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_tipushardwares_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_tipushardwares_cat.txt new file mode 100644 index 00000000..f40f70eb --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_tipushardwares_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_tipohardwares_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Tipus de Hardware"; +$TbMsg[5]="Nom"; +$TbMsg[6]="icono"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_treballs_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_treballs_cat.txt new file mode 100644 index 00000000..c19fbd42 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_treballs_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_trabajos_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Treballs"; +$TbMsg[5]="Nom del Treball"; +$TbMsg[6]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_universitats_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_universitats_cat.txt new file mode 100644 index 00000000..e109f054 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_universitats_cat.txt @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_aulas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Universitats"; +$TbMsg[5]="Nom"; +$TbMsg[6]="Comentaris"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/propietats_usuaris_cat.txt b/admin/WebConsole/idiomas/php/cat/propietats_usuaris_cat.txt new file mode 100644 index 00000000..89ba2159 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/propietats_usuaris_cat.txt @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: propiedades_ordenadores_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sense Opci"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gesti Usuaris"; +$TbMsg[5]="Usuari"; +$TbMsg[6]="Password"; +$TbMsg[7]="Nom complet"; +$TbMsg[8]="E-mail"; +$TbMsg[9]="Unitat organitzativa"; +$TbMsg[10]="Idioma "; +?> diff --git a/admin/WebConsole/idiomas/php/cat/purgar_cat.txt b/admin/WebConsole/idiomas/php/cat/purgar_cat.txt new file mode 100644 index 00000000..297dbac0 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/purgar_cat.txt @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: actualizar_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Aquest mbit ha estat purgat correctament'; + $TbMsg[1]='ATENCI: Ha hagut algn problema al purgar l'mbit'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/reserves_cat.txt b/admin/WebConsole/idiomas/php/cat/reserves_cat.txt new file mode 100644 index 00000000..115b9a9c --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/reserves_cat.txt @@ -0,0 +1,20 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: reservas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nou grup de reserves"'; + $TbMsg[1]='"Definir nova reserva"'; + $TbMsg[2]='"Col.locar reserva"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grup de reserves"'; + $TbMsg[5]='"Informaci Reserva"'; + $TbMsg[6]='"Moure reserva"'; + $TbMsg[7]='"Propietats"'; + $TbMsg[8]='"Eliminar Reserva"'; + $TbMsg[9]='"Reserves"'; + $TbMsg[10]='"Programacions"'; + +?> diff --git a/admin/WebConsole/idiomas/php/cat/softwares_cat.txt b/admin/WebConsole/idiomas/php/cat/softwares_cat.txt new file mode 100644 index 00000000..d3a75f6f --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/softwares_cat.txt @@ -0,0 +1,37 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: softwares_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='""'; + $TbMsg[1]='"Propietats"'; + $TbMsg[2]='""'; + $TbMsg[3]='"Nou grup de components"'; + $TbMsg[4]='"Definir nou component"'; + $TbMsg[5]='"Col.locar component"'; + $TbMsg[6]='"Renombrar"'; + $TbMsg[7]='"Eliminar grup de components"'; + $TbMsg[8]='"Moure component"'; + $TbMsg[9]='"Eliminar component"'; + $TbMsg[10]='"Nou grup de perfils"'; + $TbMsg[11]='"Definir nou perfil"'; + $TbMsg[12]='"Col.locar perfil"'; + $TbMsg[13]='"Eliminar grup de perfils"'; + $TbMsg[14]='"Gesti components"'; + $TbMsg[15]='"Informaci Perfil"'; + $TbMsg[16]='"Moure perfil"'; + $TbMsg[17]='"Eliminar perfil software"'; + $TbMsg[18]='"Tipus de software"'; + $TbMsg[19]='"Components software"'; + $TbMsg[20]='"Perfils software"'; + $TbMsg[21]='"Software Incremental"'; + $TbMsg[22]='"Nou grup d'incrementals"'; + $TbMsg[23]='"Definir nuevo incremental"'; + $TbMsg[24]='"Col.locar incremental"'; + $TbMsg[25]='"Eliminar grup diincrementals"'; + $TbMsg[26]='"Informaci Incremental"'; + $TbMsg[27]='"Moure incremental"'; + $TbMsg[28]='"Eliminar incremental"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/tasquescomandaments_cat.txt b/admin/WebConsole/idiomas/php/cat/tasquescomandaments_cat.txt new file mode 100644 index 00000000..031523c4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/tasquescomandaments_cat.txt @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: tareascomandos_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Gesti Comandaments de la Tasca'; + $TbMsg[1]='Comandaments inclosos'; + $TbMsg[2]='Tasca'; + $TbMsg[3]='Nom Comandament'; + $TbMsg[4]='Ord.'; + $TbMsg[5]='Parmetre'; + $TbMsg[6]='Valor'; + $TbMsg[7]='(*)Per a excloure algn comandament d'aquesta tasca deu fer click sobre la casella de verificaci corresponent'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/cat/treballstasques_cat.txt b/admin/WebConsole/idiomas/php/cat/treballstasques_cat.txt new file mode 100644 index 00000000..e51715f9 --- /dev/null +++ b/admin/WebConsole/idiomas/php/cat/treballstasques_cat.txt @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fitxer d'idiomes php: trabajostareas_esp.php +// Idioma: Catal +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]="Tasques en Treball"; + $TbMsg[1]="Tasques incloses"; + $TbMsg[2]="Treball"; + $TbMsg[3]="Nom de la Tasca"; + $TbMsg[4]="(*)Per a incloure alguna tasca en aquest treball deu fer click sobre la casella de verificaci corresponent"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/acciones_eng.php b/admin/WebConsole/idiomas/php/eng/acciones_eng.php new file mode 100644 index 00000000..92a72113 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/acciones_eng.php @@ -0,0 +1,41 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: acciones_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"New procedures group"'; + $TbMsg[1]='"Define new procedure"'; + $TbMsg[2]='"To put procedure"'; + $TbMsg[3]='"Rename"'; + $TbMsg[4]='"Remove procedure group"'; + $TbMsg[5]='"Commands management"'; + $TbMsg[6]='"Procedure information"'; + $TbMsg[7]='"To move procedure"'; + $TbMsg[8]='"Properties"'; + $TbMsg[9]='"Remove Procedure"'; + $TbMsg[10]='"Menus management"'; + $TbMsg[11]='"New tasks group"'; + $TbMsg[12]='"Define new task"'; + $TbMsg[13]='"To put task"'; + $TbMsg[14]='"Remove task group"'; + $TbMsg[15]='"Perform task"'; + $TbMsg[16]='"Schedules"'; + $TbMsg[17]='"Task information"'; + $TbMsg[18]='"To move task"'; + $TbMsg[19]='"Remove task"'; + $TbMsg[20]='"New jobs group"'; + $TbMsg[21]='"Define new job"'; + $TbMsg[22]='"To put job"'; + $TbMsg[23]='"Remove jobs group"'; + $TbMsg[24]='"Perform job"'; + $TbMsg[25]='"Tasks management"'; + $TbMsg[26]='"Job information"'; + $TbMsg[27]='"To move job"'; + $TbMsg[28]='"Remove job"'; + $TbMsg[29]='Procedures'; + $TbMsg[30]='Commands'; + $TbMsg[31]='Task'; + $TbMsg[32]='Jobs'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/accionmenu_eng.php b/admin/WebConsole/idiomas/php/eng/accionmenu_eng.php new file mode 100644 index 00000000..02bbcddf --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/accionmenu_eng.php @@ -0,0 +1,25 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: accionmenu_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Items'; + $TbMsg[1]='Menu items management'; + $TbMsg[2]='Procedure'; + $TbMsg[3]='Task'; + $TbMsg[4]='Jobs'; + $TbMsg[5]='Pblico'; + $TbMsg[6]='Private'; + $TbMsg[7]='Publics Items'; + $TbMsg[8]='Privates Items'; + $TbMsg[9]='Menu name'; + $TbMsg[10]='Item type'; + $TbMsg[11]='Image of the item'; + $TbMsg[12]='Literal of the item'; + $TbMsg[13]='Ord'; + $TbMsg[14]='(*)To include some action in this menu you must click in the corresponding checkbox. For update click over image'; + + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/actualizar_eng.php b/admin/WebConsole/idiomas/php/eng/actualizar_eng.php new file mode 100644 index 00000000..7abf81c8 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/actualizar_eng.php @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: actualizar_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='This environment has been successfully refreshed'; + $TbMsg[1]='WARNING: Having some problem to refresh this environment'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/administracion_eng.php b/admin/WebConsole/idiomas/php/eng/administracion_eng.php new file mode 100644 index 00000000..023af70c --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/administracion_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: administracion_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Administracin"'; + $TbMsg[1]='"New entity group"'; + $TbMsg[2]='"New entity entidad"'; + $TbMsg[3]='"New Superadministrator"'; + $TbMsg[4]='"Properties"'; + $TbMsg[5]='"Remove"'; + $TbMsg[6]='"Rename"'; + $TbMsg[7]='"Remove Entity group"'; + $TbMsg[8]='"New organizing unit"'; + $TbMsg[9]='"New Administrator"'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/aulas_eng.php b/admin/WebConsole/idiomas/php/eng/aulas_eng.php new file mode 100644 index 00000000..a4aeb2f5 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/aulas_eng.php @@ -0,0 +1,47 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: aulas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"New labs group"'; + $TbMsg[1]='"Computers status"'; + $TbMsg[2]='"Purge"'; + $TbMsg[3]='"Add new lab"'; + $TbMsg[4]='"Refresh"'; + $TbMsg[5]='"Commands"'; + $TbMsg[6]='"Actions queue"'; + $TbMsg[7]='"Remove labs group"'; + $TbMsg[8]='"New computers group"'; + $TbMsg[9]='"Add new computer"'; + $TbMsg[10]='"Configuration"'; + $TbMsg[11]='"To put computer"'; + $TbMsg[12]='"Computer template"'; + $TbMsg[13]='"Properties"'; + $TbMsg[14]='"Remove lab"'; + $TbMsg[15]='"Rename"'; + $TbMsg[16]='"Remove computers group"'; + $TbMsg[17]='"To move computer"'; + $TbMsg[18]='"Remove Computer"'; + $TbMsg[19]='"Tasks"'; + $TbMsg[20]='"Jobs"'; + $TbMsg[21]='"All actions"'; + $TbMsg[22]='Computers Status'; + $TbMsg[23]='Lab Computer'; + $TbMsg[24]='Environment: Centers'; + $TbMsg[25]='Environment: Group of labs'; + $TbMsg[26]='Environment: Group of computers'; + $TbMsg[27]='"Incorpore computers"'; + $TbMsg[28]='"Procedures"'; + $TbMsg[29]='"Labs Reserves"'; + $TbMsg[30]='"Confirmeds"'; + $TbMsg[31]='"Refuses"'; + $TbMsg[32]='"Pendings"'; + $TbMsg[33]='"Swtiching"'; + $TbMsg[34]='"Reserve schedules"'; + $TbMsg[35]='"Operators"'; + $TbMsg[36]='"Remove operator"'; + $TbMsg[37]='"Add a new operator"'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/barramenu_eng.php b/admin/WebConsole/idiomas/php/eng/barramenu_eng.php new file mode 100644 index 00000000..d5d44eaf --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/barramenu_eng.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: barramenu_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Labs'; + $TbMsg[1]='Actions'; + $TbMsg[2]='Images'; + $TbMsg[3]='Hardware'; + $TbMsg[4]='Software'; + $TbMsg[5]='Servers'; + $TbMsg[6]='Menus'; + $TbMsg[7]='Reserves'; + $TbMsg[8]='Administration'; + $TbMsg[9]='Icons'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php b/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php new file mode 100644 index 00000000..97cbc0e2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/clases/Almanaque_eng.php @@ -0,0 +1,405 @@ + <? +/*============================================================================ + Esta clase genera tablas HTML para seleccin de fechas (Versin inglesa) + + Atributos de la clase: + + clase: Clase [CSS] de la tabla HTML que se generar. + onmouseover: Funcin Javascript que se ejuctar al generarse el evento + onmouseout: Funcin Javascript que se ejuctar al generarse el evento + onclick: Funcin Javascript que se ejuctar al hacer click sobre el objeto + +============================================================================*/ +class Almanaque{ + + var $clase ; + var $onmouseover; + var $onmouseout; + var $onclick; + + var $desplazamiento_dias=6; // Ajuste fino dependiendo del ao de comienzo del algoritmo + var $nombre_mes=array(); + var $nombre_dia=array(); + var $dias_meses=array(); + var $semanas=array(); + var $numero_annos=array(); + + function Almanaque($pclase="",$ponmouseover="sobre(this)",$ponmouseout="fuera(this)",$ponclick="clic(this)"){ //Constructor + $this->clase=$pclase; + $this->onmouseover=$ponmouseover; + $this->onmouseout=$ponmouseout; + $this->onclick=$ponclick; + + $this->nombre_mes[1]=array ("January",0x0001); + $this->nombre_mes[2]=array ("February",0x0002); + $this->nombre_mes[3]=array ("March",0x0004); + $this->nombre_mes[4]=array ("April",0x0008); + $this->nombre_mes[5]=array ("May",0x0010); + $this->nombre_mes[6]=array ("June",0x0020); + $this->nombre_mes[7]=array ("July",0x0040); + $this->nombre_mes[8]=array ("August",0x0080); + $this->nombre_mes[9]=array ("September",0x0100); + $this->nombre_mes[10]=array ("October",0x0200); + $this->nombre_mes[11]=array ("November",0x0400); + $this->nombre_mes[12]=array ("December",0x0800); + + $this->nombre_dia[1]=array ("Mo",0x01); // tamao 1 bytes + $this->nombre_dia[2]=array ("Tu",0x02); + $this->nombre_dia[3]=array ("We",0x04); + $this->nombre_dia[4]=array ("Th",0x08); + $this->nombre_dia[5]=array ("Fr",0x10); + $this->nombre_dia[6]=array ("Sa",0x20); + $this->nombre_dia[7]=array ("Su",0x40); + + + $this->dias_meses[1]=31; + $this->dias_meses[2]=28; + $this->dias_meses[3]=31; + $this->dias_meses[4]=30; + $this->dias_meses[5]=31; + $this->dias_meses[6]=30; + $this->dias_meses[7]=31; + $this->dias_meses[8]=31; + $this->dias_meses[9]=30; + $this->dias_meses[10]=31; + $this->dias_meses[11]=30; + $this->dias_meses[12]=31; + + $this->semanas[1]=array ("1",0x01); // tamao 1 bytes + $this->semanas[2]=array ("2",0x02); + $this->semanas[3]=array ("3",0x04); + $this->semanas[4]=array ("4",0x08); + $this->semanas[5]=array ("5",0x10); + $this->semanas[6]=array ("Last",0x20); + + $this->numero_annos[1]=array ("2004",0x01); // tamao 1 bytes + $this->numero_annos[2]=array ("2005",0x02); + $this->numero_annos[3]=array ("2006",0x04); + $this->numero_annos[4]=array ("2007",0x08); + $this->numero_annos[5]=array ("2008",0x10); + $this->numero_annos[6]=array ("2009",0x20); + $this->numero_annos[7]=array ("2010",0x40); + $this->numero_annos[8]=array ("2011",0x80); + + $this->numero_dias[1]=0x00000001; // tamao 4 bytes + $this->numero_dias[2]=0x00000002; + $this->numero_dias[3]=0x00000004; + $this->numero_dias[4]=0x00000008; + + $this->numero_dias[5]=0x00000010; + $this->numero_dias[6]=0x00000020; + $this->numero_dias[7]=0x00000040; + $this->numero_dias[8]=0x00000080; + + $this->numero_dias[9]=0x00000100; + $this->numero_dias[10]=0x00000200; + $this->numero_dias[11]=0x00000400; + $this->numero_dias[12]=0x00000800; + + $this->numero_dias[13]=0x00001000; + $this->numero_dias[14]=0x00002000; + $this->numero_dias[15]=0x00004000; + $this->numero_dias[16]=0x00008000; + + $this->numero_dias[17]=0x00010000; + $this->numero_dias[18]=0x00020000; + $this->numero_dias[19]=0x00040000; + $this->numero_dias[20]=0x00080000; + + $this->numero_dias[21]=0x00100000; + $this->numero_dias[22]=0x00200000; + $this->numero_dias[23]=0x00400000; + $this->numero_dias[24]=0x00800000; + + $this->numero_dias[25]=0x01000000; + $this->numero_dias[26]=0x02000000; + $this->numero_dias[27]=0x04000000; + $this->numero_dias[28]=0x08000000; + + $this->numero_dias[29]=0x10000000; + $this->numero_dias[30]=0x20000000; + $this->numero_dias[31]=0x40000000; + $this->numero_dias[32]=0x80000000; + + + $this->numero_horas[1]=array ("0:00", 0x0001); // tamao 2 bytes + $this->numero_horas[2]=array ("1:00", 0x0002); + $this->numero_horas[3]=array ("2:00", 0x0004); + $this->numero_horas[4]=array ("3:00", 0x0008); + $this->numero_horas[5]=array ("4:00", 0x0010); + $this->numero_horas[6]=array ("5:00", 0x0020); + $this->numero_horas[7]=array ("6:00", 0x0040); + $this->numero_horas[8]=array ("7:00", 0x0080); + $this->numero_horas[9]=array ("8:00", 0x0100); + $this->numero_horas[10]=array ("9:00",0x0200); + $this->numero_horas[11]=array ("10:00",0x0400); + $this->numero_horas[12]=array ("11:00",0x0800); + +/* + $this->numero_horas[1]=array ("8:00",0x00000001); // tamao 4 bytes + $this->numero_horas[2]=array ("8:30",0x00000002); + $this->numero_horas[3]=array ("9:00",0x00000004); + $this->numero_horas[4]=array ("9:30",0x00000008); + $this->numero_horas[5]=array ("10:00",0x00000010); + $this->numero_horas[6]=array ("10:30",0x00000020); + $this->numero_horas[7]=array ("11:00",0x00000040); + $this->numero_horas[8]=array ("11:30",0x00000080); + $this->numero_horas[9]=array ("12:00",0x00000100); + $this->numero_horas[10]=array ("12:30",0x00000200); + $this->numero_horas[11]=array ("13:00",0x00000400); + $this->numero_horas[12]=array ("13:30",0x00000800); + $this->numero_horas[13]=array ("14:00",0x00001000); + $this->numero_horas[14]=array ("14:30",0x00002000); + $this->numero_horas[15]=array ("15:00",0x00004000); + $this->numero_horas[16]=array ("15:30",0x00008000); + $this->numero_horas[17]=array ("16:00",0x00010000); + $this->numero_horas[18]=array ("16:30",0x00020000); + $this->numero_horas[19]=array ("17:00",0x00040000); + $this->numero_horas[20]=array ("17:30",0x00080000); + $this->numero_horas[21]=array ("18:00",0x00100000); + $this->numero_horas[22]=array ("18:30",0x00200000); + $this->numero_horas[23]=array ("19:00",0x00400000); + $this->numero_horas[24]=array ("19:30",0x00800000); + $this->numero_horas[25]=array ("20:00",0x01000000); + $this->numero_horas[26]=array ("20:30",0x02000000); + $this->numero_horas[27]=array ("21:00",0x04000000); + $this->numero_horas[28]=array ("21:30",0x08000000); + */ + + } + + /*------------------------------------------------------------------------------------------- + Esta funcin devuelve el nmero del da de la semana: + 0=domingo 1=Lunes, 2=mrtes ... 6=sbado + + Parmetro de entrada: + Una cadena con formato de fecha dd/mm/aaaa. + ----------------------------------------------------------------------------------------------*/ + function _DiaSemana($fecha){ + list($dia,$mes,$anno)=split('[/.-]',$fecha); + $cont=0; + for ($i=1900;$i<$anno;$i++){ + if ($this->bisiesto($i)) $dias_anuales=366; else $dias_anuales=365; + $cont+=$dias_anuales; + } + for ($i=1;$i<$mes;$i++){ + if ($i!=2) + $cont+=$this->dias_meses[$i]; + else{ + if ($this->bisiesto($anno)) + $cont+=29; + else + $cont+=28; + } + } + $cont+=$dia+$this->desplazamiento_dias; + return($cont%7); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve true si el ao pasado como parmetro es bisiesto y false si no lo es + + Parmetro de entrada: + Una nmero que representa el ao + ----------------------------------------------------------------------------------------------*/ + function bisiesto($anob){ + if ($anob%4==0) return(true); else return(false); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con un rango de aos (2003-2010) + ----------------------------------------------------------------------------------------------*/ + function Annos($ano_desde,$ano_hasta){ + $HTML_calendario='<TABLE id="tabla_annos" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH style="cursor:hand" onclick="TH_'.$this->onclick.'">Years</TH></TR>'.chr(13); // Literal aos + for ($i=1;$i<7;$i++){ + $HTML_calendario.='<TR><TD id="'.$this->numero_annos[$i][0].'" value="'.$this->numero_annos[$i][1].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->numero_annos[$i][0].'</TD></TR>'.chr(13); + } + $HTML_calendario.='</TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML del calendario del mes y ao elegidos + y que son propiedades de la clase. + ----------------------------------------------------------------------------------------------*/ + function MesAnno($mes,$anno){ + $fecha="1/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + + $swbi=0; // Suma para bisiesto + if ($this->bisiesto($anno) && $mes==2) $swbi=1; + + $HTML_calendario='<TABLE id="tabla_mesanno" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[$mes][0].'</TH></TR>'.chr(13); // Nombre del mes + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<8;$i++) + $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Das de la semana + $HTML_calendario.='</TR><TR>'.chr(13); + for ($i=1;$i<$ds;$i++) + $HTML_calendario.='<TD></TD>'.chr(13); // Relleno primeros dias de la semana + $sm=$ds; // Control salto de semana + for ($i=1;$i<=$this->dias_meses[$mes]+$swbi;$i++){ + $HTML_calendario.='<TD id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->numero_dias[$i].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$i.'</TD>'.chr(13); + if ($sm%7==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sm=0; + } + $sm++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con los meses del ao en dos columnas. + ----------------------------------------------------------------------------------------------*/ + function Meses(){ + $HTML_calendario='<TABLE id="tabla_meses" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=2 style="cursor:hand" onclick="TH_'.$this->onclick.'">Months</TH></TR>'.chr(13); // Literal meses + for ($i=1;$i<13;$i++){ + $HTML_calendario.='<TR><TD id="'.$i.'" value="'.$this->nombre_mes[$i][1].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->nombre_mes[$i++][0].'</TD>'.chr(13); + $HTML_calendario.='<TD id="'.$i.'" value="'.$this->nombre_mes[$i][1].'"style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->nombre_mes[$i][0].'</TD></TR>'.chr(13); + } + $HTML_calendario.='</TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con los das de la semana en una fila. + ----------------------------------------------------------------------------------------------*/ + function Dias(){ + $HTML_calendario='<TABLE id="tabla_dias" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 style="cursor:hand" onclick="TH_'.$this->onclick.'">Day</TH><TR>'.chr(13); // Literal Das + for ($i=1;$i<8;$i++){ + $HTML_calendario.='<TD id="'.$i.'" value="'.$this->nombre_dia[$i][1].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->nombre_dia[$i][0].'</TD>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con el orden de las semana en una fila. + ----------------------------------------------------------------------------------------------*/ + function Semanas(){ + $HTML_calendario='<TABLE id="tabla_semanas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 style="cursor:hand" onclick="TH_'.$this->onclick.'">Week</TH><TR>'.chr(13); // Literal Semenas + for ($i=1;$i<7;$i++){ + $HTML_calendario.='<TD id="'.$i.'" value="'.$this->semanas[$i][1].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->semanas[$i][0].' </TD>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con los 31 das de un mes en 3 filas + ----------------------------------------------------------------------------------------------*/ + function DiasMes(){ + $HTML_calendario='<TABLE id="tabla_diasmes" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=8 style="cursor:hand" onclick="TH_'.$this->onclick.'">Day of month</TH><TR>'.chr(13); // Literal Da + $HTML_calendario.='<TR>'.chr(13); + $sd=1; // Control salto de fila + for ($i=1;$i<32;$i++){ + $HTML_calendario.='<TD id="'.$i.'" value="'.$this->numero_dias[$i].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$i.'</TD>'.chr(13); + if ($sd%8==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sd=0; + } + $sd++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con las horas de apertura de las aulas + ----------------------------------------------------------------------------------------------*/ + function Horas(){ + $HTML_calendario='<TABLE id="tabla_horas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=12 style="cursor:hand" onclick="TH_'.$this->onclick.'">Time for action performance</TH>'; + $HTML_calendario.='<TH>Mod</TH>'; + $HTML_calendario.='<TH>Min.</TH>'; + //$HTML_calendario.='<TH>Seg.</TH></TR>'; + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<13;$i++) + $HTML_calendario.='<TD align=center id="'.$this->numero_horas[$i][0].'" value="'.$this->numero_horas[$i][1].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->numero_horas[$i][0].'</TD>'.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.= '<SELECT class="estilodesple" id="ampm">'.chr(13); + $HTML_calendario.= '<OPTION value=0>A.M.</OPTION>'.chr(13); + $HTML_calendario.= '<OPTION selected value=1 >P.M.</OPTION>'.chr(13); + $HTML_calendario.='</SELECT>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.='<INPUT type=text class=cajatexto id=minutos size=1>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='</TR>'.chr(13); + $HTML_calendario.='</TABLE>'.chr(13); + + return($HTML_calendario); + } +/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con las horas hasta de reserva de las aulas +________________________________________________________________________________________________________*/ + function HorasReserva($literal,$nombretabla,$nombreampm,$nombreminuto){ + if($literal=="1") + $literal="Start of the reserve"; + else + $literal="End of the reserve"; + $HTML_calendario='<TABLE id="'.$nombretabla.'" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=12 style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$literal.' </TH>'; + $HTML_calendario.='<TH>Mod</TH>'; + $HTML_calendario.='<TH>Min.</TH>'; + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<13;$i++) + $HTML_calendario.='<TD align=center id="'.$this->numero_horas[$i][0].'" value="'.$this->numero_horas[$i][1].'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->numero_horas[$i][0].'</TD>'.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.= '<SELECT class="estilodesple" id="'.$nombreampm.'">'.chr(13); + $HTML_calendario.= '<OPTION value=0>A.M.</OPTION>'.chr(13); + $HTML_calendario.= '<OPTION selected value=1 >P.M.</OPTION>'.chr(13); + $HTML_calendario.='</SELECT>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.='<INPUT type=text class=cajatexto id="'.$nombreminuto.'" size=1>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='</TR>'.chr(13); + $HTML_calendario.='</TABLE>'.chr(13); + + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------- + Esta funcin devuelve una cadena con el cdigo HTML con las horas de apertura de las aulas + ----------------------------------------------------------------------------------------------*/ + function Horas_Completas(){ + $maxcolumnas=16; + + $HTML_calendario='<TABLE id="tabla_horas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan='.$maxcolumnas.'>Horas</TH><TR>'.chr(13); // Literal Horas + $HTML_calendario.='<TR>'.chr(13); + $currenthora=0; + $currentminutos=0; + $currenthorario=$currenthora.":".$currentminutos; + for ($i=1;$i<97;$i++){ + if($currentminutos==0) $currenthorario.="0"; + + $HTML_calendario.='<TD align=center id="'.$currenthorario.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$currenthorario.'</TD>'.chr(13); + $currentminutos+=15; + if($currentminutos==60) { + $currenthora++; + if($currenthora==24) $currenthora=0; + $currentminutos=0; + } + $currenthorario=$currenthora.":".$currentminutos; + if ($i%$maxcolumnas==0) $HTML_calendario.='</TR><TR>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } +} // Fin de la clase Almanaque
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/clases/Calendario_eng.php b/admin/WebConsole/idiomas/php/eng/clases/Calendario_eng.php new file mode 100644 index 00000000..b1895cf6 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/clases/Calendario_eng.php @@ -0,0 +1,472 @@ + <? +/*======================================================================================================== + Esta clase genera tablas HTML para seleccin de fechas (Versin inglesa) + + Atributos de la clase: + + clase: Clase [CSS] de la tabla HTML que se generar. + onmouseover: Funcin Javascript que se ejuctar al generarse el evento + onmouseout: Funcin Javascript que se ejuctar al generarse el evento + onclick: Funcin Javascript que se ejuctar al hacer click sobre el objeto + +=========================================================================================================*/ +class Calendario{ + var $aula; + var $horaresevini; + var $horaresevfin; + var $clase ; + var $onmouseover; + var $onmouseout; + var $onclick; + + var $desplazamiento_dias=6; // Ajuste fino dependiendo del ao de comienzo del algoritmo + var $nombre_mes=array(); + var $nombre_dia=array(); + var $dias_meses=array(); + + function Calendario($pclase="",$ponmouseover="sobre(this)",$ponmouseout="fuera(this)",$ponclick="clic(this)"){ //Constructor + $this->clase=$pclase; + $this->onmouseover=$ponmouseover; + $this->onmouseout=$ponmouseout; + $this->onclick=$ponclick; + + $this->nombre_mes[1]=array ("January",0x0001); + $this->nombre_mes[2]=array ("February",0x0002); + $this->nombre_mes[3]=array ("March",0x0004); + $this->nombre_mes[4]=array ("April",0x0008); + $this->nombre_mes[5]=array ("May",0x0010); + $this->nombre_mes[6]=array ("June",0x0020); + $this->nombre_mes[7]=array ("July",0x0040); + $this->nombre_mes[8]=array ("August",0x0080); + $this->nombre_mes[9]=array ("September",0x0100); + $this->nombre_mes[10]=array ("October",0x0200); + $this->nombre_mes[11]=array ("November",0x0400); + $this->nombre_mes[12]=array ("December",0x0800); + + + $this->numero_annos[1]=array ("2004",0x01); // tamao 1 bytes + $this->numero_annos[2]=array ("2005",0x02); + $this->numero_annos[3]=array ("2006",0x04); + $this->numero_annos[4]=array ("2007",0x08); + $this->numero_annos[5]=array ("2008",0x10); + $this->numero_annos[6]=array ("2009",0x20); + $this->numero_annos[7]=array ("2010",0x40); + $this->numero_annos[8]=array ("2011",0x80); + + $this->dias_meses[1]=31; + $this->dias_meses[2]=28; + $this->dias_meses[3]=31; + $this->dias_meses[4]=30; + $this->dias_meses[5]=31; + $this->dias_meses[6]=30; + $this->dias_meses[7]=31; + $this->dias_meses[8]=31; + $this->dias_meses[9]=30; + $this->dias_meses[10]=31; + $this->dias_meses[11]=30; + $this->dias_meses[12]=31; + + $this->nombre_dia[1]=array ("Mo",0x01); // tamao 1 bytes + $this->nombre_dia[2]=array ("Tu",0x02); + $this->nombre_dia[3]=array ("We",0x04); + $this->nombre_dia[4]=array ("Th",0x08); + $this->nombre_dia[5]=array ("Fr",0x10); + $this->nombre_dia[6]=array ("Sa",0x20); + $this->nombre_dia[7]=array ("Su",0x40); + } +/*________________________________________________________________________________________________________ + Esta funcin devuelve una cadena con el cdigo HTML del calendario del mes y ao elegidos + y que son propiedades de la clase. +________________________________________________________________________________________________________*/ + function MesAnno($mes,$anno,$CntMes){ + $fecha="1/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + + $swbi=0; // Suma para bisiesto + if ($this->bisiesto($anno) && $mes==2) $swbi=1; + + $HTML_calendario='<TABLE border=1 cellspacing=0 cellpadding=1 id="tabla_mesanno" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 id="'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[$mes][0].'</TH></TR>'.chr(13); // Nombre del mes + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<8;$i++) + $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Das de la semana + $HTML_calendario.='</TR><TR>'.chr(13); + for ($i=1;$i<$ds;$i++) + $HTML_calendario.='<TD> </TD>'.chr(13); // Relleno primeros dias de la semana + $sm=$ds; // Control salto de semana + for ($i=1;$i<=$this->dias_meses[$mes]+$swbi;$i++){ + $HTML_calendario.='<TD align=center '; + if(isset($CntMes[$i])){ + if($CntMes[$i]==1){ + $HTML_calendario.=' style="COLOR:#eeeeee;BACKGROUND-COLOR: #cc3366;"'; + $HTML_calendario.=' id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"'; + } + } + $HTML_calendario.='>'.$i.'</TD>'.chr(13); + if ($sm%7==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sm=0; + } + $sm++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } +/*________________________________________________________________________________________________________ + Esta funcin devuelve una cadena con el cdigo HTML del calendario del mes y ao elegidos + y que son propiedades de la clase. +________________________________________________________________________________________________________*/ + function JMesAnno($mes,$anno,$JDif,$TBfechas,$sumahoras){ + $fecha="1/".$mes."/".$anno; + $Jdpl=$this->juliana($fecha)-$JDif; // Calcula punto departida para indice juliano + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + $paso=2; // Porporcin para el la intensidad del color + $swbi=0; // Suma para bisiesto + if ($this->bisiesto($anno) && $mes==2) $swbi=1; + $HTML_calendario='<TABLE border=1 cellspacing=0 cellpadding=1 id="tabla_mesanno" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 id="'.$mes.'/'.$anno.'" style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[(int)$mes][0].'</TH></TR>'.chr(13); // Nombre del mes + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<8;$i++) + $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Das de la semana + $HTML_calendario.='</TR><TR>'.chr(13); + for ($i=1;$i<$ds;$i++) + $HTML_calendario.='<TD> </TD>'.chr(13); // Relleno primeros dias de la semana + $sm=$ds; // Control salto de semana + for ($i=1;$i<=$this->dias_meses[(int)$mes]+$swbi;$i++){ + $HTML_calendario.='<TD align=center '; + if(isset($TBfechas[$Jdpl])){ + if($TBfechas[$Jdpl]>0){ + $xpor=$TBfechas[$Jdpl]*100/$sumahoras; + $itcr=255; + $itc=240-($xpor*$paso); + if($xpor>=50) + $colordia="#FFFFFF"; + else + $colordia="#000000"; + + $bgcolordia=sprintf('#%02x%02x%02x',$itcr,$itc,$itc); + $HTML_calendario.=' style="COLOR:'.$colordia.';BACKGROUND-COLOR: '.$bgcolordia.';"'; + $HTML_calendario.=' id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"'; + } + } + $HTML_calendario.='>'.$i.'</TD>'.chr(13); + if ($sm%7==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sm=0; + } + $sm++; + $Jdpl++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + +/*________________________________________________________________________________________________________ + Esta funcin devuelve el nmero del da de la semana: + 0=domingo 1=Lunes, 2=mrtes ... 6=sbado + + Parmetro de entrada: + Una cadena con formato de fecha dd/mm/aaaa. +________________________________________________________________________________________________________*/ + function _DiaSemana($fecha){ + list($dia,$mes,$anno)=split('[/.-]',$fecha); + $cont=0; + for ($i=1900;$i<$anno;$i++){ + if ($this->bisiesto($i)) $dias_anuales=366; else $dias_anuales=365; + $cont+=$dias_anuales; + } + for ($i=1;$i<$mes;$i++){ + if ($i!=2) + $cont+=$this->dias_meses[$i]; + else{ + if ($this->bisiesto($anno)) + $cont+=29; + else + $cont+=28; + } + } + $cont+=$dia+$this->desplazamiento_dias; + return($cont%7); + } +//________________________________________________________________________________________________________ +// Esta funcin devuelve true si el ao pasado como parmetro es bisiesto y false si no lo es +// +// Parmetro de entrada: +// Una nmero que representa el ao +//________________________________________________________________________________________________________ +function bisiesto($anob){ + if ($anob%4==0) return(true); else return(false); + } +//________________________________________________________________________________________________________ +// Esta funcin devuelve una cadena con el cdigo HTML con las horas de reservas de las aulas +//________________________________________________________________________________________________________ +function HorasDias($CntDia,$porcenhoras){ + $HTML_calendario=""; + $sw=0; + $conthoras=0; // Contador de horas y minutos de reservas + $maxcolumnas=8; + $tbampm[0]="a.m."; + $tbampm[1]="p.m."; + + $HTML_calendario.='<TABLE border=0 cellspacing=0 cellpadding=0 id="tabla_horas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=3>Horas</TH></TR>'.chr(13); // Literal Horas + $HTML_calendario.='<TR>'.chr(13); + $HTML_ampm[0]=""; + $HTML_ampm[1]=""; + $swampm[0]=false; + $swampm[1]=false; + + if($this->horaresevini<12) $ix=0; else $ix=1; + for($j=$ix;$j<=1;$j++){ + $HTML_ampm[$j].='<TD style="BACKGROUND-COLOR: #FFFFFF;" valig=top >'.chr(13); + $HTML_ampm[$j].='<TABLE valig=top cellspacing=0 cellpadding=0 border=1 class="'.$this->clase.'">'.chr(13); + $HTML_ampm[$j].='<TR>'.chr(13); + $HTML_ampm[$j].='<TH colspan='.$maxcolumnas.'>'.$tbampm[$j].'</TH></TR>'.chr(13); // Literal Horas + $HTML_ampm[$j].='<TR>'.chr(13); + + if($j==0){ // A.M.height + $imin=$this->horaresevini; + $currenthora=$imin; + if($this->horaresevfin<=12) + $imax=$this->horaresevfin; + else + $imax=12; + } + else{ + if($this->horaresevini<=12) + $imin=0; + else + $imin=$this->horaresevini-12; + $imax=(int)$this->horaresevfin-12; + $currenthora=$imin; + } + $cols=0; + $currentminutos=0; + $currenthorario=$currenthora.":".$currentminutos; + $intervalo=($imax-$imin+1)*4; + for ($i=$imin;$i<$intervalo;$i++){ + $cols++; + if($sw>0) // Acarre la reserva desde A.M. + $swampm[$j]=true; + + if($currentminutos==0) $currenthorario.="0"; + if(isset($CntDia[$j][$currenthora][$currentminutos])){ + if($CntDia[$j][$currenthora][$currentminutos]==1) + $sw++; + $swampm[$j]=true; + } + if(isset($CntDia[$j][$currenthora][$currentminutos])){ + if($CntDia[$j][$currenthora][$currentminutos]==0) + $sw--; + } + $HTML_ampm[$j].='<TD '; + if($sw>0) + $HTML_ampm[$j].=' style="COLOR:#eeeeee;BACKGROUND-COLOR: #cc3366;"'; + + if($sw>0) // Cuenta la fraccin de 15 minutos como reservada + $conthoras++; + $HTML_ampm[$j].=' align=center> '.$currenthorario.' </TD>'.chr(13); + $currentminutos+=15; + if($currentminutos==60) { + $currenthora++; + $currentminutos=0; + } + $currenthorario=$currenthora.":".$currentminutos; + if (($cols)%$maxcolumnas==0 ) $HTML_ampm[$j].='</TR><TR>'.chr(13); + } + $HTML_ampm[$j].='</TR></TABLE>'.chr(13); + $HTML_ampm[$j].='</TD>'.chr(13); + } + + if ($swampm[0]) + $HTML_calendario.=$HTML_ampm[0]; + + if ($swampm[0] && $swampm[1]){ + $HTML_calendario.='<TD style="BACKGROUND-COLOR: #FFFFFF;" width=25> '.chr(13); + $HTML_calendario.='</TD>'.chr(13); + } + + if ($swampm[1]) + $HTML_calendario.=$HTML_ampm[1]; + + $HTML_calendario.='</TR>'.chr(13); + $HTML_calendario.='</TABLE>'.chr(13); + + $numblo=($this->horaresevfin-$this->horaresevini)*4; + $porcenhoras=floor($conthoras*100/$numblo); + return($HTML_calendario); +} +/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Devuelve una cadena con los das del mes que son lunes(1) o martes(2) o mircoles(3), etc ...domingo(7) separada por comas +________________________________________________________________________________________________________________*/ +function DiasPorMes($mes,$anno,$numerodia){ + $cadenadias=""; + $dia_c=1; + $fecha=$dia_c."/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + while($ds!=$numerodia){ + $dia_c++; + $ds++; + if($ds>7) $ds=1; + } + // Calcula nmero de dias del mes + $diasmaxmes=$this->dias_meses[$mes]; + if ($mes==2){ + if ($this->bisiesto($anno)){ + $diasmaxmes=29; + } + } + while($dia_c<=$diasmaxmes){ + $cadenadias.=$dia_c.";"; + $dia_c+=7; + } + return($cadenadias); +} +/*________________________________________________________________________________________________________ + Devuelve una cadena con los das del mes correspondiente a una semana concreta, separados por coma +________________________________________________________________________________________________________*/ +function DiasPorSemanas($mes,$anno,$numerosemana){ + $cadenadias=""; + $dia_c=1; + $nsem=1; + $fecha=$dia_c."/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + while($nsem!=$numerosemana){ + $dia_c++; + $ds++; + if($ds>7){ + $ds=1; + $nsem++; + } + } + // Calcula nmero de dias del mes + $diasmaxmes=$this->dias_meses[$mes]; + if ($mes==2){ + if ($this->bisiesto($anno)){ + $diasmaxmes=29; + } + } + for($i=$ds;$i<=7;$i++){ + if($dia_c>$diasmaxmes) break; + $cadenadias.=$dia_c.";"; + $dia_c++; + } + return($cadenadias); +} +// ____________________________________________________________________________ +// Esta funcin devuelve el nmero de la ltima semana de un mes +// ____________________________________________________________________________ +function UltimaSemana($mes,$anno){ + $diasmaxmes=$this->dias_meses[$mes]; + if ($mes==2){ + if ($this->bisiesto($anno)){ + $diasmaxmes=29; + } + } + $fecha="1/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + $nwdia=$diasmaxmes+$ds-1; + $cociente=floor($nwdia/7); + $resto=$nwdia%7; + if($resto>0) $cociente++; + return($cociente); +} +//________________________________________________________________________________________________________ +// Funcin : Fechas +// Descripcin : +// Devuelve una cadena de fechas separada por comas que son las fechas que forman parte de una reserva concreta +// Parametros: +// - anno_c: Un ao determinado +// - mes_desde: El mes desde que se considera la reserva +// - mes_hasta: El mes hasta que se considera la reserva +// - meses: Campo con informacin hexadecimal de los meses de la reserva ( la informacin contenida en el campo de la tabla con este nombre +// - diario: Idem para los dias de un mes +// - dias: idem para los nombres de los das +// - semanas: Idem para las semanas +//________________________________________________________________________________________________________ +function Fechas($anno_c,$mes_desde,$mes_hasta,$meses,$diario,$dias,$semanas){ + $cadenafechas=""; + $mascara=0x0001; + $cadenameses=""; + $meses=$meses>>($mes_desde-1); + for($i=$mes_desde;$i<=$mes_hasta;$i++){ + if($meses&$mascara>0){ + $cadenameses.=$i.";"; + // Dias de la semana + if($dias>0){ + $auxdias=$dias; + for($j=1;$j<=7;$j++){ + if($auxdias&$mascara>0){ + $cadenadias=$this->DiasPorMes($i,$anno_c,$j); + $tbdias=split(";",$cadenadias); + for ($k=0;$k<sizeof($tbdias)-1;$k++) + $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";"; + } + $auxdias=$auxdias>>1; + } + } + // Semanas + if($semanas>0){ + $auxsemanas=$semanas; + for($j=1;$j<=6;$j++){ + if($auxsemanas&$mascara>0){ + if($j==6){ + $ulse=$this->UltimaSemana($i,$anno_c); + $cadenadias=$this->DiasPorSemanas($i,$anno_c,$ulse); + } + else + $cadenadias=$this->DiasPorSemanas($i,$anno_c,$j); + $tbdias=split(";",$cadenadias); + for ($k=0;$k<sizeof($tbdias)-1;$k++) + $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";"; + } + $auxsemanas=$auxsemanas>>1; + } + } + } + $meses=$meses>>1; + } + $cadenadiario=""; + for($i=1;$i<32;$i++){ + if($diario&$mascara>0) $cadenadiario.=$i.";"; + $diario=$diario>>1; + } + $tbmeses=split(";",$cadenameses); + $tbdiario=split(";",$cadenadiario); + for ($i=0;$i<sizeof($tbmeses)-1;$i++){ + for ($j=0;$j<sizeof($tbdiario)-1;$j++){ + $cadenafechas.=$tbdiario[$j]."/".$tbmeses[$i]."/".$anno_c.";"; + } + } + return($cadenafechas); +} +/*______________________________________________________________________ + Devuelve el dia juliano de una fecha determinada + Parametros: + - cadena con la fecha en formato "dd/mm/aaaa" + Devuelve: + - El dia juliano +_______________________________________________________________________*/ +function juliana($fecha) { + list($dia,$mes,$anno)=split("[/-]",$fecha); + $GGG = 1; + if ($anno <= 1585) $GGG = 0; + $juliano= -1 * floor(7 * (floor(($mes + 9) / 12) + $anno) / 4); + $S = 1; + if (($mes - 9)<0) $S=-1; + $A = abs($mes - 9); + $auxjuliano = floor($anno + $S * floor($A / 7)); + $auxjuliano = -1 * floor((floor($auxjuliano / 100) + 1) * 3 / 4); + $juliano = $juliano + floor(275 * $mes / 9) + $dia + ($GGG * $auxjuliano); + $juliano =$juliano + 1721027 + 2 * $GGG + 367 * $anno - 0.5; + return(floor($juliano)); +} +} // Fin de la clase Calendario
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/colasacciones_eng.php b/admin/WebConsole/idiomas/php/eng/colasacciones_eng.php new file mode 100644 index 00000000..af5c7aa2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/colasacciones_eng.php @@ -0,0 +1,79 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasacciones_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + +// Literales de los tipo de acciones +$LITEJECUCION_COMANDO="Commands"; +$LITEJECUCION_PROCEDIMIENTO="Procedures"; +$LITEJECUCION_TAREA="Tasks"; +$LITEJECUCION_TRABAJO="Jobs"; + +$LITACCION_EXITOSA='Finished successfully'; // Literal Finalizada con exito +$LITACCION_FALLIDA='Finished with errors'; // Literal Finalizada con errores +$LITACCION_TERMINADA='Finished manualy'; //Literal Finalizada manualmente con indicacion de exito +$LITACCION_ABORTADA='Canceled manualy'; // Literal Finalizada manualmente con indicacion de errores +$LITACCION_SINERRORES='Active without errors'; // Literal Activa y sin ningn error +$LITACCION_CONERRORES='Active with errors'; // Literal Activa y con algn error + +$LITACCION_DETENIDA='Stopped'; // Literal accin momentanemente parada +$LITACCION_INICIADA='Active'; // Literal accin activa +$LITACCION_FINALIZADA='Finished'; // Literal accin finalizada + +$TbMsg=array(); + $TbMsg[0]='Actions queue'; + $TbMsg[1]='Searches filters'; + $TbMsg[2]='Actions'; + $TbMsg[3]='Results'; + $TbMsg[4]='Status'; + $TbMsg[5]='Percentage from'; + $TbMsg[6]='to'; + $TbMsg[7]='Start date'; + $TbMsg[8]='Finish date'; + $TbMsg[9]='Start our'; + $TbMsg[10]='Finish our'; + $TbMsg[11]='Environment'; + $TbMsg[12]='Remove'; + $TbMsg[13]='Reinitialize'; + $TbMsg[14]='Stop'; + $TbMsg[15]='Go'; + $TbMsg[16]='Cancel'; + $TbMsg[17]='Finish'; + + $TbMsg[18]='Action'; + $TbMsg[19]='Finish date'; + $TbMsg[20]='Finish our'; + $TbMsg[21]='Start date'; + $TbMsg[22]='Start our'; + $TbMsg[23]='Name'; + + $TbMsg[24]='Centers'; + $TbMsg[25]='Group of labs'; + $TbMsg[26]='Labs'; + $TbMsg[27]='Group of computers'; + $TbMsg[28]='Computers'; + + $TbMsg[30]='Commands'; + $TbMsg[31]='Tasks'; + $TbMsg[32]='Jobs'; + + $TbMsg[41]='"Accion filter"'; + $TbMsg[42]='"Environment filter"'; + $TbMsg[43]='"Remove filter"'; + $TbMsg[44]='"Modify Accin"'; + $TbMsg[45]='"Reinitialize"'; + $TbMsg[46]='"Remove"'; + $TbMsg[47]='"Parent Task"'; + $TbMsg[48]='"Parent Job"'; + $TbMsg[49]='"See commands"'; + $TbMsg[50]='"See task"'; + $TbMsg[51]='"Stop"'; + $TbMsg[52]='"Go"'; + $TbMsg[53]='"Cancel"'; + $TbMsg[54]='"Finish"'; + $TbMsg[55]='"Finish without errors"'; + $TbMsg[56]='"Finish with errors"'; + $TbMsg[57]='Information'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/colasreservas_eng.php b/admin/WebConsole/idiomas/php/eng/colasreservas_eng.php new file mode 100644 index 00000000..648638a5 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/colasreservas_eng.php @@ -0,0 +1,53 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasacciones_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + +// Literales de los tipo de reservas +$LITRESERVA_PENDIENTE="Pendings"; +$LITRESERVA_CONFIRMADA="Confirmeds"; +$LITRESERVA_DENEGADA="Refuses"; + +$RESERVA_PARADA=1; // reserva momentanemente parada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspended'; // Literal reserva momentanemente parada +$LITRESERVA_ACTIVA='Active'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Labs reserves'; + $TbMsg[1]='Searches filters'; + $TbMsg[2]='Type'; + $TbMsg[3]=''; + $TbMsg[4]='Status'; + $TbMsg[5]='Percentage from'; + $TbMsg[6]='Percentage to'; + $TbMsg[7]='Start date'; + $TbMsg[8]='Finish date'; + $TbMsg[9]='Start our'; + $TbMsg[10]='Finish our'; + $TbMsg[11]='Environment'; + + $TbMsg[12]='Centers'; + $TbMsg[13]='Labs group'; + $TbMsg[14]='Labs'; + + $TbMsg[15]='Year'; + $TbMsg[16]='Month'; + $TbMsg[17]='Day'; + $TbMsg[18]='Lab'; + $TbMsg[19]='Ocupation'; + $TbMsg[20]='Asociated Image'; + $TbMsg[21]='Description'; + + $TbMsg[22]='Reserves schedules'; + $TbMsg[23]='(Not especified)'; + $TbMsg[24]='Lab'; + $TbMsg[25]='Petitioner'; + $TbMsg[26]='Previous antiicipation'; + $TbMsg[27]="(Without previous acction)"; + $TbMsg[28]="Previous Task"; + $TbMsg[29]="Previous Jobs"; + + diff --git a/admin/WebConsole/idiomas/php/eng/comandos/apagar_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/apagar_eng.php new file mode 100644 index 00000000..915b398a --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/apagar_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: apagar_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Power-Off computers'; + $TbMsg[6]='Environment'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/arrancar_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/arrancar_eng.php new file mode 100644 index 00000000..3b3582fb --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/arrancar_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: arrancar_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Power-On computers'; + $TbMsg[6]='Environment'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/configurar_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/configurar_eng.php new file mode 100644 index 00000000..82c72bdb --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/configurar_eng.php @@ -0,0 +1,26 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: configurar_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Configurations'; + $TbMsg[6]='Environment'; + $TbMsg[7]='Hide patition'; + $TbMsg[8]='Par'; + $TbMsg[9]='Type'; + $TbMsg[10]='System name'; + $TbMsg[11]='Size'; + $TbMsg[12]='Operation'; + $TbMsg[13]='No action'; + $TbMsg[14]='Format'; + $TbMsg[15]='Hide'; + $TbMsg[16]='Show'; + $TbMsg[17]=' Free space !!'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/conmutar_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/conmutar_eng.php new file mode 100644 index 00000000..82068595 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/conmutar_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: apagar_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Switch computers'; + $TbMsg[6]='Environment'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/crearperfilsoftware_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/crearperfilsoftware_eng.php new file mode 100644 index 00000000..cab0b6c9 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/crearperfilsoftware_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: crearperfilsoftware_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Generation of software profiles'; + $TbMsg[1]='Computer features'; + $TbMsg[2]='Name'; + $TbMsg[3]='IP Address'; + $TbMsg[4]='MAC Address'; + $TbMsg[5]='Hardware profile'; + $TbMsg[6]='Data to provide'; + $TbMsg[7]=''; + $TbMsg[8]='Par'; + $TbMsg[9]='System name'; + $TbMsg[10]='Availables software profiles '; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/crearsoftincremental_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/crearsoftincremental_eng.php new file mode 100644 index 00000000..4c90e59b --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/crearsoftincremental_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: crearsoftincremental_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Generation of incremental software'; + $TbMsg[1]='Computer features'; + $TbMsg[2]='Name'; + $TbMsg[3]='IP Address'; + $TbMsg[4]='MAC Address'; + $TbMsg[5]='Hardware profile'; + $TbMsg[6]='Data to provide'; + $TbMsg[7]=''; + $TbMsg[8]='Par'; + $TbMsg[9]='Profile name'; + $TbMsg[10]='Availables incremetnal software '; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/ejecutarscripts_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/ejecutarscripts_eng.php new file mode 100644 index 00000000..454c9a7c --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/ejecutarscripts_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: ejecutarscripts_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Perfom Script'; + $TbMsg[6]='Environment'; + $TbMsg[7]='Title'; + $TbMsg[8]='Description'; + $TbMsg[9]='Rembo-C code'; + $TbMsg[10]='Code file'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/gestor_ejecutarscripts_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/gestor_ejecutarscripts_eng.php new file mode 100644 index 00000000..74b05d73 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/gestor_ejecutarscripts_eng.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: gestor_ejecutarscripts_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[1]='"WARNING: The command Perform Script has successfully registered"'; + $TbMsg[2]='"WARNING: There are some problem to perform the script"'; + $TbMsg[3]='"WARNING: The file do not have the .rbc extension"'; + $TbMsg[4]='"WARNING: The file do not have Rembo-C code lines"'; + $TbMsg[5]='"WARNING: There are some problem to save the file script"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/particionaryformatear_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/particionaryformatear_eng.php new file mode 100644 index 00000000..a2cccdcd --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/particionaryformatear_eng.php @@ -0,0 +1,26 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: particionaryformatear_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Partitions and Formatting'; + $TbMsg[6]='Environment'; + $TbMsg[7]=''; + $TbMsg[8]='Par'; + $TbMsg[9]='Type'; + $TbMsg[10]='System name'; + $TbMsg[11]='Size'; + $TbMsg[12]='Operation'; + $TbMsg[13]='No action'; + $TbMsg[14]='Format'; + $TbMsg[15]='Hide'; + $TbMsg[16]='Show'; + $TbMsg[17]=' Free space !!'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/reiniciar_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/reiniciar_eng.php new file mode 100644 index 00000000..c47e8a02 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/reiniciar_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: apagar_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Rebootf computers'; + $TbMsg[6]='Environment'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/rembooffline_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/rembooffline_eng.php new file mode 100644 index 00000000..54d50e62 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/rembooffline_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: apagar_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Activate Rembo OffLine'; + $TbMsg[6]='Environment'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/restaurarimagen_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/restaurarimagen_eng.php new file mode 100644 index 00000000..b7633d09 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/restaurarimagen_eng.php @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: restaurarimagen_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Restore Image'; + $TbMsg[6]='Environment'; + $TbMsg[7]='Data to provide'; + $TbMsg[8]='System name'; + $TbMsg[9]='Image to restore'; + $TbMsg[10]='Restore (Same partition type)'; + $TbMsg[11]='Restore (Others partition type)'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/comandos/tomaconfiguracion_eng.php b/admin/WebConsole/idiomas/php/eng/comandos/tomaconfiguracion_eng.php new file mode 100644 index 00000000..226c9b87 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/comandos/tomaconfiguracion_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: tomaconfiguracion_eng.php (Comandos) +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centers'; + $TbMsg[1]='Group of labs'; + $TbMsg[2]='Labs'; + $TbMsg[3]='Group of computers'; + $TbMsg[4]='Computers'; + $TbMsg[5]='Get configuration from computers'; + $TbMsg[6]='Environment'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/configuracionaula_eng.php b/admin/WebConsole/idiomas/php/eng/configuracionaula_eng.php new file mode 100644 index 00000000..cc67e79e --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/configuracionaula_eng.php @@ -0,0 +1,23 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: configuracionaula_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]='Computers configurations'; +$TbMsg[1]='Lab features'; +$TbMsg[2]="Lab Name"; +$TbMsg[3]="Ubication"; +$TbMsg[4]="Cagnon"; +$TbMsg[5]="Blackboard"; +$TbMsg[6]="Places"; +$TbMsg[7]="Image Url"; +$TbMsg[8]="Comments"; +$TbMsg[9]='Data configuration'; +$TbMsg[10]='Partition'; +$TbMsg[11]='System name'; +$TbMsg[12]='Size'; +$TbMsg[13]='Computers'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/configuraciongrupoordenador_eng.php b/admin/WebConsole/idiomas/php/eng/configuraciongrupoordenador_eng.php new file mode 100644 index 00000000..6a27dc4a --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/configuraciongrupoordenador_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: configuraciongrupoordenador_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]='Computers configurations'; +$TbMsg[1]='Group features'; +$TbMsg[2]="Group Name"; +$TbMsg[3]='Data configuration'; +$TbMsg[4]='Partition'; +$TbMsg[5]='System name'; +$TbMsg[6]='Size'; +$TbMsg[7]='Computers'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/configuracionordenador_eng.php b/admin/WebConsole/idiomas/php/eng/configuracionordenador_eng.php new file mode 100644 index 00000000..96767c0d --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/configuracionordenador_eng.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: configuracionordenador_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Computers configurations'; + $TbMsg[1]='Computer features'; + $TbMsg[2]='Name'; + $TbMsg[3]='IP Address'; + $TbMsg[4]='MAC Address'; + $TbMsg[5]='Hardware profile'; + $TbMsg[6]='Partition'; + $TbMsg[7]='System name'; + $TbMsg[8]='Size'; + $TbMsg[9]='Data configuration'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/conmutar_eng.php b/admin/WebConsole/idiomas/php/eng/conmutar_eng.php new file mode 100644 index 00000000..233b13aa --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/conmutar_eng.php @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: conmutar_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='This environment has been switched successfully refreshed'; + $TbMsg[1]='WARNING: Having some problem to switch this environment'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/ejecutarprocedimientos_eng.php b/admin/WebConsole/idiomas/php/eng/ejecutarprocedimientos_eng.php new file mode 100644 index 00000000..c1284053 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/ejecutarprocedimientos_eng.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: acciones_esp.php +// Idioma: Espaol +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Ejecucin de procedimientos'; + $TbMsg[6]='mbito'; + $TbMsg[7]='Procedures'; + $TbMsg[8]='Procedures'; + $TbMsg[9]='"Perform procedure"'; + ?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/hardwares_eng.php b/admin/WebConsole/idiomas/php/eng/hardwares_eng.php new file mode 100644 index 00000000..826e00d3 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/hardwares_eng.php @@ -0,0 +1,29 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: hardwares_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Define new hardware type"'; + $TbMsg[1]='"Properties"'; + $TbMsg[2]='"Remove hardware type"'; + $TbMsg[3]='"New components group"'; + $TbMsg[4]='"Define new component"'; + $TbMsg[5]='"To put component"'; + $TbMsg[6]='"Rename"'; + $TbMsg[7]='"Remove components group"'; + $TbMsg[8]='"Move component"'; + $TbMsg[9]='"Remove component"'; + $TbMsg[10]='"New profiles group"'; + $TbMsg[11]='"Define new profile"'; + $TbMsg[12]='"To put profile"'; + $TbMsg[13]='"Remove profiles group"'; + $TbMsg[14]='"Components management"'; + $TbMsg[15]='"Perfil information"'; + $TbMsg[16]='"To move profile"'; + $TbMsg[17]='"Remove profile"'; + $TbMsg[18]='"Hardwares types"'; + $TbMsg[19]='"Hardwares components"'; + $TbMsg[20]='"Hardwares profiles"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/imagenes_eng.php b/admin/WebConsole/idiomas/php/eng/imagenes_eng.php new file mode 100644 index 00000000..015be0ba --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/imagenes_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: imagenes_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"New images group"'; + $TbMsg[1]='"Define new image"'; + $TbMsg[2]='"To put image"'; + $TbMsg[3]='"Rename"'; + $TbMsg[4]='"Remove images group"'; + $TbMsg[5]='"Image information"'; + $TbMsg[6]='"To move image"'; + $TbMsg[7]='"Properties"'; + $TbMsg[8]='"Remove Image"'; + $TbMsg[9]='"Images"'; + $TbMsg[10]='"Incrementals management"'; +?> diff --git a/admin/WebConsole/idiomas/php/eng/imagenincremental_eng.php b/admin/WebConsole/idiomas/php/eng/imagenincremental_eng.php new file mode 100644 index 00000000..6453533e --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/imagenincremental_eng.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php:imagenincremental_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Images'; + $TbMsg[1]='Incrementals software management '; + $TbMsg[2]='Image'; + $TbMsg[3]='Incremental software name'; + $TbMsg[4]='(*)To include some incremental software in this image software you must click in the corresponding checkbox.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/incorporaordenadores_eng.php b/admin/WebConsole/idiomas/php/eng/incorporaordenadores_eng.php new file mode 100644 index 00000000..83b91381 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/incorporaordenadores_eng.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: incorporaordenadores_eng.php (Comandos) +// Idioma: Ingls +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Computers Entry'; + $TbMsg[1]='(Throught file configuratipon of dhcp servers)'; + $TbMsg[2]='File'; + $TbMsg[3]='WARNING: There are some problem to insert computers from file'; + $TbMsg[4]='WARNING: The file do not have any information line'; + $TbMsg[5]='WARNING: El fichero no contiene informacin con el formato necesario para incorporar ordenadores'; + $TbMsg[6]='WARNING: There are some problem to save the file'; + $TbMsg[7]='Computers has successfully registered'; + $TbMsg[8]='Content'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/incrementalcomponente_soft_eng.php b/admin/WebConsole/idiomas/php/eng/incrementalcomponente_soft_eng.php new file mode 100644 index 00000000..199e9910 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/incrementalcomponente_soft_eng.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: incrementalcomponente_soft_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Incremental Software'; + $TbMsg[1]='Components management '; + $TbMsg[2]='Incremental software'; + $TbMsg[3]='Component name'; + $TbMsg[4]='(*)To include some component in this incremental software you must click in the corresponding checkbox.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_imagenes_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_imagenes_eng.php new file mode 100644 index 00000000..f83b4715 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_imagenes_eng.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_imagenes_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Images'; + $TbMsg[1]='Information about images'; + $TbMsg[2]='Image'; + $TbMsg[3]='Images information'; + $TbMsg[4]='S software components'; + $TbMsg[5]='Diferential software'; + $TbMsg[6]='Software Profile'; + $TbMsg[7]='Computers with this image'; + $TbMsg[8]='Partition'; + $TbMsg[9]='Coments'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_incrementales_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_incrementales_eng.php new file mode 100644 index 00000000..62b77bc0 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_incrementales_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_incrementales_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Software profiles'; + $TbMsg[1]='Information about profiles'; + $TbMsg[2]='Software profile'; + $TbMsg[3]='Software profiles information'; + $TbMsg[4]='Software components'; + $TbMsg[5]='Profiles availables'; + $TbMsg[6]='Hardware profiles supported'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_menus_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_menus_eng.php new file mode 100644 index 00000000..9b414a2f --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_menus_eng.php @@ -0,0 +1,29 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_menus_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Items of the Menus'; + $TbMsg[1]='Information about Menus'; + $TbMsg[2]='Menu'; + $TbMsg[3]='Menus information'; + $TbMsg[4]='Properties of the items'; + $TbMsg[5]='Properties'; + $TbMsg[6]='Remove Item'; + $TbMsg[7]='Title'; + $TbMsg[8]='Publics Items Menu properties'; + $TbMsg[9]='Coordinate x'; + $TbMsg[10]='Coordinate y'; + $TbMsg[11]='Modality'; + $TbMsg[12]='Privates Items Menu properties'; + $TbMsg[13]='Publics items'; + $TbMsg[14]='Privates items'; + $TbMsg[15]='Item order'; + $TbMsg[16]='Item literal'; + $TbMsg[17]='Image name'; + $TbMsg[18]='Simple menu'; + $TbMsg[19]='Double menu'; + $TbMsg[20]='Item key'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_perfileshard_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_perfileshard_eng.php new file mode 100644 index 00000000..a57fb8aa --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_perfileshard_eng.php @@ -0,0 +1,17 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_perfileshard_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Hardware profiles'; + $TbMsg[1]='Information about profiles'; + $TbMsg[2]='Hardware profile'; + $TbMsg[3]='Hardware profiles information'; + $TbMsg[4]='Software profiles availables'; + $TbMsg[5]='Software components'; + $TbMsg[6]='Hardware components'; + $TbMsg[7]='Diferential software'; + $TbMsg[8]='Coments'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_perfilessoft_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_perfilessoft_eng.php new file mode 100644 index 00000000..5c183df0 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_perfilessoft_eng.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_perfilessoft_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Software profiles'; + $TbMsg[1]='Information about profiles'; + $TbMsg[2]='Software profile'; + $TbMsg[3]='Software profiles information'; + $TbMsg[4]='Hardware profiles supported'; + $TbMsg[5]='Hardware components'; + $TbMsg[6]='Software components'; + $TbMsg[7]='Diferential software'; + $TbMsg[8]='Coments'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_procedimientos_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_procedimientos_eng.php new file mode 100644 index 00000000..67de6c8b --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_procedimientos_eng.php @@ -0,0 +1,11 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_procedimientos_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Parameters of the commands in Procedure'; + $TbMsg[1]='Parameter'; + $TbMsg[2]='Value'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_tareas_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_tareas_eng.php new file mode 100644 index 00000000..ece7a7f4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_tareas_eng.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_tareas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Parameters of the commands in Task'; + $TbMsg[1]='Parameter'; + $TbMsg[2]='Value'; + $TbMsg[3]='Environment'; + $TbMsg[4]='Name'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/informacion_trabajos_eng.php b/admin/WebConsole/idiomas/php/eng/informacion_trabajos_eng.php new file mode 100644 index 00000000..634b6bb2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/informacion_trabajos_eng.php @@ -0,0 +1,14 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_tareas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Including Tasks in job'; + $TbMsg[1]='Parameters of the commands in Task'; + $TbMsg[2]='Parameter'; + $TbMsg[3]='Value'; + $TbMsg[4]='Environment'; + $TbMsg[5]='Name'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/menus_eng.php b/admin/WebConsole/idiomas/php/eng/menus_eng.php new file mode 100644 index 00000000..69639bca --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/menus_eng.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: menus_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"New menus group"'; + $TbMsg[1]='"Define new menu"'; + $TbMsg[2]='"To put menu"'; + $TbMsg[3]='"Rename"'; + $TbMsg[4]='"Remove menu group"'; + $TbMsg[5]='"Menu information"'; + $TbMsg[6]='"To move menu"'; + $TbMsg[7]='"Propiedades"'; + $TbMsg[8]='"Remove menu"'; + $TbMsg[9]='"Menus"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/perfilcomponente_hard_eng.php b/admin/WebConsole/idiomas/php/eng/perfilcomponente_hard_eng.php new file mode 100644 index 00000000..cc8a6187 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/perfilcomponente_hard_eng.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: perfilcomponente_hard_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Hardware profiles'; + $TbMsg[1]='Components management '; + $TbMsg[2]='Hardware profile'; + $TbMsg[3]='Component name'; + $TbMsg[4]='(*)To include some component in this profile you must click in the corresponding checkbox.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/perfilcomponente_soft_eng.php b/admin/WebConsole/idiomas/php/eng/perfilcomponente_soft_eng.php new file mode 100644 index 00000000..280bb9e0 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/perfilcomponente_soft_eng.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: perfilcomponente_soft_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Software profiles'; + $TbMsg[1]='Components management '; + $TbMsg[2]='Software profile'; + $TbMsg[3]='Component name'; + $TbMsg[4]='(*)To include some component in this profile you must click in the corresponding checkbox.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/procedimientoscomandos_eng.php b/admin/WebConsole/idiomas/php/eng/procedimientoscomandos_eng.php new file mode 100644 index 00000000..e9ae615f --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/procedimientoscomandos_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: procedimientoscomandos_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Mangement Commands of a Procedure'; + $TbMsg[1]='Includes Commands'; + $TbMsg[2]='Procedure'; + $TbMsg[3]='Command name'; + $TbMsg[4]='Ord.'; + $TbMsg[5]='Parameter'; + $TbMsg[6]='Value'; + $TbMsg[7]='(*)To exclude some command from this procedure you must click in the corresponding checkbox'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/programaciones_eng.php b/admin/WebConsole/idiomas/php/eng/programaciones_eng.php new file mode 100644 index 00000000..e6e0e840 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/programaciones_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: programaciones_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +// Literales de los tipo de acciones +$LITEJECUCION_COMANDO="Commands"; +$LITEJECUCION_PROCEDIMIENTO="Procedures"; +$LITEJECUCION_TAREA="Tasks"; +$LITEJECUCION_TRABAJO="Jobs"; +$LITEJECUCION_RESERVA="Reserves"; + +$TbMsg=array(); + +$TbMsg[0]="Schedules"; +$TbMsg[1]="To Suspend temporarily all scheduled blocks"; +$TbMsg[2]="Block description"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/programacionesaulas_eng.php b/admin/WebConsole/idiomas/php/eng/programacionesaulas_eng.php new file mode 100644 index 00000000..e5a0b0e1 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/programacionesaulas_eng.php @@ -0,0 +1,54 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasacciones_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + +// Literales de los tipo de reservas +$LITRESERVA_PENDIENTE="Pendings"; +$LITRESERVA_CONFIRMADA="Confirmeds"; +$LITRESERVA_DENEGADA="Refuses"; + +$RESERVA_PARADA=1; // reserva momentanemente parada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspended'; // Literal reserva momentanemente parada +$LITRESERVA_ACTIVA='Active'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Labs reserves'; + $TbMsg[1]='Searches filters'; + $TbMsg[2]='Type'; + $TbMsg[3]=''; + $TbMsg[4]='Status'; + $TbMsg[5]='Percentage from'; + $TbMsg[6]='Percentage to'; + $TbMsg[7]='Start date'; + $TbMsg[8]='Finish date'; + $TbMsg[9]='Start our'; + $TbMsg[10]='Finish our'; + $TbMsg[11]='Environment'; + + $TbMsg[12]='Centers'; + $TbMsg[13]='Labs group'; + $TbMsg[14]='Labs'; + + $TbMsg[15]='Year'; + $TbMsg[16]='Month'; + $TbMsg[17]='Day'; + $TbMsg[18]='Lab'; + $TbMsg[19]='Ocupation'; + $TbMsg[20]='Asociated Image'; + $TbMsg[21]='Description'; + + $TbMsg[22]='Reserves schedules'; + $TbMsg[23]='(Not especified)'; + $TbMsg[24]='Lab'; + $TbMsg[25]='Petitioner'; + $TbMsg[26]='Previous antiicipation'; + $TbMsg[27]="(Without previous acction)"; + $TbMsg[28]="Previous Task"; + $TbMsg[29]="Previous Jobs"; + $TbMsg[30]='Reserves group'; + + diff --git a/admin/WebConsole/idiomas/php/eng/programacionesreservas_eng.php b/admin/WebConsole/idiomas/php/eng/programacionesreservas_eng.php new file mode 100644 index 00000000..63b7d00d --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/programacionesreservas_eng.php @@ -0,0 +1,53 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasacciones_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + +// Literales de los tipo de reservas +$LITRESERVA_PENDIENTE="Pendings"; +$LITRESERVA_CONFIRMADA="Confirmeds"; +$LITRESERVA_DENEGADA="Refuses"; + +$RESERVA_PARADA=1; // reserva momentanemente parada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspended'; // Literal reserva momentanemente parada +$LITRESERVA_ACTIVA='Active'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Labs reserves'; + $TbMsg[1]='Searches filters'; + $TbMsg[2]='Type'; + $TbMsg[3]=''; + $TbMsg[4]='Status'; + $TbMsg[5]='Percentage from'; + $TbMsg[6]='Percentage to'; + $TbMsg[7]='Start date'; + $TbMsg[8]='Finish date'; + $TbMsg[9]='Start our'; + $TbMsg[10]='Finish our'; + $TbMsg[11]='Environment'; + + $TbMsg[12]='Reserves'; + $TbMsg[13]='Reserves group'; + + $TbMsg[15]='Year'; + $TbMsg[16]='Month'; + $TbMsg[17]='Day'; + $TbMsg[18]='Lab'; + $TbMsg[19]='Ocupation'; + $TbMsg[20]='Asociated Image'; + $TbMsg[21]='Description'; + + $TbMsg[22]='Reserves schedules'; + $TbMsg[23]='(Not especified)'; + $TbMsg[24]='Lab'; + $TbMsg[25]='Petitioner'; + $TbMsg[26]='Previous antiicipation'; + $TbMsg[27]="(Without previous acction)"; + $TbMsg[28]="Previous Task"; + $TbMsg[29]="Previous Jobs"; + $TbMsg[30]="Reserve data"; + + diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_aulas_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_aulas_eng.php new file mode 100644 index 00000000..795578ba --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_aulas_eng.php @@ -0,0 +1,25 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_aulas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Labs Management"; +$TbMsg[5]="Lab Name"; +$TbMsg[6]="Ubication"; +$TbMsg[7]="Cagnon"; +$TbMsg[8]="Blackboard"; +$TbMsg[9]="Places"; +$TbMsg[10]="Image Url"; +$TbMsg[11]="Menu"; +$TbMsg[12]="Comments"; +$TbMsg[13]="Intervals"; +$TbMsg[14]="Begin reserves"; +$TbMsg[15]="End reserves"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_centros_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_centros_eng.php new file mode 100644 index 00000000..75c96b60 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_centros_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Organizing Unit Management"; +$TbMsg[5]="Name of Unit"; +$TbMsg[6]="Coments"; +?> diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_componentehardwares_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_componentehardwares_eng.php new file mode 100644 index 00000000..93c26a47 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_componentehardwares_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_componentehardwares_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Hardware Components Management"; +$TbMsg[5]="Name"; +$TbMsg[6]="Hardware type"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_componentesoftwares_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_componentesoftwares_eng.php new file mode 100644 index 00000000..824255a2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_componentesoftwares_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_componentesoftwares_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Software Components Management"; +$TbMsg[5]="Name"; +$TbMsg[6]="Software type"; +$TbMsg[7]="Type of S.O."; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_entidades_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_entidades_eng.php new file mode 100644 index 00000000..45ec7d31 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_entidades_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Entity Management"; +$TbMsg[5]="Name of entity"; +$TbMsg[6]="Coments"; +?> diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_grupos_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_grupos_eng.php new file mode 100644 index 00000000..4d61636b --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_grupos_eng.php @@ -0,0 +1,31 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_tareas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Group Management"; +$TbMsg[5]="Group name"; +$TbMsg[6]="Comments"; +$TbMsg[7]="Labs Groups"; +$TbMsg[8]="Procedures Groups"; +$TbMsg[9]="Tasks Groups"; +$TbMsg[10]="Jobs Groups"; +$TbMsg[11]="Images Groups"; +$TbMsg[12]="Hardware Components Groups "; +$TbMsg[13]="Software Components Groups"; +$TbMsg[14]="Hardware Groups"; +$TbMsg[15]="Software Profiles Groups"; +$TbMsg[16]="Software Incremental Groups"; +$TbMsg[17]="OpenGnsys Servers Groups"; +$TbMsg[18]="Dhcp Servers Groups"; +$TbMsg[19]="Menus Groups"; +$TbMsg[20]="Reserves Groups"; +$TbMsg[21]="Entities Groups"; +$TbMsg[22]="Computers Groups"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_imagenes_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_imagenes_eng.php new file mode 100644 index 00000000..830d6248 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_imagenes_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_imagenes_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Images Management"; +$TbMsg[5]="Image Name"; +$TbMsg[6]="Software Profile"; +$TbMsg[7]="Comments"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_menus_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_menus_eng.php new file mode 100644 index 00000000..7193b389 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_menus_eng.php @@ -0,0 +1,26 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_menus_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Menus Management"; +$TbMsg[5]="Menu name"; +$TbMsg[6]="Title"; +$TbMsg[7]="Comments"; +$TbMsg[8]="Publics Items Menu"; +$TbMsg[9]="Coordinate x"; +$TbMsg[10]="Coordinate y"; +$TbMsg[11]="Modality"; +$TbMsg[12]="Privates Items Menu"; +$TbMsg[13]="Simple menu"; +$TbMsg[14]="Double menu"; +$TbMsg[15]="Html public menu"; +$TbMsg[16]="Html private menu"; +$TbMsg[17]="Screen resolution"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_ordenadores_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_ordenadores_eng.php new file mode 100644 index 00000000..32fb7ab4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_ordenadores_eng.php @@ -0,0 +1,22 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Computers Management"; +$TbMsg[5]="Computer name"; +$TbMsg[6]="IP Address"; +$TbMsg[7]="MAC Address"; +$TbMsg[8]="Hardware profile"; +$TbMsg[9]="Dhcp Server"; +$TbMsg[10]="OpenGnsys Server"; +$TbMsg[11]="Menu"; +$TbMsg[12]="Cache size"; + +?> diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_ordenadorestandar_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_ordenadorestandar_eng.php new file mode 100644 index 00000000..d038f2de --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_ordenadorestandar_eng.php @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadorestandar_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Lab"; +$TbMsg[1]="Computer template"; +$TbMsg[2]="Name"; +$TbMsg[3]="IP Address"; +$TbMsg[4]="MAC Address"; +$TbMsg[5]="Hardware profile"; +$TbMsg[6]="Dhcp Server"; +$TbMsg[7]="OpenGnsys Server"; +$TbMsg[8]="Number of computer to insert"; +$TbMsg[9]='(*) To modify all computers with certain data, in this labs, you must to introduce the corresponding value and let the last field: "Number of computer to inser" to zero.'; +$TbMsg[10]="(**) If it's all about new computers with a default configurations, but you don't want to modify existing computers data, you must to introduce a value greater than zero."; +$TbMsg[11]="Cache size"; + +?> diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_perfilhardwares_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_perfilhardwares_eng.php new file mode 100644 index 00000000..939ea49a --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_perfilhardwares_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_perfilhardwares_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Hardware Profiles Management"; +$TbMsg[5]="Name"; +$TbMsg[6]="Comments"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_perfilsoftwares_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_perfilsoftwares_eng.php new file mode 100644 index 00000000..f8ae16dc --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_perfilsoftwares_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_perfilsoftwares_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Software Profiles Management"; +$TbMsg[5]="Name"; +$TbMsg[6]="Comments"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_procedimientos_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_procedimientos_eng.php new file mode 100644 index 00000000..8b326199 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_procedimientos_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_procedimientos_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Procedures Management"; +$TbMsg[5]="Procedure Name"; +$TbMsg[6]="Comments"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_reservas_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_reservas_eng.php new file mode 100644 index 00000000..42b33988 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_reservas_eng.php @@ -0,0 +1,30 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_reservas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Reserves Management"; +$TbMsg[5]="Description"; +$TbMsg[6]="Petitioner"; +$TbMsg[7]="Comments"; +$TbMsg[8]="E-mail"; +$TbMsg[9]="Estatus"; +$TbMsg[10]="Lab"; +$TbMsg[11]="Asociated Image"; +$TbMsg[12]="Previous anticipation"; +$TbMsg[13]="Confirmed"; +$TbMsg[14]="Pending"; +$TbMsg[15]="Refussed"; +$TbMsg[16]="Reserve estatus"; +$TbMsg[17]="(Blank o 0 minutes for No anticipation)"; +$TbMsg[18]="(Without previous acction)"; +$TbMsg[19]="Previous Task"; +$TbMsg[20]="Previous Jobs"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_softincrementales_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_softincrementales_eng.php new file mode 100644 index 00000000..c0248263 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_softincrementales_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_softincrementales_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Software Incremental Management"; +$TbMsg[5]="Name"; +$TbMsg[6]="Comments"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_tareas_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_tareas_eng.php new file mode 100644 index 00000000..fa5f105b --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_tareas_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_tareas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Task Management"; +$TbMsg[5]="Task Name"; +$TbMsg[6]="Comments"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_tipohardwares_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_tipohardwares_eng.php new file mode 100644 index 00000000..53b03a0f --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_tipohardwares_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_tipohardwares_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Hardware Types Management"; +$TbMsg[5]="Name"; +$TbMsg[6]="Icon"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_trabajos_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_trabajos_eng.php new file mode 100644 index 00000000..ed350efe --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_trabajos_eng.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_trabajos_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="Jobs Management"; +$TbMsg[5]="Job Name"; +$TbMsg[6]="Comments"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_universidades_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_universidades_eng.php new file mode 100644 index 00000000..8523acf9 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_universidades_eng.php @@ -0,0 +1,17 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_aulas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="University Management"; +$TbMsg[4]="Gestin Universidades"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Comentarios"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/propiedades_usuarios_eng.php b/admin/WebConsole/idiomas/php/eng/propiedades_usuarios_eng.php new file mode 100644 index 00000000..dd6fb44f --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/propiedades_usuarios_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="No Option"; +$TbMsg[1]="Insert"; +$TbMsg[2]="Modify"; +$TbMsg[3]="Remove"; +$TbMsg[4]="User Management"; +$TbMsg[5]="User"; +$TbMsg[6]="Password"; +$TbMsg[7]="Name"; +$TbMsg[8]="E-mail"; +$TbMsg[9]="Organizing Unit"; +$TbMsg[10]="Language "; +?> diff --git a/admin/WebConsole/idiomas/php/eng/purgar_eng.php b/admin/WebConsole/idiomas/php/eng/purgar_eng.php new file mode 100644 index 00000000..cb1c488f --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/purgar_eng.php @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: actualizar_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='This environment has been successfully purged'; + $TbMsg[1]='WARNING: Having some problem to purge this environment'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/reservas_eng.php b/admin/WebConsole/idiomas/php/eng/reservas_eng.php new file mode 100644 index 00000000..a55f61ef --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/reservas_eng.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: reserves_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"New reserves group"'; + $TbMsg[1]='"Define new reserve"'; + $TbMsg[2]='"To put reserve"'; + $TbMsg[3]='"Rename"'; + $TbMsg[4]='"Remove reserves group"'; + $TbMsg[5]='"Reserve information"'; + $TbMsg[6]='"To move reserve"'; + $TbMsg[7]='"Properties"'; + $TbMsg[8]='"Remove Reserve"'; + $TbMsg[9]='"Reserves"'; + $TbMsg[10]='"Schedules"'; + diff --git a/admin/WebConsole/idiomas/php/eng/softwares_eng.php b/admin/WebConsole/idiomas/php/eng/softwares_eng.php new file mode 100644 index 00000000..de508738 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/softwares_eng.php @@ -0,0 +1,37 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: softwares_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='""'; + $TbMsg[1]='"Properties"'; + $TbMsg[2]='""'; + $TbMsg[3]='"New components group"'; + $TbMsg[4]='"Define new component"'; + $TbMsg[5]='"To put component"'; + $TbMsg[6]='"Rename"'; + $TbMsg[7]='"Remove components group"'; + $TbMsg[8]='"Move component"'; + $TbMsg[9]='"Remove component"'; + $TbMsg[10]='"New profiles group"'; + $TbMsg[11]='"Define new profile"'; + $TbMsg[12]='"To put profile"'; + $TbMsg[13]='"Remove profiles group"'; + $TbMsg[14]='"Components management"'; + $TbMsg[15]='"Perfil information"'; + $TbMsg[16]='"To move profile"'; + $TbMsg[17]='"Remove profile"'; + $TbMsg[18]='"Software types"'; + $TbMsg[19]='"Software components"'; + $TbMsg[20]='"Software profiles"'; + $TbMsg[21]='"Incremental Software "'; + $TbMsg[22]='"New incrementals group"'; + $TbMsg[23]='"Define new incremental"'; + $TbMsg[24]='"To put incremental"'; + $TbMsg[25]='"Remove incrementals group"'; + $TbMsg[26]='"Incremental information"'; + $TbMsg[27]='"To move incremental"'; + $TbMsg[28]='"Remove incremental"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/tareascomandos_eng.php b/admin/WebConsole/idiomas/php/eng/tareascomandos_eng.php new file mode 100644 index 00000000..557486a2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/tareascomandos_eng.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: tareascomandos_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Mangement Commands of a Task'; + $TbMsg[1]='Includes Commands'; + $TbMsg[2]='Task'; + $TbMsg[3]='Command name'; + $TbMsg[4]='Ord.'; + $TbMsg[5]='Parameter'; + $TbMsg[6]='Value'; + $TbMsg[7]='(*)To exclude some command from this task you must click in the corresponding checkbox'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/eng/trabajostareas_eng.php b/admin/WebConsole/idiomas/php/eng/trabajostareas_eng.php new file mode 100644 index 00000000..29bfda6b --- /dev/null +++ b/admin/WebConsole/idiomas/php/eng/trabajostareas_eng.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: trabajostareas_eng.php +// Idioma: Ings +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Tasks in Job'; + $TbMsg[1]='Includes Tasks'; + $TbMsg[2]='Job'; + $TbMsg[3]='Task name'; + $TbMsg[4]='(*)To include some task in this job you must click in the corresponding checkbox'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/acciones_esp.php b/admin/WebConsole/idiomas/php/esp/acciones_esp.php new file mode 100644 index 00000000..55a8711e --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/acciones_esp.php @@ -0,0 +1,42 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: acciones_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nuevo grupo de procedimientos"'; + $TbMsg[1]='"Definir nuevo procedimiento"'; + $TbMsg[2]='"Colocar procedimiento"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grupo de procedimientos"'; + $TbMsg[5]='"Gestión de comandos"'; + $TbMsg[6]='"Información Procedimiento"'; + $TbMsg[7]='"Mover procedimiento"'; + $TbMsg[8]='"Propiedades"'; + $TbMsg[9]='"Eliminar procedimiento"'; + $TbMsg[10]='"Gestión de Menús"'; + $TbMsg[11]='"Nuevo grupo de tareas"'; + $TbMsg[12]='"Definir nueva tarea"'; + $TbMsg[13]='"Colocar tarea"'; + $TbMsg[14]='"Eliminar grupo de tarea"'; + $TbMsg[15]='"Ejecutar tarea"'; + $TbMsg[16]='"Programaciones"'; + $TbMsg[17]='"Información Tarea"'; + $TbMsg[18]='"Mover tarea"'; + $TbMsg[19]='"Eliminar tarea"'; + $TbMsg[20]='Incluir acciones'; + $TbMsg[21]='Programación'; + $TbMsg[22]='""'; + $TbMsg[23]='""'; + $TbMsg[24]='""'; + $TbMsg[25]='"Gestión de tareas"'; + $TbMsg[26]='""'; + $TbMsg[27]='""'; + $TbMsg[28]='" "'; + $TbMsg[29]='Procedimientos'; + $TbMsg[30]='Comandos'; + $TbMsg[31]='Tareas'; + $TbMsg[32]=''; + $TbMsg[33]='Acciones'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/accionmenu_esp.php b/admin/WebConsole/idiomas/php/esp/accionmenu_esp.php new file mode 100644 index 00000000..04ef4c65 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/accionmenu_esp.php @@ -0,0 +1,24 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: accionmenu_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Items'; + $TbMsg[1]='Gestión Items Menu'; + $TbMsg[2]='Procedimiento'; + $TbMsg[3]='Tarea'; + $TbMsg[4]='Menus'; + $TbMsg[5]='Público'; + $TbMsg[6]='Privado'; + $TbMsg[7]='Items públicos '; + $TbMsg[8]='Items privados '; + $TbMsg[9]='Nombre del Menu'; + $TbMsg[10]='Tipo item'; + $TbMsg[11]='Imagen del item'; + $TbMsg[12]='Literal item'; + $TbMsg[13]='Ord.'; + $TbMsg[14]='(*)Para incluir o excluir alguna acción en este menú debe hacer click sobre la casilla de verificación correspondiente'; + $TbMsg[15]='A'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/actualizar_esp.php b/admin/WebConsole/idiomas/php/esp/actualizar_esp.php new file mode 100644 index 00000000..74517ab4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/actualizar_esp.php @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: actualizar_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Este ámbito se ha refrescado correctamente'; + $TbMsg[1]='ATENCIÓN: Ha habido algún problema al refrescar el ámbito'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/administracion_esp.php b/admin/WebConsole/idiomas/php/esp/administracion_esp.php new file mode 100644 index 00000000..b2d66da2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/administracion_esp.php @@ -0,0 +1,22 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: administracion_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Administración"'; + $TbMsg[1]='"Nuevo grupo de Entidades"'; + $TbMsg[2]='"Nueva Entidad"'; + $TbMsg[3]='"Nuevo Superadministrador"'; + $TbMsg[4]='"Propiedades"'; + $TbMsg[5]='"Eliminar"'; + $TbMsg[6]='"Renombrar"'; + $TbMsg[7]='"Eliminar grupo de Entidades"'; + $TbMsg[8]='"Nueva unidad organizativa"'; + $TbMsg[9]='"Nuevo Administrador"'; + $TbMsg[10]='"Variables de entorno"'; + $TbMsg[11]='"Usuarios"'; + $TbMsg[12]='"Asignar Adminstradores"'; + $TbMsg[13]='"Asignar Unidades Organizativas"'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/administradores_centros_esp.php b/admin/WebConsole/idiomas/php/esp/administradores_centros_esp.php new file mode 100644 index 00000000..c3fa398a --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/administradores_centros_esp.php @@ -0,0 +1,14 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: administradores_centros_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Unidades Administrativas'; + $TbMsg[1]='Asignar administradores'; + $TbMsg[2]='Administradores asignados'; + $TbMsg[3]='Nombre del adminsitrador'; + $TbMsg[4]='(*)Para incluir algún adminsitrador en esta Unidad Organizativa debe hacer click sobre la casilla de verificación correspondiente.'; + $TbMsg[5]='Administradores disponibles'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/administradores_usuarios_esp.php b/admin/WebConsole/idiomas/php/esp/administradores_usuarios_esp.php new file mode 100644 index 00000000..56bb1caa --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/administradores_usuarios_esp.php @@ -0,0 +1,14 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: administradores_centros_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Unidades Administrativas'; + $TbMsg[1]='Asignar centros'; + $TbMsg[2]='Centros asignados'; + $TbMsg[3]='Nombre del centro'; + $TbMsg[4]='(*)Para asignar algún centro a un administrador determinado debe hacer click sobre la casilla de verificación correspondiente.'; + $TbMsg[5]='Centros disponibles'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/aulas_esp.php b/admin/WebConsole/idiomas/php/esp/aulas_esp.php new file mode 100644 index 00000000..c077c022 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/aulas_esp.php @@ -0,0 +1,48 @@ +<? +//____________________________________________________________ +// +// Fichero de idiomas php: aulas_esp.php +// Idioma: Español +//_____________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nuevo grupo de aulas"'; + $TbMsg[1]='"Estatus ordenadores"'; + $TbMsg[2]='"Conmutar'; + $TbMsg[3]='"Añadir nueva aula"'; + $TbMsg[4]='"Actualizar'; + $TbMsg[5]='"Comandos"'; + $TbMsg[6]='"Cola de acciones"'; + $TbMsg[7]='"Eliminar grupo de aulas"'; + $TbMsg[8]='"Nuevo grupo de ordenadores"'; + $TbMsg[9]='"Añadir nuevo ordenador"'; + $TbMsg[10]='"Configuración"'; + $TbMsg[11]='"Colocar ordenador"'; + $TbMsg[12]='"Ordenador Plantilla"'; + $TbMsg[13]='"Propiedades"'; + $TbMsg[14]='"Eliminar aula"'; + $TbMsg[15]='"Renombrar"'; + $TbMsg[16]='"Eliminar grupo de ordenadores"'; + $TbMsg[17]='"Mover ordenador"'; + $TbMsg[18]='"Eliminar ordenador"'; + $TbMsg[19]='"Tareas"'; + $TbMsg[20]='"Trabajos"'; + $TbMsg[21]='"Todas"'; + $TbMsg[22]='Estatus ordenadores'; + $TbMsg[23]='Aula de ordenadores'; + $TbMsg[24]='Ámbito: Centros'; + $TbMsg[25]='Ámbito: Grupo de aulas'; + $TbMsg[26]='Ámbito: Grupo de ordenadores'; + $TbMsg[27]='"Incorporar ordenadores"'; + $TbMsg[28]='"Procedimientos"'; + $TbMsg[29]='"Reservas de aulas"'; + $TbMsg[30]='"Confirmadas"'; + $TbMsg[31]='"Pendientes"'; + $TbMsg[32]='"Denegadas"'; + $TbMsg[33]='"Consola remota"'; + $TbMsg[34]='"Programación reservas"'; + $TbMsg[35]='"Operadores"'; + $TbMsg[36]='"Eliminar Operador"'; + $TbMsg[37]='"Añadir nuevo Operador"'; + $TbMsg[39]='"Eco de Consola"'; + +?> diff --git a/admin/WebConsole/idiomas/php/esp/barramenu_esp.php b/admin/WebConsole/idiomas/php/esp/barramenu_esp.php new file mode 100644 index 00000000..476704a4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/barramenu_esp.php @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: barramenu_esp.php +// Idioma: Espaol +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Aulas'; + $TbMsg[1]='Acciones'; + $TbMsg[2]='Imágenes'; + $TbMsg[3]='Hardware'; + $TbMsg[4]='Software'; + $TbMsg[5]='Repositorios'; + $TbMsg[6]='Menús'; + $TbMsg[7]='Reservas'; + $TbMsg[8]='Administración'; + $TbMsg[9]='Iconos'; + $TbMsg[10]='Salir'; + $TbMsg[11]='Ayuda'; + $TbMsg[12]='Administradores'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php b/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php new file mode 100644 index 00000000..579addde --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/clases/Almanaque_esp.php @@ -0,0 +1,391 @@ + <? +/*============================================================================ + Esta clase genera tablas HTML para selección de fechas (Versión inglesa) + + Atributos de la clase: + + clase: Clase [CSS] de la tabla HTML que se generará. + onmouseover: Función Javascript que se ejuctará al generarse el evento + onmouseout: Función Javascript que se ejuctará al generarse el evento + onclick: Función Javascript que se ejuctará al hacer click sobre el objeto + +============================================================================*/ +class Almanaque{ + + var $clase ; + var $onmouseover; + var $onmouseout; + var $onclick; + + var $desplazamiento_dias=6; // Ajuste fino dependiendo del año de comienzo del algoritmo + var $nombre_mes=array(); + var $nombre_dia=array(); + var $dias_meses=array(); + var $semanas=array(); + var $numero_annos=array(); + + function Almanaque($pclase="",$ponmouseover="sobre(this)",$ponmouseout="fuera(this)",$ponclick="clic(this)"){ //Constructor + $this->clase=$pclase; + $this->onmouseover=$ponmouseover; + $this->onmouseout=$ponmouseout; + $this->onclick=$ponclick; + + $this->nombre_mes[1]=array ("Enero",0x0001); + $this->nombre_mes[2]=array ("Febrero",0x0002); + $this->nombre_mes[3]=array ("Marzo",0x0004); + $this->nombre_mes[4]=array ("Abril",0x0008); + $this->nombre_mes[5]=array ("Mayo",0x0010); + $this->nombre_mes[6]=array ("Junio",0x0020); + $this->nombre_mes[7]=array ("Julio",0x0040); + $this->nombre_mes[8]=array ("Agosto",0x0080); + $this->nombre_mes[9]=array ("Septiembre",0x0100); + $this->nombre_mes[10]=array ("Octubre",0x0200); + $this->nombre_mes[11]=array ("Noviembre",0x0400); + $this->nombre_mes[12]=array ("Diciembre",0x0800); + + $this->nombre_dia[1]=array ("L",0x01); // tamaño 1 bytes + $this->nombre_dia[2]=array ("M",0x02); + $this->nombre_dia[3]=array ("X",0x04); + $this->nombre_dia[4]=array ("J",0x08); + $this->nombre_dia[5]=array ("V",0x10); + $this->nombre_dia[6]=array ("S",0x20); + $this->nombre_dia[7]=array ("D",0x40); + + + $this->dias_meses[1]=31; + $this->dias_meses[2]=28; + $this->dias_meses[3]=31; + $this->dias_meses[4]=30; + $this->dias_meses[5]=31; + $this->dias_meses[6]=30; + $this->dias_meses[7]=31; + $this->dias_meses[8]=31; + $this->dias_meses[9]=30; + $this->dias_meses[10]=31; + $this->dias_meses[11]=30; + $this->dias_meses[12]=31; + + $this->semanas[1]=array ("1ª",0x01); // tamaño 1 bytes + $this->semanas[2]=array ("2ª",0x02); + $this->semanas[3]=array ("3ª",0x04); + $this->semanas[4]=array ("4ª",0x08); + $this->semanas[5]=array ("5ª",0x10); + $this->semanas[6]=array ("Última",0x20); + + $this->numero_annos[1]=array ("2010",0x01); // tamaño 1 bytes + $this->numero_annos[2]=array ("2011",0x02); + $this->numero_annos[3]=array ("2012",0x04); + $this->numero_annos[4]=array ("2013",0x08); + $this->numero_annos[5]=array ("2014",0x10); + $this->numero_annos[6]=array ("2015",0x20); + $this->numero_annos[7]=array ("2016",0x40); + $this->numero_annos[8]=array ("2017",0x80); + + $this->numero_dias[1]=0x00000001; // tamaño 4 bytes + $this->numero_dias[2]=0x00000002; + $this->numero_dias[3]=0x00000004; + $this->numero_dias[4]=0x00000008; + + $this->numero_dias[5]=0x00000010; + $this->numero_dias[6]=0x00000020; + $this->numero_dias[7]=0x00000040; + $this->numero_dias[8]=0x00000080; + + $this->numero_dias[9]=0x00000100; + $this->numero_dias[10]=0x00000200; + $this->numero_dias[11]=0x00000400; + $this->numero_dias[12]=0x00000800; + + $this->numero_dias[13]=0x00001000; + $this->numero_dias[14]=0x00002000; + $this->numero_dias[15]=0x00004000; + $this->numero_dias[16]=0x00008000; + + $this->numero_dias[17]=0x00010000; + $this->numero_dias[18]=0x00020000; + $this->numero_dias[19]=0x00040000; + $this->numero_dias[20]=0x00080000; + + $this->numero_dias[21]=0x00100000; + $this->numero_dias[22]=0x00200000; + $this->numero_dias[23]=0x00400000; + $this->numero_dias[24]=0x00800000; + + $this->numero_dias[25]=0x01000000; + $this->numero_dias[26]=0x02000000; + $this->numero_dias[27]=0x04000000; + $this->numero_dias[28]=0x08000000; + + $this->numero_dias[29]=0x10000000; + $this->numero_dias[30]=0x20000000; + $this->numero_dias[31]=0x40000000; + $this->numero_dias[32]=0x80000000; + + + $this->numero_horas[1]=array("0:00",0x0001); // tamaño 2 bytes + $this->numero_horas[2]=array("1:00",0x0002); + $this->numero_horas[3]=array("2:00",0x0004); + $this->numero_horas[4]=array("3:00",0x0008); + $this->numero_horas[5]=array("4:00",0x0010); + $this->numero_horas[6]=array("5:00",0x0020); + $this->numero_horas[7]=array("6:00",0x0040); + $this->numero_horas[8]=array("7:00",0x0080); + $this->numero_horas[9]=array("8:00",0x0100); + $this->numero_horas[10]=array("9:00",0x0200); + $this->numero_horas[11]=array("10:00",0x0400); + $this->numero_horas[12]=array("11:00",0x0800); + } + + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + Esta función devuelve el número del día de la semana: + 0=domingo 1=Lunes, 2=mártes ... 6=sábado + + Parámetro de entrada: + Una cadena con formato de fecha dd/mm/aaaa. + ________________________________________________________________________________________________________*/ + function _DiaSemana($fecha){ + list($dia,$mes,$anno)=split('[/.-]',$fecha); + $cont=0; + for ($i=1900;$i<$anno;$i++){ + if ($this->bisiesto($i)) $dias_anuales=366; else $dias_anuales=365; + $cont+=$dias_anuales; + } + for ($i=1;$i<$mes;$i++){ + if ($i!=2) + $cont+=$this->dias_meses[$i]; + else{ + if ($this->bisiesto($anno)) + $cont+=29; + else + $cont+=28; + } + } + $cont+=$dia+$this->desplazamiento_dias; + return($cont%7); + } + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + Esta función devuelve true si el año pasado como parámetro es bisiesto y false si no lo es + + Parámetro de entrada: + Una número que representa el año + ________________________________________________________________________________________________________*/ + function bisiesto($anob){ + if ($anob%4==0) return(true); else return(false); + } + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + Esta función devuelve una cadena con el código HTML con un rango de años + ________________________________________________________________________________________________________*/ + function Annos($ano_desde,$ano_hasta){ + $HTML_calendario='<TABLE id="tabla_annos" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH style="cursor:pointer" onclick="TH_'.$this->onclick.'">Años</TH></TR>'.chr(13); // Literal años + for ($i=1;$i<7;$i++){ + $HTML_calendario.='<TR><TD align="center" id="'.$this->numero_annos[$i][0].'" + value="'.$this->numero_annos[$i][1].'" style="cursor:pointer" + onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" + onclick="'.$this->onclick.'">'.$this->numero_annos[$i][0].'</TD></TR>'.chr(13); + } + $HTML_calendario.='</TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + Esta función devuelve una cadena con el código HTML del calendario del mes y año elegidos + y que son propiedades de la clase. + ________________________________________________________________________________________________________*/ + function MesAnno($mes,$anno){ + + $fecha="1/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + + $swbi=0; // Suma para bisiesto + if ($this->bisiesto($anno) && $mes==2) $swbi=1; + + $HTML_calendario='<TABLE id="tabla_mesanno" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 style="cursor:pointer" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[$mes][0].'</TH></TR>'.chr(13); // Nombre del mes + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<8;$i++) + $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Días de la semana + $HTML_calendario.='</TR><TR>'.chr(13); + for ($i=1;$i<$ds;$i++) + $HTML_calendario.='<TD></TD>'.chr(13); // Relleno primeros dias de la semana + $sm=$ds; // Control salto de semana + for ($i=1;$i<=$this->dias_meses[$mes]+$swbi;$i++){ + $HTML_calendario.='<TD align="center" id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->numero_dias[$i].'" style="cursor:pointer" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$i.'</TD>'.chr(13); + if ($sm%7==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sm=0; + } + $sm++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con los meses del año en dos columnas. + ________________________________________________________________________________________________________*/ + function Meses(){ + $HTML_calendario='<TABLE id="tabla_meses" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=2 style="cursor:pointer" onclick="TH_'.$this->onclick.'">Meses</TH></TR>'.chr(13); // Literal meses + for ($i=1;$i<13;$i++){ + $HTML_calendario.='<TR><TD align="center" id="'.$i.'" value="'.$this->nombre_mes[$i][1].'" + style="cursor:pointer" onmouseover="'.$this->onmouseover.'" + onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"> + '.$this->nombre_mes[$i++][0].' </TD>'.chr(13); + $HTML_calendario.='<TD align="center" id="'.$i.'" value="'.$this->nombre_mes[$i][1].'" + style="cursor:pointer" onmouseover="'.$this->onmouseover.'" + onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"> + '.$this->nombre_mes[$i][0].' </TD></TR>'.chr(13); + } + $HTML_calendario.='</TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ + Esta función devuelve una cadena con el código HTML con los días de la semana en una fila. + ________________________________________________________________________________________________________*/ + function Dias(){ + $HTML_calendario='<TABLE id="tabla_dias" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 style="cursor:pointer" onclick="TH_'.$this->onclick.'">Día</TH><TR>'.chr(13); // Literal Días + for ($i=1;$i<8;$i++){ + $HTML_calendario.='<TD align="center" id="'.$i.'" value="'.$this->nombre_dia[$i][1].'" + style="cursor:pointer" onmouseover="'.$this->onmouseover.'" + onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->nombre_dia[$i][0].'</TD>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con el orden de las semana en una fila. + ________________________________________________________________________________________________________*/ + function Semanas(){ + $HTML_calendario='<TABLE id="tabla_semanas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 style="cursor:pointer" onclick="TH_'.$this->onclick.'">Semana</TH><TR>'.chr(13); // Literal Semenas + for ($i=1;$i<7;$i++){ + $HTML_calendario.='<TD align="center" id="'.$i.'" value="'.$this->semanas[$i][1].'" + style="cursor:pointer" onmouseover="'.$this->onmouseover.'" + onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->semanas[$i][0].' </TD>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con los 31 días de un mes en 3 filas + ________________________________________________________________________________________________________*/ + function DiasMes(){ + $HTML_calendario='<TABLE id="tabla_diasmes" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=8 style="cursor:pointer" onclick="TH_'.$this->onclick.'">Día de mes</TH><TR>'.chr(13); // Literal Día + $HTML_calendario.='<TR>'.chr(13); + $sd=1; // Control salto de fila + for ($i=1;$i<32;$i++){ + $HTML_calendario.='<TD align="center" id="'.$i.'" value="'.$this->numero_dias[$i].'" + style="cursor:pointer" onmouseover="'.$this->onmouseover.'" + onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$i.'</TD>'.chr(13); + if ($sd%8==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sd=0; + } + $sd++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + /* ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con las horas de apertura de las aulas + ________________________________________________________________________________________________________*/ + function Horas(){ + + $HTML_calendario='<TABLE id="tabla_horas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=12 style="cursor:pointer" onclick="TH_'.$this->onclick.'">Hora ejecución de la acción </TH>'; + $HTML_calendario.='<TH>Mod</TH>'; + $HTML_calendario.='<TH>Min.</TH>'; + //$HTML_calendario.='<TH>Seg.</TH></TR>'; + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<13;$i++) + $HTML_calendario.='<TD align=center id="'.$this->numero_horas[$i][0].'" value="'.$this->numero_horas[$i][1].'" style="cursor:pointer" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->numero_horas[$i][0].'</TD>'.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.= '<SELECT class="estilodesple" id="ampm">'.chr(13); + $HTML_calendario.= '<OPTION value=0>A.M.</OPTION>'.chr(13); + $HTML_calendario.= '<OPTION selected value=1 >P.M.</OPTION>'.chr(13); + $HTML_calendario.='</SELECT>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.='<INPUT type=text class=cajatexto id=minutos size=1>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='</TR>'.chr(13); + $HTML_calendario.='</TABLE>'.chr(13); + + return($HTML_calendario); + } +/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con las horas hasta de reserva de las aulas +________________________________________________________________________________________________________*/ + function HorasReserva($literal,$nombretabla,$nombreampm,$nombreminuto){ + if($literal=="1") + $literal="Comienzo de la reserva"; + else + $literal="Fin de la reserva"; + + $HTML_calendario='<TABLE id="'.$nombretabla.'" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=12 style="cursor:pointer" onclick="TH_'.$this->onclick.'">'.$literal.' </TH>'; + $HTML_calendario.='<TH>Mod</TH>'; + $HTML_calendario.='<TH>Min.</TH>'; + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<13;$i++) + $HTML_calendario.='<TD align=center id="'.$this->numero_horas[$i][0].'" value="'.$this->numero_horas[$i][1].'" style="cursor:pointer" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$this->numero_horas[$i][0].'</TD>'.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.= '<SELECT class="estilodesple" id="'.$nombreampm.'">'.chr(13); + $HTML_calendario.= '<OPTION value=0>A.M.</OPTION>'.chr(13); + $HTML_calendario.= '<OPTION selected value=1 >P.M.</OPTION>'.chr(13); + $HTML_calendario.='</SELECT>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='<TD align=center>'; + $HTML_calendario.='<INPUT type=text class=cajatexto id="'.$nombreminuto.'" size=1>'.chr(13); + $HTML_calendario.='</TD> '.chr(13); + + $HTML_calendario.='</TR>'.chr(13); + $HTML_calendario.='</TABLE>'.chr(13); + + return($HTML_calendario); + } + /* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con las horas de apertura de las aulas + ________________________________________________________________________________________________________*/ + function Horas_Completas(){ + $maxcolumnas=16; + + $HTML_calendario='<TABLE id="tabla_horas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan='.$maxcolumnas.'>Horas</TH><TR>'.chr(13); // Literal Horas + $HTML_calendario.='<TR>'.chr(13); + $currenthora=0; + $currentminutos=0; + $currenthorario=$currenthora.":".$currentminutos; + for ($i=1;$i<97;$i++){ + if($currentminutos==0) $currenthorario.="0"; + + $HTML_calendario.='<TD align=center id="'.$currenthorario.'" style="cursor:pointer" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$currenthorario.'</TD>'.chr(13); + $currentminutos+=15; + if($currentminutos==60) { + $currenthora++; + if($currenthora==24) $currenthora=0; + $currentminutos=0; + } + $currenthorario=$currenthora.":".$currentminutos; + if ($i%$maxcolumnas==0) $HTML_calendario.='</TR><TR>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } +} // Fin de la clase Almanaque
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/clases/Calendario_esp.php b/admin/WebConsole/idiomas/php/esp/clases/Calendario_esp.php new file mode 100644 index 00000000..9611c78c --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/clases/Calendario_esp.php @@ -0,0 +1,523 @@ + <? +/*======================================================================================================== + Esta clase genera tablas HTML para selección de fechas (Versión inglesa) + + Atributos de la clase: + + clase: Clase [CSS] de la tabla HTML que se generará. + onmouseover: Función Javascript que se ejuctará al generarse el evento + onmouseout: Función Javascript que se ejuctará al generarse el evento + onclick: Función Javascript que se ejuctará al hacer click sobre el objeto + +=========================================================================================================*/ +class Calendario{ + var $aula; + var $horaresevini; + var $horaresevfin; + var $clase ; + var $onmouseover; + var $onmouseout; + var $onclick; + + var $desplazamiento_dias=6; // Ajuste fino dependiendo del año de comienzo del algoritmo + var $nombre_mes=array(); + var $nombre_dia=array(); + var $dias_meses=array(); + + function Calendario($pclase="",$ponmouseover="sobre(this)",$ponmouseout="fuera(this)",$ponclick="clic(this)"){ //Constructor + $this->clase=$pclase; + $this->onmouseover=$ponmouseover; + $this->onmouseout=$ponmouseout; + $this->onclick=$ponclick; + + $this->nombre_mes[1]=array ("Enero",0x0001); + $this->nombre_mes[2]=array ("Febrero",0x0002); + $this->nombre_mes[3]=array ("Marzo",0x0004); + $this->nombre_mes[4]=array ("Abril",0x0008); + $this->nombre_mes[5]=array ("Mayo",0x0010); + $this->nombre_mes[6]=array ("Junio",0x0020); + $this->nombre_mes[7]=array ("Julio",0x0040); + $this->nombre_mes[8]=array ("Agosto",0x0080); + $this->nombre_mes[9]=array ("Septiembre",0x0100); + $this->nombre_mes[10]=array ("Octubre",0x0200); + $this->nombre_mes[11]=array ("Noviembre",0x0400); + $this->nombre_mes[12]=array ("Diciembre",0x0800); + + $this->numero_annos[1]=array ("2004",0x01); // tamaño 1 bytes + $this->numero_annos[2]=array ("2005",0x02); + $this->numero_annos[3]=array ("2006",0x04); + $this->numero_annos[4]=array ("2007",0x08); + $this->numero_annos[5]=array ("2008",0x10); + $this->numero_annos[6]=array ("2009",0x20); + $this->numero_annos[7]=array ("2010",0x40); + $this->numero_annos[8]=array ("2011",0x80); + + $this->dias_meses[1]=31; + $this->dias_meses[2]=28; + $this->dias_meses[3]=31; + $this->dias_meses[4]=30; + $this->dias_meses[5]=31; + $this->dias_meses[6]=30; + $this->dias_meses[7]=31; + $this->dias_meses[8]=31; + $this->dias_meses[9]=30; + $this->dias_meses[10]=31; + $this->dias_meses[11]=30; + $this->dias_meses[12]=31; + + $this->nombre_dia[1]=array ("L",0x01); // tamaño 1 bytes + $this->nombre_dia[2]=array ("M",0x02); + $this->nombre_dia[3]=array ("X",0x04); + $this->nombre_dia[4]=array ("J",0x08); + $this->nombre_dia[5]=array ("V",0x10); + $this->nombre_dia[6]=array ("S",0x20); + $this->nombre_dia[7]=array ("D",0x40); + } +/*________________________________________________________________________________________________________ + Esta función devuelve una cadena con el código HTML del calendario del mes y año elegidos + y que son propiedades de la clase. +________________________________________________________________________________________________________*/ + function MesAnno($mes,$anno,$CntMes){ + $fecha="1/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + $paso=2; // Porporción para el la intensidad del color + $swbi=0; // Suma para bisiesto + if ($this->bisiesto($anno) && $mes==2) $swbi=1; + + $HTML_calendario='<TABLE border=1 cellspacing=0 cellpadding=1 id="tabla_mesanno" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 id="'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[$mes][0].'</TH></TR>'.chr(13); // Nombre del mes + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<8;$i++) + $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Días de la semana + $HTML_calendario.='</TR><TR>'.chr(13); + for ($i=1;$i<$ds;$i++) + $HTML_calendario.='<TD> </TD>'.chr(13); // Relleno primeros dias de la semana + $sm=$ds; // Control salto de semana + for ($i=1;$i<=$this->dias_meses[$mes]+$swbi;$i++){ + $HTML_calendario.='<TD align=center '; + if(isset($CntMes[$i])){ + if($CntMes[$i]>0){ + $itcr=255; + $itc=240-($CntMes[$i]*$paso); + if($CntMes[$i]>=50) + $colordia="#FFFFFF"; + else + $colordia="#000000"; + + $bgcolordia=sprintf('#%02x%02x%02x',$itcr,$itc,$itc); + $HTML_calendario.=' style="COLOR:'.$colordia.';BACKGROUND-COLOR: '.$bgcolordia.';"'; + $HTML_calendario.=' id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"'; + } + } + $HTML_calendario.='>'.$i.'</TD>'.chr(13); + if ($sm%7==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sm=0; + } + $sm++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + +/*________________________________________________________________________________________________________ + Esta función devuelve una cadena con el código HTML del calendario del mes y año elegidos + y que son propiedades de la clase. +________________________________________________________________________________________________________*/ + function JMesAnno($mes,$anno,$JDif,$TBfechas,$sumahoras){ + $fecha="1/".$mes."/".$anno; + $Jdpl=$this->juliana($fecha)-$JDif; // Calcula punto departida para indice juliano + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + $paso=2; // Porporción para el la intensidad del color + $swbi=0; // Suma para bisiesto + if ($this->bisiesto($anno) && $mes==2) $swbi=1; + $HTML_calendario='<TABLE border=1 cellspacing=0 cellpadding=1 id="tabla_mesanno" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=7 id="'.$mes.'/'.$anno.'" style="cursor:hand" onclick="TH_'.$this->onclick.'">'.$this->nombre_mes[(int)$mes][0].'</TH></TR>'.chr(13); // Nombre del mes + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<8;$i++) + $HTML_calendario.='<TH>'.$this->nombre_dia[$i][0].'</TH>'.chr(13); // Días de la semana + $HTML_calendario.='</TR><TR>'.chr(13); + for ($i=1;$i<$ds;$i++) + $HTML_calendario.='<TD> </TD>'.chr(13); // Relleno primeros dias de la semana + $sm=$ds; // Control salto de semana + for ($i=1;$i<=$this->dias_meses[(int)$mes]+$swbi;$i++){ + $HTML_calendario.='<TD align=center '; + if(isset($TBfechas[$Jdpl])){ + if($TBfechas[$Jdpl]>0){ + $xpor=$TBfechas[$Jdpl]*100/$sumahoras; + $itcr=255; + $itc=240-($xpor*$paso); + if($xpor>=50) + $colordia="#FFFFFF"; + else + $colordia="#000000"; + + $bgcolordia=sprintf('#%02x%02x%02x',$itcr,$itc,$itc); + $HTML_calendario.=' style="COLOR:'.$colordia.';BACKGROUND-COLOR: '.$bgcolordia.';"'; + $HTML_calendario.=' id="'.$i.'/'.$mes.'/'.$anno.'" value="'.$this->aula.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'"'; + } + } + $HTML_calendario.='>'.$i.'</TD>'.chr(13); + if ($sm%7==0){ + $HTML_calendario.='</TR><TR>'.chr(13); + $sm=0; + } + $sm++; + $Jdpl++; + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); + } + +/*________________________________________________________________________________________________________ + Esta función devuelve el número del día de la semana: + 0=domingo 1=Lunes, 2=mártes ... 6=sábado + + Parámetro de entrada: + Una cadena con formato de fecha dd/mm/aaaa. +________________________________________________________________________________________________________*/ + function _DiaSemana($fecha){ + list($dia,$mes,$anno)=split('[/.-]',$fecha); + $cont=0; + for ($i=1900;$i<$anno;$i++){ + if ($this->bisiesto($i)) $dias_anuales=366; else $dias_anuales=365; + $cont+=$dias_anuales; + } + for ($i=1;$i<$mes;$i++){ + if ($i!=2) + $cont+=$this->dias_meses[$i]; + else{ + if ($this->bisiesto($anno)) + $cont+=29; + else + $cont+=28; + } + } + $cont+=$dia+$this->desplazamiento_dias; + return($cont%7); + } +//________________________________________________________________________________________________________ +// Esta función devuelve true si el año pasado como parámetro es bisiesto y false si no lo es +// +// Parámetro de entrada: +// Una número que representa el año +//________________________________________________________________________________________________________ +function bisiesto($anob){ + if ($anob%4==0) return(true); else return(false); + } +//________________________________________________________________________________________________________ +// Esta función devuelve una cadena con el código HTML con las horas de reservas de las aulas +//________________________________________________________________________________________________________ +function HorasDias($CntDia,$porcenhoras){ + $HTML_calendario=""; + $sw=0; + $conthoras=0; // Contador de horas y minutos de reservas + $maxcolumnas=8; + $tbampm[0]="a.m."; + $tbampm[1]="p.m."; + + $HTML_calendario.='<TABLE border=0 cellspacing=0 cellpadding=0 id="tabla_horas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan=3>Horas</TH></TR>'.chr(13); // Literal Horas + $HTML_calendario.='<TR>'.chr(13); + $HTML_ampm[0]=""; + $HTML_ampm[1]=""; + $swampm[0]=false; + $swampm[1]=false; + + if($this->horaresevini<12) $ix=0; else $ix=1; + for($j=$ix;$j<=1;$j++){ + $HTML_ampm[$j].='<TD style="BACKGROUND-COLOR: #FFFFFF;" valig=top >'.chr(13); + $HTML_ampm[$j].='<TABLE valig=top cellspacing=0 cellpadding=0 border=1 class="'.$this->clase.'">'.chr(13); + $HTML_ampm[$j].='<TR>'.chr(13); + $HTML_ampm[$j].='<TH colspan='.$maxcolumnas.'>'.$tbampm[$j].'</TH></TR>'.chr(13); // Literal Horas + $HTML_ampm[$j].='<TR>'.chr(13); + + if($j==0){ // A.M.height + $imin=$this->horaresevini; + $currenthora=$imin; + if($this->horaresevfin<=12) + $imax=$this->horaresevfin; + else + $imax=12; + } + else{ + if($this->horaresevini<=12) + $imin=0; + else + $imin=$this->horaresevini-12; + $imax=(int)$this->horaresevfin-12; + $currenthora=$imin; + } + $cols=0; + $currentminutos=0; + $currenthorario=$currenthora.":".$currentminutos; + $intervalo=($imax-$imin+1)*4; + for ($i=$imin;$i<$intervalo;$i++){ + $cols++; + if($sw>0) // Acarre la reserva desde A.M. + $swampm[$j]=true; + + if($currentminutos==0) $currenthorario.="0"; + if(isset($CntDia[$j][$currenthora][$currentminutos])){ + if($CntDia[$j][$currenthora][$currentminutos]==1) + $sw++; + $swampm[$j]=true; + } + if(isset($CntDia[$j][$currenthora][$currentminutos])){ + if($CntDia[$j][$currenthora][$currentminutos]==0) + $sw--; + } + $HTML_ampm[$j].='<TD '; + if($sw>0) + $HTML_ampm[$j].=' style="COLOR:#eeeeee;BACKGROUND-COLOR: #cc3366"'; + + if($sw>0) // Cuenta la fracción de 15 minutos como reservada + $conthoras++; + $HTML_ampm[$j].=' align=center> '.$currenthorario.' </TD>'.chr(13); + $currentminutos+=15; + if($currentminutos==60) { + $currenthora++; + $currentminutos=0; + } + $currenthorario=$currenthora.":".$currentminutos; + if (($cols)%$maxcolumnas==0 ) $HTML_ampm[$j].='</TR><TR>'.chr(13); + } + $HTML_ampm[$j].='</TR></TABLE>'.chr(13); + $HTML_ampm[$j].='</TD>'.chr(13); + } + + if ($swampm[0]) + $HTML_calendario.=$HTML_ampm[0]; + + if ($swampm[0] && $swampm[1]){ + $HTML_calendario.='<TD style="BACKGROUND-COLOR: #FFFFFF;" width=25> '.chr(13); + $HTML_calendario.='</TD>'.chr(13); + } + + if ($swampm[1]) + $HTML_calendario.=$HTML_ampm[1]; + + $HTML_calendario.='</TR>'.chr(13); + $HTML_calendario.='</TABLE>'.chr(13); + + $numblo=($this->horaresevfin-$this->horaresevini)*4; + if($numblo>0) + $porcenhoras=floor($conthoras*100/$numblo); + else + $porcenhoras=100; + return($HTML_calendario); +} +/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con las horas de apertura de las aulas +________________________________________________________________________________________________________*/ +function Horas_Completas(){ + $maxcolumnas=8; + + $HTML_calendario='<TABLE id="tabla_horas" class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $HTML_calendario.='<TH colspan='.$maxcolumnas.'>Horas</TH></TR>'.chr(13); // Literal Horas + $HTML_calendario.='<TR>'.chr(13); + for ($i=1;$i<25;$i++){ + $HTML_calendario.='<TD align=center id="'.$i.'" style="cursor:hand" onmouseover="'.$this->onmouseover.'" onmouseout="'.$this->onmouseout.'" onclick="'.$this->onclick.'">'.$i.'</TD>'.chr(13); + if (($i)%$maxcolumnas==0) $HTML_calendario.='</TR><TR>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); +} +/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Esta función devuelve una cadena con el código HTML con las intensidades para las reservas de un día +________________________________________________________________________________________________________*/ +function TablaIntensidades(){ + $HTML_calendario='<TABLE id="tabla_intensidad border=1class="'.$this->clase.'">'.chr(13); + $HTML_calendario.='<TR>'.chr(13); + $itcr=255; + for($i=0;$i<=100;$i+=8){ + $HTML_calendario.='<TD height=10 width=20'.chr(13); + $itc=240-($i*2); + if($i>=50) + $colordia="#FFFFFF"; + else + $colordia="#000000"; + $bgcolordia=sprintf('#%02x%02x%02x',$itcr,$itc,$itc); + $HTML_calendario.=' style="COLOR:'.$colordia.';BACKGROUND-COLOR: '.$bgcolordia.';">'; + //$HTML_calendario.=$i.' %'; + $HTML_calendario.='</TD>'.chr(13); + } + $HTML_calendario.='</TR></TABLE>'.chr(13); + return($HTML_calendario); +} + +/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + Devuelve una cadena con los días del mes que son lunes(1) o martes(2) o miércoles(3), etc ...domingo(7) separada por comas +________________________________________________________________________________________________________________*/ +function DiasPorMes($mes,$anno,$numerodia){ + $cadenadias=""; + $dia_c=1; + $fecha=$dia_c."/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + while($ds!=$numerodia){ + $dia_c++; + $ds++; + if($ds>7) $ds=1; + } + // Calcula número de dias del mes + $diasmaxmes=$this->dias_meses[$mes]; + if ($mes==2){ + if ($this->bisiesto($anno)){ + $diasmaxmes=29; + } + } + while($dia_c<=$diasmaxmes){ + $cadenadias.=$dia_c.";"; + $dia_c+=7; + } + return($cadenadias); +} +/*________________________________________________________________________________________________________ + Devuelve una cadena con los días del mes correspondiente a una semana concreta, separados por coma +________________________________________________________________________________________________________*/ +function DiasPorSemanas($mes,$anno,$numerosemana){ + $cadenadias=""; + $dia_c=1; + $nsem=1; + $fecha=$dia_c."/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + while($nsem!=$numerosemana){ + $dia_c++; + $ds++; + if($ds>7){ + $ds=1; + $nsem++; + } + } + // Calcula número de dias del mes + $diasmaxmes=$this->dias_meses[$mes]; + if ($mes==2){ + if ($this->bisiesto($anno)){ + $diasmaxmes=29; + } + } + for($i=$ds;$i<=5;$i++){ + if($dia_c>$diasmaxmes) break; + $cadenadias.=$dia_c.";"; + $dia_c++; + } + return($cadenadias); +} +// ____________________________________________________________________________ +// Esta función devuelve el número de la última semana de un mes +// ____________________________________________________________________________ +function UltimaSemana($mes,$anno){ + $diasmaxmes=$this->dias_meses[$mes]; + if ($mes==2){ + if ($this->bisiesto($anno)){ + $diasmaxmes=29; + } + } + $fecha="1/".$mes."/".$anno; + $ds=$this->_DiaSemana($fecha); + if ($ds==0) $ds=7; + $nwdia=$diasmaxmes+$ds-1; + $cociente=floor($nwdia/7); + $resto=$nwdia%7; + if($resto>0) $cociente++; + return($cociente); +} +//________________________________________________________________________________________________________ +// Función : Fechas +// Descripción : +// Devuelve una cadena de fechas separada por comas que son las fechas que forman parte de una reserva concreta +// Parametros: +// - anno_c: Un año determinado +// - mes_desde: El mes desde que se considera la reserva +// - mes_hasta: El mes hasta que se considera la reserva +// - meses: Campo con información hexadecimal de los meses de la reserva ( la información contenida en el campo de la tabla con este nombre +// - diario: Idem para los dias de un mes +// - dias: idem para los nombres de los días +// - semanas: Idem para las semanas +//________________________________________________________________________________________________________ +function Fechas($anno_c,$mes_desde,$mes_hasta,$meses,$diario,$dias,$semanas){ + $cadenafechas=""; + $mascara=0x0001; + $cadenameses=""; + $meses=$meses>>($mes_desde-1); + for($i=$mes_desde;$i<=$mes_hasta;$i++){ + if($meses&$mascara>0){ + $cadenameses.=$i.";"; + // Dias de la semana + if($dias>0){ + $auxdias=$dias; + for($j=1;$j<=7;$j++){ + if($auxdias&$mascara>0){ + $cadenadias=$this->DiasPorMes($i,$anno_c,$j); + $tbdias=split(";",$cadenadias); + for ($k=0;$k<sizeof($tbdias)-1;$k++) + $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";"; + } + $auxdias=$auxdias>>1; + } + } + // Semanas + if($semanas>0){ + $auxsemanas=$semanas; + for($j=1;$j<=6;$j++){ + if($auxsemanas&$mascara>0){ + if($j==6){ + $ulse=$this->UltimaSemana($i,$anno_c); + $cadenadias=$this->DiasPorSemanas($i,$anno_c,$ulse); + } + else + $cadenadias=$this->DiasPorSemanas($i,$anno_c,$j); + $tbdias=split(";",$cadenadias); + for ($k=0;$k<sizeof($tbdias)-1;$k++) + $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";"; + } + $auxsemanas=$auxsemanas>>1; + } + } + } + $meses=$meses>>1; + } + $cadenadiario=""; + for($i=1;$i<32;$i++){ + if($diario&$mascara>0) $cadenadiario.=$i.";"; + $diario=$diario>>1; + } + $tbmeses=split(";",$cadenameses); + $tbdiario=split(";",$cadenadiario); + for ($i=0;$i<sizeof($tbmeses)-1;$i++){ + for ($j=0;$j<sizeof($tbdiario)-1;$j++){ + $cadenafechas.=$tbdiario[$j]."/".$tbmeses[$i]."/".$anno_c.";"; + } + } + return($cadenafechas); +} +/*______________________________________________________________________ + Devuelve el dia juliano de una fecha determinada + Parametros: + - cadena con la fecha en formato "dd/mm/aaaa" + Devuelve: + - El dia juliano +_______________________________________________________________________*/ +function juliana($fecha) { + list($dia,$mes,$anno)=split("[/-]",$fecha); + $GGG = 1; + if ($anno <= 1585) $GGG = 0; + $juliano= -1 * floor(7 * (floor(($mes + 9) / 12) + $anno) / 4); + $S = 1; + if (($mes - 9)<0) $S=-1; + $A = abs($mes - 9); + $auxjuliano = floor($anno + $S * floor($A / 7)); + $auxjuliano = -1 * floor((floor($auxjuliano / 100) + 1) * 3 / 4); + $juliano = $juliano + floor(275 * $mes / 9) + $dia + ($GGG * $auxjuliano); + $juliano =$juliano + 1721027 + 2 * $GGG + 367 * $anno - 0.5; + return(floor($juliano)); +} +} // Fin de la clase Calendario
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/colasacciones_esp.php b/admin/WebConsole/idiomas/php/esp/colasacciones_esp.php new file mode 100644 index 00000000..ed0ee0e8 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/colasacciones_esp.php @@ -0,0 +1,80 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasacciones_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + +// Literales de los tipo de acciones +$LITEJECUCION_COMANDO="Comandos"; +$LITEJECUCION_PROCEDIMIENTO="Procedimientos"; +$LITEJECUCION_TAREA="Tareas"; + +$LITACCION_EXITOSA='Finalizada correctamente'; // Literal Finalizada con exito +$LITACCION_FALLIDA='Finalizada con errores'; // Literal Finalizada con errores +$LITACCION_SINRESULTADO='Sin resultado final'; //Literal Sin resultado + +$LITACCION_DETENIDA='Parada'; // Literal acción momentanemente parada +$LITACCION_INICIADA='Activa'; // Literal acción activa +$LITACCION_FINALIZADA='Finalizada'; // Literal acción finalizada +$LITACCION_PROGRAMADA="Programada"; // Literal acción programada + +$TbMsg=array(); + $TbMsg[0]='Cola de acciones'; + $TbMsg[1]='Opciones de búsqueda'; + $TbMsg[2]='Acciones'; + $TbMsg[3]='Resultados'; + $TbMsg[4]='Estados'; + $TbMsg[5]='Porcentaje desde'; + $TbMsg[6]='hasta '; + $TbMsg[7]='Fecha inicio'; + $TbMsg[8]='Fecha final'; + $TbMsg[9]='Hora inicio'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='Ámbito'; + $TbMsg[12]='Eliminar'; + $TbMsg[13]='Reiniciar'; + $TbMsg[14]='Detener'; + $TbMsg[15]='Reanudar'; + $TbMsg[16]='Cancelar'; + $TbMsg[17]='Finalizar'; + + $TbMsg[18]='Acción'; + $TbMsg[19]='Fecha final'; + $TbMsg[20]='Hora final'; + $TbMsg[21]='Fecha inicio'; + $TbMsg[22]='Hora inicio'; + $TbMsg[23]='Ámbito'; + + $TbMsg[24]='Centros'; + $TbMsg[25]='Grupo de aulas'; + $TbMsg[26]='Aulas'; + $TbMsg[27]='Grupo de ordenadores'; + $TbMsg[28]='Ordenadores'; + + $TbMsg[30]='Comandos'; + $TbMsg[31]='Procedimientos'; + $TbMsg[32]='Tareas'; + + $TbMsg[41]='"Filtro Acción"'; + $TbMsg[42]='"Filtro ámbito"'; + $TbMsg[43]='"Eliminar filtro"'; + $TbMsg[44]='"Modificar Acción"'; + $TbMsg[45]='"Reiniciar"'; + $TbMsg[46]='"Eliminar"'; + $TbMsg[47]='Opciones de visualización'; + $TbMsg[48]='Ver parámetros'; + $TbMsg[49]='Ver subprocesos'; + $TbMsg[50]='Ver Notificaciones'; + $TbMsg[51]='***Filtro de Acción activado***'; + $TbMsg[52]=''; + $TbMsg[53]=''; + $TbMsg[54]=''; + $TbMsg[55]='Finalizar sin errores'; + $TbMsg[56]='Finalizar con errores'; + $TbMsg[57]='Información'; + $TbMsg[58]='Resultado final:'; + $TbMsg[59]='Ámbito:'; + $TbMsg[60]='Todos'; + $TbMsg[61]='Todas'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/colasreservas_esp.php b/admin/WebConsole/idiomas/php/esp/colasreservas_esp.php new file mode 100644 index 00000000..20ac2065 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/colasreservas_esp.php @@ -0,0 +1,53 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasreservas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + +// Literales de los tipo de reservas +$LITRESERVA_PENDIENTE="Pendientes"; +$LITRESERVA_CONFIRMADA="Confirmadas"; +$LITRESERVA_DENEGADA="Denegadas"; + +$RESERVA_PARADA=1; // reserva momentanemente parada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspendida'; // Literal reserva momentanemente parada +$LITRESERVA_ACTIVA='Activa'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Reservas de aulas'; + $TbMsg[1]='Opciones de búsqueda'; + $TbMsg[2]='Tipo'; + $TbMsg[3]=''; + $TbMsg[4]='Estados'; + $TbMsg[5]='Porcentaje desde'; + $TbMsg[6]='Porcentaje hasta '; + $TbMsg[7]='Fecha inicio'; + $TbMsg[8]='Fecha final'; + $TbMsg[9]='Hora inicio'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='Ámbito'; + + $TbMsg[12]='Centros'; + $TbMsg[13]='Grupo de aulas'; + $TbMsg[14]='Aulas'; + + $TbMsg[15]='Año'; + $TbMsg[16]='Mes'; + $TbMsg[17]='Día'; + $TbMsg[18]='Aula'; + $TbMsg[19]='Ocupación'; + $TbMsg[20]='Imagen asociada'; + $TbMsg[21]='Descripción'; + + $TbMsg[22]='Programación reservas'; + $TbMsg[23]='(Sin especificar)'; + $TbMsg[24]='Aula'; + $TbMsg[25]='Solicitante'; + $TbMsg[26]="Anticipación previa"; + $TbMsg[27]="(Sin acción previa)"; + $TbMsg[28]="Tarea previa"; + $TbMsg[29]="Trabajo previo"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/apagar_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/apagar_esp.php new file mode 100644 index 00000000..bfdd6783 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/apagar_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: apagar_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Apagar ordenadores'; + $TbMsg[6]='Ámbito'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/arrancar_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/arrancar_esp.php new file mode 100644 index 00000000..2cdbb0d6 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/arrancar_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: arrancar_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Arrancar ordenadores'; + $TbMsg[6]='Ámbito'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/comando_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/comando_esp.php new file mode 100644 index 00000000..a56c1fbd --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/comando_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: comando_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Apagar ordenadores'; + $TbMsg[6]='Ámbito'; + +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/configurar_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/configurar_esp.php new file mode 100644 index 00000000..aa943a31 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/configurar_esp.php @@ -0,0 +1,47 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: configurar_esp.php (Comandos) +// Idioma: Espa�l +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Particionar y Formatear'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Partición oculta'; + $TbMsg[8]='Par'; + $TbMsg[9]=''; + $TbMsg[10]=''; + $TbMsg[11]=''; + $TbMsg[12]='Operación'; + $TbMsg[13]='Sin acción'; + $TbMsg[14]='Formatear'; + $TbMsg[15]='Ocultar'; + $TbMsg[16]='Mostrar'; + $TbMsg[17]=' Espacio libre !!'; + + $TbMsg[18]="DESAGRUPAR SEGÚN VALORES DISTINTOS DE:"; + $TbMsg[19]="Datos a suministrar"; + + // Cabeceras de tabla de configuración + $TbMsg[20]='Partición'; + $TbMsg[21]='S.O. Instalado'; + $TbMsg[22]='Tamaño'; + $TbMsg[23]='Datos de configuration'; + $TbMsg[24]='Tipo'; + $TbMsg[25]='Imagen'; + $TbMsg[26]='Perfil Software'; + $TbMsg[27]='S.F.'; + $TbMsg[28]='Ninguno'; + $TbMsg[29]='Desconocido'; + // Desagrupamiento + $TbMsg[30]='Sistema de Ficheros'; + $TbMsg[31]='Nombre del S.O.'; + $TbMsg[32]='Tamaño de partición'; + $TbMsg[33]='Nombre de la Imagen '; + $TbMsg[34]='Perfil software'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/conmutar_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/conmutar_esp.php new file mode 100644 index 00000000..c34c5804 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/conmutar_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: conmutar_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Conmutar ordenadores'; + $TbMsg[6]='Ámbito'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/crearimagen_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/crearimagen_esp.php new file mode 100644 index 00000000..01801683 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/crearimagen_esp.php @@ -0,0 +1,24 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: crearperfilsoftware_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Creación de Imagen'; + $TbMsg[1]='Características del ordenador'; + $TbMsg[2]='Nombre'; + $TbMsg[3]='Dirección IP'; + $TbMsg[4]='Dirección MAC'; + $TbMsg[5]='Perfil Hardware'; + $TbMsg[6]='Datos a suministrar'; + $TbMsg[7]='Se necesita capturar Perfil Software'; + $TbMsg[8]='Par'; + $TbMsg[9]='Nombre S.O.'; + $TbMsg[10]='Imagen a crear '; + $TbMsg[11]='Repositorio de destino'; + $TbMsg[12]='Desconocido'; + $TbMsg[13]='Tipo'; + $TbMsg[14]='Ámbito'; + $TbMsg[15]='Ordenadores'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/crearperfilsoftware_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/crearperfilsoftware_esp.php new file mode 100644 index 00000000..c7e63493 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/crearperfilsoftware_esp.php @@ -0,0 +1,20 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: crearperfilsoftware_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Creación de Imagen'; + $TbMsg[1]='Características del ordenador'; + $TbMsg[2]='Nombre'; + $TbMsg[3]='Dirección IP'; + $TbMsg[4]='Dirección MAC'; + $TbMsg[5]='Perfil Hardware'; + $TbMsg[6]='Datos a suministrar'; + $TbMsg[7]=''; + $TbMsg[8]='Par'; + $TbMsg[9]='Nombre S.O.'; + $TbMsg[10]='Descripción de la Imagen '; + $TbMsg[11]='Repositorio de destino'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/crearsoftincremental_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/crearsoftincremental_esp.php new file mode 100644 index 00000000..0eb03d9b --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/crearsoftincremental_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: crearsoftincremental_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Generación de software Incremental' ; + $TbMsg[1]='Características del ordenador'; + $TbMsg[2]='Nombre'; + $TbMsg[3]='Dirección IP'; + $TbMsg[4]='Dirección MAC'; + $TbMsg[5]='Perfil Hardware'; + $TbMsg[6]='Datos a suministrar'; + $TbMsg[7]=''; + $TbMsg[8]='Par'; + $TbMsg[9]='Nombre Perfil'; + $TbMsg[10]='Software incremental disponible'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/ejecutarscripts_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/ejecutarscripts_esp.php new file mode 100644 index 00000000..1bf0730e --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/ejecutarscripts_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: ejecutarscripts_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Ejecutar script'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Título'; + $TbMsg[8]='Description'; + $TbMsg[9]='Código del script'; + $TbMsg[10]='Fichero de código'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/gestor_ejecutarscripts_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/gestor_ejecutarscripts_esp.php new file mode 100644 index 00000000..ca0d1042 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/gestor_ejecutarscripts_esp.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: gestor_ejecutarscripts_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[1]='"ATENCIÓN: El Comando Ejecutar Scripts has sido registrado correctamente"'; + $TbMsg[2]='"ATENCIÓN: Hay algún problema para ejecutar el script"'; + $TbMsg[3]='"ATENCIÓN: El fichero no tiene la extensión .rbc"'; + $TbMsg[4]='"ATENCIÓN: El fichero no contiene código Rembo-C para ejecutar"'; + $TbMsg[5]='"ATENCIÓN: Hay algún problema para salvar el fichero de script"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/iniciarsesion_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/iniciarsesion_esp.php new file mode 100644 index 00000000..45f2f152 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/iniciarsesion_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: crearperfilsoftware_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Iniciar Sesión'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Datos a suministrar'; + $TbMsg[8]='Par'; + $TbMsg[9]='Nombre S.O.'; + $TbMsg[10]='Nombre de la Imagen '; +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/inventariohardware_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/inventariohardware_esp.php new file mode 100644 index 00000000..8736e3d9 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/inventariohardware_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: inventariohardware__esp.php (Comandos) +// Idioma: Espa�l +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Inventario Hardware'; + $TbMsg[6]='Ámbito'; + +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/inventariosoftware_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/inventariosoftware_esp.php new file mode 100644 index 00000000..6bd5a009 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/inventariosoftware_esp.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: inventariosoftware__esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Inventario Software'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Datos a suministrar'; + $TbMsg[8]='Par'; + $TbMsg[9]='Nombre S.O.'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/particionaryformatear_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/particionaryformatear_esp.php new file mode 100644 index 00000000..e309dce1 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/particionaryformatear_esp.php @@ -0,0 +1,26 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: particionaryformatear_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Particionar y Formatear'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]=''; + $TbMsg[8]='Par'; + $TbMsg[9]='Tipo'; + $TbMsg[10]='Nombre S.O.'; + $TbMsg[11]='Tamaño'; + $TbMsg[12]='Operación'; + $TbMsg[13]='Sin action'; + $TbMsg[14]='Formatear'; + $TbMsg[15]='Ocultar'; + $TbMsg[16]='Mostrar'; + $TbMsg[17]='¡¡ Espacio libre !!'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/reiniciar_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/reiniciar_esp.php new file mode 100644 index 00000000..1dd0a887 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/reiniciar_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: reiniciar_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Reiniciar ordenadores'; + $TbMsg[6]='Ámbito'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/rembooffline_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/rembooffline_esp.php new file mode 100644 index 00000000..fd048c06 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/rembooffline_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: rembooffline_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Activar Rembo OffLine'; + $TbMsg[6]='Ámbito'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/comandos/restaurarimagen_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/restaurarimagen_esp.php new file mode 100644 index 00000000..1bb81e5f --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/restaurarimagen_esp.php @@ -0,0 +1,45 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: restaurarimagen_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Restaurar Imagen'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Datos a suministrar'; + $TbMsg[8]='Par'; + $TbMsg[9]='Método'; + $TbMsg[10]='Imagen (Mismo sistema)'; + $TbMsg[11]='Imagen (Distinto sistema)'; + $TbMsg[12]='Desconocido'; + $TbMsg[13]=''; + $TbMsg[14]='Ámbito'; + $TbMsg[15]='Ordenadores'; + $TbMsg[16]=''; + $TbMsg[17]=''; + $TbMsg[18]="DESAGRUPAR SEGÚN VALORES DISTINTOS DE:"; + $TbMsg[19]="Datos a suministrar"; + // Cabeceras de tabla de configuración + $TbMsg[20]='Partición'; + $TbMsg[21]='S.O. Instalado'; + $TbMsg[22]='Tamaño'; + $TbMsg[23]='Datos de configuration'; + $TbMsg[24]='Tipo'; + $TbMsg[25]='Imagen'; + $TbMsg[26]='Perfil Software'; + $TbMsg[27]='S.F.'; + $TbMsg[28]='Ninguno'; + $TbMsg[29]='Desconocido'; + // Desagrupamiento + $TbMsg[30]='Sistema de Ficheros'; + $TbMsg[31]='Nombre del S.O.'; + $TbMsg[32]='Tamaño de partición'; + $TbMsg[33]='Nombre de la Imagen '; + $TbMsg[34]='Perfil software'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/comandos/tomaconfiguracion_esp.php b/admin/WebConsole/idiomas/php/esp/comandos/tomaconfiguracion_esp.php new file mode 100644 index 00000000..7bc1e25e --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/comandos/tomaconfiguracion_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: tomaconfiguracion_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Tomar configuración'; + $TbMsg[6]='Ámbito'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php new file mode 100644 index 00000000..a3adb914 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php @@ -0,0 +1,48 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: configuraciones_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]='Configuraciones'; +$TbMsg[1]='Ámbito'; +$TbMsg[2]="Aulas"; +$TbMsg[3]="Grupo de Ordenadores"; +$TbMsg[4]="Ordenadores"; + +$TbMsg[5]="Nombre"; +$TbMsg[6]="Ubicación"; +$TbMsg[7]="Canón"; +$TbMsg[8]="Pizarra"; +$TbMsg[9]="Puestos"; +$TbMsg[10]="Url Imagen"; +$TbMsg[11]="Menu"; +$TbMsg[12]="Comentarios"; +$TbMsg[13]="Ordenadores"; + +$TbMsg[14]="Nombre"; +$TbMsg[15]="Dirección IP"; +$TbMsg[16]="Dirección Mac"; +$TbMsg[17]="Perfil Hardware"; + +$TbMsg[18]="DESAGRUPAR SEGÚN VALORES DISTINTOS DE:"; +$TbMsg[19]="Datos a suministrar"; + +$TbMsg[20]='Partición'; +$TbMsg[21]='S.O. Instalado'; +$TbMsg[22]='Tamaño'; +$TbMsg[23]='Datos de configuration'; +$TbMsg[24]='Tipo'; +$TbMsg[25]='Imagen'; +$TbMsg[26]='Perfil Software'; +$TbMsg[27]='S.F.'; +$TbMsg[28]='Ninguno'; +$TbMsg[29]='Desconocido'; + +$TbMsg[30]='Sistema de Ficheros'; +$TbMsg[31]='Nombre del S.O.'; +$TbMsg[32]='Tamaño de partición'; +$TbMsg[33]='Nombre de la Imagen '; +$TbMsg[34]='Perfil software'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/conmutar_esp.php b/admin/WebConsole/idiomas/php/esp/conmutar_esp.php new file mode 100644 index 00000000..c913ddfb --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/conmutar_esp.php @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: conmutar_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Este ámbito ha conmutado correctamente'; + $TbMsg[1]='ATENCIÓN: Ha habido algún problema al conmutar el ámbito'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/consolaremota_esp.php b/admin/WebConsole/idiomas/php/esp/consolaremota_esp.php new file mode 100644 index 00000000..0210a511 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/consolaremota_esp.php @@ -0,0 +1,24 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: incorporaordenadores_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Apagar ordenadores'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Consola remota'; + $TbMsg[8]='Atención para ejecutar un comando teclee su sintaxis en la caja de texto de comandos y pulse enter'; + $TbMsg[9]='Se ha enviado una petición de consola remota a este ámbito, puede empezar a escribir comandos en la ventana para recibir el eco en la ventana de salida'; + $TbMsg[10]='ATENCIÓN: Ha habido algún problema al enviar una petición de consola remota a este ámbito'; + $TbMsg[11]='Código del script'; + $TbMsg[12]='Eco remoto'; + $TbMsg[13]='ATENCIÓN.- Ha elegido un ámbito de aplicación para la consola remota distinto al de "ordenador". <BR>Para visulizar el eco de cualquier cliente pulse sobre él con el botón secundario y elija "Eco de consola"; <BR>Se abrirá una ventana que se referescará automáticamente donde podrá hacer un seguiento del comando/script introducido'; + $TbMsg[14]='...Espere por favor, se está enviando el código del script'; + $TbMsg[15]='...El código del script se ha enviado, para ver la salida de cualquier ordenador elija "Eco de Consola"'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/ecoremoto_esp.php b/admin/WebConsole/idiomas/php/esp/ecoremoto_esp.php new file mode 100644 index 00000000..669c225c --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/ecoremoto_esp.php @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: incorporaordenadores_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenador'; + $TbMsg[5]=''; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Eco de consola remota'; + $TbMsg[8]=''; + $TbMsg[9]='Se ha enviado una petición de eco consola remota a este ámbito, espere unos segundos para empezar a recibir información de esta consola...'; + $TbMsg[10]='ATENCIÓN: Ha habido algún problema al enviar una petición de eco consola remota a este ámbito'; + $TbMsg[11]='... espere por favor.'; + +?> diff --git a/admin/WebConsole/idiomas/php/esp/ejecutaracciones_esp.php b/admin/WebConsole/idiomas/php/esp/ejecutaracciones_esp.php new file mode 100644 index 00000000..54109068 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/ejecutaracciones_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: acciones_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Centros'; + $TbMsg[1]='Grupo de aulas'; + $TbMsg[2]='Aulas'; + $TbMsg[3]='Grupo de ordenadores'; + $TbMsg[4]='Ordenadores'; + $TbMsg[5]='Ejecución de procedimientos'; + $TbMsg[6]='Ámbito'; + $TbMsg[7]='Procedimientos'; + $TbMsg[8]='Procedimientos'; + $TbMsg[9]='"Ejecutar procedimiento"'; + $TbMsg[10]='"Incluir como autoexec"'; + ?> diff --git a/admin/WebConsole/idiomas/php/esp/hardwares_esp.php b/admin/WebConsole/idiomas/php/esp/hardwares_esp.php new file mode 100644 index 00000000..96b508e2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/hardwares_esp.php @@ -0,0 +1,30 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: hardwares_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Definir nuevo tipo hardware"'; + $TbMsg[1]='"Propiedades"'; + $TbMsg[2]='"Eliminar tipo de hardware"'; + $TbMsg[3]='"Nuevo grupo de componentes"'; + $TbMsg[4]='"Definir nuevo componente"'; + $TbMsg[5]='"Colocar componente"'; + $TbMsg[6]='"Renombrar"'; + $TbMsg[7]='"Eliminar grupo de componentes"'; + $TbMsg[8]='"Mover componente"'; + $TbMsg[9]='"Eliminar componente"'; + $TbMsg[10]='"Nuevo grupo de perfiles"'; + $TbMsg[11]='"Definir nuevo perfil"'; + $TbMsg[12]='"Colocar perfil"'; + $TbMsg[13]='"Eliminar grupo de perfiles"'; + $TbMsg[14]='"Gestión Componentes"'; + $TbMsg[15]='"Información Perfil"'; + $TbMsg[16]='"Mover perfil"'; + $TbMsg[17]='"Eliminar perfil hardware"'; + $TbMsg[18]='"Tipos de hardware"'; + $TbMsg[19]='"Componentes hardwares"'; + $TbMsg[20]='"Perfiles hardwares"'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/imagenes_esp.php b/admin/WebConsole/idiomas/php/esp/imagenes_esp.php new file mode 100644 index 00000000..076060b4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/imagenes_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: imagenes_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nuevo grupo de imágenes"'; + $TbMsg[1]='"Definir nueva imagen"'; + $TbMsg[2]='"Colocar imagen"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grupo de imágenes"'; + $TbMsg[5]='"Imagen información"'; + $TbMsg[6]='"Mover imagen"'; + $TbMsg[7]='"Propiedades"'; + $TbMsg[8]='"Eliminar Imagen"'; + $TbMsg[9]='"Imágenes"'; + $TbMsg[10]='"Gestión incrementales"'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/imagenincremental_esp.php b/admin/WebConsole/idiomas/php/esp/imagenincremental_esp.php new file mode 100644 index 00000000..fac1af2b --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/imagenincremental_esp.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: imagenincremental_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Imágenes'; + $TbMsg[1]='Gestión de software incremental'; + $TbMsg[2]='Imagen'; + $TbMsg[3]='Nombre del software incremental'; + $TbMsg[4]='(*)Para incluir algún software incremental en esta imagen debe hacer click sobre la casilla de verificación correspondiente.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/inclusionacciones_esp.php b/admin/WebConsole/idiomas/php/esp/inclusionacciones_esp.php new file mode 100644 index 00000000..bc875e14 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/inclusionacciones_esp.php @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: inclusionacciones_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + +$TbMsg=array(); +$TbMsg[0]='Inclusión de Procedimientos en Procedimientos'; +$TbMsg[1]='Inclusión de Procedimientos o Tareas en Tareas'; +$TbMsg[2]='Comando / Procedimiento'; +$TbMsg[3]='Procedimiento / Tarea'; +$TbMsg[4]='Orden'; +$TbMsg[5]='(*)Para incluir o excluir algún procedimiento en este procedimiento <BR> debe hacer click sobre la casilla de verificación correspondiente'; +$TbMsg[6]='(*)Para incluir o excluir algún procedimiento o tarea en esta tarea <BR> debe hacer click sobre la casilla de verificación correspondiente'; +$TbMsg[7]='Configuración actual'; +$TbMsg[8]='Procedimientos disponibles'; +$TbMsg[9]='Tareas disponibles'; +$TbMsg[10]='Parámetros'; + +?> diff --git a/admin/WebConsole/idiomas/php/esp/incorporaordenadores_esp.php b/admin/WebConsole/idiomas/php/esp/incorporaordenadores_esp.php new file mode 100644 index 00000000..493e3a49 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/incorporaordenadores_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: incorporaordenadores_esp.php (Comandos) +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Incorporación de Ordenadores'; + $TbMsg[1]='Aula'; + $TbMsg[2]='Contenido'; + $TbMsg[3]='Los ordenadores se han incorporado correctamente'; + $TbMsg[4]='ATENCIÓN: Ha ocurrido alǵun problema en el proceso de incorporación de ordenadores'; + $TbMsg[5]='ATENCIÓN: Se han intentado incorporar ordenadores que ya existen'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/incrementalcomponente_soft_esp.php b/admin/WebConsole/idiomas/php/esp/incrementalcomponente_soft_esp.php new file mode 100644 index 00000000..aa43f008 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/incrementalcomponente_soft_esp.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: incrementalcomponente_soft_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Softwares Incrementales'; + $TbMsg[1]='Gestión de componentes software'; + $TbMsg[2]='Software incremental'; + $TbMsg[3]='Nombre del componente'; + $TbMsg[4]='(*)Para incluir algún componente en este software incremental debe hacer click sobre la casilla de verificación correspondiente.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/informacion_acciones_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_acciones_esp.php new file mode 100644 index 00000000..22a34e9e --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_acciones_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_perfileshard_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Acciones'; + $TbMsg[1]='Procedimientos'; + $TbMsg[2]='Information sobre Procedimientos'; + $TbMsg[3]='Tareas'; + $TbMsg[4]='Information sobre Tareas'; + $TbMsg[5]='Información'; + $TbMsg[6]='Sin parámetros'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/informacion_imagenes_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_imagenes_esp.php new file mode 100644 index 00000000..365420b8 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_imagenes_esp.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_imagenes_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Imágenes'; + $TbMsg[1]='Information sobre imagenes'; + $TbMsg[2]='Imagen'; + $TbMsg[3]='Información de la Imagen'; + $TbMsg[4]='Componentes software'; + $TbMsg[5]='Software incremental'; + $TbMsg[6]='Perfil Software'; + $TbMsg[7]='Ordenadores con esta imagen'; + $TbMsg[8]='Partición'; + $TbMsg[9]='Comentarios'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/informacion_incrementales_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_incrementales_esp.php new file mode 100644 index 00000000..ba0f7883 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_incrementales_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_incrementales_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Software Incremental'; + $TbMsg[1]='Información sobre software incremental'; + $TbMsg[2]='Software Incremental'; + $TbMsg[3]='Información software incremental'; + $TbMsg[4]='Componentes software'; + $TbMsg[5]='Perfiles Combinables'; + $TbMsg[6]='Perfiles Hardware soportados'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/informacion_menus_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_menus_esp.php new file mode 100644 index 00000000..1e22cf36 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_menus_esp.php @@ -0,0 +1,31 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_menus_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Items del Menu'; + $TbMsg[1]='Información del Menú'; + $TbMsg[2]='Menú'; + $TbMsg[3]='Información Menú'; + $TbMsg[4]='Propiedades de los items'; + $TbMsg[5]='Propiedades'; + $TbMsg[6]='Eliminar Item'; + $TbMsg[7]='Título'; + $TbMsg[8]='Propiedades de los items públicos del Menú'; + $TbMsg[9]='Coordenada x'; + $TbMsg[10]='Coordenada y'; + $TbMsg[11]='Modalidad'; + $TbMsg[12]='Propiedades de los items privados del Menú'; + $TbMsg[13]='Items públicos '; + $TbMsg[14]='Items privados'; + $TbMsg[15]='Orden del item'; + $TbMsg[16]='Nombre de la acción'; + $TbMsg[17]='Url de la Imagen'; + $TbMsg[18]='Menú simple'; + $TbMsg[19]='Menú doble'; + $TbMsg[20]='Código del item'; + $TbMsg[21]='Ordenadores con este menú'; + $TbMsg[22]='Items'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/informacion_perfileshard_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_perfileshard_esp.php new file mode 100644 index 00000000..1af1dd3b --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_perfileshard_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_perfileshard_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfiles hardware'; + $TbMsg[1]='Information sobre Perfiles hardware'; + $TbMsg[2]='Perfil hardware'; + $TbMsg[3]='Información Perfil hardware'; + $TbMsg[4]='Imágenes compatibles'; + $TbMsg[5]='Componentes software'; + $TbMsg[6]='Componentes hardware '; + $TbMsg[7]='Ordenades con este perfil'; + $TbMsg[8]='Comentarios'; + $TbMsg[9]='Partición'; + $TbMsg[10]='Comentarios'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/informacion_perfilessoft_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_perfilessoft_esp.php new file mode 100644 index 00000000..751f2692 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_perfilessoft_esp.php @@ -0,0 +1,17 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_perfilessoft_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfiles software'; + $TbMsg[1]='Información sobre perfiles software'; + $TbMsg[2]='Perfil software'; + $TbMsg[3]='Información perfiles software'; + $TbMsg[4]='Imágenes contenedoras'; + $TbMsg[5]='Componentes hardware'; + $TbMsg[6]='Componentes software'; + $TbMsg[7]='Ordenades con este perfil'; + $TbMsg[8]='Comentarios'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/informacion_procedimientos_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_procedimientos_esp.php new file mode 100644 index 00000000..e3f7e877 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_procedimientos_esp.php @@ -0,0 +1,11 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_procedimientos_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Parámetros de los Comandos del Procedimiento'; + $TbMsg[1]='Parámetro'; + $TbMsg[2]='Valor'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/informacion_repositorio_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_repositorio_esp.php new file mode 100644 index 00000000..cd74df5f --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_repositorio_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_repositorio_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Repositorios'; + $TbMsg[1]='Information sobre Repositorios'; + $TbMsg[2]='Repositorio'; + $TbMsg[3]='Información Repositorio'; + $TbMsg[4]='Comentarios'; + $TbMsg[5]='Imágenes alojadas'; + $TbMsg[6]='Ordenadores asigandos'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/informacion_tareas_esp.php b/admin/WebConsole/idiomas/php/esp/informacion_tareas_esp.php new file mode 100644 index 00000000..b5ac5541 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/informacion_tareas_esp.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: informacion_tareas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Parámetros de los Comandos de la Tarea'; + $TbMsg[1]='Parámetro'; + $TbMsg[2]='Valor'; + $TbMsg[3]='Ámbito'; + $TbMsg[4]='Nombre'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/menus_esp.php b/admin/WebConsole/idiomas/php/esp/menus_esp.php new file mode 100644 index 00000000..a11fc82b --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/menus_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: menus_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nuevo grupo de menús"'; + $TbMsg[1]='"Definir nuevo menú"'; + $TbMsg[2]='"Colocar menu"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grupo de menús"'; + $TbMsg[5]='"Información Menú"'; + $TbMsg[6]='"Mover menú"'; + $TbMsg[7]='"Propiedades"'; + $TbMsg[8]='"Eliminar menú"'; + $TbMsg[9]='"Menús"'; + $TbMsg[10]='"Gestionar Items"'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php new file mode 100644 index 00000000..e8308253 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php @@ -0,0 +1,35 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: msgbrowser.php +// Idioma: Español +//________________________________________________________________________________________________________ + +// Literales de los mensajes del browser del cliente +$TbMsg=array(); + $TbMsg[0]='Indice del mensaje NO identificado'; + $TbMsg[1]='Actualizando, por favor espere...'; + $TbMsg[2]='Creando imagen, por favor espere...'; + $TbMsg[3]='Restaurando imagen, por favor espere...'; + $TbMsg[4]='Modificando tabla de particiones, por favor espere...'; + $TbMsg[5]='Formateando, por favor espere...'; + $TbMsg[6]='Creando Inventario Hardware, por favor espere...'; + $TbMsg[7]='Creando Inventario Software, por favor espere...'; + $TbMsg[8]='Ejecutando script, por favor espere...'; + $TbMsg[9]='El proceso de creación de imagen ha terminado correctamente'; + $TbMsg[10]='ATENCIÓN, ha habido algún error en el proceso de creación de imagen'; + $TbMsg[11]='El proceso de restauración de imagen ha terminado correctamente'; + $TbMsg[12]='ATENCIÓN, ha habido algún error en el proceso de restauración de imagen'; + $TbMsg[13]='El proceso de particionado ha terminado correctamente'; + $TbMsg[14]='ATENCIÓN, ha habido algún error en el proceso de particionado'; + $TbMsg[15]='El proceso de formateado ha terminado correctamente'; + $TbMsg[16]='ATENCIÓN, ha habido algún error en el proceso de formateado'; + $TbMsg[17]='El proceso de Inventario Hardware ha terminado correctamente'; + $TbMsg[18]='ATENCIÓN, ha habido algún error en el proceso de Inventario Hardware'; + $TbMsg[19]='El proceso de Inventario Software ha terminado correctamente'; + $TbMsg[20]='ATENCIÓN, ha habido algún error en el proceso de Inventario Software'; + $TbMsg[21]='El proceso de jecuación del script bash ha terminado correctamente'; + $TbMsg[22]='ATENCIÓN, ha habido algún error en el proceso de ejecución del script bash'; + + +?> diff --git a/admin/WebConsole/idiomas/php/esp/perfilcomponente_hard_esp.php b/admin/WebConsole/idiomas/php/esp/perfilcomponente_hard_esp.php new file mode 100644 index 00000000..128254e0 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/perfilcomponente_hard_esp.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: perfilcomponente_hard_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfiles hardware'; + $TbMsg[1]='Gestión Componentes hardware'; + $TbMsg[2]='Perfil hardware'; + $TbMsg[3]='Nombre del component e'; + $TbMsg[4]='(*)Para incluir algún componente en este perfil debe hacer click sobre la casilla de verificación correspondiente.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/perfilcomponente_soft_esp.php b/admin/WebConsole/idiomas/php/esp/perfilcomponente_soft_esp.php new file mode 100644 index 00000000..0f928378 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/perfilcomponente_soft_esp.php @@ -0,0 +1,13 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: perfilcomponente_soft_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Perfiles software'; + $TbMsg[1]='Gestión de componentes software'; + $TbMsg[2]='Perfil software'; + $TbMsg[3]='Nombre del componente'; + $TbMsg[4]='(*)Para incluir algún componente en este perfil debe hacer click sobre la casilla de verificación correspondiente.'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/procedimientoscomandos_esp.php b/admin/WebConsole/idiomas/php/esp/procedimientoscomandos_esp.php new file mode 100644 index 00000000..ced99b29 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/procedimientoscomandos_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: procedimientoscomandos_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Gestión Comandos del Procedimiento'; + $TbMsg[1]='Comandos incluidos'; + $TbMsg[2]='Procedimiento'; + $TbMsg[3]='Nombre Comando'; + $TbMsg[4]='Ord.'; + $TbMsg[5]='Parámetro'; + $TbMsg[6]='Valor'; + $TbMsg[7]='(*)Para excluir algún comando de este procedimiento debe hacer click sobre la casilla de verificación correspondiente'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/programaciones_esp.php b/admin/WebConsole/idiomas/php/esp/programaciones_esp.php new file mode 100644 index 00000000..71b5f6ec --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/programaciones_esp.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: programaciones_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +// Literales de los tipo de acciones +$LITEJECUCION_COMANDO="Comandos"; +$LITEJECUCION_PROCEDIMIENTO="Procedimientos"; +$LITEJECUCION_TAREA="Tareas"; +$LITEJECUCION_RESERVA="Reservas"; + +$TbMsg=array(); + +$TbMsg[0]="Programaciones"; +$TbMsg[1]="Suspender temporalmente todos los bloques programados"; +$TbMsg[2]="Descripción del bloque"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/programacionesaulas_esp.php b/admin/WebConsole/idiomas/php/esp/programacionesaulas_esp.php new file mode 100644 index 00000000..80513f18 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/programacionesaulas_esp.php @@ -0,0 +1,54 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasreservas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + +// Literales de los tipo de reservas +$LITRESERVA_PENDIENTE="Pendientes"; +$LITRESERVA_CONFIRMADA="Confirmadas"; +$LITRESERVA_DENEGADA="Denegadas"; + +$RESERVA_PARADA=1; // reserva momentanemente parada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspendida'; // Literal reserva momentanemente parada +$LITRESERVA_ACTIVA='Activa'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Reservas de aulas'; + $TbMsg[1]='Opciones de búsqueda'; + $TbMsg[2]='Tipo'; + $TbMsg[3]=''; + $TbMsg[4]='Estados'; + $TbMsg[5]='Porcentaje desde'; + $TbMsg[6]='Porcentaje hasta '; + $TbMsg[7]='Fecha inicio'; + $TbMsg[8]='Fecha final'; + $TbMsg[9]='Hora inicio'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='Ámbito'; + + $TbMsg[12]='Centros'; + $TbMsg[13]='Grupo de aulas'; + $TbMsg[14]='Aulas'; + + $TbMsg[15]='Año'; + $TbMsg[16]='Mes'; + $TbMsg[17]='Día'; + $TbMsg[18]='Aula'; + $TbMsg[19]='Ocupación'; + $TbMsg[20]='Imagen asociada'; + $TbMsg[21]='Descripción'; + + $TbMsg[22]='Programación reservas'; + $TbMsg[23]='(Sin especificar)'; + $TbMsg[24]='Aula'; + $TbMsg[25]='Solicitante'; + $TbMsg[26]="Anticipación previa"; + $TbMsg[27]="(Sin acción previa)"; + $TbMsg[28]="Tarea previa"; + $TbMsg[29]="Trabajo previo"; + $TbMsg[30]='Grupo de reservas'; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/programacionesreservas_esp.php b/admin/WebConsole/idiomas/php/esp/programacionesreservas_esp.php new file mode 100644 index 00000000..0acf21b6 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/programacionesreservas_esp.php @@ -0,0 +1,53 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: colasreservas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + +// Literales de los tipo de reservas +$LITRESERVA_PENDIENTE="Pendientes"; +$LITRESERVA_CONFIRMADA="Confirmadas"; +$LITRESERVA_DENEGADA="Denegadas"; + +$RESERVA_PARADA=1; // reserva momentanemente parada +$RESERVA_ACTIVA=0; // Reserva activa +$LITRESERVA_PARADA='Suspendida'; // Literal reserva momentanemente parada +$LITRESERVA_ACTIVA='Activa'; // Literal reserva activa + +$TbMsg=array(); + $TbMsg[0]='Reservas de aulas'; + $TbMsg[1]='Opciones de búsqueda'; + $TbMsg[2]='Tipo'; + $TbMsg[3]=''; + $TbMsg[4]='Estados'; + $TbMsg[5]='Porcentaje desde'; + $TbMsg[6]='Porcentaje hasta '; + $TbMsg[7]='Fecha inicio'; + $TbMsg[8]='Fecha final'; + $TbMsg[9]='Hora inicio'; + $TbMsg[10]='Hora final'; + $TbMsg[11]='Ámbito'; + + $TbMsg[12]='Reservas'; + $TbMsg[13]='Grupo de reservas'; + + $TbMsg[15]='Año'; + $TbMsg[16]='Mes'; + $TbMsg[17]='Día'; + $TbMsg[18]='Aula'; + $TbMsg[19]='Ocupación'; + $TbMsg[20]='Imagen asociada'; + $TbMsg[21]='Descripción'; + + $TbMsg[22]='Programación reservas'; + $TbMsg[23]='(Sin especificar)'; + $TbMsg[24]='Aula'; + $TbMsg[25]='Solicitante'; + $TbMsg[26]="Anticipación previa"; + $TbMsg[27]="(Sin acción previa)"; + $TbMsg[28]="Tarea previa"; + $TbMsg[29]="Trabajo previo"; + $TbMsg[30]="Datos Reserva"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_aulas_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_aulas_esp.php new file mode 100644 index 00000000..b5340355 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_aulas_esp.php @@ -0,0 +1,34 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_aulas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Aulas"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Ubicación"; +$TbMsg[7]="Canón"; +$TbMsg[8]="Pizarra"; +$TbMsg[9]="Puestos"; +$TbMsg[10]="Url Imagen"; +$TbMsg[11]="Menu"; +$TbMsg[12]="Comentarios"; +$TbMsg[13]="Reservas"; +$TbMsg[14]="Hora desde:"; +$TbMsg[15]="Hora hasta:"; +$TbMsg[16]="Respositorio"; +$TbMsg[17]="Perfil Hardware"; +$TbMsg[18]="Propiedades aplicables a todos los ordenadores"; +$TbMsg[19]="Tamaño cache"; +$TbMsg[20]="Autoexec"; +$TbMsg[21]=""; +$TbMsg[22]="Modo Multicast"; +$TbMsg[23]="IP Multicast"; +$TbMsg[24]="Puerto"; +$TbMsg[25]="Velocidad"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_centros_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_centros_esp.php new file mode 100644 index 00000000..65d3092c --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_centros_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión de Unidades Organizativas"; +$TbMsg[5]="Nombre de la unidad"; +$TbMsg[6]="Comentarios"; +?> +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_componentehardwares_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_componentehardwares_esp.php new file mode 100644 index 00000000..2badfbd2 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_componentehardwares_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_componentehardwares_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Componentes Hardware"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Tipo de hardware"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_componentesoftwares_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_componentesoftwares_esp.php new file mode 100644 index 00000000..4a5ad618 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_componentesoftwares_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_componentesoftwares_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Componentes Software"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Tipo de Software"; +$TbMsg[7]="Tipo de S.O."; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_entidades_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_entidades_esp.php new file mode 100644 index 00000000..6b44d216 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_entidades_esp.php @@ -0,0 +1,16 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Entidades"; +$TbMsg[5]="Nombre de la Entidad"; +$TbMsg[6]="Comentarios"; +?> +
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_entornos_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_entornos_esp.php new file mode 100644 index 00000000..dd7bbb53 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_entornos_esp.php @@ -0,0 +1,24 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_aulas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión de Variables de Entorno"; +$TbMsg[5]="IP Servidor de administración"; +$TbMsg[6]="Puerto Servidor de administración"; +$TbMsg[7]="Método de clonación preferido"; +$TbMsg[8]=""; +$TbMsg[9]=""; +$TbMsg[10]=""; +$TbMsg[11]=""; +$TbMsg[12]=""; +$TbMsg[13]=""; +$TbMsg[14]=""; +$TbMsg[15]=""; +?> diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_grupos_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_grupos_esp.php new file mode 100644 index 00000000..c2bf7247 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_grupos_esp.php @@ -0,0 +1,31 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_tareas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Grupos"; +$TbMsg[5]="Nombre Grupo"; +$TbMsg[6]="Comentarios"; +$TbMsg[7]="Grupos de Aulas"; +$TbMsg[8]="Grupos de Procedimientos"; +$TbMsg[9]="Grupos de Tareas"; +$TbMsg[10]="Grupos de Trabajos"; +$TbMsg[11]="Grupos de Imágenes"; +$TbMsg[12]="Grupos de Componentes Hardware"; +$TbMsg[13]="Grupos de Componentes Software"; +$TbMsg[14]="Grupos de Perfiles Hardware"; +$TbMsg[15]="Grupos de Perfiles Software"; +$TbMsg[16]="Grupos de Software Incremental"; +$TbMsg[17]="Grupos de Servidores OpenGnsys"; +$TbMsg[18]="Grupos de Servidores Dhcp"; +$TbMsg[19]="Grupos de Menús"; +$TbMsg[20]="Grupos de Reservas"; +$TbMsg[21]="Grupos de Entidades"; +$TbMsg[22]="Grupos de Ordenadores"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_imagenes_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_imagenes_esp.php new file mode 100644 index 00000000..965ef98a --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_imagenes_esp.php @@ -0,0 +1,20 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_imagenes_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Imágenes"; +$TbMsg[5]="Nombre Imagen"; +$TbMsg[6]="Perfil Software"; +$TbMsg[7]="Comentarios"; +$TbMsg[8]="Partición"; +$TbMsg[9]="Tipo partición"; +$TbMsg[10]="Repositorio"; +$TbMsg[11]="Nombre canónico"; +?> diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_menus_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_menus_esp.php new file mode 100644 index 00000000..d1d1a5b9 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_menus_esp.php @@ -0,0 +1,27 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_menus_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Menus"; +$TbMsg[5]="Nombre del Menú"; +$TbMsg[6]="Título"; +$TbMsg[7]="Comentarios"; +$TbMsg[8]="Items públicos del Menu"; +$TbMsg[9]="Coordenada x"; +$TbMsg[10]="Coordenada y"; +$TbMsg[11]="Modalidad"; +$TbMsg[12]="Items privados del Menu"; +$TbMsg[13]="Menú simple"; +$TbMsg[14]="Menú doble"; +$TbMsg[15]="Url menú público"; +$TbMsg[16]="Url menú privado"; +$TbMsg[17]="Resolución de pantalla"; +$TbMsg[18]="Imagen de fondo"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php new file mode 100644 index 00000000..fe29a434 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadores_esp.php @@ -0,0 +1,21 @@ +<? +//_____________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_esp.php +// Idioma: Español +//______________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Ordenadores"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Dirección IP"; +$TbMsg[7]="Dirección MAC"; +$TbMsg[8]="Perfil Hardware"; +$TbMsg[9]="Autoexec"; +$TbMsg[10]="Repositorio"; +$TbMsg[11]="Menu"; +$TbMsg[12]="Tamaño Caché"; +?> diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_ordenadorestandar_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadorestandar_esp.php new file mode 100644 index 00000000..e4ab657c --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_ordenadorestandar_esp.php @@ -0,0 +1,21 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadorestandar_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Aula"; +$TbMsg[1]="Ordenador plantilla"; +$TbMsg[2]="Nombre"; +$TbMsg[3]="Dirección IP"; +$TbMsg[4]="Dirección MAC"; +$TbMsg[5]="Perfil hardware"; +$TbMsg[6]="Servidor Dhcp"; +$TbMsg[7]="Servidor OpenGnsys "; +$TbMsg[8]="Ordenadores a insertar"; +$TbMsg[9]='(*) Para modificar un ordenador con cierto dato, in este aula, debe introducir el valor correspondiente y dejar el campo "Ordenadores a insertar" a cero.'; +$TbMsg[10]="(**)Si se trata de ordenadores nuevos con una configuración por defecto, pero no quiere modificar los ordenadores ya existentes debe introducir un valor mayor que cero."; +$TbMsg[11]="Tamaño Caché"; + +?> diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_perfilhardwares_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_perfilhardwares_esp.php new file mode 100644 index 00000000..d44cfcd1 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_perfilhardwares_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_perfilhardwares_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Perfiles Hardware"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Comentarios"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_perfilsoftwares_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_perfilsoftwares_esp.php new file mode 100644 index 00000000..fef71b61 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_perfilsoftwares_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_perfilsoftwares_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión de Perfiles software"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Comentarios"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_procedimientos_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_procedimientos_esp.php new file mode 100644 index 00000000..9c5caf45 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_procedimientos_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_procedimientos_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Procedimientos"; +$TbMsg[5]="Nombre Procedimiento"; +$TbMsg[6]="Comentarios"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_repositorios_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_repositorios_esp.php new file mode 100644 index 00000000..7c3223c4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_repositorios_esp.php @@ -0,0 +1,19 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_servidoresrembo_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Repositorios"; +$TbMsg[5]="Nombre del Repositorio"; +$TbMsg[6]="Dirección IP"; +$TbMsg[7]="Comentarios"; +$TbMsg[8]="Puerto"; +$TbMsg[9]="Directorio Base"; +$TbMsg[10]="Directorio PXE"; +?> diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_reservas_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_reservas_esp.php new file mode 100644 index 00000000..6115645b --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_reservas_esp.php @@ -0,0 +1,30 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_reservas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Reservas"; +$TbMsg[5]="Descripción"; +$TbMsg[6]="Nombre solicitante"; +$TbMsg[7]="Comentarios"; +$TbMsg[8]="E-mail"; +$TbMsg[9]="Estatus universitario"; +$TbMsg[10]="Aula"; +$TbMsg[11]="Imagen asociada"; +$TbMsg[12]="Anticipación previa"; +$TbMsg[13]="Confirmada"; +$TbMsg[14]="Pendiente"; +$TbMsg[15]="Denegada"; +$TbMsg[16]="Estado de la reserva"; +$TbMsg[17]="(En blanco o 0 minutos indica sin anticipación)"; +$TbMsg[18]="(Sin acción anticipada)"; +$TbMsg[19]="Tarea previa"; +$TbMsg[20]="Trabajo previo"; + +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_tareas_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_tareas_esp.php new file mode 100644 index 00000000..4b7bce74 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_tareas_esp.php @@ -0,0 +1,23 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_tareas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Tareas"; +$TbMsg[5]="Nombre Tarea"; +$TbMsg[6]="Comentarios"; +$TbMsg[7]="Tipo ámbito"; +$TbMsg[8]="Ámbito de aplicación"; +$TbMsg[9]=""; +$TbMsg[10]="Centros"; +$TbMsg[11]="Grupos de Aulas"; +$TbMsg[12]="Aulas"; +$TbMsg[13]="Grupos de Ordenadores"; +$TbMsg[14]="Ordenadores"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_tipohardwares_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_tipohardwares_esp.php new file mode 100644 index 00000000..4fe6dff7 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_tipohardwares_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_tipohardwares_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Tipos de Hardware"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="icono"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_universidades_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_universidades_esp.php new file mode 100644 index 00000000..16ae50c6 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_universidades_esp.php @@ -0,0 +1,15 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_aulas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Universidades"; +$TbMsg[5]="Nombre"; +$TbMsg[6]="Comentarios"; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_usuarios_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_usuarios_esp.php new file mode 100644 index 00000000..fd06af09 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/propiedades_usuarios_esp.php @@ -0,0 +1,22 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: propiedades_ordenadores_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ +$TbMsg=array(); +$TbMsg[0]="Sin Opción"; +$TbMsg[1]="Insertar"; +$TbMsg[2]="Modificar"; +$TbMsg[3]="Eliminar"; +$TbMsg[4]="Gestión Usuarios"; +$TbMsg[5]="Usuario"; +$TbMsg[6]="Password"; +$TbMsg[7]="Nombre completo"; +$TbMsg[8]="E-mail"; +$TbMsg[9]="Unidad organizativa"; +$TbMsg[10]="Idioma "; +$TbMsg[11]="SuperAdministrador "; +$TbMsg[12]="Administrador"; +$TbMsg[13]="Operador"; +?> diff --git a/admin/WebConsole/idiomas/php/esp/purgar_esp.php b/admin/WebConsole/idiomas/php/esp/purgar_esp.php new file mode 100644 index 00000000..82de0465 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/purgar_esp.php @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: actualizar_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Este ámbito se ha purgado correctamente'; + $TbMsg[1]='ATENCIÓN: Ha habido algún problema al purgar el ámbito'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/repositorios_esp.php b/admin/WebConsole/idiomas/php/esp/repositorios_esp.php new file mode 100644 index 00000000..481b0c03 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/repositorios_esp.php @@ -0,0 +1,24 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: repositorios_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nuevo grupo de Repositorios"'; + $TbMsg[1]='"Añadir Repositorio "'; + $TbMsg[2]='"Colocar Repositorio"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grupo de repositorios"'; + $TbMsg[5]='"Información Repositorio"'; + $TbMsg[6]='"Mover Repositorio"'; + $TbMsg[7]='"Propiedades"'; + $TbMsg[8]='"Eliminar Repositorio"'; + $TbMsg[9]='"Nuevo grupo de Repositorios"'; + $TbMsg[10]=''; + $TbMsg[11]=''; + $TbMsg[12]='"Repositorios"'; + $TbMsg[13]='""'; + $TbMsg[14]='"Repositorios"'; + $TbMsg[15]='"Iconos"'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/reservas_esp.php b/admin/WebConsole/idiomas/php/esp/reservas_esp.php new file mode 100644 index 00000000..50a48f24 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/reservas_esp.php @@ -0,0 +1,20 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: reservas_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='"Nuevo grupo de reservas"'; + $TbMsg[1]='"Definir nueva reserva"'; + $TbMsg[2]='"Colocar reserva"'; + $TbMsg[3]='"Renombrar"'; + $TbMsg[4]='"Eliminar grupo de reservas"'; + $TbMsg[5]='"Información Reserva"'; + $TbMsg[6]='"Mover reserva"'; + $TbMsg[7]='"Propiedades"'; + $TbMsg[8]='"Eliminar Reserva"'; + $TbMsg[9]='"Reservas"'; + $TbMsg[10]='"Programaciones"'; + +?> diff --git a/admin/WebConsole/idiomas/php/esp/softwares_esp.php b/admin/WebConsole/idiomas/php/esp/softwares_esp.php new file mode 100644 index 00000000..9b763d0c --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/softwares_esp.php @@ -0,0 +1,37 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: softwares_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='""'; + $TbMsg[1]='"Propiedades"'; + $TbMsg[2]='""'; + $TbMsg[3]='"Nuevo grupo de componentes"'; + $TbMsg[4]='"Definir nuevo componente"'; + $TbMsg[5]='"Colocar componente"'; + $TbMsg[6]='"Renombrar"'; + $TbMsg[7]='"Eliminar grupo de componentes"'; + $TbMsg[8]='"Mover componente"'; + $TbMsg[9]='"Eliminar componente"'; + $TbMsg[10]='"Nuevo grupo de perfiles"'; + $TbMsg[11]='"Definir nuevo perfil"'; + $TbMsg[12]='"Colocar perfil"'; + $TbMsg[13]='"Eliminar grupo de perfiles"'; + $TbMsg[14]='"Gestión componentes"'; + $TbMsg[15]='"Información Perfil"'; + $TbMsg[16]='"Mover perfil"'; + $TbMsg[17]='"Eliminar perfil software"'; + $TbMsg[18]='"Tipos de software"'; + $TbMsg[19]='"Componentes software"'; + $TbMsg[20]='"Perfiles software"'; + $TbMsg[21]='"Software Incremental"'; + $TbMsg[22]='"Nuevo grupo de incrementales"'; + $TbMsg[23]='"Definir nuevo incremental"'; + $TbMsg[24]='"Colocar incremental"'; + $TbMsg[25]='"Eliminar grupo de incrementales"'; + $TbMsg[26]='"Información Incremental"'; + $TbMsg[27]='"Mover incremental"'; + $TbMsg[28]='"Eliminar incremental"'; +?>
\ No newline at end of file diff --git a/admin/WebConsole/idiomas/php/esp/sondeo_esp.php b/admin/WebConsole/idiomas/php/esp/sondeo_esp.php new file mode 100644 index 00000000..4f51d542 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/sondeo_esp.php @@ -0,0 +1,10 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: sondeo_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]=''; + $TbMsg[1]='ATENCIÓN: Ha habido algún problema al consultar el estado de los ordenadore'; +?> diff --git a/admin/WebConsole/idiomas/php/esp/tareascomandos_esp.php b/admin/WebConsole/idiomas/php/esp/tareascomandos_esp.php new file mode 100644 index 00000000..f756b4c4 --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/tareascomandos_esp.php @@ -0,0 +1,18 @@ +<? +//________________________________________________________________________________________________________ +// +// Fichero de idiomas php: tareascomandos_esp.php +// Idioma: Español +//________________________________________________________________________________________________________ + $TbMsg=array(); + $TbMsg[0]='Gestión Comandos de la Tarea'; + $TbMsg[1]='Comandos incluidos'; + $TbMsg[2]='Tarea'; + $TbMsg[3]='Nombre Comando'; + $TbMsg[4]='Ord.'; + $TbMsg[5]='Parámetro'; + $TbMsg[6]='Valor'; + $TbMsg[7]='(*)Para excluir algún comando de esta tarea debe hacer click sobre la casilla de verificación correspondiente'; + $TbMsg[8]='Ámbito'; + $TbMsg[9]='Nombre'; +?> diff --git a/admin/WebConsole/images/L_Iconos.js b/admin/WebConsole/images/L_Iconos.js new file mode 100644 index 00000000..7762f28d --- /dev/null +++ b/admin/WebConsole/images/L_Iconos.js @@ -0,0 +1,111 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: Jos Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creacin: 2009-2010 +// Fecha ltima modificacin: Noviembre-2005 +// Nombre del fichero: L_Iconos.js +// Descripcin : +// Este fichero implementa las funciones javascript del fichero L_Iconos.php +// ************************************************************************************************************************************************* +// Opciones +var Menu=0 +var Insertar=1 +var Eliminar=2 +var Modificar=3 +var Consultar=4 + +// Acciones +var Sin_accion=0 +var Insertar_registro=1 +var Borrar_registro=2 +var Modificar_registro=3 +var Leer_registro=4 + +var currentImg=null; + +var IE=(navigator.appName=="Microsoft Internet Explorer"); +var NS=(navigator.appName=="Netscape"); +//----------------------------------------------------------------------------------------------------- +function consultar(){ + reset_contextual(-1,-1); + id=document.fdatos.identificador.value + var whref + whref="M_Iconos.php" + whref=whref + "?opcion=" + Consultar + whref=whref + "&accion=" + Leer_registro + whref=whref + "&idicono=" + id + window.open(whref,"frame_contenidos") +} +//----------------------------------------------------------------------------------------------------- +function borrar(){ + reset_contextual(-1,-1); + id=document.fdatos.identificador.value + var whref + whref="M_Iconos.php" + whref=whref + "?opcion=" + Eliminar + whref=whref + "&accion=" + Leer_registro + whref=whref + "&idicono=" + id + window.open(whref,"frame_contenidos") +} +//----------------------------------------------------------------------------------------------------- +function modificar(){ + reset_contextual(-1,-1); + id=document.fdatos.identificador.value + var whref + whref="M_Iconos.php" + whref=whref + "?opcion=" + Modificar + whref=whref + "&accion=" + Leer_registro + whref=whref + "&idicono=" + id + window.open(whref,"frame_contenidos") +} +//_____________________________________________________________________________________ +// +function menu_contextual(o){ + document.fdatos.identificador.value=o.getAttribute("id") + if (currentImg!=null) + currentImg.src="../images/iconos/administrar_off.gif" + o.src="../images/iconos/administrar_on.gif"; + currentImg=o; + var menuctx=document.getElementById("flo_menu"); + muestra_contextual(ClickX,ClickY,menuctx); +} +//____________________________________________________________________________ +// +// Se ejecuta cada vez que se hace click con el puntero del ratn. Se usa para desmarca +// cualquier item de menu contextual que estuviese activo +//____________________________________________________________________________ +function click_de_raton(e){ + if(IE){ + botonraton=event.button + event.returnValue=true; + } + if(NS){ + botonraton=e.which; + e.returnValue=true; + } +} +//____________________________________________________________________________ +// +// Se ejecuta cada vez que se mueve el puntero del ratn. Se usa para capturar coordenadas +//____________________________________________________________________________ +function move_de_raton(e){ + if(IE){ + ClickX=event.clientX + ClickY=event.clientY + event.returnValue=true; + } + if(NS){ + ClickX=e.clientX + ClickY=e.clientY + e.returnValue=true; + } +} +//____________________________________________________________________________ +// +// Redirecciona el evento onmousedown a la funcin de usuario especificada. +//____________________________________________________________________________ +document.onmousedown = click_de_raton; // Redefine el evento onmousedown +document.onmousemove = move_de_raton; // Redefine el evento onmousedown + + + diff --git a/admin/WebConsole/images/L_Iconos.php b/admin/WebConsole/images/L_Iconos.php new file mode 100644 index 00000000..6326faa5 --- /dev/null +++ b/admin/WebConsole/images/L_Iconos.php @@ -0,0 +1,157 @@ +<? +// ******************************************************************************************************************** +// Aplicacin WEB: ogAdmWebCon +// Autor: Jos Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creacin: Agosto-2010 +// Fecha ltima modificacin: Agosto-2010 +// Nombre del fichero: L_Iconos.php +// Descripcin :Este fichero implementa el mantenimiento de la tabla Iconos +// ******************************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLCTESELECT.php"); +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Captura de parmetros +//------------------------------------------------------------------------------------------------------------------------------------------------- + +$idtipoicono=""; + +if (isset($_POST["idtipoicono"])) $idtipoicono=$_POST["idtipoicono"]; +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Conexion a la base de datos +//------------------------------------------------------------------------------------------------------------------------------------------------- +$cmd=CreaComando($cadenaconexion); +if (!$cmd) // Fallo conexin con servidor de datos + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Bsquedas +//------------------------------------------------------------------------------------------------------------------------------------------------- +$cmd->texto="SELECT * FROM iconos WHERE idicono>0"; +if (!empty($idtipoicono)) // Tipo + $cmd->texto.=" AND idtipoicono=".$idtipoicono; +$cmd->texto.=" order by idtipoicono,descripcion "; +$rs=new Recordset; +$rs->Comando=&$cmd; +if (!$rs->Abrir()) + RedireccionaError("Fallo al abrir la tabla: Iconos"); +?> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript"> +var IE=(navigator.appName=="Microsoft Internet Explorer"); +var NS=(navigator.appName=="Netscape"); +</SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> +<SCRIPT language="javascript" src="L_Iconos.js"></SCRIPT> +</HEAD> +<BODY OnContextMenu="return false"> + <P align="center"><SPAN class=textos>____ Opciones de bsqueda ____</SPAN></P> + <FORM name="fdatos" action="L_Iconos.php" method="post"> + <INPUT type=hidden name=identificador value="0"> + <TABLE align=center class=tabla_busquedas> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> Tipo </TD> + <TD ><? + $parametros="0=".chr(13); + $parametros.="1=iconos web".chr(13); + $parametros.="2=iconos items".chr(13); + $parametros.="3=Fondo menu"; + echo '<TD>'.HTMLCTESELECT($parametros, "idtipoicono","estilodesple","",$idtipoicono,100).'</TD>';?> + </TD> + </TR> + </TABLE> + <BR> + +<!---------------------------------------------------------------------------------------------------------------------------------------------------> +<P align=center><A href="#"><img border=0 src="../images/iconos/busquedas.gif" onclick="document.fdatos.submit()" alt="Buscar"></A></P> +</FORM> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> +<P align="center"><SPAN class=textos>Registros encontrados : <? echo $rs->numeroderegistros?></SPAN></P> +<TABLE align="center" class="tabla_listados"> + <TR> + <TH align="center">A</TH> + <TH align="center"> <? echo utf8_encode(Descripcin)?> </TH> + <TH align="center"> Nombre </TH> + <TH align="center"> </TH> + <TH align="center"> T </TH> + + </TR> + <? + $TBtipo[1]="W"; + $TBtipo[2]="I"; + $TBtipo[3]="F"; + while (!$rs->EOF){?> + <TR> + <TD align=center><IMG id=<?=$rs->campos["idicono"]?> style="cursor:hand" onclick="menu_contextual(this)" src="../images/iconos/administrar_off.gif"></TD> + <TD> <? echo basename($rs->campos["descripcion"])?> </TD> + <TD> <? echo basename($rs->campos["urlicono"])?> </TD> + <TD align=center> <IMG src="./iconos/<? echo $rs->campos["urlicono"] ?>" + + <? if ($rs->campos["idtipoicono"]==2) //icono item + echo " width=64 "; + else + echo " width=16 "; + ?> + > </TD> + <TD align=center> <? echo $TBtipo[$rs->campos["idtipoicono"]] ?> </TD> + </TR> + <? $rs->Siguiente();}?> +</TABLE> +<? +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Menu contextual +//------------------------------------------------------------------------------------------------------------------------------------------------- +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +$XMLcontextual=CreacontextualXMLMenu(); // Crea contextual de las acciones +echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Menus contextuales +//------------------------------------------------------------------------------------------------------------------------------------------------- +function CreacontextualXMLMenu(){ + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' maxanchu=110'; + $layerXML.=' idctx="flo_menu"'; + $layerXML.=' swimg=1'; + $layerXML.=' origen_x=100'; + $layerXML.=' origen_y=300'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consultar()"'; + $layerXML.=' imgitem="../images/iconos/consultar.gif"'; + $layerXML.=' textoitem="Consultar"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar()"'; + $layerXML.=' textoitem="Modificar"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="borrar()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem="Eliminar"'; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/images/M_Iconos.js b/admin/WebConsole/images/M_Iconos.js new file mode 100644 index 00000000..a58d4a99 --- /dev/null +++ b/admin/WebConsole/images/M_Iconos.js @@ -0,0 +1,85 @@ +// ********************************************************************************************************// Libreria de scripts de Javascript
+// Autor: Jos Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creacin: 2009-2010
+// Fecha ltima modificacin: Noviembre-2005
+// Nombre del fichero:M_Iconos
+// Descripcin :
+// Este fichero implementa las funciones javascript del fichero M_Iconos.php
+// ********************************************************************************************************
+// Opciones
+var Insertar=1
+var Eliminar=2
+var Modificar=3
+var Consultar=4
+
+// Acciones
+var Sin_accion=0
+var Insertar_registro=1
+var Borrar_registro=2
+var Modificar_registro=3
+var Leer_registro=4
+
+var CurrentFecha=null;
+//-------------------------------------------------------------------------------------------------------------
+function menu(){
+ w=window.parent
+ w.location.href="../menu.php"
+}
+//-------------------------------------------------------------------------------------------------------------
+ function Editar(){
+ document.fdatos.opcion.value=Modificar
+ document.fdatos.accion.value=Leer_registro
+ document.fdatos.submit()
+ }
+//-------------------------------------------------------------------------------------------------------------
+ function Agregar() {
+ document.fdatos.opcion.value=Insertar
+ document.fdatos.accion.value=Sin_accion
+ document.fdatos.submit()
+ }
+//-------------------------------------------------------------------------------------------------------------
+ function Borrar(){
+ document.fdatos.opcion.value=Eliminar
+ document.fdatos.accion.value=Leer_registro
+ document.fdatos.submit()
+ }
+//-------------------------------------------------------------------------------------------------------------
+ function Cancelar() {
+ document.fdatos.opcion.value=Insertar
+ document.fdatos.accion.value=Sin_accion
+ document.fdatos.idicono.value=0
+ document.fdatos.submit()
+ }
+//-------------------------------------------------------------------------------------------------------------
+function Confirmar() {
+ var sw
+ sw=parseInt(document.fdatos.opcion.value)
+ switch (sw) {
+ case Insertar :
+ if (comprobar_datos()){
+ document.fdatos.accion.value=Insertar_registro
+ document.fdatos.submit()
+ }
+ break
+ case Eliminar :
+ document.fdatos.accion.value=Borrar_registro
+ document.fdatos.submit()
+ break
+ case Modificar :
+ if (comprobar_datos()){
+ document.fdatos.accion.value=Modificar_registro
+ document.fdatos.submit()
+ }
+ break
+ }
+}
+//----------------------------------------------------------------------------------------------
+function comprobar_datos(){
+ + if (document.fdatos.descripcion.value==""){ + alert("Descripcion es un dato obligatorio") + document.forms.fdatos.descripcion.focus() + return(false) + }
+ return(true)
+}
diff --git a/admin/WebConsole/images/M_Iconos.php b/admin/WebConsole/images/M_Iconos.php new file mode 100644 index 00000000..824f6cda --- /dev/null +++ b/admin/WebConsole/images/M_Iconos.php @@ -0,0 +1,298 @@ +<? +// ******************************************************************************************************************** +// Aplicacin WEB: ogAdmWebCon +// Autor: Jos Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creacin: Agosto-2010 +// Fecha ltima modificacin: Agosto-2010 +// Nombre del fichero: M_Iconos.php +// Descripcin :Este fichero implementa el mantenimiento de la tabla Iconos +// ******************************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../clases/SockHidra.php"); +include_once("../includes/FicherosPost.php"); +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Captura de parmetros +//------------------------------------------------------------------------------------------------------------------------------------------------- +$opcion=""; +$accion=""; +$idicono=0; + +if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; +if (isset($_POST["accion"])) $accion=$_POST["accion"]; +if (isset($_POST["idicono"])) $idicono=$_POST["idicono"]; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; +if (isset($_GET["accion"])) $accion=$_GET["accion"]; +if (isset($_GET["idicono"])) $idicono=$_GET["idicono"]; +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Constantes +//------------------------------------------------------------------------------------------------------------------------------------------------- +// $opciones +$INSERTAR=1; +$ELIMINAR=2; +$MODIFICAR=3; +$CONSULTAR=4; + +// Acciones +$SIN_ACCION=0; +$INSERTAR_REGISTRO=1; +$BORRAR_REGISTRO=2; +$MODIFICAR_REGISTRO=3; +$LEER_REGISTRO=4; + +$mopciones[1]="INSERTAR"; +$mopciones[2]="ELIMINAR"; +$mopciones[3]="MODIFICAR"; +$mopciones[4]="CONSULTAR"; +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Datos por defecto +//------------------------------------------------------------------------------------------------------------------------------------------------- +if(empty($opcion)) $opcion=$INSERTAR; +if(empty($accion)) $accion=$SIN_ACCION; +if(empty($idicono)) $idicono=0; +$msg=""; +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Conexion a la base de datos +//------------------------------------------------------------------------------------------------------------------------------------------------- +$cmd=CreaComando($cadenaconexion); +if (!$cmd) // Fallo conexin con servidor de datos + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. +//------------------------------------------------------------------------------------------------------------------------------------------------- +// Accin a ejecutar +//------------------------------------------------------------------------------------------------------------------------------------------------- +if($accion==$INSERTAR_REGISTRO || $accion==$MODIFICAR_REGISTRO){ + $cmd->CreaParametro("@idicono",$idicono,1); + IncializaCampos(); + if (isset($_POST["swbf_urlicono"])) $swbf_urlicono=$_POST["swbf_urlicono"]; + if (isset($_POST["urlicono"])) $urlicono=$_POST["urlicono"]; + if (isset($_POST["idtipoicono"])) $idtipoicono=$_POST["idtipoicono"]; + if (isset($_POST["descripcion"])) $descripcion=$_POST["descripcion"]; + $cmd->CreaParametro("@urlicono",$urlicono,0); + $cmd->CreaParametro("@idtipoicono",$idtipoicono,1); + $cmd->CreaParametro("@descripcion",$descripcion,0); + + $UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url pgina + // Se recibe fichero adjunto + $NombreFichero_urlicono = $HTTP_POST_FILES['urlicono']['name']; + if(!empty($NombreFichero_urlicono)){ + $NombreFicheroPost_urlicono = $HTTP_POST_FILES['urlicono']['tmp_name']; + $tamano_archivo = $HTTP_POST_FILES['urlicono']['size']; + if($tamano_archivo>100000){ + $msg="El tamao del archivo no corresponde con los lmites permitidos, debe ser mayor que 0 y menor de 100 KB"; + IncializaCampos(); + $opcion=$INSERTAR; + $accion=$SIN_ACCION; + } + else{ + if(!SalvaFichero_POST($UrlPagina,$NombreFicheroPost_urlicono,$NombreFichero_urlicono,&$UrlFichero_urlicono)) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + else{ + $msg="Se ha enviado al servidor web el fichero de Icono, correctamente"; + $cmd->ParamSetValor("@urlicono",basename($UrlFichero_urlicono)); + } + } + } + switch($accion){ + case $INSERTAR_REGISTRO : + $cmd->texto="INSERT INTO iconos (urlicono,idtipoicono,descripcion ) VALUES (@urlicono,@idtipoicono,@descripcion);"; + $resul=$cmd->Ejecutar(); + if (!$resul) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + break; + case $MODIFICAR_REGISTRO: + if(!empty($NombreFichero_urlicono) || !empty($swbf_urlicono)){ + $filebaja_urlicono=""; + if (isset($_POST["filebaja_urlicono"])) $filebaja_urlicono=$_POST["filebaja_urlicono"]; + $UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url pgina + if(!empty($filebaja_urlicono)){ + if(!EliminaFichero($UrlPagina,$filebaja_urlicono)) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + else + $msg="Se ha sustituido del servidor web el fichero de Icono, correctamente"; + } + } + else{ + if (isset($_POST["fileexist_urlicono"])) $urlicono=$_POST["fileexist_urlicono"]; + $cmd->ParamSetValor("@urlicono",basename($urlicono)); + } + $cmd->texto="UPDATE iconos SET urlicono=@urlicono,idtipoicono=@idtipoicono,descripcion=@descripcion WHERE idicono=@idicono"; + $resul=$cmd->Ejecutar(); + if (!$resul) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + break; + } + IncializaCampos(); + $opcion=$INSERTAR; + $accion=$SIN_ACCION; +}else{ + if($accion==$BORRAR_REGISTRO){ + $cmd->texto="DELETE FROM iconos WHERE idicono=".$idicono; + $resul=$cmd->Ejecutar(); + if (!$resul) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + $filebaja_urlicono=""; + if (isset($_POST["filebaja_urlicono"])) $filebaja_urlicono=$_POST["filebaja_urlicono"]; + $UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url pgina + if(!empty($filebaja_urlicono)){ + if(!EliminaFichero($UrlPagina,$filebaja_urlicono)) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + else + $msg="Se ha eliminado del servidor web el fichero de Icono, correctamente"; + } + IncializaCampos(); + $opcion=$INSERTAR; + $accion=$SIN_ACCION; + } + else{ + if($accion==$LEER_REGISTRO){ + $rs=new Recordset; + $cmd->texto="SELECT * FROM iconos WHERE idicono=".$idicono; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + if ($rs->EOF) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D. + $urlicono=$rs->campos["urlicono"]; + $idtipoicono=$rs->campos["idtipoicono"]; + $descripcion=$rs->campos["descripcion"]; + } + else{ // Sin accion + IncializaCampos(); + $opcion=$INSERTAR; + $accion=$SIN_ACCION; + } + } +} +?> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> +<!-- Pgina HTML del Mantenimiento de la tabla +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <HTML> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="M_Iconos.js"></SCRIPT> + </HEAD> + <BODY> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <FORM name="fdatos" action="M_Iconos.php" enctype="multipart/form-data" method="post"> + <input name="opcion" type="hidden" value="<? echo $opcion?>"> + <input name="accion" type="hidden" value="<? echo $accion?>"> + <input name="idicono" type="hidden" value="<? echo $idicono?>"> + <input name="filebaja_urlicono" type="hidden" value="<? echo basename($urlicono)?>"> + <input name="fileexist_urlicono" type="hidden" value="<? echo $urlicono?>"> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <DIV align=center id="Layer_Datos"> + <P class=cabeceras>Iconos<BR> + <SPAN class="subcabeceras"><?=$mopciones[$opcion]?></SPAN></P> + <P align="center"><SPAN class=textos>____ Datos de Iconos ____</SPAN></P> + <TABLE class="tabla_datos" align="center"> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> Tipo </TH> + <?if ($opcion==$CONSULTAR || $opcion==$ELIMINAR){?> + <TD><? + $TBtipo[1]="Iconos web"; + $TBtipo[2]="Iconos items"; + $TBtipo[3]="Fondo menu"; + echo $TBtipo[$idtipoicono]; + }else{ + $parametros="0=".chr(13); + $parametros.="1=iconos web".chr(13); + $parametros.="2=iconos items".chr(13); + $parametros.="3=Fondo menu"; + echo '<TD>'.HTMLCTESELECT($parametros, "idtipoicono","estilodesple","",$idtipoicono,100).'</TD>'; + }?> + </TR> + +<!--------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> Descripcion </TH> + <?if ($opcion==$CONSULTAR || $opcion==$ELIMINAR){?> + <TD><?echo $descripcion?></TD> + <?}else{?> + <TD><INPUT class=cajatexto name="descripcion" maxlength=250 style="width:250" value="<? echo $descripcion?>"></TD> + <?}?> + </TR> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <?if ($opcion==$CONSULTAR || $opcion==$ELIMINAR){?> + <TR> + <TH> Icono </TH> + <TD><?echo basename($urlicono)?></TD> + </TR> + <?}else{ + if ($opcion==$INSERTAR || ($opcion==$MODIFICAR && empty($urlicono))){?> + <TR> + <TH> Icono </TH> + <TD><INPUT type=file class=cajatexto name="urlicono" style="width:500" value="<? echo $urlicono?>"> + </TR> + <?}else{?> + <TR> + <TH> Icono </TH> + <TD><?echo basename($urlicono)?></TD> + </TR> + <TR> + <TH> Sustituir Fichero </TH> + <TD><INPUT type=file class=cajatexto name="urlicono" style="width:500" value="<? echo $urlicono?>"> + </TR> + <?}?> + <?}?> + </TR> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> + </DIV> + <BR> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <DIV id="Layer_opciones"> + <TABLE align="center" border="0" > + <TR> + <?switch($opcion){ + case $CONSULTAR: + echo '<TD><img style="cursor:hand" SRC="../images/boton_insertar.gif" onclick="Cancelar()"></TD>'; + break; + case $ELIMINAR: + echo '<TD><img SRC="../images/boton_confirmar.gif" style="cursor:hand" onclick="Confirmar()"></TD>'; + echo '<TD><img SRC="../images/boton_cancelar.gif" style="cursor:hand" onclick="Cancelar()"></TD>'; + break; + default: + echo '<TD><img style="cursor:hand" SRC="../images/boton_confirmar.gif" onclick="Confirmar()"></TD>'; + echo '<TD><img style="cursor:hand" SRC="../images/boton_cancelar.gif" onclick="Cancelar()"></TD>'; + break; + }?> + </TR> + </TABLE> + </DIV> +<? +//________________________________________________________________________________________________________ +// Posiciona cursor en campo usuario y muestra mensaje de error si lo hubiera +echo '<SCRIPT LANGUAGE="javascript">'; +if (!empty($msg)) + echo 'alert("'.$msg.'")'; +echo '</SCRIPT>'; +?> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + </FORM> + </BODY> + </HTML> + <? +//______________________________________________________________________ +// Inicialiciza los campos de trabajo de la tabla +//______________________________________________________________________ +function IncializaCampos(){ + + global $idicono; + $idicono=0; + + global $urlicono; + global $idtipoicono; + global $descripcion; + + $urlicono=""; + $idtipoicono=0; + $descripcion=""; +} + diff --git a/admin/WebConsole/images/aula.jpg b/admin/WebConsole/images/aula.jpg Binary files differnew file mode 100644 index 00000000..77123cbe --- /dev/null +++ b/admin/WebConsole/images/aula.jpg diff --git a/admin/WebConsole/images/boton_aceptar.gif b/admin/WebConsole/images/boton_aceptar.gif Binary files differnew file mode 100644 index 00000000..f44edbab --- /dev/null +++ b/admin/WebConsole/images/boton_aceptar.gif diff --git a/admin/WebConsole/images/boton_annadir.gif b/admin/WebConsole/images/boton_annadir.gif Binary files differnew file mode 100644 index 00000000..751a55a3 --- /dev/null +++ b/admin/WebConsole/images/boton_annadir.gif diff --git a/admin/WebConsole/images/boton_cancelar.gif b/admin/WebConsole/images/boton_cancelar.gif Binary files differnew file mode 100644 index 00000000..b57c1c88 --- /dev/null +++ b/admin/WebConsole/images/boton_cancelar.gif diff --git a/admin/WebConsole/images/boton_cerrar.gif b/admin/WebConsole/images/boton_cerrar.gif Binary files differnew file mode 100644 index 00000000..a989c567 --- /dev/null +++ b/admin/WebConsole/images/boton_cerrar.gif diff --git a/admin/WebConsole/images/boton_confirmar.gif b/admin/WebConsole/images/boton_confirmar.gif Binary files differnew file mode 100644 index 00000000..b0e33488 --- /dev/null +++ b/admin/WebConsole/images/boton_confirmar.gif diff --git a/admin/WebConsole/images/boton_insertar.gif b/admin/WebConsole/images/boton_insertar.gif Binary files differnew file mode 100644 index 00000000..ccff6b08 --- /dev/null +++ b/admin/WebConsole/images/boton_insertar.gif diff --git a/admin/WebConsole/images/botonok.gif b/admin/WebConsole/images/botonok.gif Binary files differnew file mode 100644 index 00000000..2a7bccd4 --- /dev/null +++ b/admin/WebConsole/images/botonok.gif diff --git a/admin/WebConsole/images/botonok.png b/admin/WebConsole/images/botonok.png Binary files differnew file mode 100644 index 00000000..981d4c9a --- /dev/null +++ b/admin/WebConsole/images/botonok.png diff --git a/admin/WebConsole/images/flotantes/eid.gif b/admin/WebConsole/images/flotantes/eid.gif Binary files differnew file mode 100644 index 00000000..683acc93 --- /dev/null +++ b/admin/WebConsole/images/flotantes/eid.gif diff --git a/admin/WebConsole/images/flotantes/eii.gif b/admin/WebConsole/images/flotantes/eii.gif Binary files differnew file mode 100644 index 00000000..328f5baf --- /dev/null +++ b/admin/WebConsole/images/flotantes/eii.gif diff --git a/admin/WebConsole/images/flotantes/esd.gif b/admin/WebConsole/images/flotantes/esd.gif Binary files differnew file mode 100644 index 00000000..c90db87f --- /dev/null +++ b/admin/WebConsole/images/flotantes/esd.gif diff --git a/admin/WebConsole/images/flotantes/esi.gif b/admin/WebConsole/images/flotantes/esi.gif Binary files differnew file mode 100644 index 00000000..76223f89 --- /dev/null +++ b/admin/WebConsole/images/flotantes/esi.gif diff --git a/admin/WebConsole/images/flotantes/ldr.gif b/admin/WebConsole/images/flotantes/ldr.gif Binary files differnew file mode 100644 index 00000000..bd975c47 --- /dev/null +++ b/admin/WebConsole/images/flotantes/ldr.gif diff --git a/admin/WebConsole/images/flotantes/lin.gif b/admin/WebConsole/images/flotantes/lin.gif Binary files differnew file mode 100644 index 00000000..52ce37aa --- /dev/null +++ b/admin/WebConsole/images/flotantes/lin.gif diff --git a/admin/WebConsole/images/flotantes/liz.gif b/admin/WebConsole/images/flotantes/liz.gif Binary files differnew file mode 100644 index 00000000..584886c8 --- /dev/null +++ b/admin/WebConsole/images/flotantes/liz.gif diff --git a/admin/WebConsole/images/flotantes/lsu.gif b/admin/WebConsole/images/flotantes/lsu.gif Binary files differnew file mode 100644 index 00000000..f3fc323e --- /dev/null +++ b/admin/WebConsole/images/flotantes/lsu.gif diff --git a/admin/WebConsole/images/flotantes/sep.gif b/admin/WebConsole/images/flotantes/sep.gif Binary files differnew file mode 100644 index 00000000..6b69a2e6 --- /dev/null +++ b/admin/WebConsole/images/flotantes/sep.gif diff --git a/admin/WebConsole/images/flotantes/swsbfb.gif b/admin/WebConsole/images/flotantes/swsbfb.gif Binary files differnew file mode 100644 index 00000000..c828dfd1 --- /dev/null +++ b/admin/WebConsole/images/flotantes/swsbfb.gif diff --git a/admin/WebConsole/images/flotantes/swsbfn.gif b/admin/WebConsole/images/flotantes/swsbfn.gif Binary files differnew file mode 100644 index 00000000..8cd08fd5 --- /dev/null +++ b/admin/WebConsole/images/flotantes/swsbfn.gif diff --git a/admin/WebConsole/images/fotoordenador.gif b/admin/WebConsole/images/fotoordenador.gif Binary files differnew file mode 100644 index 00000000..b6b09ad4 --- /dev/null +++ b/admin/WebConsole/images/fotoordenador.gif diff --git a/admin/WebConsole/images/iconos/acAbortada.gif b/admin/WebConsole/images/iconos/acAbortada.gif Binary files differnew file mode 100644 index 00000000..06784603 --- /dev/null +++ b/admin/WebConsole/images/iconos/acAbortada.gif diff --git a/admin/WebConsole/images/iconos/acConErrores.gif b/admin/WebConsole/images/iconos/acConErrores.gif Binary files differnew file mode 100644 index 00000000..c2388f22 --- /dev/null +++ b/admin/WebConsole/images/iconos/acConErrores.gif diff --git a/admin/WebConsole/images/iconos/acDetenida.gif b/admin/WebConsole/images/iconos/acDetenida.gif Binary files differnew file mode 100644 index 00000000..75d3ae0d --- /dev/null +++ b/admin/WebConsole/images/iconos/acDetenida.gif diff --git a/admin/WebConsole/images/iconos/acExitosa.gif b/admin/WebConsole/images/iconos/acExitosa.gif Binary files differnew file mode 100644 index 00000000..2e9bbbf5 --- /dev/null +++ b/admin/WebConsole/images/iconos/acExitosa.gif diff --git a/admin/WebConsole/images/iconos/acFallida.gif b/admin/WebConsole/images/iconos/acFallida.gif Binary files differnew file mode 100644 index 00000000..ad817699 --- /dev/null +++ b/admin/WebConsole/images/iconos/acFallida.gif diff --git a/admin/WebConsole/images/iconos/acFinalizada.gif b/admin/WebConsole/images/iconos/acFinalizada.gif Binary files differnew file mode 100644 index 00000000..6b3588a9 --- /dev/null +++ b/admin/WebConsole/images/iconos/acFinalizada.gif diff --git a/admin/WebConsole/images/iconos/acIniciada.gif b/admin/WebConsole/images/iconos/acIniciada.gif Binary files differnew file mode 100644 index 00000000..29651d6f --- /dev/null +++ b/admin/WebConsole/images/iconos/acIniciada.gif diff --git a/admin/WebConsole/images/iconos/acSinErrores.gif b/admin/WebConsole/images/iconos/acSinErrores.gif Binary files differnew file mode 100644 index 00000000..6b3588a9 --- /dev/null +++ b/admin/WebConsole/images/iconos/acSinErrores.gif diff --git a/admin/WebConsole/images/iconos/acTerminada.gif b/admin/WebConsole/images/iconos/acTerminada.gif Binary files differnew file mode 100644 index 00000000..e7b7e956 --- /dev/null +++ b/admin/WebConsole/images/iconos/acTerminada.gif diff --git a/admin/WebConsole/images/iconos/acciones.gif b/admin/WebConsole/images/iconos/acciones.gif Binary files differnew file mode 100644 index 00000000..53d71d20 --- /dev/null +++ b/admin/WebConsole/images/iconos/acciones.gif diff --git a/admin/WebConsole/images/iconos/actualizandor.gif b/admin/WebConsole/images/iconos/actualizandor.gif Binary files differnew file mode 100644 index 00000000..173def53 --- /dev/null +++ b/admin/WebConsole/images/iconos/actualizandor.gif diff --git a/admin/WebConsole/images/iconos/actualizar.gif b/admin/WebConsole/images/iconos/actualizar.gif Binary files differnew file mode 100644 index 00000000..74abf818 --- /dev/null +++ b/admin/WebConsole/images/iconos/actualizar.gif diff --git a/admin/WebConsole/images/iconos/administracion.gif b/admin/WebConsole/images/iconos/administracion.gif Binary files differnew file mode 100644 index 00000000..606f2dcc --- /dev/null +++ b/admin/WebConsole/images/iconos/administracion.gif diff --git a/admin/WebConsole/images/iconos/administraciones.gif b/admin/WebConsole/images/iconos/administraciones.gif Binary files differnew file mode 100644 index 00000000..720b2a48 --- /dev/null +++ b/admin/WebConsole/images/iconos/administraciones.gif diff --git a/admin/WebConsole/images/iconos/administradores.gif b/admin/WebConsole/images/iconos/administradores.gif Binary files differnew file mode 100644 index 00000000..14fd5914 --- /dev/null +++ b/admin/WebConsole/images/iconos/administradores.gif diff --git a/admin/WebConsole/images/iconos/administrar_off.gif b/admin/WebConsole/images/iconos/administrar_off.gif Binary files differnew file mode 100644 index 00000000..a414d594 --- /dev/null +++ b/admin/WebConsole/images/iconos/administrar_off.gif diff --git a/admin/WebConsole/images/iconos/administrar_on.gif b/admin/WebConsole/images/iconos/administrar_on.gif Binary files differnew file mode 100644 index 00000000..ab64ec3b --- /dev/null +++ b/admin/WebConsole/images/iconos/administrar_on.gif diff --git a/admin/WebConsole/images/iconos/aplicaciones.gif b/admin/WebConsole/images/iconos/aplicaciones.gif Binary files differnew file mode 100644 index 00000000..bede0763 --- /dev/null +++ b/admin/WebConsole/images/iconos/aplicaciones.gif diff --git a/admin/WebConsole/images/iconos/archivos.gif b/admin/WebConsole/images/iconos/archivos.gif Binary files differnew file mode 100644 index 00000000..c6f0e577 --- /dev/null +++ b/admin/WebConsole/images/iconos/archivos.gif diff --git a/admin/WebConsole/images/iconos/audio.gif b/admin/WebConsole/images/iconos/audio.gif Binary files differnew file mode 100644 index 00000000..12c0c03c --- /dev/null +++ b/admin/WebConsole/images/iconos/audio.gif diff --git a/admin/WebConsole/images/iconos/aula.gif b/admin/WebConsole/images/iconos/aula.gif Binary files differnew file mode 100644 index 00000000..7ce87209 --- /dev/null +++ b/admin/WebConsole/images/iconos/aula.gif diff --git a/admin/WebConsole/images/iconos/ayuda.gif b/admin/WebConsole/images/iconos/ayuda.gif Binary files differnew file mode 100644 index 00000000..18f45234 --- /dev/null +++ b/admin/WebConsole/images/iconos/ayuda.gif diff --git a/admin/WebConsole/images/iconos/barraven.png b/admin/WebConsole/images/iconos/barraven.png Binary files differnew file mode 100644 index 00000000..16471d39 --- /dev/null +++ b/admin/WebConsole/images/iconos/barraven.png diff --git a/admin/WebConsole/images/iconos/busquedas.gif b/admin/WebConsole/images/iconos/busquedas.gif Binary files differnew file mode 100644 index 00000000..0d6f8494 --- /dev/null +++ b/admin/WebConsole/images/iconos/busquedas.gif diff --git a/admin/WebConsole/images/iconos/camweb.gif b/admin/WebConsole/images/iconos/camweb.gif Binary files differnew file mode 100644 index 00000000..54e99e94 --- /dev/null +++ b/admin/WebConsole/images/iconos/camweb.gif diff --git a/admin/WebConsole/images/iconos/carpeta.gif b/admin/WebConsole/images/iconos/carpeta.gif Binary files differnew file mode 100644 index 00000000..a4868bfa --- /dev/null +++ b/admin/WebConsole/images/iconos/carpeta.gif diff --git a/admin/WebConsole/images/iconos/carpetaup.gif b/admin/WebConsole/images/iconos/carpetaup.gif Binary files differnew file mode 100644 index 00000000..6fb2f2d3 --- /dev/null +++ b/admin/WebConsole/images/iconos/carpetaup.gif diff --git a/admin/WebConsole/images/iconos/centros.gif b/admin/WebConsole/images/iconos/centros.gif Binary files differnew file mode 100644 index 00000000..c99e0e6d --- /dev/null +++ b/admin/WebConsole/images/iconos/centros.gif diff --git a/admin/WebConsole/images/iconos/clienven.png b/admin/WebConsole/images/iconos/clienven.png Binary files differnew file mode 100644 index 00000000..aa1c4853 --- /dev/null +++ b/admin/WebConsole/images/iconos/clienven.png diff --git a/admin/WebConsole/images/iconos/colocar.gif b/admin/WebConsole/images/iconos/colocar.gif Binary files differnew file mode 100644 index 00000000..a624b546 --- /dev/null +++ b/admin/WebConsole/images/iconos/colocar.gif diff --git a/admin/WebConsole/images/iconos/comandos.gif b/admin/WebConsole/images/iconos/comandos.gif Binary files differnew file mode 100644 index 00000000..d3c4ae36 --- /dev/null +++ b/admin/WebConsole/images/iconos/comandos.gif diff --git a/admin/WebConsole/images/iconos/configuraciones.gif b/admin/WebConsole/images/iconos/configuraciones.gif Binary files differnew file mode 100644 index 00000000..a414d594 --- /dev/null +++ b/admin/WebConsole/images/iconos/configuraciones.gif diff --git a/admin/WebConsole/images/iconos/configuraciones_ON.gif b/admin/WebConsole/images/iconos/configuraciones_ON.gif Binary files differnew file mode 100644 index 00000000..ab64ec3b --- /dev/null +++ b/admin/WebConsole/images/iconos/configuraciones_ON.gif diff --git a/admin/WebConsole/images/iconos/confihard.gif b/admin/WebConsole/images/iconos/confihard.gif Binary files differnew file mode 100644 index 00000000..69258e11 --- /dev/null +++ b/admin/WebConsole/images/iconos/confihard.gif diff --git a/admin/WebConsole/images/iconos/confirmadas.gif b/admin/WebConsole/images/iconos/confirmadas.gif Binary files differnew file mode 100644 index 00000000..e144f180 --- /dev/null +++ b/admin/WebConsole/images/iconos/confirmadas.gif diff --git a/admin/WebConsole/images/iconos/confisoft.gif b/admin/WebConsole/images/iconos/confisoft.gif Binary files differnew file mode 100644 index 00000000..ce4010b5 --- /dev/null +++ b/admin/WebConsole/images/iconos/confisoft.gif diff --git a/admin/WebConsole/images/iconos/consultar.gif b/admin/WebConsole/images/iconos/consultar.gif Binary files differnew file mode 100644 index 00000000..dd74ce3f --- /dev/null +++ b/admin/WebConsole/images/iconos/consultar.gif diff --git a/admin/WebConsole/images/iconos/copiar.gif b/admin/WebConsole/images/iconos/copiar.gif Binary files differnew file mode 100644 index 00000000..41d3b0a4 --- /dev/null +++ b/admin/WebConsole/images/iconos/copiar.gif diff --git a/admin/WebConsole/images/iconos/copiar_off.gif b/admin/WebConsole/images/iconos/copiar_off.gif Binary files differnew file mode 100644 index 00000000..630ce37b --- /dev/null +++ b/admin/WebConsole/images/iconos/copiar_off.gif diff --git a/admin/WebConsole/images/iconos/cortar.gif b/admin/WebConsole/images/iconos/cortar.gif Binary files differnew file mode 100644 index 00000000..e8fd255c --- /dev/null +++ b/admin/WebConsole/images/iconos/cortar.gif diff --git a/admin/WebConsole/images/iconos/cortar_off.gif b/admin/WebConsole/images/iconos/cortar_off.gif Binary files differnew file mode 100644 index 00000000..973c50d5 --- /dev/null +++ b/admin/WebConsole/images/iconos/cortar_off.gif diff --git a/admin/WebConsole/images/iconos/denegadas.gif b/admin/WebConsole/images/iconos/denegadas.gif Binary files differnew file mode 100644 index 00000000..e03adb17 --- /dev/null +++ b/admin/WebConsole/images/iconos/denegadas.gif diff --git a/admin/WebConsole/images/iconos/discoduro.gif b/admin/WebConsole/images/iconos/discoduro.gif Binary files differnew file mode 100644 index 00000000..4b3cf643 --- /dev/null +++ b/admin/WebConsole/images/iconos/discoduro.gif diff --git a/admin/WebConsole/images/iconos/dvdcd.gif b/admin/WebConsole/images/iconos/dvdcd.gif Binary files differnew file mode 100644 index 00000000..4638af5a --- /dev/null +++ b/admin/WebConsole/images/iconos/dvdcd.gif diff --git a/admin/WebConsole/images/iconos/ecocon.gif b/admin/WebConsole/images/iconos/ecocon.gif Binary files differnew file mode 100644 index 00000000..fb5e928c --- /dev/null +++ b/admin/WebConsole/images/iconos/ecocon.gif diff --git a/admin/WebConsole/images/iconos/eliminar.gif b/admin/WebConsole/images/iconos/eliminar.gif Binary files differnew file mode 100644 index 00000000..1771fbf4 --- /dev/null +++ b/admin/WebConsole/images/iconos/eliminar.gif diff --git a/admin/WebConsole/images/iconos/email.gif b/admin/WebConsole/images/iconos/email.gif Binary files differnew file mode 100644 index 00000000..0322ac9e --- /dev/null +++ b/admin/WebConsole/images/iconos/email.gif diff --git a/admin/WebConsole/images/iconos/entidades.gif b/admin/WebConsole/images/iconos/entidades.gif Binary files differnew file mode 100644 index 00000000..3b85ddbb --- /dev/null +++ b/admin/WebConsole/images/iconos/entidades.gif diff --git a/admin/WebConsole/images/iconos/entornos.gif b/admin/WebConsole/images/iconos/entornos.gif Binary files differnew file mode 100644 index 00000000..a0ed0792 --- /dev/null +++ b/admin/WebConsole/images/iconos/entornos.gif diff --git a/admin/WebConsole/images/iconos/filtro_off.gif b/admin/WebConsole/images/iconos/filtro_off.gif Binary files differnew file mode 100644 index 00000000..897320f0 --- /dev/null +++ b/admin/WebConsole/images/iconos/filtro_off.gif diff --git a/admin/WebConsole/images/iconos/filtroaccion.gif b/admin/WebConsole/images/iconos/filtroaccion.gif Binary files differnew file mode 100644 index 00000000..d1d767fc --- /dev/null +++ b/admin/WebConsole/images/iconos/filtroaccion.gif diff --git a/admin/WebConsole/images/iconos/filtroambito.gif b/admin/WebConsole/images/iconos/filtroambito.gif Binary files differnew file mode 100644 index 00000000..76bcf064 --- /dev/null +++ b/admin/WebConsole/images/iconos/filtroambito.gif diff --git a/admin/WebConsole/images/iconos/fondo800x600.png b/admin/WebConsole/images/iconos/fondo800x600.png Binary files differnew file mode 100644 index 00000000..36e222f1 --- /dev/null +++ b/admin/WebConsole/images/iconos/fondo800x600.png diff --git a/admin/WebConsole/images/iconos/fondomenuETSII.png b/admin/WebConsole/images/iconos/fondomenuETSII.png Binary files differnew file mode 100644 index 00000000..3972f9c6 --- /dev/null +++ b/admin/WebConsole/images/iconos/fondomenuETSII.png diff --git a/admin/WebConsole/images/iconos/funcion.gif b/admin/WebConsole/images/iconos/funcion.gif Binary files differnew file mode 100644 index 00000000..c99e0e6d --- /dev/null +++ b/admin/WebConsole/images/iconos/funcion.gif diff --git a/admin/WebConsole/images/iconos/hidra.gif b/admin/WebConsole/images/iconos/hidra.gif Binary files differnew file mode 100644 index 00000000..0a0cde5b --- /dev/null +++ b/admin/WebConsole/images/iconos/hidra.gif diff --git a/admin/WebConsole/images/iconos/icono_pdf.gif b/admin/WebConsole/images/iconos/icono_pdf.gif Binary files differnew file mode 100644 index 00000000..14e838d0 --- /dev/null +++ b/admin/WebConsole/images/iconos/icono_pdf.gif diff --git a/admin/WebConsole/images/iconos/iconos.gif b/admin/WebConsole/images/iconos/iconos.gif Binary files differnew file mode 100644 index 00000000..c6eab505 --- /dev/null +++ b/admin/WebConsole/images/iconos/iconos.gif diff --git a/admin/WebConsole/images/iconos/ide.gif b/admin/WebConsole/images/iconos/ide.gif Binary files differnew file mode 100644 index 00000000..8a13f97d --- /dev/null +++ b/admin/WebConsole/images/iconos/ide.gif diff --git a/admin/WebConsole/images/iconos/imagen.gif b/admin/WebConsole/images/iconos/imagen.gif Binary files differnew file mode 100644 index 00000000..b5c9b64d --- /dev/null +++ b/admin/WebConsole/images/iconos/imagen.gif diff --git a/admin/WebConsole/images/iconos/imagenes.gif b/admin/WebConsole/images/iconos/imagenes.gif Binary files differnew file mode 100644 index 00000000..1cea58aa --- /dev/null +++ b/admin/WebConsole/images/iconos/imagenes.gif diff --git a/admin/WebConsole/images/iconos/incremental.gif b/admin/WebConsole/images/iconos/incremental.gif Binary files differnew file mode 100644 index 00000000..cba5f7f2 --- /dev/null +++ b/admin/WebConsole/images/iconos/incremental.gif diff --git a/admin/WebConsole/images/iconos/informacion.gif b/admin/WebConsole/images/iconos/informacion.gif Binary files differnew file mode 100644 index 00000000..fd2f932c --- /dev/null +++ b/admin/WebConsole/images/iconos/informacion.gif diff --git a/admin/WebConsole/images/iconos/ko.gif b/admin/WebConsole/images/iconos/ko.gif Binary files differnew file mode 100644 index 00000000..1771fbf4 --- /dev/null +++ b/admin/WebConsole/images/iconos/ko.gif diff --git a/admin/WebConsole/images/iconos/logoXP.png b/admin/WebConsole/images/iconos/logoXP.png Binary files differnew file mode 100644 index 00000000..09b6da00 --- /dev/null +++ b/admin/WebConsole/images/iconos/logoXP.png diff --git a/admin/WebConsole/images/iconos/logohidra16.gif b/admin/WebConsole/images/iconos/logohidra16.gif Binary files differnew file mode 100644 index 00000000..2df91e8d --- /dev/null +++ b/admin/WebConsole/images/iconos/logohidra16.gif diff --git a/admin/WebConsole/images/iconos/logolinux.png b/admin/WebConsole/images/iconos/logolinux.png Binary files differnew file mode 100644 index 00000000..b3df80b9 --- /dev/null +++ b/admin/WebConsole/images/iconos/logolinux.png diff --git a/admin/WebConsole/images/iconos/logoopengnsys.png b/admin/WebConsole/images/iconos/logoopengnsys.png Binary files differnew file mode 100644 index 00000000..c87ca25e --- /dev/null +++ b/admin/WebConsole/images/iconos/logoopengnsys.png diff --git a/admin/WebConsole/images/iconos/menu.gif b/admin/WebConsole/images/iconos/menu.gif Binary files differnew file mode 100644 index 00000000..a0ed0792 --- /dev/null +++ b/admin/WebConsole/images/iconos/menu.gif diff --git a/admin/WebConsole/images/iconos/menus.gif b/admin/WebConsole/images/iconos/menus.gif Binary files differnew file mode 100644 index 00000000..3d14060c --- /dev/null +++ b/admin/WebConsole/images/iconos/menus.gif diff --git a/admin/WebConsole/images/iconos/micro.gif b/admin/WebConsole/images/iconos/micro.gif Binary files differnew file mode 100644 index 00000000..8873978c --- /dev/null +++ b/admin/WebConsole/images/iconos/micro.gif diff --git a/admin/WebConsole/images/iconos/modificar.gif b/admin/WebConsole/images/iconos/modificar.gif Binary files differnew file mode 100644 index 00000000..f2f9ea3d --- /dev/null +++ b/admin/WebConsole/images/iconos/modificar.gif diff --git a/admin/WebConsole/images/iconos/mover.gif b/admin/WebConsole/images/iconos/mover.gif Binary files differnew file mode 100644 index 00000000..584b1921 --- /dev/null +++ b/admin/WebConsole/images/iconos/mover.gif diff --git a/admin/WebConsole/images/iconos/nada.gif b/admin/WebConsole/images/iconos/nada.gif Binary files differnew file mode 100644 index 00000000..6b3588a9 --- /dev/null +++ b/admin/WebConsole/images/iconos/nada.gif diff --git a/admin/WebConsole/images/iconos/nic.gif b/admin/WebConsole/images/iconos/nic.gif Binary files differnew file mode 100644 index 00000000..d64391be --- /dev/null +++ b/admin/WebConsole/images/iconos/nic.gif diff --git a/admin/WebConsole/images/iconos/ojo.gif b/admin/WebConsole/images/iconos/ojo.gif Binary files differnew file mode 100644 index 00000000..4fd6d69d --- /dev/null +++ b/admin/WebConsole/images/iconos/ojo.gif diff --git a/admin/WebConsole/images/iconos/ok.gif b/admin/WebConsole/images/iconos/ok.gif Binary files differnew file mode 100644 index 00000000..ee63cad9 --- /dev/null +++ b/admin/WebConsole/images/iconos/ok.gif diff --git a/admin/WebConsole/images/iconos/oldmenu.gif b/admin/WebConsole/images/iconos/oldmenu.gif Binary files differnew file mode 100644 index 00000000..a0ed0792 --- /dev/null +++ b/admin/WebConsole/images/iconos/oldmenu.gif diff --git a/admin/WebConsole/images/iconos/oldmenus.gif b/admin/WebConsole/images/iconos/oldmenus.gif Binary files differnew file mode 100644 index 00000000..0e7149a9 --- /dev/null +++ b/admin/WebConsole/images/iconos/oldmenus.gif diff --git a/admin/WebConsole/images/iconos/operadores.gif b/admin/WebConsole/images/iconos/operadores.gif Binary files differnew file mode 100644 index 00000000..ec47b8f6 --- /dev/null +++ b/admin/WebConsole/images/iconos/operadores.gif diff --git a/admin/WebConsole/images/iconos/ordenador.gif b/admin/WebConsole/images/iconos/ordenador.gif Binary files differnew file mode 100644 index 00000000..88d440c7 --- /dev/null +++ b/admin/WebConsole/images/iconos/ordenador.gif diff --git a/admin/WebConsole/images/iconos/ordenadores.gif b/admin/WebConsole/images/iconos/ordenadores.gif Binary files differnew file mode 100644 index 00000000..df17c711 --- /dev/null +++ b/admin/WebConsole/images/iconos/ordenadores.gif diff --git a/admin/WebConsole/images/iconos/ordenadornot.gif b/admin/WebConsole/images/iconos/ordenadornot.gif Binary files differnew file mode 100644 index 00000000..66566902 --- /dev/null +++ b/admin/WebConsole/images/iconos/ordenadornot.gif diff --git a/admin/WebConsole/images/iconos/ordenadornot_ko.gif b/admin/WebConsole/images/iconos/ordenadornot_ko.gif Binary files differnew file mode 100644 index 00000000..6306502f --- /dev/null +++ b/admin/WebConsole/images/iconos/ordenadornot_ko.gif diff --git a/admin/WebConsole/images/iconos/ordenadornot_ok.gif b/admin/WebConsole/images/iconos/ordenadornot_ok.gif Binary files differnew file mode 100644 index 00000000..ca377670 --- /dev/null +++ b/admin/WebConsole/images/iconos/ordenadornot_ok.gif diff --git a/admin/WebConsole/images/iconos/ordenadoroff.png b/admin/WebConsole/images/iconos/ordenadoroff.png Binary files differnew file mode 100644 index 00000000..1c17cebb --- /dev/null +++ b/admin/WebConsole/images/iconos/ordenadoroff.png diff --git a/admin/WebConsole/images/iconos/ordenadoron.png b/admin/WebConsole/images/iconos/ordenadoron.png Binary files differnew file mode 100644 index 00000000..27b72f8d --- /dev/null +++ b/admin/WebConsole/images/iconos/ordenadoron.png diff --git a/admin/WebConsole/images/iconos/papelera.gif b/admin/WebConsole/images/iconos/papelera.gif Binary files differnew file mode 100644 index 00000000..6b04c9d9 --- /dev/null +++ b/admin/WebConsole/images/iconos/papelera.gif diff --git a/admin/WebConsole/images/iconos/particionar.png b/admin/WebConsole/images/iconos/particionar.png Binary files differnew file mode 100644 index 00000000..f250e3c3 --- /dev/null +++ b/admin/WebConsole/images/iconos/particionar.png diff --git a/admin/WebConsole/images/iconos/pegar.gif b/admin/WebConsole/images/iconos/pegar.gif Binary files differnew file mode 100644 index 00000000..f95c5004 --- /dev/null +++ b/admin/WebConsole/images/iconos/pegar.gif diff --git a/admin/WebConsole/images/iconos/pegar_off.gif b/admin/WebConsole/images/iconos/pegar_off.gif Binary files differnew file mode 100644 index 00000000..fd399d92 --- /dev/null +++ b/admin/WebConsole/images/iconos/pegar_off.gif diff --git a/admin/WebConsole/images/iconos/pendientes.gif b/admin/WebConsole/images/iconos/pendientes.gif Binary files differnew file mode 100644 index 00000000..0ca83121 --- /dev/null +++ b/admin/WebConsole/images/iconos/pendientes.gif diff --git a/admin/WebConsole/images/iconos/perfilhardware.gif b/admin/WebConsole/images/iconos/perfilhardware.gif Binary files differnew file mode 100644 index 00000000..326a2fe7 --- /dev/null +++ b/admin/WebConsole/images/iconos/perfilhardware.gif diff --git a/admin/WebConsole/images/iconos/perfilsoftware.gif b/admin/WebConsole/images/iconos/perfilsoftware.gif Binary files differnew file mode 100644 index 00000000..616e622c --- /dev/null +++ b/admin/WebConsole/images/iconos/perfilsoftware.gif diff --git a/admin/WebConsole/images/iconos/placabase.gif b/admin/WebConsole/images/iconos/placabase.gif Binary files differnew file mode 100644 index 00000000..7c09de60 --- /dev/null +++ b/admin/WebConsole/images/iconos/placabase.gif diff --git a/admin/WebConsole/images/iconos/plantilla.gif b/admin/WebConsole/images/iconos/plantilla.gif Binary files differnew file mode 100644 index 00000000..fbedbd62 --- /dev/null +++ b/admin/WebConsole/images/iconos/plantilla.gif diff --git a/admin/WebConsole/images/iconos/pomo.gif b/admin/WebConsole/images/iconos/pomo.gif Binary files differnew file mode 100644 index 00000000..4aea09f3 --- /dev/null +++ b/admin/WebConsole/images/iconos/pomo.gif diff --git a/admin/WebConsole/images/iconos/procedimiento.gif b/admin/WebConsole/images/iconos/procedimiento.gif Binary files differnew file mode 100644 index 00000000..f8e5fa42 --- /dev/null +++ b/admin/WebConsole/images/iconos/procedimiento.gif diff --git a/admin/WebConsole/images/iconos/propiedad.gif b/admin/WebConsole/images/iconos/propiedad.gif Binary files differnew file mode 100644 index 00000000..261dab04 --- /dev/null +++ b/admin/WebConsole/images/iconos/propiedad.gif diff --git a/admin/WebConsole/images/iconos/propiedades.gif b/admin/WebConsole/images/iconos/propiedades.gif Binary files differnew file mode 100644 index 00000000..00a12c6d --- /dev/null +++ b/admin/WebConsole/images/iconos/propiedades.gif diff --git a/admin/WebConsole/images/iconos/purgar.gif b/admin/WebConsole/images/iconos/purgar.gif Binary files differnew file mode 100644 index 00000000..0e1894e8 --- /dev/null +++ b/admin/WebConsole/images/iconos/purgar.gif diff --git a/admin/WebConsole/images/iconos/ratones.gif b/admin/WebConsole/images/iconos/ratones.gif Binary files differnew file mode 100644 index 00000000..1164aa44 --- /dev/null +++ b/admin/WebConsole/images/iconos/ratones.gif diff --git a/admin/WebConsole/images/iconos/reiniciar.gif b/admin/WebConsole/images/iconos/reiniciar.gif Binary files differnew file mode 100644 index 00000000..584b1921 --- /dev/null +++ b/admin/WebConsole/images/iconos/reiniciar.gif diff --git a/admin/WebConsole/images/iconos/reloj.gif b/admin/WebConsole/images/iconos/reloj.gif Binary files differnew file mode 100644 index 00000000..83449704 --- /dev/null +++ b/admin/WebConsole/images/iconos/reloj.gif diff --git a/admin/WebConsole/images/iconos/repositorio.gif b/admin/WebConsole/images/iconos/repositorio.gif Binary files differnew file mode 100644 index 00000000..2d98303c --- /dev/null +++ b/admin/WebConsole/images/iconos/repositorio.gif diff --git a/admin/WebConsole/images/iconos/reservas.gif b/admin/WebConsole/images/iconos/reservas.gif Binary files differnew file mode 100644 index 00000000..18e847f3 --- /dev/null +++ b/admin/WebConsole/images/iconos/reservas.gif diff --git a/admin/WebConsole/images/iconos/salir_on.gif b/admin/WebConsole/images/iconos/salir_on.gif Binary files differnew file mode 100644 index 00000000..ebc05b0d --- /dev/null +++ b/admin/WebConsole/images/iconos/salir_on.gif diff --git a/admin/WebConsole/images/iconos/salvar.gif b/admin/WebConsole/images/iconos/salvar.gif Binary files differnew file mode 100644 index 00000000..5e081851 --- /dev/null +++ b/admin/WebConsole/images/iconos/salvar.gif diff --git a/admin/WebConsole/images/iconos/separitem.gif b/admin/WebConsole/images/iconos/separitem.gif Binary files differnew file mode 100644 index 00000000..20d05115 --- /dev/null +++ b/admin/WebConsole/images/iconos/separitem.gif diff --git a/admin/WebConsole/images/iconos/shell.gif b/admin/WebConsole/images/iconos/shell.gif Binary files differnew file mode 100644 index 00000000..efac932c --- /dev/null +++ b/admin/WebConsole/images/iconos/shell.gif diff --git a/admin/WebConsole/images/iconos/so.gif b/admin/WebConsole/images/iconos/so.gif Binary files differnew file mode 100644 index 00000000..38afbe88 --- /dev/null +++ b/admin/WebConsole/images/iconos/so.gif diff --git a/admin/WebConsole/images/iconos/softcombi.gif b/admin/WebConsole/images/iconos/softcombi.gif Binary files differnew file mode 100644 index 00000000..e5528251 --- /dev/null +++ b/admin/WebConsole/images/iconos/softcombi.gif diff --git a/admin/WebConsole/images/iconos/sonido.gif b/admin/WebConsole/images/iconos/sonido.gif Binary files differnew file mode 100644 index 00000000..f08c4730 --- /dev/null +++ b/admin/WebConsole/images/iconos/sonido.gif diff --git a/admin/WebConsole/images/iconos/superadministradores.gif b/admin/WebConsole/images/iconos/superadministradores.gif Binary files differnew file mode 100644 index 00000000..72446ab0 --- /dev/null +++ b/admin/WebConsole/images/iconos/superadministradores.gif diff --git a/admin/WebConsole/images/iconos/tablas.gif b/admin/WebConsole/images/iconos/tablas.gif Binary files differnew file mode 100644 index 00000000..99cf8849 --- /dev/null +++ b/admin/WebConsole/images/iconos/tablas.gif diff --git a/admin/WebConsole/images/iconos/tareas.gif b/admin/WebConsole/images/iconos/tareas.gif Binary files differnew file mode 100644 index 00000000..45252d09 --- /dev/null +++ b/admin/WebConsole/images/iconos/tareas.gif diff --git a/admin/WebConsole/images/iconos/trabajos.gif b/admin/WebConsole/images/iconos/trabajos.gif Binary files differnew file mode 100644 index 00000000..6d89feb6 --- /dev/null +++ b/admin/WebConsole/images/iconos/trabajos.gif diff --git a/admin/WebConsole/images/iconos/tsonido.gif b/admin/WebConsole/images/iconos/tsonido.gif Binary files differnew file mode 100644 index 00000000..31426e28 --- /dev/null +++ b/admin/WebConsole/images/iconos/tsonido.gif diff --git a/admin/WebConsole/images/iconos/universidades.gif b/admin/WebConsole/images/iconos/universidades.gif Binary files differnew file mode 100644 index 00000000..c3131d82 --- /dev/null +++ b/admin/WebConsole/images/iconos/universidades.gif diff --git a/admin/WebConsole/images/iconos/us.gif b/admin/WebConsole/images/iconos/us.gif Binary files differnew file mode 100644 index 00000000..c0c09c2a --- /dev/null +++ b/admin/WebConsole/images/iconos/us.gif diff --git a/admin/WebConsole/images/iconos/usb.gif b/admin/WebConsole/images/iconos/usb.gif Binary files differnew file mode 100644 index 00000000..5917ded6 --- /dev/null +++ b/admin/WebConsole/images/iconos/usb.gif diff --git a/admin/WebConsole/images/iconos/usuarios.gif b/admin/WebConsole/images/iconos/usuarios.gif Binary files differnew file mode 100644 index 00000000..0e06bb0a --- /dev/null +++ b/admin/WebConsole/images/iconos/usuarios.gif diff --git a/admin/WebConsole/images/iconos/usuarioslog.gif b/admin/WebConsole/images/iconos/usuarioslog.gif Binary files differnew file mode 100644 index 00000000..ad566da3 --- /dev/null +++ b/admin/WebConsole/images/iconos/usuarioslog.gif diff --git a/admin/WebConsole/images/iconos/vga.gif b/admin/WebConsole/images/iconos/vga.gif Binary files differnew file mode 100644 index 00000000..7e54815a --- /dev/null +++ b/admin/WebConsole/images/iconos/vga.gif diff --git a/admin/WebConsole/images/login_eng.jpg b/admin/WebConsole/images/login_eng.jpg Binary files differnew file mode 100644 index 00000000..e9be8e20 --- /dev/null +++ b/admin/WebConsole/images/login_eng.jpg diff --git a/admin/WebConsole/images/login_esp.jpg b/admin/WebConsole/images/login_esp.jpg Binary files differnew file mode 100644 index 00000000..e9be8e20 --- /dev/null +++ b/admin/WebConsole/images/login_esp.jpg diff --git a/admin/WebConsole/images/login_operador.png b/admin/WebConsole/images/login_operador.png Binary files differnew file mode 100644 index 00000000..3a172beb --- /dev/null +++ b/admin/WebConsole/images/login_operador.png diff --git a/admin/WebConsole/images/logo_us.gif b/admin/WebConsole/images/logo_us.gif Binary files differnew file mode 100644 index 00000000..6ff92f6e --- /dev/null +++ b/admin/WebConsole/images/logo_us.gif diff --git a/admin/WebConsole/images/menucontextual/eid.gif b/admin/WebConsole/images/menucontextual/eid.gif Binary files differnew file mode 100644 index 00000000..b9fd75a7 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/eid.gif diff --git a/admin/WebConsole/images/menucontextual/eii.gif b/admin/WebConsole/images/menucontextual/eii.gif Binary files differnew file mode 100644 index 00000000..481959ad --- /dev/null +++ b/admin/WebConsole/images/menucontextual/eii.gif diff --git a/admin/WebConsole/images/menucontextual/esd.gif b/admin/WebConsole/images/menucontextual/esd.gif Binary files differnew file mode 100644 index 00000000..19ce2af5 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/esd.gif diff --git a/admin/WebConsole/images/menucontextual/esi.gif b/admin/WebConsole/images/menucontextual/esi.gif Binary files differnew file mode 100644 index 00000000..7c745011 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/esi.gif diff --git a/admin/WebConsole/images/menucontextual/ldr.gif b/admin/WebConsole/images/menucontextual/ldr.gif Binary files differnew file mode 100644 index 00000000..4b07faa7 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/ldr.gif diff --git a/admin/WebConsole/images/menucontextual/lin.gif b/admin/WebConsole/images/menucontextual/lin.gif Binary files differnew file mode 100644 index 00000000..aaf97c0d --- /dev/null +++ b/admin/WebConsole/images/menucontextual/lin.gif diff --git a/admin/WebConsole/images/menucontextual/liz.gif b/admin/WebConsole/images/menucontextual/liz.gif Binary files differnew file mode 100644 index 00000000..9efee429 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/liz.gif diff --git a/admin/WebConsole/images/menucontextual/menucontextual%252flsu.gif b/admin/WebConsole/images/menucontextual/menucontextual%252flsu.gif Binary files differnew file mode 100644 index 00000000..7dce209a --- /dev/null +++ b/admin/WebConsole/images/menucontextual/menucontextual%252flsu.gif diff --git a/admin/WebConsole/images/menucontextual/menucontextual%252fswsbfb.gif b/admin/WebConsole/images/menucontextual/menucontextual%252fswsbfb.gif Binary files differnew file mode 100644 index 00000000..e661c874 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/menucontextual%252fswsbfb.gif diff --git a/admin/WebConsole/images/menucontextual/menucontextual%252fswsbfn.gif b/admin/WebConsole/images/menucontextual/menucontextual%252fswsbfn.gif Binary files differnew file mode 100644 index 00000000..e53f3175 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/menucontextual%252fswsbfn.gif diff --git a/admin/WebConsole/images/menucontextual/sep.gif b/admin/WebConsole/images/menucontextual/sep.gif Binary files differnew file mode 100644 index 00000000..403af482 --- /dev/null +++ b/admin/WebConsole/images/menucontextual/sep.gif diff --git a/admin/WebConsole/images/ordenador.gif b/admin/WebConsole/images/ordenador.gif Binary files differnew file mode 100644 index 00000000..a2966219 --- /dev/null +++ b/admin/WebConsole/images/ordenador.gif diff --git a/admin/WebConsole/images/ordenador_BSY.gif b/admin/WebConsole/images/ordenador_BSY.gif Binary files differnew file mode 100644 index 00000000..15960797 --- /dev/null +++ b/admin/WebConsole/images/ordenador_BSY.gif diff --git a/admin/WebConsole/images/ordenador_INI.gif b/admin/WebConsole/images/ordenador_INI.gif Binary files differnew file mode 100644 index 00000000..5d4b6681 --- /dev/null +++ b/admin/WebConsole/images/ordenador_INI.gif diff --git a/admin/WebConsole/images/ordenador_LNX.gif b/admin/WebConsole/images/ordenador_LNX.gif Binary files differnew file mode 100644 index 00000000..4ddbfc61 --- /dev/null +++ b/admin/WebConsole/images/ordenador_LNX.gif diff --git a/admin/WebConsole/images/ordenador_OFF.gif b/admin/WebConsole/images/ordenador_OFF.gif Binary files differnew file mode 100644 index 00000000..10dd0234 --- /dev/null +++ b/admin/WebConsole/images/ordenador_OFF.gif diff --git a/admin/WebConsole/images/ordenador_RMB.gif b/admin/WebConsole/images/ordenador_RMB.gif Binary files differnew file mode 100644 index 00000000..5d9306fc --- /dev/null +++ b/admin/WebConsole/images/ordenador_RMB.gif diff --git a/admin/WebConsole/images/ordenador_W2K.gif b/admin/WebConsole/images/ordenador_W2K.gif Binary files differnew file mode 100644 index 00000000..201c424d --- /dev/null +++ b/admin/WebConsole/images/ordenador_W2K.gif diff --git a/admin/WebConsole/images/ordenador_W95.gif b/admin/WebConsole/images/ordenador_W95.gif Binary files differnew file mode 100644 index 00000000..892527ba --- /dev/null +++ b/admin/WebConsole/images/ordenador_W95.gif diff --git a/admin/WebConsole/images/ordenador_W98.gif b/admin/WebConsole/images/ordenador_W98.gif Binary files differnew file mode 100644 index 00000000..66dccea5 --- /dev/null +++ b/admin/WebConsole/images/ordenador_W98.gif diff --git a/admin/WebConsole/images/ordenador_WML.gif b/admin/WebConsole/images/ordenador_WML.gif Binary files differnew file mode 100644 index 00000000..eccb6f8c --- /dev/null +++ b/admin/WebConsole/images/ordenador_WML.gif diff --git a/admin/WebConsole/images/ordenador_WXP.gif b/admin/WebConsole/images/ordenador_WXP.gif Binary files differnew file mode 100644 index 00000000..b7f969d3 --- /dev/null +++ b/admin/WebConsole/images/ordenador_WXP.gif diff --git a/admin/WebConsole/images/ordenadorflash.gif b/admin/WebConsole/images/ordenadorflash.gif Binary files differnew file mode 100644 index 00000000..7c84ff8f --- /dev/null +++ b/admin/WebConsole/images/ordenadorflash.gif diff --git a/admin/WebConsole/images/ordenadoroff.gif b/admin/WebConsole/images/ordenadoroff.gif Binary files differnew file mode 100644 index 00000000..99589b2b --- /dev/null +++ b/admin/WebConsole/images/ordenadoroff.gif diff --git a/admin/WebConsole/images/signos/mas_c.gif b/admin/WebConsole/images/signos/mas_c.gif Binary files differnew file mode 100644 index 00000000..4b7c5ff7 --- /dev/null +++ b/admin/WebConsole/images/signos/mas_c.gif diff --git a/admin/WebConsole/images/signos/mas_l.gif b/admin/WebConsole/images/signos/mas_l.gif Binary files differnew file mode 100644 index 00000000..234fa3b4 --- /dev/null +++ b/admin/WebConsole/images/signos/mas_l.gif diff --git a/admin/WebConsole/images/signos/mas_root.gif b/admin/WebConsole/images/signos/mas_root.gif Binary files differnew file mode 100644 index 00000000..0d4c25c5 --- /dev/null +++ b/admin/WebConsole/images/signos/mas_root.gif diff --git a/admin/WebConsole/images/signos/mas_t.gif b/admin/WebConsole/images/signos/mas_t.gif Binary files differnew file mode 100644 index 00000000..6a16f21b --- /dev/null +++ b/admin/WebConsole/images/signos/mas_t.gif diff --git a/admin/WebConsole/images/signos/menos_c.gif b/admin/WebConsole/images/signos/menos_c.gif Binary files differnew file mode 100644 index 00000000..07c9e53b --- /dev/null +++ b/admin/WebConsole/images/signos/menos_c.gif diff --git a/admin/WebConsole/images/signos/menos_l.gif b/admin/WebConsole/images/signos/menos_l.gif Binary files differnew file mode 100644 index 00000000..cb387b78 --- /dev/null +++ b/admin/WebConsole/images/signos/menos_l.gif diff --git a/admin/WebConsole/images/signos/menos_root.gif b/admin/WebConsole/images/signos/menos_root.gif Binary files differnew file mode 100644 index 00000000..aa5aa96e --- /dev/null +++ b/admin/WebConsole/images/signos/menos_root.gif diff --git a/admin/WebConsole/images/signos/menos_t.gif b/admin/WebConsole/images/signos/menos_t.gif Binary files differnew file mode 100644 index 00000000..939d36bc --- /dev/null +++ b/admin/WebConsole/images/signos/menos_t.gif diff --git a/admin/WebConsole/images/signos/nada.gif b/admin/WebConsole/images/signos/nada.gif Binary files differnew file mode 100644 index 00000000..8c2dbf52 --- /dev/null +++ b/admin/WebConsole/images/signos/nada.gif diff --git a/admin/WebConsole/images/signos/nada_c.gif b/admin/WebConsole/images/signos/nada_c.gif Binary files differnew file mode 100644 index 00000000..0f0c35d2 --- /dev/null +++ b/admin/WebConsole/images/signos/nada_c.gif diff --git a/admin/WebConsole/images/signos/nada_l.gif b/admin/WebConsole/images/signos/nada_l.gif Binary files differnew file mode 100644 index 00000000..5ee20780 --- /dev/null +++ b/admin/WebConsole/images/signos/nada_l.gif diff --git a/admin/WebConsole/images/signos/nada_t.gif b/admin/WebConsole/images/signos/nada_t.gif Binary files differnew file mode 100644 index 00000000..600e2a31 --- /dev/null +++ b/admin/WebConsole/images/signos/nada_t.gif diff --git a/admin/WebConsole/images/tsignos/Copia de mas_l.gif b/admin/WebConsole/images/tsignos/Copia de mas_l.gif Binary files differnew file mode 100644 index 00000000..d8809144 --- /dev/null +++ b/admin/WebConsole/images/tsignos/Copia de mas_l.gif diff --git a/admin/WebConsole/images/tsignos/contra.gif b/admin/WebConsole/images/tsignos/contra.gif Binary files differnew file mode 100644 index 00000000..d36f9927 --- /dev/null +++ b/admin/WebConsole/images/tsignos/contra.gif diff --git a/admin/WebConsole/images/tsignos/desple.gif b/admin/WebConsole/images/tsignos/desple.gif Binary files differnew file mode 100644 index 00000000..cd4147d9 --- /dev/null +++ b/admin/WebConsole/images/tsignos/desple.gif diff --git a/admin/WebConsole/images/tsignos/mas_c.gif b/admin/WebConsole/images/tsignos/mas_c.gif Binary files differnew file mode 100644 index 00000000..d36f9927 --- /dev/null +++ b/admin/WebConsole/images/tsignos/mas_c.gif diff --git a/admin/WebConsole/images/tsignos/mas_l.gif b/admin/WebConsole/images/tsignos/mas_l.gif Binary files differnew file mode 100644 index 00000000..d36f9927 --- /dev/null +++ b/admin/WebConsole/images/tsignos/mas_l.gif diff --git a/admin/WebConsole/images/tsignos/mas_root.gif b/admin/WebConsole/images/tsignos/mas_root.gif Binary files differnew file mode 100644 index 00000000..d36f9927 --- /dev/null +++ b/admin/WebConsole/images/tsignos/mas_root.gif diff --git a/admin/WebConsole/images/tsignos/mas_t.gif b/admin/WebConsole/images/tsignos/mas_t.gif Binary files differnew file mode 100644 index 00000000..d36f9927 --- /dev/null +++ b/admin/WebConsole/images/tsignos/mas_t.gif diff --git a/admin/WebConsole/images/tsignos/menos_c.gif b/admin/WebConsole/images/tsignos/menos_c.gif Binary files differnew file mode 100644 index 00000000..07595785 --- /dev/null +++ b/admin/WebConsole/images/tsignos/menos_c.gif diff --git a/admin/WebConsole/images/tsignos/menos_l.gif b/admin/WebConsole/images/tsignos/menos_l.gif Binary files differnew file mode 100644 index 00000000..c558f88e --- /dev/null +++ b/admin/WebConsole/images/tsignos/menos_l.gif diff --git a/admin/WebConsole/images/tsignos/menos_root.gif b/admin/WebConsole/images/tsignos/menos_root.gif Binary files differnew file mode 100644 index 00000000..569c4816 --- /dev/null +++ b/admin/WebConsole/images/tsignos/menos_root.gif diff --git a/admin/WebConsole/images/tsignos/menos_t.gif b/admin/WebConsole/images/tsignos/menos_t.gif Binary files differnew file mode 100644 index 00000000..cd4147d9 --- /dev/null +++ b/admin/WebConsole/images/tsignos/menos_t.gif diff --git a/admin/WebConsole/images/tsignos/nada.gif b/admin/WebConsole/images/tsignos/nada.gif Binary files differnew file mode 100644 index 00000000..8c2dbf52 --- /dev/null +++ b/admin/WebConsole/images/tsignos/nada.gif diff --git a/admin/WebConsole/images/tsignos/nada_c.gif b/admin/WebConsole/images/tsignos/nada_c.gif Binary files differnew file mode 100644 index 00000000..856ac061 --- /dev/null +++ b/admin/WebConsole/images/tsignos/nada_c.gif diff --git a/admin/WebConsole/images/tsignos/nada_l.gif b/admin/WebConsole/images/tsignos/nada_l.gif Binary files differnew file mode 100644 index 00000000..747b307f --- /dev/null +++ b/admin/WebConsole/images/tsignos/nada_l.gif diff --git a/admin/WebConsole/images/tsignos/nada_t.gif b/admin/WebConsole/images/tsignos/nada_t.gif Binary files differnew file mode 100644 index 00000000..30312c63 --- /dev/null +++ b/admin/WebConsole/images/tsignos/nada_t.gif diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php new file mode 100644 index 00000000..30ee490e --- /dev/null +++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php @@ -0,0 +1,639 @@ +<?php +/*________________________________________________________________________________________________________ + La clave de configuración está formada por una serie de valores separados por ";" + Ejemplo:1;7;30000000;3;3;0;11 + + Parámetros: + 1) Número de partición + 2) Código de la partición + 3) Tamaño + 4) Identificador del sistema de ficheros instalado en la partición + 5) Identificador del nombre del sistema operativo instalado en la partición + 6) Identificador de la imagen restaurada en la partición + 7) Identificador del perfil software que contiene el S.O. instalado en la partición + + Además de este campo, la consulta almacena la descripción de los identificadores que forman parte + de esta clave compuesta de manera que el tiempo de acceso para recuperlarlos sean corto + ya que están en memoria y no en tablas. + + En el ejempo anterior podríamos tener datos + 1 NTFS 30000000 Windows NTFS Windows XP profesional NULL Perfil Software (CUR-8, Part:1) + Que indica: + 1) Número de partición + 2) Código de la partición + 3) Tamaño + 4) Descripción del sistema de ficheros instalado en la partición + 5) Descripción del nombre del sistema operativo instalado en la partición + 6) Descripción de la imagen restaurada en la partición + 7) Descripción del perfil software que contiene el S.O. instalado en la partición + + Estos datos se guardan en la misma tabla de claves que será una matriz asociativa. + + Parámetros de la función: + $cmd: Objeto comando (Operativo) + $idambito: Identificador del ámbito (identificador del Aula, grupo de ordenador u ordenador) + $ambito: Tipo de ambito (Aulas, grupos de ordenadores u ordenadores) + $sws: Switchs que indican el nivel de agrupamiento de los ordenadores para ser tratados + Se trata de un octeto de manera que si tiene un "1" en la posición determinada + indica que se requiere desplegar por ese parámetro: + 00000001- No agrupar por Sistema de ficheros + 00000010- No agrupar por Nombre de sistema Operativo + 00000100- No agrupar por Tamaño de partición + 00001000- No agrupar por Imagen instalada + 00010000- No agrupar por Perfil software contenido + $swr: Indica si se se tiene en cuenta las particiones no clonables (si:true o no:false) +________________________________________________________________________________________________________*/ +function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) +{ + global $tbKeys; // Tabla contenedora de claves de configuración + global $conKeys; // Contador de claves de configuración + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + global $msk_sysFi; + global $msk_nombreSO; + global $msk_tamano; + global $msk_imagen; + global $msk_perfil; + + $cmd->texto="SELECT + concat_WS( ';', + ordenadores_particiones.numpar, "; + + if($sws & $msk_tamano) + $cmd->texto.=" ordenadores_particiones.tamano,"; + + + if($sws & $msk_sysFi) + $cmd->texto.=" ordenadores_particiones.idsistemafichero, "; + + if($sws & $msk_nombreSO) + $cmd->texto.=" ordenadores_particiones.idnombreso, "; + + if($sws & $msk_imagen) + $cmd->texto.=" ordenadores_particiones.idimagen, "; + + if($sws & $msk_perfil) + $cmd->texto.=" ordenadores_particiones.idperfilsoft, "; + + $cmd->texto.=" ordenadores_particiones.codpar) as configuracion, + ordenadores_particiones.numpar , + ordenadores_particiones.codpar , + tipospar.tipopar, + tipospar.clonable, + ordenadores_particiones.tamano, + sistemasficheros.descripcion as sistemafichero, + ordenadores_particiones.idnombreso, + nombresos.nombreso, + imagenes.idimagen, + imagenes.descripcion as imagen, + imagenes.nombreca as nombreca, + imagenes.idrepositorio as repositorio, + ordenadores_particiones.idperfilsoft, + perfilessoft.descripcion as perfilsoft + + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso + INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar + LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen + LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft + LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero"; + + switch($ambito){ + case $AMBITO_AULAS : + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + break; + } + if($swr) // Si se trata de restauración no se tiene en cuenta las partciones no clonables + $cmd->texto.=" AND tipospar.clonable=1 "; + + $cmd->texto.=" GROUP by configuracion"; + //echo "carga claves:".$cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($tablaHtml); // Error al abrir recordset + $rs->Primero(); + $idx=0; + //echo $cmd->texto; + while (!$rs->EOF){ + $tbKeys[$idx]["cfg"]=$rs->campos["configuracion"]; + $tbKeys[$idx]["numpar"]=$rs->campos["numpar"]; + $tbKeys[$idx]["codpar"]=$rs->campos["codpar"]; + $tbKeys[$idx]["tipopar"]=$rs->campos["tipopar"]; + $tbKeys[$idx]["clonable"]=$rs->campos["clonable"]; + $tbKeys[$idx]["tamano"]=$rs->campos["tamano"]; + $tbKeys[$idx]["sistemafichero"]=$rs->campos["sistemafichero"]; + $tbKeys[$idx]["idnombreso"]=$rs->campos["idnombreso"]; + $tbKeys[$idx]["nombreso"]=$rs->campos["nombreso"]; + $tbKeys[$idx]["idimagen"]=$rs->campos["idimagen"]; + $tbKeys[$idx]["imagen"]=$rs->campos["imagen"]; + $tbKeys[$idx]["nombreca"]=$rs->campos["nombreca"]; + $tbKeys[$idx]["repositorio"]=$rs->campos["repositorio"]; + $tbKeys[$idx]["idperfilsoft"]=$rs->campos["idperfilsoft"]; + $tbKeys[$idx]["perfilsoft"]=$rs->campos["perfilsoft"]; + $idx++; + $rs->Siguiente(); + } + $conKeys=$idx; // Guarda contador + $rs->Cerrar(); +} +/*________________________________________________________________________________________________________ + Dibuja la tabla de configuración de las particiones de un grupo de ordenadores + + Parámetros de la función: + $cmd: Objeto comando (Operativo) + $idambito: Identificador del ámbito (identificador del Aula, grupo de ordenador u ordenador) + $ambito: Tipo de ambito (Aulas, grupos de ordenadores u ordenadores) + $sws: Switchs que indican el nivel de agrupamiento (ver comentarios de la función(cargaCaves) + $swr: Indica si se se tiene en cuenta las particiones no clonables (true:sólo conables , false:todas) + + Especificaciones: + Esta función llama a pintaParticiones() que es realmente la encargada de mostrar o bien la + configuración de los ordenadores o la pantalla de los comandos "Configurar" o "RestaurarImagen" + para permitir introducir los datos necesarios. +________________________________________________________________________________________________________*/ +function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr) +{ + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + global $msk_sysFi; + global $msk_nombreSO; + global $msk_tamano; + global $msk_imagen; + global $msk_perfil; + + cargaCaves($cmd,$idambito,$ambito,$sws,$swr); + cargaSistemasFicheros($cmd,$idambito,$ambito); + cargaPerfiles($cmd,$idambito,$ambito); + cargaImagenes($cmd,$idambito,$ambito); + cargaNombresSO($cmd,$idambito,$ambito); + cargaTamano($cmd,$idambito,$ambito); + + $cmd->texto="SELECT + count(*) as con, + group_concat(cast( temp2.idordenador AS char( 11 ) ) ORDER BY temp2.idordenador SEPARATOR ',' ) AS idordenadores, + temp2.configuraciones + FROM + (SELECT + temp1.idordenador as idordenador, + group_concat(cast( temp1.configuracion AS char( 250) ) ORDER BY temp1.configuracion SEPARATOR '@' ) AS configuraciones + FROM + (SELECT ordenadores_particiones.idordenador, + ordenadores_particiones.numpar, + concat_WS( ';', + ordenadores_particiones.numpar, "; + + if($sws & $msk_tamano) + $cmd->texto.=" ordenadores_particiones.tamano,"; + + if($sws & $msk_sysFi) + $cmd->texto.=" ordenadores_particiones.idsistemafichero, "; + + if($sws & $msk_nombreSO) + $cmd->texto.=" ordenadores_particiones.idnombreso, "; + + if($sws & $msk_imagen) + $cmd->texto.=" ordenadores_particiones.idimagen, "; + + if($sws & $msk_perfil) + $cmd->texto.=" ordenadores_particiones.idperfilsoft, "; + + $cmd->texto.=" ordenadores_particiones.codpar) as configuracion + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso + INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar + LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen + LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft + LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero"; + + switch($ambito){ + case $AMBITO_AULAS : + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador=".$idambito; + break; + } + if($swr) // Si se trata de restauración no se tiene en cuenta las particiones no clonables + $cmd->texto.=" AND tipospar.clonable=1 "; + + $cmd->texto.=" ORDER BY ordenadores_particiones.idordenador,ordenadores_particiones.numpar) as temp1 + GROUP BY temp1.idordenador) as temp2 + GROUP BY temp2.configuraciones + ORDER BY con desc,idordenadores"; + + //echo $cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $cc=0; // Contador de configuraciones + echo '<TABLE id="tabla_conf" width="95%" class="tabla_listados_sin" align=center border=0 cellPadding=0 cellSpacing=1>'; + while (!$rs->EOF){ + $cc++; + //Muestra ordenadores + echo '<TR><TD colspan='.$colums.' style="BACKGROUND-COLOR: #FFFFFF;">'; + echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc); + echo '</TD></TR>'; + //Muestra particiones y configuración + + echo pintaParticiones($cmd,$rs->campos["configuraciones"],$rs->campos["idordenadores"],$cc); + $rs->Siguiente(); + } + echo "</TABLE>"; + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +// Descripción: +// Muestra una taba html con el icono de ordenadores +// Parametros: +// $cmd: Objeto comando (operativo) +// $idordenadores: Cadena con los identificadores de los ordenadores separados por "," +// $maxcontor: Número máximo de ordenadores por fila +// $cc: Identificador del bloque de configuración +//________________________________________________________________________________________________________ +function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc) +{ + $tablaHtml.=""; + $contor=0; + $maxcontor=10; // Número máximo de prodenadores por fila + $cmd->texto=" SELECT idordenador,nombreordenador,ip FROM ordenadores WHERE idordenador in (".$idordenadores." ) ORDER BY nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + $tablaHtml.='<TABLE align=left border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><TR>'; + while (!$rs->EOF){ + $contor++; + $tablaHtml.= '<TD align=center style="BACKGROUND-COLOR: #FFFFFF;"> + <IMG src="../images/iconos/ordenador.gif" > + <br><span style="FONT-SIZE:9px; COLOR: #4f4f4f;" >'.$rs->campos["nombreordenador"].'</span> + </TD>'; + if($contor>$maxcontor){ + $contor=0; + $tablaHtml.='</TR><TR>'; + } + $rs->Siguiente(); + } + $tablaHtml.='</TR>'; + $tablaHtml.= '</TABLE>'; + return($tablaHtml); +} +/*________________________________________________________________________________________________________ + + Selecciona los ordenadores que tienen el mismo sistema de ficheros del ámbito elegido +________________________________________________________________________________________________________*/ +function cargaSistemasFicheros($cmd,$idambito,$ambito) +{ + global $tbSysFi; // Tabla contenedora de ordenadores incluidos en la consulta + global $conSysFi; // Contador de elementos anteriores + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idsistemafichero,ordenadores_particiones.numpar, + sistemasficheros.descripcion as sistemafichero, + group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + INNER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero"; + + switch($ambito){ + case $AMBITO_AULAS : + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + break; + } + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idsistemafichero"; + //echo "carga sistemas de ficheros:".$cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $idx=0; + //echo $cmd->texto; + while (!$rs->EOF){ + $tbSysFi[$idx]["idsistemafichero"]=$rs->campos["idsistemafichero"]; + $tbSysFi[$idx]["numpar"]=$rs->campos["numpar"]; + $tbSysFi[$idx]["sistemafichero"]=$rs->campos["sistemafichero"]; + $tbSysFi[$idx]["ordenadores"]=$rs->campos["ordenadores"]; + $idx++; + $rs->Siguiente(); + } + $conSysFi=$idx; // Guarda contador + $rs->Cerrar(); +} +/*________________________________________________________________________________________________________ + + Toma sistema de ficheros común a los ordenadores pasados como parámetros +________________________________________________________________________________________________________*/ +function tomaSistemasFicheros($numpar,$ordenadores,$sw=false) +{ + global $tbSysFi; // Tabla contenedora de ordenadores incluidos en la consulta + global $conSysFi; // Contador de elementos anteriores + + for($k=0;$k<$conSysFi;$k++){ + $pos = strpos($tbSysFi[$k]["ordenadores"], $ordenadores); + if ($pos !== false) { // Cadena encontrada + if($tbSysFi[$k]["numpar"]==$numpar){ + if($sw) // Retonar identificador + return($tbSysFi[$k]["idsistemafichero"]); + else + return($tbSysFi[$k]["sistemafichero"]); + } + } + } +} +/*________________________________________________________________________________________________________ + + Selecciona los ordenadores que tienen el mismo perfil software en la misma partición +________________________________________________________________________________________________________*/ +function cargaPerfiles($cmd,$idambito,$ambito) +{ + global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta + global $conPerfil; // Contador de elementos anteriores + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idperfilsoft,ordenadores_particiones.numpar,perfilessoft.descripcion as perfilsoft, + group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + INNER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft"; + + switch($ambito){ + case $AMBITO_AULAS : + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + break; + } + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idperfilsoft"; + //echo "carga perfiles:".$cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $idx=0; + while (!$rs->EOF){ + $tbPerfil[$idx]["idperfilsoft"]=$rs->campos["idperfilsoft"]; + $tbPerfil[$idx]["perfilsoft"]=$rs->campos["perfilsoft"]; + $tbPerfil[$idx]["numpar"]=$rs->campos["numpar"]; + $tbPerfil[$idx]["ordenadores"]=$rs->campos["ordenadores"]; + $idx++; + $rs->Siguiente(); + } + $conPerfil=$idx; // Guarda contador + $rs->Cerrar(); +} +/*________________________________________________________________________________________________________ + + Toma perfilsoft común a los ordenadores pasados como parámetros +________________________________________________________________________________________________________*/ +function tomaPerfiles($numpar,$ordenadores) +{ + global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta + global $conPerfil; // Contador de elementos anteriores + + for($k=0;$k<$conPerfil;$k++){ + $pos = strpos($tbPerfil[$k]["ordenadores"], $ordenadores); + if ($pos !== false) { // Cadena encontrada + if($tbPerfil[$k]["numpar"]==$numpar) + return($tbPerfil[$k]["perfilsoft"]); + } + } +} +/*________________________________________________________________________________________________________ + + Selecciona los ordenadores que tienen la misma imagen en la misma partición +________________________________________________________________________________________________________*/ +function cargaImagenes($cmd,$idambito,$ambito) +{ + global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta + global $conImg; // Contador de elementos anteriores + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idimagen,ordenadores_particiones.numpar,imagenes.descripcion as imagen, + group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + INNER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen"; + + switch($ambito){ + case $AMBITO_AULAS : + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + break; + } + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idimagen"; + //echo "carga imagenes:".$cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $idx=0; + while (!$rs->EOF){ + $tbImg[$idx]["idimagen"]=$rs->campos["idimagen"]; + $tbImg[$idx]["imagen"]=$rs->campos["imagen"]; + $tbImg[$idx]["numpar"]=$rs->campos["numpar"]; + $tbImg[$idx]["ordenadores"]=$rs->campos["ordenadores"]; + $idx++; + $rs->Siguiente(); + } + $conImg=$idx; // Guarda contador + $rs->Cerrar(); +} +/*________________________________________________________________________________________________________ + + Toma sistema operativo común a los ordenadores pasados como parámetros +________________________________________________________________________________________________________*/ +function tomaImagenes($numpar,$ordenadores) +{ + global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta + global $conImg; // Contador de elementos anteriores + + for($k=0;$k<$conImg;$k++){ + $pos = strpos($tbImg[$k]["ordenadores"], $ordenadores); + if ($pos !== false) { // Cadena encontrada + if($tbImg[$k]["numpar"]==$numpar) + return($tbImg[$k]["imagen"]); + } + } +} +/*________________________________________________________________________________________________________ + + Selecciona los ordenadores que tienen el mismo sistema de ficheros en la misma partición +________________________________________________________________________________________________________*/ +function cargaNombresSO($cmd,$idambito,$ambito) +{ + global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta + global $conSO; // Contador de elementos anteriores + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idnombreso,ordenadores_particiones.numpar,nombresos.nombreso, + group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + INNER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso"; + + switch($ambito){ + case $AMBITO_AULAS : + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + break; + } + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idnombreso"; + //echo "carga nombresos:".$cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $idx=0; + while (!$rs->EOF){ + $tbSO[$idx]["idnombreso"]=$rs->campos["idnombreso"]; + $tbSO[$idx]["nombreso"]=$rs->campos["nombreso"]; + $tbSO[$idx]["numpar"]=$rs->campos["numpar"]; + $tbSO[$idx]["ordenadores"]=$rs->campos["ordenadores"]; + $idx++; + $rs->Siguiente(); + } + $conSO=$idx; // Guarda contador + $rs->Cerrar(); +} +/*________________________________________________________________________________________________________ + + Toma sistema operativo común a los ordenadores pasados como parámetros +________________________________________________________________________________________________________*/ +function tomaNombresSO($numpar,$ordenadores) +{ + global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta + global $conSO; // Contador de elementos anteriores + + for($k=0;$k<$conSO;$k++){ + $pos = strpos($tbSO[$k]["ordenadores"], $ordenadores); + if ($pos !== false) { // Cadena encontrada + if($tbSO[$k]["numpar"]==$numpar) + return($tbSO[$k]["nombreso"]); + } + } +} +/*________________________________________________________________________________________________________ + + Selecciona los ordenadores que tienen el mismo tamaño para la misma partición +________________________________________________________________________________________________________*/ +function cargaTamano($cmd,$idambito,$ambito) +{ + global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta + global $conTam; // Contador de elementos anteriores + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + $cmd->texto="SELECT count(*) as con,ordenadores_particiones.tamano,ordenadores_particiones.numpar, + group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador"; + + switch($ambito){ + case $AMBITO_AULAS : + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; + break; + case $AMBITO_ORDENADORES : + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + break; + } + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.tamano"; + //echo "carga tamaños:".$cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $idx=0; + while (!$rs->EOF){ + $tbTam[$idx]["tamano"]=$rs->campos["tamano"]; + $tbTam[$idx]["numpar"]=$rs->campos["numpar"]; + $tbTam[$idx]["ordenadores"]=$rs->campos["ordenadores"]; + $idx++; + $rs->Siguiente(); + } + $conTam=$idx; // Guarda contador + $rs->Cerrar(); +} +/*________________________________________________________________________________________________________ + + Toma tamaño de partición común a los ordenadores pasados como parámetros +________________________________________________________________________________________________________*/ +function tomaTamano($numpar,$ordenadores) +{ + global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta + global $conTam; // Contador de elementos anteriores + + for($k=0;$k<$conTam;$k++){ + $pos = strpos($tbTam[$k]["ordenadores"], $ordenadores); + if ($pos !== false) { // Cadena encontrada + if($tbTam[$k]["numpar"]==$numpar) + return($tbTam[$k]["tamano"]); + } + } +} + +?> diff --git a/admin/WebConsole/includes/CreaComando.php b/admin/WebConsole/includes/CreaComando.php new file mode 100644 index 00000000..06bce0bb --- /dev/null +++ b/admin/WebConsole/includes/CreaComando.php @@ -0,0 +1,24 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: CreaComando.php +// Descripción : +// Devuelve una objeto comando totalmente operativo (con la conexión abierta) +// Parametros: +// - cadenaconexion: Una cadena con los datos necesarios para la conexión: nombre del servidor +// usuario,password,base de datos,etc separados por coma +// ************************************************************************************************************************************************* +function CreaComando($cadenaconexion){ + $strcn=split(";",$cadenaconexion); + $cn=new Conexion; + $cmd=new Comando; + $cn->CadenaConexion($strcn[0],$strcn[1],$strcn[2],$strcn[3],$strcn[4]); + if (!$cn->Abrir()) return (false); + $cn->SetUtf8(); + $cmd->Conexion=&$cn; + return($cmd); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/includes/CreaTablaParametros.php b/admin/WebConsole/includes/CreaTablaParametros.php new file mode 100644 index 00000000..53757345 --- /dev/null +++ b/admin/WebConsole/includes/CreaTablaParametros.php @@ -0,0 +1,50 @@ +<?
+// *************************************************************************************************************************************************
+// Aplicación WEB: ogAdmWebCon.
+// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creación: 2009-2010
+// Fecha Última modificación: Agosto-2010
+// Nombre del fichero: CreaTablaParametros.php
+// Descripción :
+// Crea una tabla en memoria con especificaciones sobre los parámetros de cada comando
+// Parametros:
+// - cmd: Un comando ya operativo (con conexión abierta)
+// - tabla_parametros: Referencia a la tabla donde se guardarán las especificaciones
+// - cont_parametros: Referencia a la variable que contendrá el número de elementos totales de la tabla
+// *************************************************************************************************************************************************
+function CreaTablaParametros($cmd,$tabla_parametros,$cont_parametros){
+ $rs=new Recordset;
+ $cmd->texto="SELECT * FROM parametros";
+ $rs->Comando=&$cmd;
+ if (!$rs->Abrir()) return; // Error al abrir recordset
+ $rs->Primero();
+ $cont=0;
+ while (!$rs->EOF){
+ $auxtabla_parametros="";
+ $auxtabla_parametros["nemonico"]=$rs->campos["nemonico"];
+ $auxtabla_parametros["descripcion"]=$rs->campos["descripcion"];
+ $auxtabla_parametros["nomidentificador"]=$rs->campos["nomidentificador"];
+ $auxtabla_parametros["nomtabla"]=$rs->campos["nomtabla"];
+ $auxtabla_parametros["nomliteral"]=$rs->campos["nomliteral"];
+ $tabla_parametros[$cont][0]=$auxtabla_parametros["nemonico"];
+ $tabla_parametros[$cont][1]=$auxtabla_parametros;
+ $cont++;
+ $rs->Siguiente();
+ }
+ $auxnemonico="";
+ // Ordena según el nemonico
+ for ($i=0;$i<$cont-1;$i++){
+ for ($j=$i+1;$j<$cont;$j++){
+ if($tabla_parametros[$i][0]>$tabla_parametros[$j][0]){
+ $auxnemonico=$tabla_parametros[$i][0];
+ $tabla_parametros[$i][0]=$tabla_parametros[$j][0];
+ $tabla_parametros[$j][0]=$auxnemonico;
+ $auxtabla_parametros=$tabla_parametros[$i][1];
+ $tabla_parametros[$i][1]=$tabla_parametros[$j][1];
+ $tabla_parametros[$j][1]=$auxtabla_parametros;
+ }
+ }
+ }
+ $cont_parametros=$cont;
+}
+?> diff --git a/admin/WebConsole/includes/FicherosPost.php b/admin/WebConsole/includes/FicherosPost.php new file mode 100644 index 00000000..41858981 --- /dev/null +++ b/admin/WebConsole/includes/FicherosPost.php @@ -0,0 +1,51 @@ +<? +//________________________________________________________________________________________ +// +// Salva un fichero enviado por POST +// Parámetros: +// - $UrlPagina: Url de la página que carga el fichero +// - $NombreFicheroPost: Nombre temporal que le da php al fichero post +// - $NombreFichero: Nombre definitivo que tendrá el fichero +//________________________________________________________________________________________ +function SalvaFichero_POST($UrlPagina,$NombreFicheroPost,$NombreFichero,$UrlFichero){ + + $UrlCarpetaPagina=dirname($UrlPagina); + $UrlFichero=$UrlCarpetaPagina."/iconos/".$NombreFichero; + + $PathFisicoFichero=TomaPathFIsico($UrlPagina,$NombreFichero); + + if (file_exists($PathFisicoFichero)) // Borra el fichero si existe + unlink($PathFisicoFichero); + $resul=move_uploaded_file($NombreFicheroPost,$PathFisicoFichero); // salva el fichero + return($resul); +} +//________________________________________________________________________________________ +// +// Elimina un fichero en el servidor +// Parámetros: +// - $UrlPagina: Url de la página que carga el fichero +// - $NombreFichero: Nombre definitivo que tendrá el fichero +//________________________________________________________________________________________ +function EliminaFichero($UrlPagina,$NombreFichero){ + $PathFisicoFichero=TomaPathFIsico($UrlPagina,$NombreFichero); + $resul=false; + if (file_exists($PathFisicoFichero)) // Borra el fichero si existe + $resul=unlink($PathFisicoFichero); + return($resul); +} +//________________________________________________________________________________________ +// +// Toma el path físico de un fichero +// Parámetros: +// - $UrlPagina: Url de la página que carga el fichero +// - $NombreFichero: Nombre definitivo que tendrá el fichero +//________________________________________________________________________________________ +function TomaPathFisico($UrlPagina,$NombreFichero){ + $Nombrepagina=basename($UrlPagina); + $PathFisicoPagina=realpath($Nombrepagina); + $PathFisicoCarpetaPagina=dirname($PathFisicoPagina); + $PathFisicoCarpetaFichero=$PathFisicoCarpetaPagina."/iconos"; + $PathFisicoFichero=$PathFisicoCarpetaPagina."/iconos/".$NombreFichero; + return($PathFisicoFichero); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/includes/HTMLCTEMULSELECT.php b/admin/WebConsole/includes/HTMLCTEMULSELECT.php new file mode 100644 index 00000000..6c4f479f --- /dev/null +++ b/admin/WebConsole/includes/HTMLCTEMULSELECT.php @@ -0,0 +1,37 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: HTMLCTEMULSELECT.php +// Descripción : +// Crea la etiqueta html <SELECT> multiselección, de valores constantes +// Parametros: +// - parametros: Una cadena con la forma valor=literal separada por un caracter INTRO +// - nombreid: Nombre del desplegable (atributo HTML name) +// - tbvalor: Array con los valores de las opciones que aparecerán seleccionadas +// - clase: Clase que define su estilo +// - eventochg: Nombre de la función que se ejecutará en respuesta al evento onchange( por defecto: ninguna) +// - ancho: Anchura del desplegable +// - alto: Altura del desplegable +// ************************************************************************************************************************************************* +function HTMLCTEMULSELECT($parametros,$nombreid,$tbvalor,$clase,$eventochg,$ancho,$alto){ + if (!empty($eventochg)) $eventochg='onchange="'.$eventochg.'(this);"'; + if (empty($clase)) $clase='formulariodatos'; + $x=0; + $opciones=split(chr(13),$parametros); + $SelectHtml= '<SELECT '.$eventochg.' class="'.$clase.'" name="'.$nombreid.'" multiple size='.$alto.' style="WIDTH: '.$ancho.'">'; + for($i=0;$i<sizeof($opciones);$i++){ + $item=split("=",$opciones[$i]); + $SelectHtml.= '<OPTION value="'.$item[0].'"'; + if (isset($tbvalor[$x])){ + if($tbvalor[$x]==$item[0]) { + $SelectHtml.=" selected "; + $x++; + } + } + $SelectHtml.= '>'.$item[1].'</OPTION>'; + } + return($SelectHtml); +}
\ No newline at end of file diff --git a/admin/WebConsole/includes/HTMLCTESELECT.php b/admin/WebConsole/includes/HTMLCTESELECT.php new file mode 100644 index 00000000..bd07d085 --- /dev/null +++ b/admin/WebConsole/includes/HTMLCTESELECT.php @@ -0,0 +1,31 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: HTMLCTESELECT.php +// Descripción : +// Crea la etiqueta html <SELECT> de valores constantes +// Parametros: +// - parametros:Una cadena con la forma valor=literal separada por un caracter INTRO +// - nombreid: Nombre del desplegable (atributo HTML name) +// - clase: Clase que define su estilo +// - defaultlit: Literal de la primera opción cuyo valor es siempre 0 +// - valorselec: Valor del item que saldrá seleccionado por defecto +// - ancho: Anchura del desplegable +// - eventochg: Nombre de la función que se ejecutará en respuesta al evento onchange +// ************************************************************************************************************************************************* +function HTMLCTESELECT($parametros,$nombreid,$clase,$defaultlit,$valorselec,$ancho,$eventochg=""){ + if (!empty($eventochg)) $eventochg='onchange="'.$eventochg.'(this);"'; + $opciones=split(chr(13),$parametros); + $SelectHtml= '<SELECT '.$eventochg.' class= "'.$clase.'" id='.$nombreid.' name="'.$nombreid.'" style="WIDTH: '.$ancho.'">'; + if (!empty($defaultlit)) $SelectHtml.= '<OPTION value="0">'.$defaultlit.'</OPTION>'; + for($i=0;$i<sizeof($opciones);$i++){ + $item=split("=",$opciones[$i]); + $SelectHtml.= '<OPTION value="'.$item[0].'"'; + if($valorselec==$item[0]) $SelectHtml.=" selected "; + $SelectHtml.= '>'.$item[1].'</OPTION>'; + } + return($SelectHtml); +}
\ No newline at end of file diff --git a/admin/WebConsole/includes/HTMLMULSELECT.php b/admin/WebConsole/includes/HTMLMULSELECT.php new file mode 100644 index 00000000..e6844b03 --- /dev/null +++ b/admin/WebConsole/includes/HTMLMULSELECT.php @@ -0,0 +1,52 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: HTMLSELECT.php +// Descripción : +// Crea la etiqueta html <SELECT> con valores procedentes de una tabla ( eleccciones multiples) +// Parametros: +// - cmd:Un comando ya operativo (con conexión abierta) +// - idcentro:Centro al que pertene el registro donde se encuentra el dato a recuperar, será 0 para no contemplar este dato +// - nombretabla: Nombre de la tabla origen de los datos +// - identificador: Valor del campo identificador del registro +// - nombreid: Nombre del campo identificador del registro +// - nombreliteral: Nombre del campo de la tabla que mostrará el desplegable +// - ancho: Anchura del desplegable +// - eventochg: Nombre de la función que se ejecutará en respuesta al evento onchange( por defecto: ninguna) +// - clase: Clase que define su estilo (por defecto: formulariodatos) +// - clausulawhere: Clausula Where adicional +// ************************************************************************************************************************************************* +function HTMLMULSELECT($cmd,$idcentro,$nombretabla,$identificador,$nombreid,$nombreliteral,$ancho,$eventochg = "",$clase="",$clausulawhere=""){ + if (!empty($eventochg)) $eventochg='onchange="'.$eventochg.'(this);"'; + if (empty($clase)) $clase='formulariodatos'; + $SelectHtml=""; + $rs=new Recordset; + if ($idcentro>0){ + $cmd->texto='SELECT * FROM '.$nombretabla.' WHERE idcentro='.$idcentro; + if(!empty($clausulawhere)) + $cmd->texto.=" AND (".$clausulawhere.")"; + } + else{ + $cmd->texto='SELECT * FROM '.$nombretabla; + if(!empty($clausulawhere)) + $cmd->texto.=" WHERE (".$clausulawhere.")"; + } + $cmd->texto.=' ORDER BY '.$nombreliteral; + + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + $SelectHtml.= '<SELECT '.$eventochg.' class="'.$clase.'" multiple name="'.$nombreid.'" style="WIDTH: '.$ancho.'">'; + $SelectHtml.= ' <OPTION value="0"></OPTION>'; + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos[$nombreid].'"'; + If ($rs->campos[$nombreid]==$identificador) $SelectHtml.= ' selected ' ; + $SelectHtml.= '>'.$rs->campos[$nombreliteral].'</OPTION>'; + $rs->Siguiente(); + }$SelectHtml.= '</SELECT>'; + $rs->Cerrar(); + return($SelectHtml); +}
\ No newline at end of file diff --git a/admin/WebConsole/includes/HTMLSELECT.php b/admin/WebConsole/includes/HTMLSELECT.php new file mode 100644 index 00000000..077e7680 --- /dev/null +++ b/admin/WebConsole/includes/HTMLSELECT.php @@ -0,0 +1,52 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: HTMLSELECT.php +// Descripción : +// Crea la etiqueta html <SELECT> con valores procedentes de una tabla +// Parametros: +// - cmd:Un comando ya operativo (con conexión abierta) +// - idcentro:Centro al que pertene el registro donde se encuentra el dato a recuperar, será 0 para no contemplar este dato +// - nombretabla: Nombre de la tabla origen de los datos +// - identificador: Valor del campo identificador del registro +// - nombreid: Nombre del campo identificador del registro +// - nombreliteral: Nombre del campo de la tabla que mostrará el desplegable +// - ancho: Anchura del desplegable +// - eventochg: Nombre de la función que se ejecutará en respuesta al evento onchange( por defecto: ninguna) +// - clase: Clase que define su estilo (por defecto: formulariodatos) +// - clausulawhere: Clausula Where adicional +// ************************************************************************************************************************************************* +function HTMLSELECT($cmd,$idcentro,$nombretabla,$identificador,$nombreid,$nombreliteral,$ancho,$eventochg = "",$clase="",$clausulawhere=""){ + if (!empty($eventochg)) $eventochg='onchange="'.$eventochg.'(this);"'; + if (empty($clase)) $clase='formulariodatos'; + $SelectHtml=""; + $rs=new Recordset; + if ($idcentro>0){ + $cmd->texto='SELECT * FROM '.$nombretabla.' WHERE idcentro='.$idcentro; + if(!empty($clausulawhere)) + $cmd->texto.=" AND (".$clausulawhere.")"; + } + else{ + $cmd->texto='SELECT * FROM '.$nombretabla; + if(!empty($clausulawhere)) + $cmd->texto.=" WHERE (".$clausulawhere.")"; + } + $cmd->texto.=' ORDER BY '.$nombreliteral; + //echo "<br>".$cmd->texto; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + $SelectHtml.= '<SELECT '.$eventochg.' class="'.$clase.'" name="'.$nombreid.'" style="WIDTH: '.$ancho.'">'; + $SelectHtml.= ' <OPTION value="0"></OPTION>'; + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos[$nombreid].'"'; + If ($rs->campos[$nombreid]==$identificador) $SelectHtml.= ' selected ' ; + $SelectHtml.= '>'.$rs->campos[$nombreliteral].'</OPTION>'; + $rs->Siguiente(); + }$SelectHtml.= '</SELECT>'; + $rs->Cerrar(); + return($SelectHtml); +}
\ No newline at end of file diff --git a/admin/WebConsole/includes/InvFecha.php b/admin/WebConsole/includes/InvFecha.php new file mode 100644 index 00000000..5bc46c4a --- /dev/null +++ b/admin/WebConsole/includes/InvFecha.php @@ -0,0 +1,37 @@ +<? +/*______________________________________________________________________ + Cambia de posicion los extremos de una fecha. Devuelve una fecha con formato + dd-mm-aaaa si el formato de entrada es aaaa-mm-dd y viseversa + Parametros: + - fecha: Una cadena con los datos de una fecha +_______________________________________________________________________*/ +function InvFecha($fecha){ + if ($fecha=="0000-00-00")return(""); + + $auxsplit=split(" ",$fecha); + list($anno_p,$mes_p,$dia_p)=split("[/-]",$auxsplit[0]); + $fecha_p=$dia_p.'-'.$mes_p.'-'.$anno_p; + return($fecha_p); +} +//////////////////////////////////////////////////// +//Convierte fecha de mysql a normal +//////////////////////////////////////////////////// +function sacafechaDB($fecha){ + ereg( "([0-9]{2,4})-([0-9]{1,2})-([0-9]{1,2})", $fecha, $mifecha); + $lafecha=$mifecha[3]."/".$mifecha[2]."/".$mifecha[1]; + return $lafecha; +} + +//////////////////////////////////////////////////// +//Convierte fecha de normal a mysql +//////////////////////////////////////////////////// + +function metefechaDB($fecha){ + ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha); + $lafecha=$mifecha[3]."-".$mifecha[2]."-".$mifecha[1]; + return $lafecha; +} +function HoraValida($hora){ + if ($hora=="00:00:00")return(""); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/includes/RecopilaIpesMacs.php b/admin/WebConsole/includes/RecopilaIpesMacs.php new file mode 100644 index 00000000..67bc5145 --- /dev/null +++ b/admin/WebConsole/includes/RecopilaIpesMacs.php @@ -0,0 +1,149 @@ +<? +// ************************************************************************************************************************************************* +// 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: RecopilaIpesMacs.php +// Descripción : +// Recopila las IPes, las Macs y los identificadores de ordenadores de un ámbito determinado +// +// Especificaciones: +// Esta Función recibe tres parámatros: +// cmd : Un objeto comando totalmente operativo +// ambito: Ámbito +// idambito: Identificador del ámbito +// +// Devuelve: +// Todas los identificadores de ordenadores , las ipes y las macs de los ordenadores que componen el ámbito +// Para ellos habrá que tener declarada tres variables globales : +// $cadenaid, $cadenaip y $cadenamac +// ************************************************************************************************************************************************* +function RecopilaIpesMacs($cmd,$ambito,$idambito){ + global $cadenaid; + global $cadenaip; + global $cadenamac; + + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + + $rs=new Recordset; + switch($ambito){ + case $AMBITO_CENTROS : + $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; + RecorreCentro($cmd); + break; + case $AMBITO_GRUPOSAULAS : + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + break; + case $AMBITO_AULAS : + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito; + RecorreAulas($cmd); + break; + case $AMBITO_GRUPOSORDENADORES : + $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idgrupo=".$idambito; + RecorreGruposOrdenadores($cmd); + break; + case $AMBITO_ORDENADORES : + $cmd->texto="SELECT ip,mac,nombreordenador,idordenador FROM ordenadores WHERE idordenador=".$idambito; + RecorreOrdenadores($cmd); + break; + default: // Se trata de un conjunto aleatorio de ordenadores + $cmd->texto="SELECT ip,mac,nombreordenador,idordenador FROM ordenadores WHERE idordenador IN (".$idambito.")"; + RecorreOrdenadores($cmd); + + } + $cadenaid=substr($cadenaid,0,strlen($cadenaid)-1); // Quita la coma + $cadenaip=substr($cadenaip,0,strlen($cadenaip)-1); // Quita la coma + $cadenamac=substr($cadenamac,0,strlen($cadenamac)-1); // Quita la coma +} +//________________________________________________________________________________________________________ +function RecorreCentro($cmd){ + global $AMBITO_GRUPOSAULAS; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + if(!$rs->EOF){ + $idcentro=$rs->campos["idcentro"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0"; + RecorreAulas($cmd); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposAulas($cmd){ + global $AMBITO_GRUPOSAULAS; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo. " AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE grupoid=".$idgrupo; + RecorreAulas($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreAulas($cmd){ + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idaula=$rs->campos["idaula"]; + $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idaula=".$idaula." AND grupoid=0"; + RecorreGruposOrdenadores($cmd); + $cmd->texto="SELECT ip,mac,nombreordenador,idordenador FROM ordenadores WHERE idaula=".$idaula." AND grupoid=0"; + RecorreOrdenadores($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposOrdenadores($cmd){ + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE grupoid=".$idgrupo; + RecorreGruposOrdenadores($cmd); + $cmd->texto="SELECT ip,mac,nombreordenador,idordenador FROM ordenadores WHERE grupoid=".$idgrupo; + RecorreOrdenadores($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreOrdenadores($cmd){ + global $cadenaid; + global $cadenaip; + global $cadenamac; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + while (!$rs->EOF){ + $cadenaid.=$rs->campos["idordenador"].","; + $cadenaip.=$rs->campos["ip"].";"; + $cadenamac.=$rs->campos["mac"].";"; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +?> diff --git a/admin/WebConsole/includes/RedireccionaError.php b/admin/WebConsole/includes/RedireccionaError.php new file mode 100644 index 00000000..92a6cd4c --- /dev/null +++ b/admin/WebConsole/includes/RedireccionaError.php @@ -0,0 +1,13 @@ +<? +/*______________________________________________________________________ + Redirecciona a la página de error + Parametros: + - Literal del error +_______________________________________________________________________*/ +function RedireccionaError($herror){ + + $urlerror=urlencode($herror); + $wurl="../seguridad/logerror.php?herror=".$urlerror; + Header('Location: '.$wurl); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/includes/TomaDato.php b/admin/WebConsole/includes/TomaDato.php new file mode 100644 index 00000000..b20278d8 --- /dev/null +++ b/admin/WebConsole/includes/TomaDato.php @@ -0,0 +1,41 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: TomaDato.php +// Descripción : +// Recupera un dato de una tabla +// Parametros: +// - cmd:Un comando ya operativo (con conexión abierta) +// - idcentro:Centro al que pertene el registro donde se encuentra el dato a recuperar, será 0 para no contemplar este dato +// - nombretabla: Nombre de la tabla origen de los datos +// - identificador: Valor del campo identificador del registro (cadena separada por comas si hay varios) +// - nombreid: Nombre del campo identificador del registro (cadena separada por comas si hay varios) +// - nombreliteral: Nombre del campo que se quiere recuperar +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico ( valor por defecto) +// (*) En el caso de haber varios identificadores todos deben ser del mismo tipo ( numérico o alfanumérico) +//************************************************************************************************************************************************* +function TomaDato($cmd,$idcentro,$nombretabla,$identificador,$nombreid,$nombreliteral,$swid=0){ + $Dato=""; + if (empty($identificador)) return($Dato); + + if($swid==0) $ch='"'; else $ch=""; // Caracter comillas para campos alfanuméricos + $auxidentificador=split(";",$identificador); + $auxnombreid=split(";",$nombreid); + + $clausulaWhere=" WHERE ".$auxnombreid[0]."=".$ch.$auxidentificador[0].$ch; + for ($i=1;$i<sizeof($auxidentificador);$i++) + $clausulaWhere.=" AND ".$auxnombreid[$i]."=".$ch.$auxidentificador[$i].$ch; + $cmd->texto="SELECT * FROM ".$nombretabla.$clausulaWhere; + if (!empty($idcentro)) + $cmd->texto.=" AND idcentro=".$idcentro; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + if (!$rs->EOF) + $Dato.=$rs->campos[$nombreliteral]; + $rs->Cerrar(); + return($Dato); +} diff --git a/admin/WebConsole/includes/TomanDatos.php b/admin/WebConsole/includes/TomanDatos.php new file mode 100644 index 00000000..07c96a3c --- /dev/null +++ b/admin/WebConsole/includes/TomanDatos.php @@ -0,0 +1,36 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: TomanDatos.php +// Descripción : +// Recupera datos de una tabla +// Parametros: +// - cmd:Un comando ya operativo (con conexión abierta) +// - idcentro:Centro al que pertene el registro donde se encuentra el dato a recuperar, será 0 para no contemplar este dato +// - nombretabla: Nombre de la tabla origen de los datos +// - identificador: Valor del campo identificador del registro +// - nombreid: Nombre del campo identificador del registro +// - nombreliteral: Array asosiativa con los nombres de los campo que se quieren recuperar +// - swid: Indica 0= El identificador es tipo alfanumérico 1= EI identificador es tipo numérico (valor por defecto) +// ************************************************************************************************************************************************* +function TomanDatos($cmd,$nombretabla,$identificador,$nombreid,$nombreliterales,$swid=1){ + $Dato=""; + if (empty($identificador)) $identificador=0; + $rs=new Recordset; + if($swid==0) + $cmd->texto="SELECT * FROM ".$nombretabla." WHERE ".$nombreid."='".$identificador."'"; + else + $cmd->texto='SELECT * FROM '.$nombretabla.' WHERE '.$nombreid.'='.$identificador; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + if (!$rs->EOF){ + for($x=0;$x<sizeof($nombreliterales);$x++){ + $Dato[$nombreliterales[$x]]=$rs->campos[$nombreliterales[$x]]; + } + } + $rs->Cerrar(); + return($Dato); +}
\ No newline at end of file diff --git a/admin/WebConsole/includes/comunes.php b/admin/WebConsole/includes/comunes.php new file mode 100644 index 00000000..b3e81e82 --- /dev/null +++ b/admin/WebConsole/includes/comunes.php @@ -0,0 +1,378 @@ +<? + //________________________________________________________________________________________ + // + // Trocea en elementos de una matriz la cadena enviada como parametro separando por parametros + // Parámetros: + // - trama: La trama + // Devuelve: + // Una matriz con las parejas de paramertos "nombre=valor" + //________________________________________________________________________________________ + function extrae_parametros($parametros,$chsep,$chval){ + $ParametrosCadena=""; + $auxP=split($chsep,$parametros); + for ($i=0;$i<sizeof($auxP);$i++){ + $dualparam=split($chval,$auxP[$i]); + + if (isset($dualparam[0]) && isset($dualparam[1])){ + $streval='$ParametrosCadena["'.$dualparam[0].'"]="'.$dualparam[1].'";'; + eval($streval); + } + } + return($ParametrosCadena); + } + //________________________________________________________________________________________ + // + // Trocea en elementos de una matriz la cadena enviada como parametro separando por parametros + // y devolviendo el elegido + // Parámetros: + // Devuelve: + //________________________________________________________________________________________ + function extrae_parametro($parametros,$chsep,$chval,$chr){ + $ParametrosCadena=""; + $auxP=split($chsep,$parametros); + for ($i=0;$i<sizeof($auxP);$i++){ + $dualparam=split($chval,$auxP[$i]); + if (isset($dualparam[0]) && isset($dualparam[1])){ + if($dualparam[0]==$chr) + return($dualparam[1]); + } + } + return(""); + } + //________________________________________________________________________________________ + // + // Busca una cadena dentro de otra. + // Especificaciones: + // Puede ser sensible a las mayúsculas + // Parametros: + // cadena; cadena donde se va a buscar + // subcadena; cadena a buscar + // swsensible; si es sensible o no a las mayúsculas y minúsculas + // Devuelve: + // La posición de comienzo de la subcadena dentro de la cadena, o (-1) en caso de no estar dentro + //________________________________________________________________________________________ + function EnCadena($cadena,$subcadena,$swsensible = false) { + $i=0; + while (strlen($cadena)>=$i) { + unset($substring); + if ($swsensible) { + $subcadena=strtolower($subcadena); + $cadena=strtolower($cadena); + } + $substring=substr($cadena,$i,strlen($subcadena)); + if ($substring==$subcadena) return$i; + $i++; + } + return -1; + } + //_____________________________________________________________________________________________ + // Búsqueda binaria o dicotómica en una tabla y devuelve el índice del elemento buscado tabla de una dimension + //_____________________________________________________________________________________________ + function busca_indicebinario($dato,$tabla,$cont){ + if (empty($tabla)) return(-1); + $a=0; + $b=$cont-1; + do{ + $p=round(($a+$b)/2,0); + if ($tabla[$p]==$dato) + return($p); + + else{ + if ($tabla[$p]<$dato){ + $a=$p+1; + } + else + $b=$p-1; + } + }while($b>=$a); + return(-1); + } + //_____________________________________________________________________________________________ + // Búsqueda binaria o dicotómica en una tabla y devuelve el índice del elemento buscado tabla de dos dimensiones + //_____________________________________________________________________________________________ + function busca_indicebinariodual($dato,$tabla,$cont){ + $a=0; + $b=$cont-1; + do{ + $p=round(($a+$b)/2,0); + if ($tabla[$p][0]==$dato) + return($p); + + else{ + if ($tabla[$p][0]<$dato){ + $a=$p+1; + } + else + $b=$p-1; + } + }while($b>=$a); + return(-1); + } + //___________________________________________________________________________________ + // + // Crea un Array con las especificaciones de los parámetros de los comandos + //___________________________________________________________________________________ + function CreaTablaParametros($cmd) + { + $cmd->texto="SELECT * FROM parametros ORDER BY nemonico"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $cont=0; + while (!$rs->EOF){ + $nemo=$rs->campos["nemonico"]; + $auxtabla_parametros=""; + $auxtabla_parametros["nemonico"]=$nemo; + $auxtabla_parametros["descripcion"]=$rs->campos["descripcion"]; + $auxtabla_parametros["nomidentificador"]=$rs->campos["nomidentificador"]; + $auxtabla_parametros["nomtabla"]=$rs->campos["nomtabla"]; + $auxtabla_parametros["nomliteral"]=$rs->campos["nomliteral"]; + $auxtabla_parametros["tipopa"]=$rs->campos["tipopa"]; + $auxtabla_parametros["visual"]=$rs->campos["visual"]; + $tabla_parametros[$nemo]=$auxtabla_parametros; + $cont++; + $rs->Siguiente(); + } + return($tabla_parametros); + } + //___________________________________________________________________________________ + // + // Crea una tabla en memoria con los valores reales de los parámetros enviados + // + // Parámetros: + // $cmd: Objeto comando (Operativo) + // $parámetros: El formato de parámetros que viaje en las trama y que es el mismo + // que se almacenan en las tablas de procedimientos_acciones o acciones + //___________________________________________________________________________________ + + function ParametrosValor($cmd,$parametros,$tbParametrosValor,$ch="\r") + { + global $tbParametros; + $html=""; + $auxprm=split($ch,$parametros); + for($i=0;$i<sizeof($auxprm);$i++){ + list($nemonico,$valor)=split("=",$auxprm[$i]); + if(isset($tbParametros[$nemonico])){ + if($tbParametros[$nemonico]["visual"]==1){ + $tbParametrosValor[$nemonico]["descripcion"]=$tbParametros[$nemonico]["descripcion"]; + switch($tbParametros[$nemonico]["tipopa"]){ + case 0: // El valor lo toma directamente + $tbParametrosValor[$nemonico]["valor"]=$valor; + break; + case 1: // El valor lo toma de una tabla */ + $tbParametrosValor[$nemonico]["valor"]=TomaDato($cmd,0,$tbParametros[$nemonico]["nomtabla"],$valor,$tbParametros[$nemonico]["nomidentificador"],$tbParametros[$nemonico]["nomliteral"]); + break; + case 2: // El parámetro es compuesto de otros parametros + $blkprm=split(chr(10),substr($auxprm[$i],4)); + for($j=0;$j<sizeof($blkprm);$j++){ + $tbSubParametrosValor=array(); + ParametrosValor($cmd,$blkprm[$j],&$tbSubParametrosValor,chr(9)); + for($k=0;$k<sizeof($tbSubParametrosValor);$k++){ + $elem=current($tbSubParametrosValor); + $tbParametrosValor[$nemonico][$j]["valor"].=$elem["descripcion"]; + $tbParametrosValor[$nemonico][$j]["valor"].=": ".$elem["valor"]; + $tbParametrosValor[$nemonico][$j]["valor"].=", "; + next($tbSubParametrosValor); + } + } + break; + case 3: // El valor lo toma de una array + $tbcte=split($tbParametros[$nemonico]["nomidentificador"],$tbParametros[$nemonico]["nomliteral"]); + $tbParametrosValor[$nemonico]["valor"]=$tbcte[$valor]; + break; + case 4: // El valor lo toma directamente pero está codificado con urlencode + $tbParametrosValor[$nemonico]["valor"]='<PRE>'.urldecode($valor).'</PRE>'; + + } + } + } + } + } + /*______________________________________________________________________ + Redirecciona a la página de error + Parametros: + - Literal del error + _______________________________________________________________________*/ + function RedireccionaError($herror){ + + $urlerror=urldecode($herror); + $wurl="../seguridad/logerror.php?herror=".$urlerror; + Header('Location: '.$wurl); + } + + /*______________________________________________________________________ + Elimina de la cadena de parametros, el parametro iph ( que debe ser el ultimo) + Parametros: + - cadena de parametros de un comando + Devuelve: + - la cadena sin el parametro iph y su valor + _______________________________________________________________________*/ + function Sin_iph($cadena){ + + $pos=EnCadena($cadena,"iph=") ; + if($pos==-1) return($cadena); + return(substr($cadena,0,$pos)); + } + /*______________________________________________________________________ + Elimina de la cadena de parametros, el parametro mac ( que debe ser el ultimo) + Parametros: + - cadena de parametros de un comando + Devuelve: + - la cadena sin el parametro iph y su valor + _______________________________________________________________________*/ + function Sin_mac($cadena){ + + $pos=EnCadena($cadena,"mac=") ; + if($pos==-1) return($cadena); + return(substr($cadena,0,$pos)); + } + /*______________________________________________________________________ + Formatea un campo númerico con los puntos de las unidades de millar + Parametros: + - cadena con el valor del campo + Devuelve: + - la cadena con los puntos de los miles + ________________________________________________________________________*/ + function formatomiles($cadena){ + $len=strlen($cadena); + $cadenafinal=""; + $m=1; + for($i=$len-1;$i>=0;$i--){ + $cadenafinal=substr($cadena,$i,1).$cadenafinal; + if($m%3==0 && $i>0){ + $cadenafinal=".".$cadenafinal; + $m=0; + } + $m++; + } + return($cadenafinal); + } + /*______________________________________________________________________ + Devuelve la url de la imagen y la descripción de un ámbito + Parametros: + - ambito: Identificador del ambito + - urlimg: Por referencia. Es donde se devuelve la url de la imagen + - textambito: Por referencia. Es donde se devuelve la descripción + + Devuelve: + - Los dos parámetros pasados por referencia + ________________________________________________________________________*/ + function tomaAmbito($ambito,$urlimg,$textambito) + { + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito="Centros"; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito="Grupos de aulas"; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito="Aulas"; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito="Grupos de ordenadores"; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito="Ordenadores"; + break; + default: + $urlimg='../images/iconos/ordenador.gif'; + $textambito="Ordenadores"; + break; + } + } + /*______________________________________________________________________ + + Devuelve la descripción de un ambito + Parametros: + - cmd: Objeto comando (Operativo) + - ambito: tipo de ambito + - idambito: Identificador del ambito + - textambito: Por referencia. Es donde se devuelve la descripción + + Devuelve: + - Los dos parámetros pasados por referencia + ________________________________________________________________________*/ + + function tomaDescriAmbito($cmd,$ambito,$idambito,$textambito) + { + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + switch($ambito){ + case $AMBITO_CENTROS : + $textambito=TomaDato($cmd,0,'centros',$idambito,'idcentro','nombrecentro'); + break; + case $AMBITO_GRUPOSAULAS : + $textambito=TomaDato($cmd,0,'grupos',$idambito,'idgrupo','nombregrupo'); + break; + case $AMBITO_AULAS : + $textambito=TomaDato($cmd,0,'aulas',$idambito,'idaula','nombreaula'); + break; + case $AMBITO_GRUPOSORDENADORES : + $textambito=TomaDato($cmd,0,'gruposordenadores',$idambito,'idgrupo','nombregrupoordenador'); + break; + case $AMBITO_ORDENADORES : + $textambito=TomaDato($cmd,0,'ordenadores',$idambito,'idordenador','nombreordenador'); + break; + default: + $textambito; + } + } + /*______________________________________________________________________ + + Devuelve el código html de una etiqueta SELECT para un ámbito concreto + Parametros: + - cmd: Objeto comando (Operativo) + - ambito: tipo de ambito + - idambito: Identificador del ambito + - $idcentro: Centro donde pertenecen o 0 para todos + - $wdth: Ancho del desplegable + Devuelve: + - Los dos parámetros pasados por referencia + ________________________________________________________________________*/ + + function tomaSelectAmbito($cmd,$ambito,$idambito,$idcentro,$wdth) + { + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + + switch($ambito){ + case $AMBITO_CENTROS : + $selecHtml=HTMLSELECT($cmd,1,'centros',$idcentro,'idcentro','nombrecentro',$wdth); + break; + case $AMBITO_GRUPOSAULAS : + $selecHtml=HTMLSELECT($cmd,$idcentro,'grupos',$idambito,'idgrupo','nombregrupo',$wdth,"","","tipo=".$AMBITO_GRUPOSAULAS); + break; + case $AMBITO_AULAS : + $selecHtml=HTMLSELECT($cmd,$idcentro,'aulas',$idambito,'idaula','nombreaula',$wdth); + break; + case $AMBITO_GRUPOSORDENADORES : + $selecHtml=HTMLSELECT($cmd,0,'gruposordenadores',$idambito,'idgrupo ','nombregrupoordenador',$wdth); + break; + case $AMBITO_ORDENADORES : + $clsWhere=" idaula IN (SELECT idaula FROM aulas WHERE idcentro=".$idcentro.")"; + $selecHtml=HTMLSELECT($cmd,0,'ordenadores',$idambito,'idordenador','nombreordenador',$wdth,"","",$clsWhere); + break; + default: + $selecHtml=""; + } + return($selecHtml); + }
\ No newline at end of file diff --git a/admin/WebConsole/includes/constantes.php b/admin/WebConsole/includes/constantes.php new file mode 100644 index 00000000..b069cd1b --- /dev/null +++ b/admin/WebConsole/includes/constantes.php @@ -0,0 +1,172 @@ +<?php + +// Código de los ambitos para comandos +$AMBITO_CENTROS=0x01; +$AMBITO_GRUPOSAULAS=0x02; +$AMBITO_AULAS=0x04; +$AMBITO_GRUPOSORDENADORES=0x08; +$AMBITO_ORDENADORES=0x10; + + +// Código del resto de �bitos +$AMBITO_IMAGENES=0x20; +$AMBITO_PROCEDIMIENTOS=0x21; +$AMBITO_TAREAS=0x22; +$AMBITO_COMANDOS=0x23; + +$AMBITO_COMPONENTESHARD=0x24; +$AMBITO_COMPONENTESSOFT=0x25; +$AMBITO_PERFILESHARD=0x26; +$AMBITO_PERFILESSOFT=0x27; +$AMBITO_MENUS=0x28; +$AMBITO_REPOSITORIOS=0x29; +$AMBITO_RESERVAS=0x32; + +// Código del resto de ambitos( grupos ) +$AMBITO_GRUPOSIMAGENES=0x32; +$AMBITO_GRUPOSPROCEDIMIENTOS=0x33; +$AMBITO_GRUPOSTAREAS=0x34; + +$AMBITO_GRUPOSCOMPONENTESHARD=0x36; +$AMBITO_GRUPOSCOMPONENTESSOFT=0x37; +$AMBITO_GRUPOSPERFILESHARD=0x38; +$AMBITO_GRUPOSPERFILESSOFT=0x39; +$AMBITO_GRUPOSMENUS=0x40; +$AMBITO_GRUPOSREPOSITORIOS=0x41; +$AMBITO_GRUPOSRESERVAS=0x44; +$AMBITO_GRUPOSENTIDADES=0x45; + +// Literales de los ambitos +$LITAMBITO_CENTROS="centros"; +$LITAMBITO_AULAS="aulas"; +$LITAMBITO_ORDENADORES="ordenadores"; +$LITAMBITO_IMAGENES="imagenes"; +$LITAMBITO_PROCEDIMIENTOS="procedimientos"; +$LITAMBITO_TAREAS="tareas"; + +$LITAMBITO_TIPOHARDWARES="tipohardwares"; +$LITAMBITO_COMPONENTESHARD="componeneteshard"; +$LITAMBITO_COMPONENTESSOFT="componenetessoft"; +$LITAMBITO_PERFILESHARD="perfileshard"; +$LITAMBITO_PERFILESSOFT="perfilessoft"; +$LITAMBITO_MENUS="menus"; +$LITAMBITO_REPOSITORIOS="repositorios"; + + +$LITAMBITO_RESERVAS="reservas"; +$LITAMBITO_ADMINISTRACION="administracion"; +$LITAMBITO_UNIVERSIDADES="universidades"; +$LITAMBITO_ENTIDADES="entidades"; +$LITAMBITO_USUARIOS="usuarios"; +// Literales de los ambitos ( Grupos ) +$LITAMBITO_GRUPOSAULAS="gruposaulas"; +$LITAMBITO_GRUPOSORDENADORES="gruposordenadores"; +$LITAMBITO_GRUPOSIMAGENES="gruposimagenes"; +$LITAMBITO_GRUPOSPROCEDIMIENTOS="gruposprocedimientos"; +$LITAMBITO_GRUPOSTAREAS="grupostareas"; + +$LITAMBITO_GRUPOSCOMPONENTESHARD="gruposcomponenteshard"; +$LITAMBITO_GRUPOSCOMPONENTESSOFT="gruposcomponentessoft"; +$LITAMBITO_GRUPOSPERFILESHARD="gruposperfileshard"; +$LITAMBITO_GRUPOSPERFILESSOFT="gruposperfilessoft"; +$LITAMBITO_GRUPOSMENUS="gruposmenus"; +$LITAMBITO_GRUPOSREPOSITORIOS="gruporepositorio"; +$LITAMBITO_GRUPOSRESERVAS="gruposreservas"; +$LITAMBITO_GRUPOSENTIDADES="gruposentidades"; + +// Código de los tipo de acciones + +$EJECUCION_COMANDO=0x0001; +$EJECUCION_PROCEDIMIENTO=0x0002; +$EJECUCION_TAREA=0x0003; +$EJECUCION_RESERVA=0x0004; +$EJECUCION_AUTOEXEC=0x0005; + +// Código de los tipo de notificadores +$NOTIFICADOR_ORDENADOR=0x0001; +$NOTIFICADOR_COMANDO=0x0002; +$NOTIFICADOR_TAREA=0x0003; + +// Categorias de sucesos +$PROCESOS=0x01; +$INFORMACIONES=0x02; +$NOTIFICACIONES=0x03; + +// Código de los tipos de mensajes +$MSG_COMANDO=0x01; // Mensaje del tipo comando +$MSG_NOTIFICACION=0x02; // Respuesta a la ejecución un comando +$MSG_PETICION=0x03; // Petición de cualquier actuación +$MSG_RESPUESTA=0x04; // Respuesta a una petición +$MSG_INFORMACION=0x05; // Envío de cualquier información sin espera de confirmación o respuesta + + +$RESPUESTA_EJECUCION_COMANDO=0x0001; +$RESPUESTA_EJECUCION_TAREA=0x0002; +$RESPUESTA_EJECUCION_TRABAJO=0x0003; +$RESPUESTA_EJECUCION_PETICION=0x0004; + +// Código de los tipos de items de los mens de clientes +$ITEM_PUBLICO=0x0001; +$ITEM_PRIVADO=0x0002; + +//Codificaci� de los resultados de las acciones + +$ACCION_SINRESULTADO=0; // Sin resultado +$ACCION_EXITOSA=1; // Finalizada con éxito +$ACCION_FALLIDA=2; // Finalizada con errores +$LITACCION_FALLIDA="Acción CANCELADA manualmente"; +$LITACCION_EXITOSA="Acción TERMINADA manualmente"; + +//Codificaci� de los estados de las acciones + +$ACCION_INICIADA=1; // Acci� activa +$ACCION_DETENIDA=2; // Acci� momentanemente parada +$ACCION_FINALIZADA=3; // Acci� finalizada +$ACCION_PROGRAMADA=4; // Acción programada + +// Nombrey path del fichero de intercambio de parametros entre páginas +// Ha sido necesario porque cuando los parametros enviados execed�n de cierta longitud +// ocurria una excepci� al llamar a la p�ina por GET. + +$fileparam="../includes/PRM_".$usuario; +$pathfileco="/opt/opengnsys/log/clients"; // Path del fichero de eco de consola + +// M�ima longitud de los parametros enviados entre páginas +$MAXLONPRM=16000; +$MAXLONVISUSCRIPT =1024; // longitud Maxima de visualizaci� del script en las colas de acciones +$MAXSIZEFILERBC=100000; // longitud Maxima de los fichero de script enviados como comandos ejecuci� de script + +$LONHEXPRM=5; // Longitud de la cadena hexdecimal que contiene la longitud total de la trama +$LONCABECERA=16; // Longitud de la cabecera de las tramas +$LONBLK=512; // Longitud de los paquetes de tramas leidos cada vez + +$tbTiposParticiones=""; +$tbTiposParticiones[0]="EMPTY"; +$tbTiposParticiones[1]="BIGDOS"; +$tbTiposParticiones[2]="FAT32"; +$tbTiposParticiones[3]="NTFS"; +$tbTiposParticiones[4]="EXT2"; +$tbTiposParticiones[5]="EXT3"; +$tbTiposParticiones[6]="EXT4"; +$tbTiposParticiones[7]="LINUX-SWAP"; +$tbTiposParticiones[8]="CACHE"; +$tbTiposParticiones[9]="VFAT"; +$tbTiposParticiones[10]="UNKNOW"; + + +//Codificaci� de los estados de las reservas +$RESERVA_CONFIRMADA=1; // Reserva confirmada +$RESERVA_PENDIENTE=2; // Reserva pendiente +$RESERVA_DENEGADA=3; // Reserva denegada + +$SUPERADMINISTRADOR=1; // administrador de la Aplicación +$ADMINISTRADOR=2; // administrador de Centro +$OPERADOR=3; // operador de aula + +$msk_sysFi=0x01; +$msk_nombreSO=0x02; +$msk_tamano=0x04; +$msk_imagen=0x08; +$msk_perfil=0x10; + +?> diff --git a/admin/WebConsole/includes/ctrlacc.php b/admin/WebConsole/includes/ctrlacc.php new file mode 100644 index 00000000..cf3c830c --- /dev/null +++ b/admin/WebConsole/includes/ctrlacc.php @@ -0,0 +1,48 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: controlacceso.php +// Descripción :Este fichero implementa el control de acceso a la Aplicación en todas las páginas +// ************************************************************************************************************************************************* +session_start(); // Activa variables de sesi� +$idcentro=""; +$nombrecentro=""; +$usuario=""; +$idtipousuario=0; +$idioma=""; +$cadenaconexion=""; +$servidorhidra=""; +$hidraport=""; +$pagerror=""; +$urlacceso=""; + +if (isset($_SESSION["widcentro"])) $idcentro = $_SESSION["widcentro"]; +if (isset($_SESSION["wnombrecentro"])) $nombrecentro = $_SESSION["wnombrecentro"]; +if (isset($_SESSION["wusuario"])) $usuario = $_SESSION["wusuario"]; +if (isset($_SESSION["widtipousuario"])) $idtipousuario = $_SESSION["widtipousuario"]; +if (isset($_SESSION["widioma"])) $idioma = $_SESSION["widioma"]; +if (isset($_SESSION["wcadenaconexion"])) $cadenaconexion = $_SESSION["wcadenaconexion"]; +if (isset($_SESSION["wservidorhidra"])) $servidorhidra = $_SESSION["wservidorhidra"]; +if (isset($_SESSION["whidraport"])) $hidraport = $_SESSION["whidraport"]; +if (isset($_SESSION["wpagerror"])) $pagerror = $_SESSION["wpagerror"]; +if (isset($_SESSION["wurlacceso"])) $urlacceso = $_SESSION["wurlacceso"]; +/* +echo "<BR>Cadena=".$_SESSION["wcadenaconexion"]; +echo "<BR>servidorhidra=".$_SESSION["wservidorhidra"]; +echo "<BR>hidraport=".$_SESSION["whidraport"]; +echo "<BR>usuario=".$_SESSION["wusuario"]; +echo "<BR>idtipousuario=".$_SESSION["widtipousuario"]; +echo "<BR>urlacceso=".$_SESSION["wurlacceso"]; +*/ +// Comprueba el valor de las variables de sesión +$swacc=empty($cadenaconexion) || empty($servidorhidra) || empty($hidraport) || empty($usuario) || empty($idtipousuario); + +//=============================================================================================== +if ($swacc){ // Error en alguna variable de sesión + die("***Error de acceso"); +} +//=============================================================================================== +?> diff --git a/admin/WebConsole/includes/cuestionacciones.php b/admin/WebConsole/includes/cuestionacciones.php new file mode 100644 index 00000000..5cb87b8c --- /dev/null +++ b/admin/WebConsole/includes/cuestionacciones.php @@ -0,0 +1,79 @@ +<? +/* ------------------------------------------------------------------------------------------- + Inserta, modifica o elimina un grupo de servidores dhcp de la base de datos +---------------------------------------------------------------------------------------------*/ +function CuestionAcciones($cmd,$shidra,$parametros){ + + global $sw_ejya; + global $sw_seguimiento; + + global $sw_mktarea; + global $nwidtarea; + global $nwdescritarea; + + global $sw_mkprocedimiento; + global $nwidprocedimiento; + global $nwdescriprocedimiento; + + global $identificador; + + if($sw_ejya=='true' ){ // switch de ejecución inmediata ---------------------------------------------------------------------- + if($sw_seguimiento=='true' ){ // switch de ejecución con seguimiento + $cmd->texto="INSERT INTO acciones (tipoaccion,idtipoaccion,cateaccion,ambito,idambito,fechahorareg,estado,resultado,idcentro,parametros,accionid,idnotificador) VALUES (@tipoaccion,@idtipoaccion,@cateaccion,@ambito,@idambito,@fechahorareg,@estado,@resultado,@idcentro,@parametros,0,0)"; + $resul=$cmd->Ejecutar(); + if($resul){ + $parametros.="ids=".$cmd->Autonumerico().chr(13); + } + } + // Envio al servidor hidra + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $shidra->envia_comando($parametros); + $shidra->desconectar(); + } + else + return(false); + } + // Fin ejecución inmediata ------------------------------------------------------------------------------------------------------------- + + if($sw_mkprocedimiento=='true'){ // switch de creación o inclusión en procedimiento --------------------------------------------------------- + if($nwidprocedimiento==0){ + $cmd->ParamSetValor("@descripcion",$nwdescriprocedimiento,0); + $cmd->texto="INSERT INTO procedimientos(descripcion,idcentro) VALUES (@descripcion,@idcentro)"; + $resul=$cmd->Ejecutar(); + if($resul) + $nwidprocedimiento=$cmd->Autonumerico(); + else + return(false); + } + if($nwidprocedimiento>0){ // inclusión en procedimiento existente + $cmd->ParamSetValor("@idprocedimiento",$nwidprocedimiento,1); + $cmd->ParamSetValor("@idcomando",$identificador,1); + $cmd->ParamSetValor("@parametros",Sin_iph($parametros),0); + $cmd->texto="INSERT INTO procedimientos_comandos(idprocedimiento,orden,idcomando,parametros) VALUES (@idprocedimiento,0,@idcomando,@parametros)"; + $resul=$cmd->Ejecutar(); + $cmd->ParamSetValor("@parametros",$parametros); + if(!$resul) return(false); + } + } + + if($sw_mktarea=='true'){ // switch de creación o inclusión en tarea ----------------------------------------------------------- + if($nwidtarea==0){ // Nueva tarea + $cmd->ParamSetValor("@descripcion",$nwdescritarea); + $cmd->texto="INSERT INTO tareas(descripcion,idcentro) VALUES (@descripcion,@idcentro)"; + $resul=$cmd->Ejecutar(); + if($resul) + $nwidtarea=$cmd->Autonumerico(); + else + return(false); + } + if($nwidtarea>0){ // inclusión en tarea existente + $cmd->ParamSetValor("@idtarea",$nwidtarea); + $cmd->ParamSetValor("@idcomando",$identificador); + $cmd->texto="INSERT INTO tareas_comandos(idtarea,orden,idcomando,ambito,idambito,parametros) VALUES (@idtarea,0,@idcomando,@ambito,@idambito,@parametros)"; + $resul=$cmd->Ejecutar(); + if(!$resul) return(false); + } + } + return(true); +} + ?> diff --git a/admin/WebConsole/includes/cuestionaccionescab.php b/admin/WebConsole/includes/cuestionaccionescab.php new file mode 100644 index 00000000..e9523eba --- /dev/null +++ b/admin/WebConsole/includes/cuestionaccionescab.php @@ -0,0 +1,23 @@ +<? +$sw_ejya=""; +$sw_seguimiento=""; + +$sw_mktarea=""; +$nwidtarea=""; +$nwdescritarea=""; + +$sw_mkprocedimiento=""; +$nwidprocedimiento=""; +$nwdescriprocedimiento=""; + +if (isset($_POST["sw_ejya"])) $sw_ejya=$_POST["sw_ejya"]; +if (isset($_POST["sw_seguimiento"])) $sw_seguimiento=$_POST["sw_seguimiento"]; + +if (isset($_POST["sw_mktarea"])) $sw_mktarea=$_POST["sw_mktarea"]; +if (isset($_POST["nwidtarea"])) $nwidtarea=$_POST["nwidtarea"]; +if (isset($_POST["nwdescritarea"])) $nwdescritarea=$_POST["nwdescritarea"]; + +if (isset($_POST["sw_mkprocedimiento"])) $sw_mkprocedimiento=$_POST["sw_mkprocedimiento"]; +if (isset($_POST["nwidprocedimiento"])) $nwidprocedimiento=$_POST["nwidprocedimiento"]; +if (isset($_POST["nwdescriprocedimiento"])) $nwdescriprocedimiento=$_POST["nwdescriprocedimiento"]; +?> diff --git a/admin/WebConsole/includes/opciones.php b/admin/WebConsole/includes/opciones.php new file mode 100644 index 00000000..fe1740f3 --- /dev/null +++ b/admin/WebConsole/includes/opciones.php @@ -0,0 +1,16 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon. +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación:Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: opciones.php +// Descripción : +// Variables de ámbito común +// ************************************************************************************************************************************************* +$op_alta=1; +$op_modificacion=2; +$op_eliminacion=3; +$op_movida=4; +$op_ejecucion=5; +?>
\ No newline at end of file diff --git a/admin/WebConsole/includes/opcionesbotones.php b/admin/WebConsole/includes/opcionesbotones.php new file mode 100644 index 00000000..0fabefa4 --- /dev/null +++ b/admin/WebConsole/includes/opcionesbotones.php @@ -0,0 +1,7 @@ +<TABLE align=center> + <TR> + <TD><A href=#><IMG border=0 src="../images/boton_cancelar.gif" onclick="javascript:cancelar()"></A></TD> + <TD width=20></TD> + <TD><A href=#><IMG border=0 src="../images/boton_confirmar.gif" onclick="javascript:confirmar()" ></A></TD> + </TR> +</TABLE> diff --git a/admin/WebConsole/includes/opcionesbotonesop.php b/admin/WebConsole/includes/opcionesbotonesop.php new file mode 100644 index 00000000..d86755d7 --- /dev/null +++ b/admin/WebConsole/includes/opcionesbotonesop.php @@ -0,0 +1,9 @@ +<? +echo '<TABLE align=center>'; +echo '<TR>'; +echo '<TD><A href=#><IMG border=0 src="../images/boton_cancelar.gif" onclick="cancelar()"></A></TD>'; +echo '<TD width=20></TD>'; +echo '<TD><A href=#><IMG border=0 src="../images/boton_confirmar.gif" onclick="confirmar('.$opcion.')" ></A></TD>'; +echo '</TR>'; +echo '</TABLE>'; +?> diff --git a/admin/WebConsole/jscripts/acciones.js b/admin/WebConsole/jscripts/acciones.js new file mode 100644 index 00000000..df1aae50 --- /dev/null +++ b/admin/WebConsole/jscripts/acciones.js @@ -0,0 +1,111 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: acciones.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero acciones.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +// +// Ejecuta una tarea +//________________________________________________________________________________________________________ + +function ejecutar_tareas(op) +{ + + reset_contextual(-1,-1); // Oculta menu contextual + var resul=window.confirm(TbMsg[0]); + if (!resul) return + var idtarea=currentNodo.toma_identificador() // identificador del ambito + var tarea=currentNodo.toma_infonodo() // Nombre de la tarea + + /* LLamada a la gestión */ + var wurl="../gestores/gestor_ejecutaracciones.php"; + var prm="opcion="+op+"&idtarea="+idtarea+"&descritarea="+tarea; + + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ + +function retornoGestion(resul) +{ + //alert(resul) + if(resul.length>0) + eval(resul); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de ejecutar una tarea +// Parámetros: +// - resul: resultado de la operación( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +//________________________________________________________________________________________________________ + +function resultado_ejecutar_tareas(resul,descrierror) +{ + if (!resul){ // Ha habido algún error en la ejecución + alert(descrierror) + return + } + alert(TbMsg[2]) +} +//________________________________________________________________________________________________________ +// +// Muestra formulario de programaciones para tareas y trabajos +//________________________________________________________________________________________________________ + +function programacion(tipoaccion) +{ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcion=currentNodo.toma_infonodo() + switch(tipoaccion){ + case EJECUCION_COMANDO: + var whref="../varios/programaciones.php?idcomando="+identificador+"&descripcioncomando="+descripcion+"&tipoaccion="+EJECUCION_COMANDO + break; + case EJECUCION_TAREA: + var whref="../varios/programaciones.php?idtarea="+identificador+"&descripciontarea="+descripcion+"&tipoaccion="+EJECUCION_TAREA + break; alert(whref); + } + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra información de procedimientos y tareas +//________________________________________________________________________________________________________ + +function informacion_acciones(tipo) +{ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionaccion=currentNodo.toma_infonodo() + var whref="../varios/informacion_acciones.php?idtipoaccion="+identificador+"&descripcionaccion="+descripcionaccion+"&tipoaccion="+tipo + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra el formulario de Menús disponibles para gestionar la inclusión de procedimientos, tareas o trabajos en ellos +//________________________________________________________________________________________________________ + +function insertar_accionmenu(tipo) +{ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionaccion=currentNodo.toma_infonodo() + var whref="../varios/accionmenu.php?idtipoaccion="+identificador+"&descripcionaccion="+descripcionaccion+"&tipoaccion="+tipo + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ + +function inclusion_acciones(tipo) +{ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionaccion=currentNodo.toma_infonodo() + var ambito=currentNodo.toma_atributoNodo("value"); + var whref="../varios/inclusionacciones.php"; + whref+="?idtipoaccion="+identificador+"&descripcionaccion="+descripcionaccion+"&tipoaccion="+tipo+"&ambito="+ambito; + window.open(whref,"frame_contenidos") +} diff --git a/admin/WebConsole/jscripts/accionmenu.js b/admin/WebConsole/jscripts/accionmenu.js new file mode 100644 index 00000000..8cef7d9c --- /dev/null +++ b/admin/WebConsole/jscripts/accionmenu.js @@ -0,0 +1,121 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: accionmenu.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero accionmenu.php +// ************************************************************************************************************************************************* +var altas,bajas,modificaciones; +//________________________________________________________________________________________________________ +// Devuelve el valor seleccionado de un desplegable cualquiera +//________________________________________________________________________________________________________ +function tomavalorDesple(desplegable) +{ + var idx=desplegable.selectedIndex; // Indice seleccionado en el desplegable + var val=desplegable.options[idx].value; // Valor seleccionado en el desplegable + return(val); +} +//________________________________________________________________________________________________________ +// +// Envía la información para dar de alta, baja o modificar items en un menu +// Parámetros: +// $op: Indica si esta página se ejecuta desde "acciones" o desde "menus" +// 1: desde acciones +// 2: desde menus +//________________________________________________________________________________________________________ +function confirmar(op) +{ + var ELEMENT_NODE=1; // Tipo de nodo + altas=bajas=modificaciones=""; + + if(op==1){ + var idtipoaccion=document.fdatos.idtipoaccion.value; + var tipoaccion=document.fdatos.tipoaccion.value; + } + // Indices de campos a recuperar + var ichk=0; // Checkbox + var imenu=1; // Nombre del menu + var itipo=2; // Tipo de item + var iurlimg=3; // Url de la imagen + var iitem=4; // Literal del item + var iorden=5; // Orden de ejecución + var iidtipoaccion=6; // Identificación de la acción + var itipoaccion=7; // Identificación del tipo de acción + + var trMnu = document.getElementById("TR_menus"); // Recupera la tabla de menu + trMnu=trMnu.nextSibling; // Primera fila de particiones + while(trMnu){ + if(trMnu.nodeType==ELEMENT_NODE){ + var ochk=trMnu.childNodes[ichk].childNodes[0]; + var otipo=trMnu.childNodes[itipo].childNodes[0]; + var ourlimg=trMnu.childNodes[iurlimg].childNodes[0]; + var oitem=trMnu.childNodes[iitem].childNodes[0]; + var oorden=trMnu.childNodes[iorden].childNodes[0]; + + var idmenu=ochk.id; // Identificador del menu + var std=ochk.value; // Estado original del checkbox 1=seleccionado 0=No seleccionado + var tipo=tomavalorDesple(otipo); + var urlimg=tomavalorDesple(ourlimg); + var item=oitem.value; + var orden=oorden.value; + + if(op==2){ + var idtipoaccion=trMnu.childNodes[iidtipoaccion].innerHTML; + var tipoaccion=trMnu.childNodes[itipoaccion].innerHTML; + } + /* Control de errores */ + if(ochk.checked){ + if(item==""){ // Descripción del item + alert(TbMsg[0]); + oitem.focus(); + return(false); + } + if(orden=="" || orden<0 || !IsNumeric(orden)){ + alert(TbMsg[1]); + oorden.focus(); + return(false); + } + } + /* Compone parametros */ + if(ochk.checked){ // El checbox está seleccionado, alta o modificación + var prm=idmenu+","+idtipoaccion+","+tipoaccion; + prm+=","+tipo +","+urlimg+","+item+","+orden; + if(std>0) // Originalmente estaba seleccionado, se trata de una modificación + modificaciones+=prm+";"; + else + altas+=prm+";"; + } + else{ // Baja + if(std>0){ // Si originariamente estaba marcado se trata de una baja + var prm=idmenu+","+idtipoaccion+","+tipoaccion; + bajas+=prm+";"; + } + } + } + trMnu=trMnu.nextSibling; // Primera fila de particiones + } + + /* LLamada a la gestión */ + var wurl="../gestores/gestor_accionmenu.php"; + var prm="altas="+altas+"&bajas="+bajas+"&modificaciones="+modificaciones; + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul) +{ + if(resul.length>0){ + eval(resul) + } +} +//________________________________________________________________________________________________________ +function resultado_gestion_accionmenu(resul,descrierror){ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[3]) + location.href="../nada.php"; +} + diff --git a/admin/WebConsole/jscripts/administracion.js b/admin/WebConsole/jscripts/administracion.js new file mode 100644 index 00000000..d055af1c --- /dev/null +++ b/admin/WebConsole/jscripts/administracion.js @@ -0,0 +1,24 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: administracion.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero administracion.php +// ************************************************************************************************************************************************* + function Asignar(){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador() + var literal=currentNodo.toma_infonodo() + var wurl="../varios/administradores_centros.php?idcentro="+identificador+"&nombrecentro="+literal + window.open(wurl,"frame_contenidos"); + } + //__________________________________________________________________________________________ + function Asignar_Usuario(){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador() + var literal=currentNodo.toma_infonodo() + var wurl="../varios/administradores_usuarios.php?idusuario="+identificador+"&nombre="+literal + window.open(wurl,"frame_contenidos"); + } diff --git a/admin/WebConsole/jscripts/administradores_centros.js b/admin/WebConsole/jscripts/administradores_centros.js new file mode 100644 index 00000000..24763b6d --- /dev/null +++ b/admin/WebConsole/jscripts/administradores_centros.js @@ -0,0 +1,41 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: administradores_centros.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero administradores_centros +// ************************************************************************************************************************************************* +function gestion_administrador(idusuario,o){ + idcentro=document.fdatos.idcentro.value + if (o.checked) + var opcion=op_alta; + else + var opcion=op_eliminacion; + var wurl="../gestores/gestor_administradores_centros.php"; + var prm="opcion="+opcion+"&idusuario="+idusuario+"&idcentro="+idcentro + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul){ + if(resul.length>0){ + eval(resul) + } +} +//________________________________________________________________________________________________________ +function resultado_insertar_administradores_centros(resul,descrierror,nwid,tablanodo){ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[0]) +} +//________________________________________________________________________________________________________ +function resultado_eliminar_administradores_centros(resul,descrierror,idp,idh){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[1]) +} diff --git a/admin/WebConsole/jscripts/administradores_usuarios.js b/admin/WebConsole/jscripts/administradores_usuarios.js new file mode 100644 index 00000000..97d9368e --- /dev/null +++ b/admin/WebConsole/jscripts/administradores_usuarios.js @@ -0,0 +1,43 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: administradores_centros.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero administradores_centros +// ************************************************************************************************************************************************* +function gestion_administrador(idcentro,o){ + idusuario=document.fdatos.idusuario.value + if (o.checked) + var opcion=op_alta; + else + var opcion=op_eliminacion; + + var wurl="../gestores/gestor_administradores_usuarios.php"; + var prm="opcion="+opcion+"&idcentro="+idcentro+"&idusuario="+idusuario + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul){ + if(resul.length>0){ + eval(resul) + } +} +//________________________________________________________________________________________________________ +function resultado_insertar_centros_administradores(resul,descrierror,nwid,tablanodo){ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[0]) + +} +//________________________________________________________________________________________________________ +function resultado_eliminar_centros_administradores(resul,descrierror,idp,idh){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[1]) +} diff --git a/admin/WebConsole/jscripts/aula.js b/admin/WebConsole/jscripts/aula.js new file mode 100644 index 00000000..282127ca --- /dev/null +++ b/admin/WebConsole/jscripts/aula.js @@ -0,0 +1,151 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Marzo-2006 +// Nombre del fichero: aula.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero aulas.php +// ************************************************************************************************************************************************* + function NodoAux(){ + this.idambito=0; + this.ambito=0; + this.litambito=null; + this.nombreambito=null; + + this.toma_identificador= function(){ + return(idambito); + } + this.toma_sufijo= function(){ + return(litambito); + } + this.toma_infonodo= function(){ + return(nombreambito); + } + // Fin de la clase +} +currentNodo=new NodoAux(); +//________________________________________________________________________________________________________ +function nwmenucontextual(o,idmnctx){ + var menuctx=document.getElementById(idmnctx); // Toma objeto DIV + muestra_contextual(ClickX,ClickY,menuctx) // muestra menu + Toma_Datos(o); +} +//________________________________________________________________________________________________________ +// +// Toma datos +//________________________________________________________________________________________________________ +function Toma_Datos(o){ + var identificador=o.getAttribute("nod"); + litambito=identificador.split("-")[0]; + idambito=identificador.split("-")[1]; + nombreambito=o.getAttribute("value"); + currentNodo.idambito=idambito; + currentNodo.litambito=litambito; + currentNodo.nombreambito=nombreambito; +} +//________________________________________________________________________________________________________ +function wactualizar_ordenadores(o){ + Toma_Datos(o); + actualizar_ordenadores(); +} +//________________________________________________________________________________________________________ +// +// Refresca la visualizaci� del estado de los ordenadores(Clientes rembo y clientes Windows o Linux) +//________________________________________________________________________________________________________ +function Sondeo(){ + reset_contextual(-1,-1) // Oculta menu contextual + var ambito=document.fcomandos.ambito.value; // Ámbito de aplicación + var idambito=document.fcomandos.idambito.value; // Identificador del ámbito + var wurl="../principal/sondeo.php"; + var prm="ambito="+ambito+"&idambito="+idambito+"&sw=1"; // La primera vez se manda sondeo a los clientes + CallPage(wurl,prm,"retornoSondeo","POST"); + setTimeout("respuestaSondeo();",100); +} +//______________________________________________________________________________________________________ +function retornoSondeo(resul){ +/* + if(resul==1) + alert(TbMsg[11]); + else + alert(TbMsg[12]); +*/ +} +//________________________________________________________________________________________________________ +function respuestaSondeo(){ + var ambito=document.fcomandos.ambito.value; // Ámbito de aplicación + var idambito=document.fcomandos.idambito.value; // Identificador del ámbito + var wurl="../principal/sondeo.php"; + var prm="ambito="+ambito+"&idambito="+idambito+"&sw=2"; // Las siguientes veces se consulta sólo la tabla de clientes + CallPage(wurl,prm,"retornorespuestaSondeo","POST"); + setTimeout("respuestaSondeo();",5000); +} +//______________________________________________________________________________________________________ +function retornorespuestaSondeo(resul) +{ + if(resul.length>0){ + var ip=""; // Dirección IP del ordenador + var so=""; // Sistema operativo activo + var objOrd=null; // Objeto ordenador + var imgOrd=""; + var cadena=resul.split(";"); // Trocea la cadena devuelta por el servidor de adminsitración + for (var i=0;i<cadena.length;i++){ + var dual=cadena[i].split("/"); + ip=dual[0]; + so=dual[1]; + objOrd=document.getElementById(ip); + if(objOrd){ // Si existe el objeto + imgOrd=soIMG(so); // Toma url de la imagen según su s.o. + if(objOrd.sondeo!=so){ // Si es distinto al que tiene ...se cambia la imagen + objOrd.src="../images/"+imgOrd; + objOrd.sondeo=imgOrd; + } + } + } + } +} +//______________________________________________________________________________________________________ +function soIMG(so) +{ + var MimgOrdenador=""; + switch(so){ + case 'INI': + MimgOrdenador="ordenador_INI.gif"; // Cliente ocupado + break; + case 'BSY': + MimgOrdenador="ordenador_BSY.gif"; // Cliente ocupado + break; + case 'OPG': + MimgOrdenador="ordenador_RMB.gif"; // Cliente Rembo + break; + case 'WS2': + MimgOrdenador="ordenador_WS2.gif"; // Windows Server 2003 + break; + case 'W2K': + MimgOrdenador="ordenador_W2K.gif"; // Windows 2000 + break; + case 'WXP': + MimgOrdenador="ordenador_WXP.gif"; // Windows XP + break; + case 'WNT': + MimgOrdenador="ordenador_WNT.gif"; // Windows NT + break; + case 'W95': + MimgOrdenador="ordenador_W95.gif"; // Windows 95 + break; + case 'W98': + MimgOrdenador="ordenador_W98.gif"; // Windows 98 + break; + case 'WML': + MimgOrdenador="ordenador_WML.gif"; // Windows Millenium + break; + case 'LNX': + MimgOrdenador="ordenador_LNX.gif"; // Linux + default: + MimgOrdenador="ordenador_OFF.gif"; // Linux + break; + } + return(MimgOrdenador); +} + + diff --git a/admin/WebConsole/jscripts/aulas.js b/admin/WebConsole/jscripts/aulas.js new file mode 100644 index 00000000..fb3fe373 --- /dev/null +++ b/admin/WebConsole/jscripts/aulas.js @@ -0,0 +1,337 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: aulas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero aulas.php +// ************************************************************************************************************************************************* +var TBcon=new Array() // Array para eco de consolas +var Ambito=null; +var IdAmbito=null; +//________________________________________________________________________________________________________ +// +// Copia al buffer un nodo de ordenador para moverlo posteriormente +//________________________________________________________________________________________________________ +function mover_ordenador(){ + reset_contextual(-1,-1) + corte_currentNodo=currentNodo +} +//________________________________________________________________________________________________________ +// +// Esta funci� cambia de sitio un ordenador desde un aula a otro aula o bien adentro de un +// grupo de ordenadores dentro del mismo aula +//________________________________________________________________________________________________________ +function colocar_ordenador(swsufijo){ + reset_contextual(-1,-1) + if (!corte_currentNodo) { + alert(CTbMsg[7]); + return + } + var identificador=currentNodo.toma_identificador() + var sufijonodo=currentNodo.toma_sufijo() + var identificador_ordenador=corte_currentNodo.toma_identificador() + var swsf=parseInt(swsufijo) + if (swsf==0) // El ordenador se mueve a un grupo de ordenadores + var prm="opcion="+op_movida+"&grupoid="+identificador+"&idordenador="+identificador_ordenador + else // El ordenador se mueve a un aula + var prm="opcion="+op_movida+"&idaula="+identificador+"&idordenador="+identificador_ordenador + + var wurl="../gestores/gestor_ordenadores.php"; + CallPage(wurl,prm,"retornoColocar","POST"); +} +//______________________________________________________________________________________________________ +function retornoColocar(iHTML){ + if(iHTML.length>0){ + eval(iHTML) + } +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de cambiar un ordenador de sitio +// Especificaciones: +// Los par�etros recibidos son: +// - resul: resultado de la operaci� de eliminaci� ( true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador del registro +//________________________________________________________________________________________________________ +function resultado_cambiar_ordenadores(resul,descrierror,id){ + if (!resul){ + alert(descrierror) + return + } + var ncel=corte_currentNodo.CeldaVista; + + var celdaHTML=ncel.parentNode.innerHTML; // Recupera celda del nodo + if(IE) + var patron = new RegExp("<TD width=16><SPAN><IMG","gi") + else + if(NS) + var patron = new RegExp("<TD width=\"16px\"><SPAN><IMG","gi") + + var p=celdaHTML.search(patron); + if(p<0) return // Ha habido algn problema + var nwceldaHTML='<TABLE border="0" cellspacing="0" cellpadding="0"><TBODY><TR height=16><TD width=3></TD>'; + nwceldaHTML+=celdaHTML.substring(p); + InsertaNodo(currentNodo,nwceldaHTML); + EliminaNodo(corte_currentNodo) // Elimina el nodo + corte_currentNodo=null; +} +//________________________________________________________________________________________________________ +// +// Refresca la visualizaci� del estado de los ordenadores(Clientes rembo y clientes Windows o Linux) +//________________________________________________________________________________________________________ +function actualizar_ordenadores(){ + reset_contextual(-1,-1) // Oculta menu contextual + var resul=window.confirm(TbMsg[1]); + if (!resul)return + var idambito=currentNodo.toma_identificador() + var ambito=calAmbito(currentNodo.toma_sufijo()) + var wurl="actualizar.php"; + var prm="idambito="+idambito+"&ambito="+ambito; + CallPage(wurl,prm,"retornoActualizar","POST"); +} +//________________________________________________________________________________________________________ +// +// Detiene el programa que corre en el cliente +//________________________________________________________________________________________________________ +function purgar_ordenadores(){ + reset_contextual(-1,-1) // Oculta menu contextual + var resul=window.confirm(TbMsg[4]); + if (!resul)return + var idambito=currentNodo.toma_identificador() + var ambito=calAmbito(currentNodo.toma_sufijo()) + var wurl="purgar.php"; + var prm="idambito="+idambito+"&ambito="+ambito; + CallPage(wurl,prm,"retornoPurgar","POST"); +} +//______________________________________________________________________________________________________ +function retornoActualizar(resul){ + if(resul==1) + alert(TbMsg[7]); + else + alert(TbMsg[8]); +} +//______________________________________________________________________________________________________ +function retornoPurgar(resul){ + if(resul==1) + alert(TbMsg[9]); + else + alert(TbMsg[10]); +} +//________________________________________________________________________________________________________ +// +// Conmuta el estado de los ordenadores(Modo Administrado reinici�dolos) +//________________________________________________________________________________________________________ +function consola_remota(ambito){ + reset_contextual(-1,-1) + + Ambito=ambito; + consola_eco(1); +} +//________________________________________________________________________________________________________ +// +// Abre una ventana para mostrar el eco de una consola +//________________________________________________________________________________________________________ +function eco_remoto(lit) +{ + reset_contextual(-1,-1) + if(Ambito==null){ + alert(TbMsg[6]); + return; + } + else{ + if(Ambito==AMBITO_ORDENADORES) + consola_eco(1); + else + consola_eco(2); + } +} +//________________________________________________________________________________________________________ +function consola_eco(sw) +{ + var idambito=currentNodo.toma_identificador() + if(TBcon[idambito]) + TBcon[idambito].close(); + + if(TBcon[idambito]) + TBcon[idambito].close(); + var litambito=currentNodo.toma_sufijo() + var nomambito=currentNodo.toma_infonodo() + var whref="../principal/consolaremota.php?litambito="+litambito+"&idambito="+idambito+"&nomambito="+nomambito+"&sw="+sw; + if(sw==1){ + IdAmbito=idambito; + window.open(whref,"frame_contenidos") + } + else{ + var nomw="w_"+litambito+"_"+idambito + TBcon[idambito] = window.open(whref,nomw,"width=720,height=640"); + } +} +//________________________________________________________________________________________________________ +// +// Muestra estatus de los ordenadores +//________________________________________________________________________________________________________ +function ver_aulas(){ + reset_contextual(-1,-1) // Oculta menu contextual + var idambito=currentNodo.toma_identificador(); + var litambito=currentNodo.toma_sufijo(); + var nombreambito=currentNodo.toma_infonodo(); + var whref="aula.php?litambito="+litambito+"&idambito="+idambito+"&nombreambito="+nombreambito + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Estatus de un aula +//________________________________________________________________________________________________________ +function veraula(o,sw){ + var identificador=o.getAttribute("id"); + var litambito=identificador.split("-")[0]; + var idambito=identificador.split("-")[1]; + var nombreambito=o.getAttribute("value"); + var whref="aula.php?litambito="+litambito+"&idambito="+idambito+"&nombreambito="+nombreambito + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +function menucontextual(o,idmnctx){ + var menuctx=document.getElementById(idmnctx); // Toma objeto DIV + muestra_contextual(ClickX,ClickY,menuctx) // muestra menu +} +//________________________________________________________________________________________________________ +// +// Env� un comando para su ejecuci� o incorporaci� a procedimientos o tareas +//________________________________________________________________________________________________________ +function confirmarcomando(ambito,idcomando,descricomando,pagina,gestor,funcion){ + reset_contextual(-1,-1); // Oculta menu contextual + document.fcomandos.idcomando.value=idcomando; // Identificador del comandos + document.fcomandos.descricomando.value=descricomando; // Descripción del comandos + document.fcomandos.ambito.value=ambito; // Ámbito de aplicación + document.fcomandos.idambito.value=currentNodo.toma_identificador(); // Identificador del ámbito + document.fcomandos.nombreambito.value=currentNodo.toma_infonodo() ; // Nombre del ámbito + document.fcomandos.action=pagina; // Página interactiva del comando + document.fcomandos.gestor.value=gestor; // Página gestora del comando + document.fcomandos.funcion.value=funcion; // Página gestora del comando + document.fcomandos.submit(); +} +//________________________________________________________________________________________________________ +// +// Env� un comando para su ejecuci� o incorporaci� a procedimientos o tareas +//________________________________________________________________________________________________________ +function confirmarprocedimiento(ambito){ + reset_contextual(-1,-1); // Oculta menu contextual + var idambito=currentNodo.toma_identificador() // identificador del ambito + var nombreambito=currentNodo.toma_infonodo() // nombre del �bito + if(nombreambito=="") + var nombreambito=currentNodo.value // nombre del �bito desde p�ina aula.php + var wurl="../varios/ejecutaracciones.php?ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito + window.open(wurl,"frame_contenidos")} +//________________________________________________________________________________________________________ +// +// Muestra la cola de acciones +//________________________________________________________________________________________________________ +function cola_acciones(tipoaccion){ + reset_contextual(-1,-1); // Oculta menu contextual + var ambito; + var litambito=currentNodo.toma_sufijo() // ambito + switch(litambito){ + case LITAMBITO_CENTROS : + ambito=AMBITO_CENTROS; + break; + case LITAMBITO_GRUPOSAULAS : + ambito=AMBITO_GRUPOSAULAS; + break; + case LITAMBITO_AULAS : + ambito=AMBITO_AULAS; + break; + case LITAMBITO_GRUPOSORDENADORES : + ambito=AMBITO_GRUPOSORDENADORES; + break; + case LITAMBITO_ORDENADORES : + ambito=AMBITO_ORDENADORES; + break; + } + var idambito=currentNodo.toma_identificador() // identificador del �bito + var nombreambito=currentNodo.toma_infonodo() // nombre del ordenador + if(nombreambito=="") + var nombreambito=currentNodo.value // nombre del �bito desde p�ina aula.php + var wurl="../principal/colasacciones.php?ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito + window.open(wurl,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra la cola de reservas +//________________________________________________________________________________________________________ +function cola_reservas(tiporeserva){ + reset_contextual(-1,-1); // Oculta menu contextual + var ambito; + var litambito=currentNodo.toma_sufijo() // ambito + + switch(litambito){ + case LITAMBITO_CENTROS : + ambito=AMBITO_CENTROS; + break; + case LITAMBITO_GRUPOSAULAS : + ambito=AMBITO_GRUPOSAULAS; + break; + case LITAMBITO_AULAS : + ambito=AMBITO_AULAS; + break; + case LITAMBITO_GRUPOSORDENADORES : + ambito=AMBITO_GRUPOSORDENADORES; + break; + case LITAMBITO_ORDENADORES : + ambito=AMBITO_ORDENADORES; + break; + } + var idambito=currentNodo.toma_identificador() // identificador del �bito + var nombreambito=currentNodo.toma_infonodo() // nombre del ordenador + if(nombreambito=="") + var nombreambito=currentNodo.value // nombre del �bito desde p�ina aula.php + var wurl="../principal/programacionesaulas.php?ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito+"&tipocola="+tiporeserva + window.open(wurl,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra el formulario de captura de datos de un ordenador estandar +//________________________________________________________________________________________________________ +function ordenador_estandar(){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador() + var nombreaula=currentNodo.toma_infonodo() + var whref="../propiedades/propiedades_ordenadorestandar.php?idaula="+identificador+"&nombreaula="+nombreaula + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +function resultado_ordenadorestandar(resul,descrierror){ + if (!resul){ // Ha habido algn error + alert(descrierror) + return + } + alert(TbMsg[0]); +} +//________________________________________________________________________________________________________ +// +// Muestra la configuraci� de los ordenadores +// Par�etros: +// - ambito: �bito que se quiere investigar +//________________________________________________________________________________________________________ +function configuraciones(ambito){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador(); + wurl="configuraciones.php?idambito="+identificador+"&ambito="+ambito; + window.open(wurl,"frame_contenidos") +} +//___________________________________________________________________________________________________________ +// +// Muestra formulario para incorporar ordenadores a trav� de un fichero de configuraci� de un servidor dhcp +//___________________________________________________________________________________________________________ +function incorporarordenador(){ + reset_contextual(-1,-1) + var idaula=currentNodo.toma_identificador() + var nombreaula=currentNodo.toma_infonodo() + var whref="../varios/incorporaordenadores.php?idaula="+idaula+"&nombreaula="+nombreaula + window.open(whref,"frame_contenidos") +} + + diff --git a/admin/WebConsole/jscripts/cadenas.js b/admin/WebConsole/jscripts/cadenas.js new file mode 100644 index 00000000..520631e1 --- /dev/null +++ b/admin/WebConsole/jscripts/cadenas.js @@ -0,0 +1,45 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: cadenas.js +// Descripción : +// Este fichero implementa funciones de uso común para cadenas +// ************************************************************************************************************************************************* +function TrimLeft( str ) { + var resultStr = ""; + var i = len = 0; + if (str+"" == "undefined" || str == null) return null; + str += ""; + if (str.length == 0) + resultStr = ""; + else { + len = str.length; + while ((i <= len) && (str.charAt(i) == " ")) i++; + resultStr = str.substring(i, len); + } + return resultStr; +} +//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +function TrimRight( str ) { + var resultStr = ""; + var i = 0; + if (str+"" == "undefined" || str == null) return null; + str += ""; + if (str.length == 0) + resultStr = ""; + else { + i = str.length - 1; + while ((i >= 0) && (str.charAt(i) == " ")) i--; + resultStr = str.substring(0, i + 1); + } + return resultStr; + } +//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +function Trim( str ) { + var resultStr = ""; + resultStr = TrimLeft(str); + resultStr = TrimRight(resultStr); + return resultStr; +}
\ No newline at end of file diff --git a/admin/WebConsole/jscripts/colasacciones.js b/admin/WebConsole/jscripts/colasacciones.js new file mode 100644 index 00000000..5caa983d --- /dev/null +++ b/admin/WebConsole/jscripts/colasacciones.js @@ -0,0 +1,439 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: colasacciones.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero colasacciones.php +// ************************************************************************************************************************************************* + var currentCol; + var currentAcc; + var iresul; + var ifechafin; + var ihorafin; + var ifechareg; + var ihorareg; + var iiconamb; + var iamb; + var iinfor; + var isitu; + var iporcen; + var curentwprg; +//________________________________________________________________________________________________________ + + function resaltar(o){ + o.style.color="#999999" + o.style.fontWeight="bold" + + } +//________________________________________________________________________________________________________ + + function desresaltar(o){ + o.style.color="#999999" + o.style.fontWeight="normal" + } +//________________________________________________________________________________________________________ + + function marcalinea(o){ + } +//________________________________________________________________________________________________________ + + function chgdespleestados(o) + { + + var dplResultados=document.fdatos.resultado; + var op=o.selectedIndex; + switch(op){ + case ACCION_DETENIDA: + dplResultados.selectedIndex=ACCION_SINRESULTADO; + break; + case ACCION_INICIADA: + dplResultados.selectedIndex=ACCION_SINRESULTADO; + break; + case ACCION_FINALIZADA: + dplResultados.selectedIndex=ACCION_EXITOSA; + break; + } + } +//________________________________________________________________________________________________________ + + function chgdespleresultados(o) + { + var dplEstados=document.fdatos.estado; + var op=o.selectedIndex; + switch(op){ + case ACCION_SINRESULTADO: + //dplEstados.selectedIndex=0; // Todos + break; + case ACCION_EXITOSA: + dplEstados.selectedIndex=ACCION_FINALIZADA; + break; + case ACCION_FALLIDA: + dplEstados.selectedIndex=ACCION_FINALIZADA; + break; + } + } +//________________________________________________________________________________________________________ + + function vertabla_calendario(ofecha) + { + currentFecha=ofecha; + url="../varios/calendario_ventana.php?fecha="+ofecha.value + window.open(url,"vf","top=160,left=250,height=220,width=160,scrollbars=no") + } +//________________________________________________________________________________________________________ + + function vertabla_horario(ohora) + { + currentHora=ohora; + url="../varios/horario_ventana.php?hora="+ohora.value + window.open(url,"vh","top=120,left=115,height=180,width=590,scrollbars=no") + } +//________________________________________________________________________________________________________ + + function anade_fecha(fecha) + { + currentFecha.value=fecha + } +//________________________________________________________________________________________________________ + + function anade_hora(hora) + { + currentHora.value=hora + } +//________________________________________________________________________________________________________ +// +// Procesa operaciones sobre acciones +// +// Parámetros: +// op: Código de operacion +// 1- Eliminar +// 2.-Reiniciar +// 3.- Parar +// 4.- Reanudar +// o: Es nulo si se eligen las opraciones globales, en caso de ser operaciones locales no lo es +// y la cadena con el formato "tipoaccion,idtipoaccio,sesion,idaccion;" se encuentra en el atributo value +// +// Especificaciones; +// +// La forma de procesar las operaciones sobre acciones es a través de identificadores con el formato: +// "tipoaccion,idtipoaccio,sesion,idaccion" separados cada tripla por ";" el gestor recibe esta cadena +// y el tipo de operación. +// +// En caso de que idaccion sea cero se actua atendiendo a la sesion en caso contrario con la propia idaccion +//________________________________________________________________________________________________________ + + function eleccion(op,o) + { + reset_contextual(-1,-1); + if(o==null) + var acciones=document.facciones.acciones.value; + else + var acciones=o.value; + + switch(op){ + case 1: // Eliminar + if(confirm(TbMsg[1])) + gestionaAccion(op,acciones); + + break; + case 2: // Reiniciar + if(confirm(TbMsg[2])) + gestionaAccion(op,acciones); + break; + case 3: // Detener + if(confirm(TbMsg[3])) + gestionaAccion(op,acciones); + break; + case 4: // Reanudar + if(confirm(TbMsg[4])) + gestionaAccion(op,acciones); + break; + case 5: // Finalizar sin errores + if(confirm(TbMsg[5])) + gestionaAccion(op,acciones); + break; + case 6: // Finalizar con errores + if(confirm(TbMsg[6])) + gestionaAccion(op,acciones); + break; + } + } +//________________________________________________________________________________________________________ + + function gestionaAccion(op,acciones){ + currentAcc=acciones; + /* LLamada a la gestión */ + var wurl="../gestores/gestor_colasacciones.php"; + var prm="opcion="+op+"&acciones="+acciones + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ + + function retornoGestion(op) + { + //alert("Retorno:"+op) + var opcion=parseInt(op); + if(opcion==0){ // Error en el proceso anterior + alert(TbMsg[0]); + return; + } + var tipoaccion; + var idtipoaccion; + var sesion; + var idaccion; + var tbAcciones=currentAcc.split(";"); + + /* Busca nodos afectados y los coloca en array para proceso posterior */ + for(i=0;i<tbAcciones.length-1;i++){ + var tbAccion=tbAcciones[i].split(","); + tipoaccion=tbAccion[0]; + idtipoaccion=tbAccion[1]; + sesion=tbAccion[2]; + idaccion=tbAccion[3]; + var oTB=document.getElementById("tbAcciones"); + var oTRs=new Array(); + var oTIs=new Array(); + var k=r=0; + for(var j=0;j<oTB.childNodes.length;j++){ // Recopila nodos + if(idaccion>0){ // Operación sobre un ordenador concreto + if(k==0) + oTRs[k++]=document.getElementById(idaccion).parentNode; + if(oTB.childNodes[j].id==sesion) + oTIs[r++]=oTB.childNodes[j]; + } + else{ + if(oTB.childNodes[j].id==sesion) + oTRs[k++]=oTB.childNodes[j]; + } + } + for( var j=0;j<k;j++){ // Recorre nodos afectados + switch(opcion){ + case 1: + oTB.removeChild(oTRs[j]); // Elimina nodo <TR> completo + break; + case 2: + cambioReinicio(oTRs[j]); // Coloca icono de accion iniciada + break; + case 3: + cambioParada(oTRs[j]); // Coloca icono de accion parada a las que estén activas + break; + case 4: + cambioReanudacion(oTRs[j]); // Coloca icono de accion iniciada a las que estén paradas + break; + case 5: + cambioFinalizar(oTRs[j],true); // Coloca icono de accion finalizada sin errores + break; + case 6: + cambioFinalizar(oTRs[j],false); // Coloca icono de accion finalizada con errores + break; + } + } + // Recalculo de porcentaje + if(opcion==2 || opcion==5 || opcion==6){ + if(idaccion>0) // Si es reinicio de un sólo ordenador + recalculaAccion(oTIs,r,op); + else + recalculaAccion(oTRs,k,op); + } + } + alert(TbMsg[10]); + } +//______________________________________________________________________________________________________ +// +// Gestiona todas las operaciones posteriores al reinicio de la acción +//______________________________________________________________________________________________________ + + function cambioReinicio(nodo) + { + if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones + + setIndices(nodo); + + nodo.childNodes[ifechafin].innerHTML=" "; + nodo.childNodes[ihorafin].innerHTML=" "; + nodo.childNodes[iinfor].innerHTML=" "; + + //if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_FINALIZADA){ + nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/acIniciada.gif"); + nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_INICIADA) + nodo.childNodes[iresul].childNodes[0].setAttribute("value",ACCION_SINRESULTADO) + nodo.childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/nada.gif"); + nodo.childNodes[iporcen].innerHTML=" " + //} + } +//______________________________________________________________________________________________________ +// +// Gestiona todas las operaciones posteriores a la detención de la acción +//______________________________________________________________________________________________________ + + function cambioParada(nodo) + { + if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones + setIndices(nodo); + if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_INICIADA){ + nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/acDetenida.gif"); + nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_DETENIDA) + } + } +//______________________________________________________________________________________________________ +// +// Gestiona todas las operaciones posteriores a la reanudación de la acción +//______________________________________________________________________________________________________ + + function cambioReanudacion(nodo) + { + if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones + setIndices(nodo); + if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_DETENIDA){ + nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/acIniciada.gif"); + nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_INICIADA) + } + } +//______________________________________________________________________________________________________ +// +// Gestiona todas las operaciones posteriores a la finalización de la acción +//______________________________________________________________________________________________________ + + function cambioFinalizar(nodo,sw) + { + if(nodo.getAttribute('value')!="D") return; // Sólo nodos de notificaciones + setIndices(nodo); + if(nodo.childNodes[isitu].childNodes[0].getAttribute('value')==ACCION_INICIADA){ + nodo.childNodes[isitu].childNodes[0].setAttribute("value",ACCION_FINALIZADA) + nodo.childNodes[isitu].childNodes[0].setAttribute("src","../images/iconos/nada.gif"); + if(sw){ + nodo.childNodes[iresul].childNodes[0].setAttribute("value",ACCION_EXITOSA) + nodo.childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acExitosa.gif"); + nodo.childNodes[iinfor].innerHTML=LITACCION_EXITOSA; } + else{ + nodo.childNodes[iresul].childNodes[0].setAttribute("value",ACCION_FALLIDA) + nodo.childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acFallida.gif"); + nodo.childNodes[iinfor].innerHTML=LITACCION_FALLIDA; + } + var ahora = new Date() + var fechafin=ahora.getDate()+"-"+(ahora.getMonth()+1)+"-"+ahora.getFullYear(); + nodo.childNodes[ifechafin].innerHTML=fechafin; + var horafin=ahora.getHours()+":"+(ahora.getMinutes()+1)+":"+ahora.getSeconds(); + nodo.childNodes[ihorafin].innerHTML=horafin; + } + } + +//______________________________________________________________________________________________________ +// +// Configura indices para acceo a nodos +//______________________________________________________________________________________________________ + + function setIndices(nodo) + { + if(nodo.getAttribute('value')=="C") + iresul=2; // Nodo cabecera de sesion + else{ + if(nodo.getAttribute('value')=="D") + iresul=1; // Nodo detalle de sesion + else + return; // Nodo de cambio de ámbito + } + ifechafin=iresul+1; + ihorafin=ifechafin+1; + ifechareg=ihorafin+1; + ihorareg=ifechareg+1; + iiconamb=ihorareg+1; + iamb=iiconamb+1; + iinfor=iamb+1; + isitu=iinfor+1; + iporcen=isitu+1; + } +//______________________________________________________________________________________________________ +// +// Recalcula porcentaje después de reinicios +// +// Especificaciones: +// El parámetro sw indica si finaliza sin errores (true) o con errore (false) +//______________________________________________________________________________________________________ + + function recalculaAccion(nodos,r,op) + { + var c,nt,nn; + nt=nf=0; + var resultado=ACCION_EXITOSA; + + for(var j=0;j<r;j++){ // Recorre nodo para recalcular porcentaje + if(nodos[j].getAttribute('value')=="C") + c=j; // Guarda indice nodo cabecera de sesión + else{ + if(nodos[j].getAttribute('value')=="D"){ + nf++; + if(nf==1) setIndices(nodos[j]); // Sólo la primera vez + if(nodos[j].childNodes[isitu].childNodes[0].getAttribute("value")==ACCION_FINALIZADA) + nt++; + if(nodos[j].childNodes[iresul].childNodes[0].getAttribute("value")==ACCION_FALLIDA) + resultado=ACCION_FALLIDA; + if(nodos[j].childNodes[iresul].childNodes[0].getAttribute("value")==ACCION_SINRESULTADO){ + if(resultado==ACCION_EXITOSA) + resultado=ACCION_SINRESULTADO; + } + } + } + } + var porcen=0; + if(nf>0) + porcen=nt*100/nf; // Calcula porcentaje de finalización + setIndices(nodos[c]) + nodos[c].childNodes[iporcen].innerHTML=Math.floor(porcen)+"%"; + switch(resultado){ + case ACCION_EXITOSA: + nodos[c].childNodes[iresul].childNodes[0].setAttribute("value",ACCION_EXITOSA) + nodos[c].childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acExitosa.gif"); + break; + + case ACCION_FALLIDA: + nodos[c].childNodes[iresul].childNodes[0].setAttribute("value",ACCION_FALLIDA) + nodos[c].childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/acFallida.gif"); + break; + case ACCION_SINRESULTADO: + nodos[c].childNodes[iresul].childNodes[0].setAttribute("value",ACCION_SINRESULTADO) + nodos[c].childNodes[iresul].childNodes[0].setAttribute("src","../images/iconos/nada.gif"); + break; + } + } +//______________________________________________________________________________________________________ +// +// Filtra según una determinada accion o bien elimina ese filtro +// +// Parámetros: +// sw: Indica si hay que filtrar o hay que eliminar el filtro por acción +//______________________________________________________________________________________________________ + + function filtroAccion(sw) + { + if(sw==0){ // Quitar filtro + document.fdatos.sesion.value=0; + document.fdatos.visuprm.checked=false; + document.fdatos.visucmd.checked=true; + document.fdatos.visupro.checked=false; + } + else{ // Filtrar + document.fdatos.sesion.value=document.facciones.sesion.value; + document.fdatos.visuprm.checked=true; + document.fdatos.visucmd.checked=true; + document.fdatos.visupro.checked=true; + } + document.fdatos.submit(); + } +//________________________________________________________________________________________________________ +// +// Muestra formulario de programaciones para acciones +//________________________________________________________________________________________________________ + +function programacion(idcmd,sesion,descripcion) +{ + reset_contextual(-1,-1) + var whref="../varios/programaciones.php?idcomando="+idcmd+"&sesion="+sesion; + whref+="&descripcioncomando="+descripcion+"&tipoaccion="+EJECUCION_COMANDO + if(curentwprg) + curentwprg.close(); + curentwprg=window.open(whref,"wprg","left=50,top=20,height=520,width=480,scrollbars=no") +} +
\ No newline at end of file diff --git a/admin/WebConsole/jscripts/colasreservas.js b/admin/WebConsole/jscripts/colasreservas.js new file mode 100644 index 00000000..3ff9f9cd --- /dev/null +++ b/admin/WebConsole/jscripts/colasreservas.js @@ -0,0 +1,82 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: colasreservas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero colasreservas.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ + function chgdesplereservas(o){ + var otip=""; + for (var i=0; i< o.options.length; i++){ + if(o.options[i].selected) + otip+=o.options[i].value+"="+o.options[i].text+";" + } + document.fdatos.estadoreserva.value=otip + } +//________________________________________________________________________________________________________ + function chgdesplesituacion(o){ + var otip=""; + for (var i=0; i< o.options.length; i++){ + if(o.options[i].selected) + otip+=o.options[i].value+"="+o.options[i].text+";" + } + document.fdatos.situacion.value=otip + } + //________________________________________________________________________________________________________ + function vertabla_calendario(ofecha){ + currentFecha=ofecha; + url="../varios/calendario_ventana.php?fecha="+ofecha.value + window.open(url,"vf","top=160,left=250,height=220,width=150,scrollbars=no") + } +//________________________________________________________________________________________________________ + function vertabla_horario(ohora){ + currentHora=ohora; + url="../varios/horareser_ventana.php?hora="+ohora.value + window.open(url,"vh","top=200,left=250,height=120,width=160,scrollbars=no") + } +//________________________________________________________________________________________________________ + function anade_fecha(fecha){ + currentFecha.value=fecha + } +//________________________________________________________________________________________________________ + function anade_hora(hora){ + currentHora.value=hora + } +//________________________________________________________________________________________________________ + function sobre(){ +} +//________________________________________________________________________________________________________ + function fuera(){ +} +//________________________________________________________________________________________________________ + function clic(o){ + var idaula=o.value; + var wid=o.getAttribute("id"); + var aux=wid.split("/") // Toma el identificador + var onodo=document.getElementById("nodomes-"+idaula+"-"+aux[1]+"/"+aux[2]); + desplieganodo(onodo); // Despliega el mes donde está el día + onodo=document.getElementById("nododia-"+idaula+"-"+wid); + desplieganodo(onodo); + nwhref="#anododia-"+idaula+"-"+wid + location.href=nwhref + resalta(onodo); +} +//________________________________________________________________________________________________________ + function TH_clic(o){ + var idaula=o.value; + var onodo=document.getElementById("nodomes-"+idaula+"-"+o.getAttribute("id")); + desplieganodo(onodo); + + nwhref="#anodomes-"+idaula+"-"+o.getAttribute("id") + location.href=nwhref + resalta(onodo); + } +//________________________________________________________________________________________________________ + function desplieganodo(onodo){ + var pathimg='../images/tsignos'; + despliega(onodo,pathimg) +} + diff --git a/admin/WebConsole/jscripts/comunes.js b/admin/WebConsole/jscripts/comunes.js new file mode 100644 index 00000000..5a87c0c2 --- /dev/null +++ b/admin/WebConsole/jscripts/comunes.js @@ -0,0 +1,366 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Marzo-2006 +// Nombre del fichero: comunes.js +// Descripción : +// Este fichero implementa funciones de uso comn a varios fichechos +// ************************************************************************************************************************************************* +var corte_currentNodo // Copia del Nodo actual para mover y colocar +var currentTipo=null; // Tipo de Nodo +//____________________________________________________________________________ +// +// Recupera el navegador utilizado +//____________________________________________________________________________ +var IE=(navigator.appName=="Microsoft Internet Explorer"); +var NS=(navigator.appName=="Netscape"); +//document.body.addEventListener("contextmenu",killClick,true); +//document.oncontextmenu=function(){ return(false);} +//window.oncontextmenu = function () { alert("pepe"); } + +//________________________________________________________________________________________________________ +// +// Inserta un nuevo grupo +//________________________________________________________________________________________________________ +function insertar_grupos(tipo,literaltipo,swi,idu){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador(); + if(swi!=null && swi==1) identificador=0; + if(identificador==null) identificador=0 + + if(literaltipo==LITAMBITO_AULAS) // Nuevo grupo de ordenador hijo de un aula + var wurl="../propiedades/propiedades_grupos.php?opcion="+op_alta+"&grupoid=0"+"&idaula="+identificador+"&tipo="+AMBITO_GRUPOSORDENADORES +"&literaltipo="+LITAMBITO_GRUPOSORDENADORES; + else + if(literaltipo==LITAMBITO_GRUPOSORDENADORES) // Nuevo grupo de ordenador hijo de un grupo de ordenadores + var wurl="../propiedades/propiedades_grupos.php?opcion="+op_alta+"&grupoid="+identificador+"&idaula=0"+"&tipo="+AMBITO_GRUPOSORDENADORES +"&literaltipo="+LITAMBITO_GRUPOSORDENADORES; + else + var wurl="../propiedades/propiedades_grupos.php?opcion="+op_alta+"&grupoid="+identificador+"&tipo="+tipo +"&literaltipo="+literaltipo + if(idu!=null && idu==1) wurl+="&iduniversidad="+idu + window.open(wurl,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de insertar un nuevo grupo +// Par�etros: +// - resul: resultado de la operaci�(true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un s�o un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_grupos(resul,descrierror,nwid,tablanodo){ + reset_contextual(-1,-1) // Oculta menu contextual + if (!resul){ // Ha habido algn error en la inserci� + alert(descrierror) + return + } + InsertaNodo(currentNodo,tablanodo); +} +//________________________________________________________________________________________________________ +// +// Modifica el nombre de un grupo +//________________________________________________________________________________________________________ +function modificar_grupos(){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador() + var literaltipo=currentNodo.toma_sufijo() + wurl="../propiedades/propiedades_grupos.php?opcion="+op_modificacion+"&idgrupo="+identificador+"&literaltipo="+literaltipo + window.open(wurl,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar el nombre de un grupo de aulas +// Par�etros: +// - resul: resultado de la operaci� ( true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_grupos(resul,descrierror,lit){ + if (!resul){ + alert(descrierror); + return; + } + currentNodo.pone_infonodo(lit); + alert(CTbMsg[2]); +} +//________________________________________________________________________________________________________ +// +// Elimina un grupo +//________________________________________________________________________________________________________ +function eliminar_grupos(){ + reset_contextual(-1,-1) // Oculta menu contextual + if (currentNodo.TieneHijos()){ + var resul=window.confirm(CTbMsg[0]); + if (!resul)return; + } + var identificador=currentNodo.toma_identificador(); + var literaltipo=currentNodo.toma_sufijo(); + wurl="../propiedades/propiedades_grupos.php?opcion="+op_eliminacion+"&idgrupo="+identificador+"&literaltipo="+literaltipo; + window.open(wurl,"frame_contenidos"); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un grupo +// Par�etros: +// - resul: resultado de la operaci� ( true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro +//________________________________________________________________________________________________________ +function resultado_eliminar_grupos(resul,descrierror,id){ + if (!resul){ + alert(descrierror); + return + } + var nvp=currentNodo.PapaNodo(); + var ncel=nvp.CeldaVista; + EliminaNodo(currentNodo) // Elimina el nodo del árbol + var nwcurrentNodo=TomaDatosNodo(ncel); + resalta(nwcurrentNodo); + alert(CTbMsg[3]); +} +//________________________________________________________________________________________________________ +// +// Muestra el formulario de captura de datos para insertar +//________________________________________________________________________________________________________ +function insertar(l,t,w,h,pages,swi,idu){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador() + var literaltipo=currentNodo.toma_sufijo() + if(swi!=null && swi==1) identificador=0; // Nodos directos (sin pertenencia a grupo) + if(identificador==null) identificador=0; + + if(literaltipo==LITAMBITO_AULAS){ // Nuevo grupo de ordenador hijo de un aula + if( pages=="../propiedades/propiedades_ordenadores.php") + var whref="../propiedades/propiedades_ordenadores.php?opcion="+op_alta+"&grupoid=0"+"&idaula="+identificador; + else + var whref=pages+"&opcion="+op_alta+"&idambito="+identificador;; + } + else{ + if(literaltipo==LITAMBITO_GRUPOSORDENADORES) // Nuevo grupo de ordendor hijo de un grupo de ordenadores + var whref="../propiedades/propiedades_ordenadores.php?opcion="+op_alta+"&grupoid="+identificador+"&idaula=0" + else{ + var auxsplit= pages.split('?'); // La variable pages lleva parametros + if(auxsplit[1]!=null) + var whref=pages+"&"; + else + var whref=pages+"?"; + whref+="opcion="+op_alta+"&grupoid="+identificador; + } + } + if(idu!=null){ + switch(idu){ + case 1: + whref+="&iduniversidad="+idu; + break; + case 2: + whref+="&identidad="+identificador; + + break; + case 3: + whref+="&idambito="+identificador; + break; + } + } + window.open(whref,"frame_contenidos"); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de insertar datos +// Par�etros: +// - resul: resultado de la operaci�(true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un s�o un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar(resul,descrierror,nwid,tablanodo){ + if (!resul){ + alert(descrierror); + } + InsertaNodo(currentNodo,tablanodo); + alert(CTbMsg[4]); +} +//________________________________________________________________________________________________________ +// +// Muestra el formulario de captura de datos para modificaci� +//________________________________________________________________________________________________________ +function modificar(l,t,w,h,pages){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador() + if (!identificador) identificador=0; + var whref=pages+"?opcion="+op_modificacion+"&identificador="+identificador; + window.open(whref,"frame_contenidos"); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar datos +// Par�etros: +// - resul: resultado de la operaci� ( true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar(resul,descrierror,lit){ + if (!resul){ + alert(descrierror); + return; + } + currentNodo.pone_infonodo(lit); + alert(CTbMsg[5]); +} +//________________________________________________________________________________________________________ +// +// Muestra el formulario de captura de datos para eliminaci� +//________________________________________________________________________________________________________ +function eliminar(l,t,w,h,pages){ + reset_contextual(-1,-1) // Oculta menu contextual + var identificador=currentNodo.toma_identificador(); + var whref=pages+"?opcion="+op_eliminacion+"&identificador="+identificador; + window.open(whref,"frame_contenidos"); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un grupo +// Par�etros: +// - resul: resultado de la operaci� ( true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro +//________________________________________________________________________________________________________ +function resultado_eliminar(resul,descrierror,id){ + if (!resul){ + alert(descrierror); + return + } + var nvp=currentNodo.PapaNodo(); + var ncel=nvp.CeldaVista; + EliminaNodo(currentNodo) // Elimina el nodo del árbol + var nwcurrentNodo=TomaDatosNodo(ncel); + resalta(nwcurrentNodo); + alert(CTbMsg[6]); +} +//________________________________________________________________________________________________________ +// +// Copia al buffer un nodo para moverlo posteriormente +//________________________________________________________________________________________________________ +function mover(tipo){ + reset_contextual(-1,-1) + corte_currentNodo=currentNodo + currentTipo=tipo +} +//________________________________________________________________________________________________________ +// +// Mueve de sitio un nodo desde un grupo a otro o a la raiz +//________________________________________________________________________________________________________ +function colocar(pages,tipo){ + reset_contextual(-1,-1); + if (!corte_currentNodo || tipo!=currentTipo) { + alert(CTbMsg[7]); + corte_currentNodo=null + currentTipo=null; + return + } + var identificadorgrupo=currentNodo.toma_identificador(); + if (!identificadorgrupo) identificadorgrupo=0 + var identificador=corte_currentNodo.toma_identificador(); + if (!identificador) identificador=0 // Se trata de la raiz + var wurl=pages; + var prm="opcion="+op_movida+"&grupoid="+identificadorgrupo+"&identificador="+identificador; + CallPage(wurl,prm,"retornoColocar","POST"); +} +//______________________________________________________________________________________________________ +function retornoColocar(iHTML){ + //alert(iHTML) + if(iHTML.length>0){ + eval(iHTML) + } +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de cambiar un nodo de sitio +// Par�etros: +// - resul: resultado de la operaci�( true si tuvo �ito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro +//________________________________________________________________________________________________________ +function resultado_mover(resul,descrierror,id){ + if (!resul){ + alert(descrierror) + return + } + var ncel=corte_currentNodo.CeldaVista; + var celdaHTML=ncel.parentNode.innerHTML; // Recupera celda del nodo + + if(IE) + var patron = new RegExp("<TD width=16><SPAN><IMG","gi") + else + if(NS) + var patron = new RegExp("<TD width=\"16px\"><SPAN><IMG","gi") + + var p=celdaHTML.search(patron); + if(p<0) return // Ha habido algn problema + var nwceldaHTML='<TABLE border="0" cellspacing="0" cellpadding="0"><TBODY><TR height=16><TD width=3></TD>'; + nwceldaHTML+=celdaHTML.substring(p); + InsertaNodo(currentNodo,nwceldaHTML); + EliminaNodo(corte_currentNodo) // Elimina el nodo + corte_currentNodo=null; +} +//________________________________________________________________________________________________________ +// +// Esta funci� muestra un menu contextual +// Los par�etros recibidos son: +// - o: Objeto TD literal del nodo +// - idmnctx: Identificador del DIV que contiene el menu contextual +//________________________________________________________________________________________________________ +function menu_contextual(o,idmnctx){ + var menuctx=document.getElementById(idmnctx); // Toma objeto DIV + if(o!=null) + clickLiteralNodo(o); + muestra_contextual(ClickX,ClickY,menuctx) // muestra menu +} +//________________________________________________________________________________________________________ +// +// Calcula el codigo ambito a partir del literal +//________________________________________________________________________________________________________ +function calAmbito(literal) +{ + var ambito; + switch(literal){ + case LITAMBITO_CENTROS : + ambito=AMBITO_CENTROS; + break; + case LITAMBITO_GRUPOSAULAS : + ambito=AMBITO_GRUPOSAULAS; + break; + case LITAMBITO_AULAS : + ambito=AMBITO_AULAS; + break; + case LITAMBITO_GRUPOSORDENADORES : + ambito=AMBITO_GRUPOSORDENADORES; + break; + case LITAMBITO_ORDENADORES : + ambito=AMBITO_ORDENADORES; + break; + } + return(ambito); +} +//________________________________________________________________________________________________________ +// +// Comprueba si un dato es numérico +//________________________________________________________________________________________________________ + +function IsNumeric(sText) +{ + var ValidChars = "0123456789."; + var IsNumber=true; + var Char; + + + for (i = 0; i < sText.length && IsNumber == true; i++) + { + Char = sText.charAt(i); + if (ValidChars.indexOf(Char) == -1) + { + IsNumber = false; + } + } + return IsNumber; + +} diff --git a/admin/WebConsole/jscripts/configuracionaula.js b/admin/WebConsole/jscripts/configuracionaula.js new file mode 100644 index 00000000..1fdb3c3f --- /dev/null +++ b/admin/WebConsole/jscripts/configuracionaula.js @@ -0,0 +1,93 @@ +// ************************************************************************ +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: configuracionaula.js +// Este fichero implementa las funciones javascript del fichero configuracionaula.php +// ************************************************************************ + +var currentOrdenador=null // Ordenador elegido +var currentNombreordenador=null // Nombre del ordenador + +// Código de los ambitos + +var AMBITO_ORDENADORES=0x10; + +// Literales de los ambitos + +var LITAMBITO_ORDENADORES="ordenadores"; +//____________________________________________________________________________ +// +// Esta función muestra un menu contextual +//____________________________________________________________________________ +function resalta(id,nom,nomflo){ + currentOrdenador=id + currentNombreordenador=nom + var menuctx=document.getElementById(nomflo); // El menu contextual + muestra_contextual(event.clientX,event.clientY,menuctx) // muestra menu + event.returnValue=false // Cancela efectos del evento +} +//____________________________________________________________________________ +// +// Esta función muestra los comandos a elegir para su ejecución +//____________________________________________________________________________ +function confirmarcomando(ambito,idc,interac){ + reset_contextual(-1,-1); + var ambito; + var idambito; + var nombreambito; + + ambito=AMBITO_ORDENADORES + idambito=currentOrdenador; + nombreambito=currentNombreordenador + + var identificador=idc // identificador del comando + var tipotrama='CMD' + var wurl="../principal/dialogostramas.php?identificador="+identificador+"&tipotrama="+tipotrama+"&ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito + if(interac==0){ + ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe + ifr.src=wurl; // LLama a la página gestora + } + else + window.open(wurl,"frame_contenidos") +} +//____________________________________________________________________________ +// +// Esta función muestra las colas de acciones +//____________________________________________________________________________ +function cola_acciones(tipoaccion){ + reset_contextual(-1,-1); + var ambito; + var idambito; + var nombreambito; + + ambito=AMBITO_ORDENADORES + idambito=currentOrdenador; + nombreambito=currentNombreordenador; + + var wurl="../principal/colasacciones.php?ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito+"&tipocola="+tipoaccion + window.open(wurl,"frame_contenidos") +} +//____________________________________________________________________________ +// +// Esta función muestra la configuración de los ordenadores de un configuracionaula +// objeto de argumentos de eventos: +// Especificaciones: +// El objeto e tiene las siguientes atributos o propiedades: +// - literalnodo: El literal del nodo +// - idnodo: El identificador del nodo +//____________________________________________________________________________ +function configuraciones(ambito){ + var identificador=currentOrdenador; + switch(ambito){ + case AMBITO_configuracionaulaS: + var identificador=currentconfiguracionaula; + wurl="configuracionconfiguracionaula.php?idconfiguracionaula="+identificador + window.open(wurl,"frame_contenidos") + break; + case AMBITO_ORDENADORES: + var identificador=currentOrdenador; + wurl="configuracionordenador.php?idordenador="+identificador + window.open(wurl,"frame_contenidos") + break; + } +} diff --git a/admin/WebConsole/jscripts/configuraciones.js b/admin/WebConsole/jscripts/configuraciones.js new file mode 100644 index 00000000..1fdb3c3f --- /dev/null +++ b/admin/WebConsole/jscripts/configuraciones.js @@ -0,0 +1,93 @@ +// ************************************************************************ +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: configuracionaula.js +// Este fichero implementa las funciones javascript del fichero configuracionaula.php +// ************************************************************************ + +var currentOrdenador=null // Ordenador elegido +var currentNombreordenador=null // Nombre del ordenador + +// Código de los ambitos + +var AMBITO_ORDENADORES=0x10; + +// Literales de los ambitos + +var LITAMBITO_ORDENADORES="ordenadores"; +//____________________________________________________________________________ +// +// Esta función muestra un menu contextual +//____________________________________________________________________________ +function resalta(id,nom,nomflo){ + currentOrdenador=id + currentNombreordenador=nom + var menuctx=document.getElementById(nomflo); // El menu contextual + muestra_contextual(event.clientX,event.clientY,menuctx) // muestra menu + event.returnValue=false // Cancela efectos del evento +} +//____________________________________________________________________________ +// +// Esta función muestra los comandos a elegir para su ejecución +//____________________________________________________________________________ +function confirmarcomando(ambito,idc,interac){ + reset_contextual(-1,-1); + var ambito; + var idambito; + var nombreambito; + + ambito=AMBITO_ORDENADORES + idambito=currentOrdenador; + nombreambito=currentNombreordenador + + var identificador=idc // identificador del comando + var tipotrama='CMD' + var wurl="../principal/dialogostramas.php?identificador="+identificador+"&tipotrama="+tipotrama+"&ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito + if(interac==0){ + ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe + ifr.src=wurl; // LLama a la página gestora + } + else + window.open(wurl,"frame_contenidos") +} +//____________________________________________________________________________ +// +// Esta función muestra las colas de acciones +//____________________________________________________________________________ +function cola_acciones(tipoaccion){ + reset_contextual(-1,-1); + var ambito; + var idambito; + var nombreambito; + + ambito=AMBITO_ORDENADORES + idambito=currentOrdenador; + nombreambito=currentNombreordenador; + + var wurl="../principal/colasacciones.php?ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito+"&tipocola="+tipoaccion + window.open(wurl,"frame_contenidos") +} +//____________________________________________________________________________ +// +// Esta función muestra la configuración de los ordenadores de un configuracionaula +// objeto de argumentos de eventos: +// Especificaciones: +// El objeto e tiene las siguientes atributos o propiedades: +// - literalnodo: El literal del nodo +// - idnodo: El identificador del nodo +//____________________________________________________________________________ +function configuraciones(ambito){ + var identificador=currentOrdenador; + switch(ambito){ + case AMBITO_configuracionaulaS: + var identificador=currentconfiguracionaula; + wurl="configuracionconfiguracionaula.php?idconfiguracionaula="+identificador + window.open(wurl,"frame_contenidos") + break; + case AMBITO_ORDENADORES: + var identificador=currentOrdenador; + wurl="configuracionordenador.php?idordenador="+identificador + window.open(wurl,"frame_contenidos") + break; + } +} diff --git a/admin/WebConsole/jscripts/consolaremota.js b/admin/WebConsole/jscripts/consolaremota.js new file mode 100644 index 00000000..b5f78ba8 --- /dev/null +++ b/admin/WebConsole/jscripts/consolaremota.js @@ -0,0 +1,64 @@ +var sw=0; +var ambito; +//______________________________________________________________________________________________________ +function confirmar() +{ + ambito=document.fdatos.ambito.value; + if(ambito==AMBITO_ORDENADORES){ + var diveco=document.getElementById("diveco"); // Contenedor de salida de cdigo + diveco.innerHTML=" "; // + } + var Obtcmd=document.getElementById("comando"); + var cmd=Obtcmd.value; + conmuta("visible"); + sw=1; + enviaMsg(cmd); +} +//______________________________________________________________________________________________________ +function enviaMsg(cmd) +{ + var idambito=document.fdatos.idambito.value; + var litambito=document.fdatos.litambito.value; + ambito=document.fdatos.ambito.value; + + switch(sw){ + case 1: + var urlRetorno="resultadocmd"; + var wurl="ecoconsola.php"; + var prm="idambito="+idambito+"&ambito="+ambito+"&comando="+cmd+"&sw="+sw; + break; + case 2: + var urlRetorno="resultadoeco"; + var wurl="ecoconsola.php"; + var prm="idambito="+idambito+"&ambito="+ambito+"&sw="+sw; + break; + } + CallPage(wurl,prm,urlRetorno,"POST"); +} +//______________________________________________________________________________________________________ +function resultadocmd(resul){ + if(resul==1){ // Si todo va bien se llama a la funcin que recupera elfichero de eco + //alert(TbMsg[1]) + if(ambito==AMBITO_ORDENADORES){ + sw=2; + enviaMsg(null); + } + } + else + alert(TbMsg[0]) +} +//______________________________________________________________________________________________________ +function resultadoeco(resul){ + if(resul.length>0){ + var diveco=document.getElementById("diveco"); + diveco.innerHTML="<PRE>"+resul+"</PRE>"; + conmuta("hidden"); + } + setTimeout("enviaMsg()",5000); +} +//______________________________________________________________________________________________________ +function conmuta(estado){ + var layavi=document.getElementById("layer_aviso"); + if(layavi) + layavi.style.visibility=estado; +} diff --git a/admin/WebConsole/jscripts/constantes.js b/admin/WebConsole/jscripts/constantes.js new file mode 100644 index 00000000..59315348 --- /dev/null +++ b/admin/WebConsole/jscripts/constantes.js @@ -0,0 +1,118 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Marzo005 +// Nombre del fichero: constantes.js +// Descripción : +// Este fichero declara variables de uso comun +// ************************************************************************************************************************************************* +// Código de los ambitos para comandos +var AMBITO_CENTROS=0x01; +var AMBITO_GRUPOSAULAS=0x02; +var AMBITO_AULAS=0x04; +var AMBITO_GRUPOSORDENADORES=0x08; +var AMBITO_ORDENADORES=0x10; + +// Código del resto de ámbitos +var AMBITO_IMAGENES=0x20; +var AMBITO_PROCEDIMIENTOS=0x21; +var AMBITO_TAREAS=0x22; +var AMBITO_TRABAJOS=0x23; +var AMBITO_COMPONENTESHARD=0x24; +var AMBITO_COMPONENTESSOFT=0x25; +var AMBITO_PERFILESHARD=0x26; +var AMBITO_PERFILESSOFT=0x27; +var AMBITO_MENUS=0x28; +var AMBITO_SERVIDORESREMBO=0x29; +var AMBITO_SERVIDORESDHCP=0x30; +var AMBITO_RESERVAS=0x30; +var AMBITO_SOFTINCREMENTAL=0x31; +var AMBITO_RESERVAS=0x32; + +// Código del resto de ambitos( grupos ) +var AMBITO_GRUPOSIMAGENES=0x31; +var AMBITO_GRUPOSPROCEDIMIENTOS=0x32; +var AMBITO_GRUPOSTAREAS=0x33; +var AMBITO_GRUPOSTRABAJOS=0x34; +var AMBITO_GRUPOSCOMPONENTESHARD=0x35; +var AMBITO_GRUPOSCOMPONENTESSOFT=0x36; +var AMBITO_GRUPOSPERFILESHARD=0x37; +var AMBITO_GRUPOSPERFILESSOFT=0x38; +var AMBITO_GRUPOSMENUS=0x39; +var AMBITO_GRUPOSSERVIDORESREMBO=0x40; +var AMBITO_GRUPOSSERVIDORESDHCP=0x41; +var AMBITO_GRUPOSSOFTINCREMENTAL=0x43; +var AMBITO_GRUPOSRESERVAS=0x44; + +// Literales de los ambitos +var LITAMBITO_CENTROS="centros"; +var LITAMBITO_AULAS="aulas"; +var LITAMBITO_ORDENADORES="ordenadores"; +var LITAMBITO_IMAGENES="imagenes"; +var LITAMBITO_PROCEDIMIENTOS="procedimientos"; +var LITAMBITO_TAREAS="tareas"; +var LITAMBITO_TRABAJOS="trabajos"; +var LITAMBITO_COMPONENTESHARD="componeneteshard"; +var LITAMBITO_COMPONENTESSOFT="componenetessoft"; +var LITAMBITO_PERFILESHARD="perfileshard"; +var LITAMBITO_PERFILESSOFT="perfilessoft"; +var LITAMBITO_MENUS="menus"; +var LITAMBITO_SERVIDORESREMBO="servidoresrembo"; +var LITAMBITO_SERVIDORESDHCP="servidoresrembo"; + var LITAMBITO_SOFTINCREMENTAL="softincremental"; + var LITAMBITO_RESERVAS="reservas"; + +// Literales de los ambitos ( Grupos ) +var LITAMBITO_GRUPOSAULAS="gruposaulas"; +var LITAMBITO_GRUPOSORDENADORES="gruposordenadores"; +var LITAMBITO_GRUPOSIMAGENES="gruposimagenes"; +var LITAMBITO_GRUPOSPROCEDIMIENTOS="gruposprocedimientos"; +var LITAMBITO_GRUPOSTAREAS="grupostareas"; +var LITAMBITO_GRUPOSTRABAJOS="grupostrabajos"; +var LITAMBITO_GRUPOSCOMPONENTESHARD="gruposcomponenteshard"; +var LITAMBITO_GRUPOSCOMPONENTESSOFT="gruposcomponentessoft"; +var LITAMBITO_GRUPOSPERFILESHARD="gruposperfileshard"; +var LITAMBITO_GRUPOSPERFILESSOFT="gruposperfilessoft"; +var LITAMBITO_GRUPOSMENUS="gruposmenus"; +var LITAMBITO_GRUPOSSERVIDORESREMBO="gruposervidorrembo"; +var LITAMBITO_GRUPOSSERVIDORESDHCP="gruposervidordhcp"; +var LITAMBITO_GRUPOSSOFTINCREMENTAL="grupossoftincremental"; +var LITAMBITO_GRUPOSRESERVAS="gruposreservas"; + +// Código de los tipo de acciones +var EJECUCION_COMANDO=0x0001; +var EJECUCION_PROCEDIMIENTO=0x0002; +var EJECUCION_TAREA=0x0003; +var EJECUCION_RESERVA=0x0004; +var EJECUCION_AUTOEXEC=0x0005; + +var ACCION_INICIADA=1; // Acción activa +var ACCION_DETENIDA=2; // Acción momentanemente parada +var ACCION_FINALIZADA=3; // Acción finalizada + +var ACCION_SINRESULTADO=0; // Sin resultado +var ACCION_EXITOSA=1; // Finalizada con exito +var ACCION_FALLIDA=2; // Finalizada con errores + +var LITACCION_FALLIDA="Acción CANCELADA manualmente"; +var LITACCION_EXITOSA="Acción TERMINADA manualmente"; + +var corte_currentNodo=null; +var currentTipo=null; +var currentLitTipo=null; + +var RESERVA_CONFIRMADA=1; // Reserva confirmada +var RESERVA_PENDIENTE=2; // Reserva pendiente +var RESERVA_DENEGADA=3; // Reserva denegada + +var SUPERADMINISTRADOR=1; // administrador de la aplicación +var ADMINISTRADOR=2; // administrador de Centro +var OPERADOR=3; // operador de aula + +// Código de los tipos de mensajes +var MSG_COMANDO=0x01; // Mensaje del tipo comando +var MSG_NOTIFICACION=0x02; // Respuesta a la ejecución un comando +var MSG_PETICION=0x03; // Petición de cualquier actuación +var MSG_RESPUESTA=0x04; // Respuesta a una petición +var MSG_INFORMACION=0x05; // Envío de cualquier información sin espera de confirmación o respuesta diff --git a/admin/WebConsole/jscripts/ecoremoto.js b/admin/WebConsole/jscripts/ecoremoto.js new file mode 100644 index 00000000..78d05220 --- /dev/null +++ b/admin/WebConsole/jscripts/ecoremoto.js @@ -0,0 +1,23 @@ +//______________________________________________________________________________________________________ +function enviaping(){ + var idambito=document.fdatos.idambito.value; + var litambito=document.fdatos.litambito.value; + var wurl="ecoconsola.php"; + var prm="idambito="+idambito+"&ambito="+AMBITO_ORDENADORES+"&sw=2"; + CallPage(wurl,prm,"retorno","POST"); + setTimeout("enviaping();",5000); +} +//______________________________________________________________________________________________________ +function retorno(iHTML){ + if(iHTML.length>0){ + var diveco=document.getElementById("diveco"); + diveco.innerHTML="<PRE>"+iHTML+"</PRE>"; + //setTimeout('conmuta("hidden");',300); + //conmuta("hidden"); + } +} +//______________________________________________________________________________________________________ +function conmuta(estado){ + var layavi=document.getElementById("layer_aviso"); + layavi.style.visibility=estado; +} diff --git a/admin/WebConsole/jscripts/ejecutaracciones.js b/admin/WebConsole/jscripts/ejecutaracciones.js new file mode 100644 index 00000000..94a108c1 --- /dev/null +++ b/admin/WebConsole/jscripts/ejecutaracciones.js @@ -0,0 +1,51 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación:2003-2005 +// Fecha Última modificación: abril-2005 +// Nombre del fichero: ejecutarprocedimientos.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero ejecutarprocedimientos.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +// +// Envía un comando para su ejecución o lo incorpora como procedimientos inicial (Autoexec) +//________________________________________________________________________________________________________ +function gestion(op) +{ + reset_contextual(-1,-1); // Oculta menu contextual + var resul=window.confirm(TbMsg[0]); + if (!resul) return + var ambito=document.fdatos.ambito.value + var idambito=document.fdatos.idambito.value + var idprocedimiento=currentNodo.toma_identificador() // identificador del ambito + var procedimiento=currentNodo.toma_infonodo() // Nombre del procedimiento + + /* LLamada a la gestión */ + var wurl="../gestores/gestor_ejecutaracciones.php"; + var prm="opcion="+op+"&ambito="+ambito+"&idambito="+idambito+"&idprocedimiento="+idprocedimiento+"&descriprocedimiento="+procedimiento; + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul) +{ + //alert(resul) + if(resul.length>0) + eval(resul); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de ejecutar un procedimiento sobre un ámbito +// Parámetros: +// - resul: resultado de la operación( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +//________________________________________________________________________________________________________ +function resultado_gestion_procedimiento(resul,descrierror){ + if (!resul){ // Ha habido algún error en la ejecución + alert(descrierror) + return + } + alert(TbMsg[1]) + location.href="../nada.php"; +} + diff --git a/admin/WebConsole/jscripts/hardwares.js b/admin/WebConsole/jscripts/hardwares.js new file mode 100644 index 00000000..21c76639 --- /dev/null +++ b/admin/WebConsole/jscripts/hardwares.js @@ -0,0 +1,28 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: hardwares.js +// Este fichero implementa las funciones javascript del fichero hardwares.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +// +// Muestra formulario para gestionar los componentes incluidos en un perfil hardware +//________________________________________________________________________________________________________ +function insertar_perfilcomponente(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionperfil=currentNodo.toma_infonodo(); + var whref="../varios/perfilcomponente_hard.php?idperfilhard="+identificador+"&descripcionperfil="+descripcionperfil + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra información sobre los perfiles hardware +//________________________________________________________________________________________________________ +function muestra_informacion(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionperfil=currentNodo.toma_infonodo(); + var whref="../varios/informacion_perfileshardware.php?idperfil="+identificador+"&descripcionperfil="+descripcionperfil + window.open(whref,"frame_contenidos") +}
\ No newline at end of file diff --git a/admin/WebConsole/jscripts/imagenes.js b/admin/WebConsole/jscripts/imagenes.js new file mode 100644 index 00000000..9a2d2a6f --- /dev/null +++ b/admin/WebConsole/jscripts/imagenes.js @@ -0,0 +1,28 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: imagenes.js +// Este fichero implementa las funciones javascript del fichero imagenes.php +// ************************************************************************************************************************************************* +//___________________________________________________________________________________________________________ +// +// Muestra información sobre las imágenes +//___________________________________________________________________________________________________________ +function muestra_informacion(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionimagen=currentNodo.toma_infonodo() + var whref="../varios/informacion_imagenes.php?idimagen="+identificador+"&descripcionimagen="+descripcionimagen + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra formulario para gestionar el software incremental incluido en una imagen +//________________________________________________________________________________________________________ +function insertar_imagenincremental(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionimagen=currentNodo.toma_infonodo() + var whref="../varios/imagenincremental.php?idimagen="+identificador+"&descripcionimagen="+descripcionimagen + window.open(whref,"frame_contenidos") +} diff --git a/admin/WebConsole/jscripts/imagenincremental.js b/admin/WebConsole/jscripts/imagenincremental.js new file mode 100644 index 00000000..5fe7483c --- /dev/null +++ b/admin/WebConsole/jscripts/imagenincremental.js @@ -0,0 +1,35 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: imagenincremental.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero imagenincremental.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +function gestion_componente(id,o){ + idimagen=document.fdatos.idimagen.value + if (o.checked) + var wurl="../gestores/gestor_imagenincremental.php?opcion="+op_alta+"&idimagen="+idimagen+"&idsoftincremental="+id + else + var wurl="../gestores/gestor_imagenincremental.php?opcion="+op_eliminacion+"&idimagen="+idimagen+"&idsoftincremental="+id + ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe + ifr.src=wurl; // LLama a la página gestora +} +//________________________________________________________________________________________________________ +function resultado_insertar_imagenincremental(resul,descrierror,nwid,tablanodo){ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[0]) +} +//________________________________________________________________________________________________________ +function resultado_eliminar_imagenincremental(resul,descrierror,idp,idh){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[1]) +} diff --git a/admin/WebConsole/jscripts/inclusionacciones.js b/admin/WebConsole/jscripts/inclusionacciones.js new file mode 100644 index 00000000..3fd18c19 --- /dev/null +++ b/admin/WebConsole/jscripts/inclusionacciones.js @@ -0,0 +1,87 @@ +// ******************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: inclusionacciones.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero inclusionacciones.php +// ******************************************************************************************************** + var ichk,iorden,iimg; + var altas,bajas,modificaciones; +//________________________________________________________________________________________________________ + +function confirmar() +{ + altas=bajas=modificaciones=""; + var conTR=document.fdatos.conTR.value; // Toma número de filas + setIndices(); + for(var i=0;i<conTR;i++){ + var oTR=document.getElementById("TR-"+i); + if(oTR){ + var identificador=oTR.getAttribute('value'); + var objChk=oTR.childNodes[ichk].childNodes[0]; + var std=objChk.value; // Estado original del checkbox 1=seleccionado 0=No seleccionado + var objOrden=oTR.childNodes[iorden].childNodes[0]; + var aorden=objOrden.getAttribute('id'); // Valor originario del orden + var orden=objOrden.value; + if(objChk.checked){ + /* Control de errores */ + if(orden=="" || orden<0 || !IsNumeric(orden)){ + alert(TbMsg[1]); + objOrden.focus(); + return(false); + } + /* Compone parametros */ + if(std>0){ // Originalmente estaba seleccionado, se trata de una modificación + if(aorden!=orden) // Si se ha cambiado el orden + modificaciones+=identificador+","+orden+";"; + } + else{ + var objImg=oTR.childNodes[iimg].childNodes[0]; + var tipoaccion=objImg.getAttribute('value'); + altas+=identificador+","+orden+","+tipoaccion+";"; + } + } + else{ // Baja + if(std>0){ // Si originariamente estaba marcado se trata de una baja + bajas+=identificador+";"; + } + } + } + } + /* LLamada a la gestión */ + var wurl="../gestores/gestor_inclusionacciones.php"; + var prm="tipoaccion="+document.fdatos.tipoaccion.value+"&idtipoaccion="+document.fdatos.idtipoaccion.value + prm+="&altas="+altas+"&bajas="+bajas+"&modificaciones="+modificaciones; + CallPage(wurl,prm,"retornoGestion","POST"); +} +//________________________________________________________________________________________________________ + + function retornoGestion(ret) + { + //alert(ret); + eval(ret); + } +//________________________________________________________________________________________________________ + +function resultado_gestion_inclusionacciones(resul,descrierror) +{ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[2]) + location.href="../nada.php"; +} +//______________________________________________________________________________________________________ +// +// Configura indices para acceo a nodos +//______________________________________________________________________________________________________ + + function setIndices() + { + ichk=0; + iorden=ichk+1; + iimg=iorden+1; + }
\ No newline at end of file diff --git a/admin/WebConsole/jscripts/incrementalcomponente_soft.js b/admin/WebConsole/jscripts/incrementalcomponente_soft.js new file mode 100644 index 00000000..cde17356 --- /dev/null +++ b/admin/WebConsole/jscripts/incrementalcomponente_soft.js @@ -0,0 +1,35 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: incrementalcomponente_soft.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero incrementalcomponente_soft.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +function gestion_componente(id,o){ + idincremental=document.fdatos.idsoftincremental.value + if (o.checked) + var wurl="../gestores/gestor_incrementalcomponente_soft.php?opcion="+op_alta+"&idsoftincremental="+idincremental+"&idsoftware="+id + else + var wurl="../gestores/gestor_incrementalcomponente_soft.php?opcion="+op_eliminacion+"&idsoftincremental="+idincremental+"&idsoftware="+id + ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe + ifr.src=wurl; // LLama a la página gestora +} +//________________________________________________________________________________________________________ +function resultado_insertar_incrementalcomponente_soft(resul,descrierror,nwid,tablanodo){ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[0]) +} +//________________________________________________________________________________________________________ +function resultado_eliminar_incrementalcomponente_soft(resul,descrierror,idp,idh){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[1]) +} diff --git a/admin/WebConsole/jscripts/informacion_menus.js b/admin/WebConsole/jscripts/informacion_menus.js new file mode 100644 index 00000000..d458cd11 --- /dev/null +++ b/admin/WebConsole/jscripts/informacion_menus.js @@ -0,0 +1,85 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: informacion_menus.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero informacion_menus.php +// ************************************************************************************************************************************************* +var currentItem=null // Item elegido +var ITEM_PUBLICO=1; +var ITEM_PRIVADO=2; +//____________________________________________________________________________ +// +// Recupera el navegador utilizado +//____________________________________________________________________________ +var IE=(navigator.appName=="Microsoft Internet Explorer"); +var NS=(navigator.appName=="Netscape"); +//________________________________________________________________________________________________________ +function eliminar_item(){ + reset_contextual(-1,-1) + var resul=window.confirm(TbMsg[0]); + if (!resul)return + var idaccionmenu=currentNodo.toma_identificador() + var wurl="../gestores/gestor_accionmenu.php?opcion="+op_eliminacion+"&idaccionmenu="+idaccionmenu + ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe + ifr.src=wurl; // LLama a la p�ina gestora +} +//________________________________________________________________________________________________________ +function resultado_eliminar_accionmenu(resul,descrierror,idp,idh){ + if (!resul){ // Ha habido algn error en la eliminaci� + alert(descrierror) + return + } + alert(TbMsg[1]) + eliminar_nodo(currentNodo) // Elimina el nodo del árbol +} +//________________________________________________________________________________________________________ +function modificar_items(){ + reset_contextual(-1,-1) + var tipoitem=currentNodo.toma_identificador() + var idmenu=document.fdatos.idmenu.value; + if(tipoitem==ITEM_PUBLICO) + var contitem=document.fdatos.contitempub.value; + else + var contitem=document.fdatos.contitempri.value; + var alto=230+contitem*32 + if (alto>600) alto=600 + var descripcionaccion=currentNodo.toma_infonodo() // nombre del ordenador + var whref="../varios/accionmenu.php?tipoitem="+tipoitem+"&idmenu="+idmenu+"&descripcionaccion="+descripcionaccion + var opciones = "dialogWidth:600px;dialogHeight:"+alto+"px;" + opciones += "resizable:yes;scroll:no;status:no;"; + opciones += "dialogLeft:170px;dialogTop:150px"; + retorno=window.showModalDialog(whref,"",opciones); + if (retorno!=null){ + var splitRetorno=retorno.split("\t") + var resul=splitRetorno[0] + var descrierror=splitRetorno[1] + if (!resul){ // Ha habido algn error en la inserci� + alert(descrierror) + return + } + } +} +//________________________________________________________________________________________________________ +function modificar_item(){ + reset_contextual(-1,-1) + var idaccionmenu=currentNodo.toma_identificador() + var idmenu=document.fdatos.idmenu.value; + var descripcionaccion=currentNodo.toma_infonodo() // nombre del ordenador + var whref="../varios/accionmenu.php?idaccionmenu="+idaccionmenu+"&idmenu="+idmenu+"&descripcionaccion="+descripcionaccion + var opciones = "dialogWidth:600px;dialogHeight :300px;" + opciones += "resizable:yes;scroll:no;status:no;"; + opciones += "dialogLeft:170px;dialogTop:150px"; + retorno=window.showModalDialog(whref,"",opciones); + if (retorno!=null){ + var splitRetorno=retorno.split("\t") + var resul=splitRetorno[0] + var descrierror=splitRetorno[1] + if (!resul){ // Ha habido algn error en la inserci� + alert(descrierror) + return + } + } +} diff --git a/admin/WebConsole/jscripts/menus.js b/admin/WebConsole/jscripts/menus.js new file mode 100644 index 00000000..3fbc9add --- /dev/null +++ b/admin/WebConsole/jscripts/menus.js @@ -0,0 +1,29 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: menus.js +// Este fichero implementa las funciones javascript del fichero menus.php +// ************************************************************************************************************************************************* +//___________________________________________________________________________________________________________ +// +// Muestra información sobre los menús y gestiona los items de cada uno de ellos +//___________________________________________________________________________________________________________ +function muestra_informacion(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionperfil=currentNodo.toma_infonodo() + var whref="../varios/informacion_menus.php?idmenu="+identificador+"&descripcionmenu="+descripcionperfil + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Gestiona los items incluidos en un menu +//________________________________________________________________________________________________________ +function gestionar_items(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionmenu=currentNodo.toma_infonodo() + var whref="../varios/accionmenu.php?idmenu="+identificador+"&descripcionmenu="+descripcionmenu + window.open(whref,"frame_contenidos") +} + diff --git a/admin/WebConsole/jscripts/opciones.js b/admin/WebConsole/jscripts/opciones.js new file mode 100644 index 00000000..f950b6fc --- /dev/null +++ b/admin/WebConsole/jscripts/opciones.js @@ -0,0 +1,14 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Marzo005 +// Nombre del fichero: opciones.js +// Descripción : +// Este fichero declara valores para las opciones +// ************************************************************************************************************************************************* +var op_alta=1; +var op_modificacion=2; +var op_eliminacion=3; +var op_movida=4; +var op_ejecucion=5; diff --git a/admin/WebConsole/jscripts/parametrostrabajos.js b/admin/WebConsole/jscripts/parametrostrabajos.js new file mode 100644 index 00000000..14b3e0ba --- /dev/null +++ b/admin/WebConsole/jscripts/parametrostrabajos.js @@ -0,0 +1,18 @@ +// ************************************************************************ +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: parametrostrabajos.js +// ************************************************************************ +//____________________________________________________________________________ +// +// Esta función muestra una tabala de parametros de comandos +// Los parámetros recibidos son: +// - id: identificador de la tarea +//____________________________________________________________________________ +function abre_tablaparametros(id){ + var oTabla=document.getElementById("tablaparametros-"+id); // Toma objeto DIV + if (oTabla.style.display=="block") + oTabla.style.display="none"; + else + oTabla.style.display="block" +} diff --git a/admin/WebConsole/jscripts/perfilcomponente_hard.js b/admin/WebConsole/jscripts/perfilcomponente_hard.js new file mode 100644 index 00000000..bb9f9ced --- /dev/null +++ b/admin/WebConsole/jscripts/perfilcomponente_hard.js @@ -0,0 +1,42 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: perfilcomponente_hard.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero perfilcomponente_hard.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +function gestion_componente(id,o){ + idperfil=document.fdatos.idperfilhard.value + if (o.checked) + var opcion=op_alta; + else + var opcion=op_eliminacion; + var wurl="../gestores/gestor_perfilcomponente_hard.php"; + var prm="opcion="+opcion+"&idperfilhard="+idperfil+"&idhardware="+id + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul){ + if(resul.length>0){ + eval(resul) + } +} +//________________________________________________________________________________________________________ +function resultado_insertar_perfilcomponente_hard(resul,descrierror,nwid){ + if (!resul){ // Ha habido algn error en la inserci� + alert(descrierror) + return + } + alert(TbMsg[0]) +} +//________________________________________________________________________________________________________ +function resultado_eliminar_perfilcomponente_hard(resul,descrierror,idh){ + if (!resul){ // Ha habido algn error en la eliminaci� + alert(descrierror) + return + } + alert(TbMsg[1]) +} diff --git a/admin/WebConsole/jscripts/perfilcomponente_soft.js b/admin/WebConsole/jscripts/perfilcomponente_soft.js new file mode 100644 index 00000000..68c2c913 --- /dev/null +++ b/admin/WebConsole/jscripts/perfilcomponente_soft.js @@ -0,0 +1,42 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: perfilcomponente_soft.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero perfilcomponente_soft.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +function gestion_componente(id,o){ + idperfil=document.fdatos.idperfilsoft.value + if (o.checked) + var opcion=op_alta; + else + var opcion=op_eliminacion; + var wurl="../gestores/gestor_perfilcomponente_soft.php"; + var prm="opcion="+opcion+"&idperfilsoft="+idperfil+"&idsoftware="+id + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul){ + if(resul.length>0){ + eval(resul) + } +} +//________________________________________________________________________________________________________ +function resultado_insertar_perfilcomponente_soft(resul,descrierror,nwid,tablanodo){ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[0]) +} +//________________________________________________________________________________________________________ +function resultado_eliminar_perfilcomponente_soft(resul,descrierror,idp,idh){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[1]) +} diff --git a/admin/WebConsole/jscripts/procedimientoscomandos.js b/admin/WebConsole/jscripts/procedimientoscomandos.js new file mode 100644 index 00000000..2e21b85c --- /dev/null +++ b/admin/WebConsole/jscripts/procedimientoscomandos.js @@ -0,0 +1,78 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: procedimientoscomandos.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero procedimientoscomandos.php +// ************************************************************************************************************************************************* +var currentidprocedimientocomando=null; +//________________________________________________________________________________________________________ +function gestion_comandos(id,o,orden){ + if (o.checked) + var opcion=op_modificacion; + else + var opcion=op_eliminacion; + var wurl="../gestores/gestor_procedimientoscomandos.php"; + var prm="opcion="+opcion+"&idprocedimientocomando="+id+"&orden="+orden; + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul){ + if(resul.length>0){ + eval(resul); + } +} +//________________________________________________________________________________________________________ +function ActualizarAccion(id){ + var objorden=document.getElementById("orden-"+id) + var orden=objorden.value + if(orden=="" || orden<1){ + alert(TbMsg[1]); + oorden.focus(); + return + } + var ocheckbox=document.getElementById("checkbox-"+id); + gestion_comandos(id,ocheckbox,orden) +} +//________________________________________________________________________________________________________ +function resultado_eliminar_procedimientocomando(resul,descrierror,idtt){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[2]) + var oTABLE=document.getElementById("TABLACOMANDOS"); + var oTRs=oTABLE.getElementsByTagName('TR') + for(var i=0;i<oTRs.length;i++){ + if(oTRs[i].getAttribute("id")=='TR-'+currentidprocedimientocomando || oTRs[i].getAttribute("id")=='PAR-'+currentidprocedimientocomando) + oTRs[i].style.display="none" + } +} +//________________________________________________________________________________________________________ +function resultado_modificar_procedimientocomando(resul,descrierror,id){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[3]) +} +//________________________________________________________________________________________________________ +function ver_parametros(o,sw,ida){ + o=o.parentNode + o.childNodes[sw].style.display="none" + sw++ + if(sw>1)sw=0 + o.childNodes[sw].style.display="block" + while (o.tagName!="TBODY"){ + o=o.parentNode + } + var oTRs=o.getElementsByTagName('TR') + for(var i=0;i<oTRs.length;i++){ + if(oTRs[i].getAttribute("id")=='NOT_'+ida || oTRs[i].getAttribute("id")=='PAR-'+ida) + if (oTRs[i].style.display=="none") oTRs[i].style.display="block" + else + oTRs[i].style.display="none" + } + } diff --git a/admin/WebConsole/jscripts/programaciones.js b/admin/WebConsole/jscripts/programaciones.js new file mode 100644 index 00000000..74794de6 --- /dev/null +++ b/admin/WebConsole/jscripts/programaciones.js @@ -0,0 +1,783 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación:2003-2004 +// Fecha Última modificación: Marzo-2005 +// Nombre del fichero: programaciones.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero programaciones.php +// ************************************************************************************************************************************************* +var gris="#bbbcb9" +var rojo="#cc3366" +var negro="#000000" +var azul= "#4e4ea6" +var blanco="#eeeeee" +var fondooriginal="#EEEECC"; +var colororiginal="#003300"; +var gmes=0; +var ganno=0; +var op_alta=1; +var op_modificacion=2; +var op_eliminacion=3; +var op_suspension=4; +var currenthoras=null; +var currenthorasini=null; +var currenthorasfin=null; +var swpz=false +var currentVitem; +var currentcolor; +//___________________________________________________________________________________________________________ +function ItemSeleccionado(o){ + if(o==null) return(false); + if(o.getAttribute("selitem")==1) return(true); + return(false); +} +//___________________________________________________________________________________________________________ +function Marca(o){ + o.style.color=blanco + o.style.backgroundColor=rojo + o.setAttribute("selitem",1); +} +//___________________________________________________________________________________________________________ +function Resalta(o){ + o.style.color=blanco + o.style.backgroundColor=azul +} +//___________________________________________________________________________________________________________ +function Desmarca(o){ + o.style.color=colororiginal + o.style.backgroundColor=fondooriginal + o.setAttribute("selitem",0); +} +//___________________________________________________________________________________________________________ +function TH_clic(o){ + var tbobj=TBSource(o); // Busca la tabla donde se pulsó + var oTD=tbobj.getElementsByTagName('TD') + for(var i=0;i<oTD.length;i++){ + if(oTD[i].getAttribute("id")!="") + clic(oTD[i],true) + } + cuestionesclic(o) +} +//___________________________________________________________________________________________________________ +function clic(o,sw){ + if (!ItemSeleccionado(o)) + Marca(o); + else // Deselección + Desmarca(o); + if(document.fprogramaciones.tipoaccion.value==EJECUCION_RESERVA){ + var idtb=Sourcetb(o); // Busca la tabla donde se pulsó + if (idtb=="tabla_horas"){ + if(currenthoras!=o &¤thoras!=null ) + Desmarca(currenthoras); + currenthoras=o; + } + if (idtb=="tabla_horasini" && currenthorasini !=null ){ + if(currenthorasini!=o) + Desmarca(currenthorasini); + currenthorasini=o; + } + if (idtb=="tabla_horasfin" && currenthorasfin !=null ){ + if(currenthorasfin!=o) + Desmarca(currenthorasfin); + currenthorasfin=o; + } + + } + + if(!sw){ + cuestionesclic(o) + } +} +//___________________________________________________________________________________________________________ +function cuestionesclic(o){ + var idtb=Sourcetb(o); // Busca la tabla donde se pulsó + if (idtb=="tabla_meses" || idtb=="tabla_annos") + cuestion_opciones(); + if (!swpz){ + activa("bt_insertar"); + activa("bt_cancelar"); + swpz=!swpz; + } +} +//___________________________________________________________________________________________________________- +function Sourcetb(o){ + while (o.tagName!="TABLE"){ + o=o.parentNode; + } + return(o.getAttribute("id")); +} +//___________________________________________________________________________________________________________- +function TBSource(o){ + while (o.tagName!="TABLE"){ + o=o.parentNode; + } + return(o); +} +//___________________________________________________________________________________________________________ +function activa(idbt){ + var bt=document.getElementById(idbt); + bt.style.visibility="visible" + bt.style.color=negro; +} +//___________________________________________________________________________________________________________ +function desactiva(idbt){ + var bt=document.getElementById(idbt); + bt.style.visibility="hidden" + bt.style.color=gris; +} +//___________________________________________________________________________________________________________ +function habilitado(idbt){ + var bt=document.getElementById(idbt); + if (bt.style.visibility=="visible") return true; + return false +} +//___________________________________________________________________________________________________________ +function sobreboton(bt){ + currentcolor=bt.style.color; + bt.style.color="#999999"; +} +//___________________________________________________________________________________________________________ +function fueraboton(bt){ + bt.style.color=currentcolor; +} +//___________________________________________________________________________________________________________ +function cuestion_opciones(){ + swotbm=opcion_simple("tabla_meses"); + swotba=opcion_simple("tabla_annos"); + if (swotbm && swotba){ + var vd=valor_HEX("tabla_mesanno"); + if (!detecta_cambio(vd)) + visible_simple(); + } + else{ // Conmutación a opción multiple + visible_multiple(); + } +} +//___________________________________________________________________________________________________________ +function detecta_cambio(vitem){ // vitem es el valor hexdecimal a mostrar + + wmes=parseInt(valor_item("tabla_meses")); // Recupera mes + wanno=parseInt(valor_item("tabla_annos")); // Recupera año + if (wmes>0 && wanno>0){ // Si se ha elegido un año y un mes ... + if (gmes!=wmes || ganno!=wanno){ // Cara de nuevo el mes en blanco + gmes=wmes; + ganno=wanno; + var wurl="toma_mes.php"; + var prm="idmes="+wmes+"&idanno="+wanno + currentVitem=vitem; + CallPage(wurl,prm,"retornoMesAnno","POST"); + return(true); + } + return(false); + } +} +//______________________________________________________________________________________________________ +function retornoMesAnno(htmlMes){ + tbm=document.getElementById("tbmesanno"); + tbm.innerHTML=htmlMes; + marca_item("tabla_mesanno",currentVitem); + visible_simple(); +} +//___________________________________________________________________________________________________________ +function visible_multiple(){ + fm=document.getElementById("fechasmultiples"); + fs=document.getElementById("fechassimples"); + fm.style.visibility = "visible" + fs.style.visibility = "hidden"; +} +//___________________________________________________________________________________________________________ +function visible_simple(){ + fm=document.getElementById("fechasmultiples"); + fs=document.getElementById("fechassimples"); + fm.style.visibility = "hidden" + fs.style.visibility = "visible"; +} +//___________________________________________________________________________________________________________ +function modifica_programacion(ida,tia,ses){ + if (habilitado("bt_modificar")){ + idprogramacion=valor_programacion(); + if (idprogramacion>0) + gestor_programacion(ida,tia,ses,idprogramacion,op_modificacion); + } +} +//___________________________________________________________________________________________________________ +function elimina_programacion(){ + if (habilitado("bt_eliminar")){ + idprogramacion=valor_programacion(); + if (idprogramacion>0){ + var wurl="../gestores/gestor_programaciones.php"; + var prm="wswop="+op_eliminacion+"&widprogramacion="+idprogramacion; + CallPage(wurl,prm,"retornoGestor","POST"); + } + } +} +//___________________________________________________________________________________________________________ +function retornoGestor(fncallbck){ + if(fncallbck.length>0) + eval(fncallbck); +} +//___________________________________________________________________________________________________________ +function alta_programacion(ida,tia,ses){ + + if (habilitado("bt_insertar")){ + gestor_programacion(ida,tia,ses,0,op_alta) + } +} +//___________________________________________________________________________________________________________ +function duplicar_programacion(){ + activa("bt_insertar") + desactiva("bt_eliminar"); + desactiva("bt_modificar"); + desactiva("bt_duplicar"); + activa("bt_cancelar"); + nuevo_bloque(); +} + +//___________________________________________________________________________________________________________ +function gestor_programacion(ida,tia,ses,idr,swop) +{ + widentificador=ida; + wtipoaccion=tia; + widprogramacion=idr; + wswop=swop; + wannos=valor_HEX("tabla_annos"); + if (wannos==0){ + alert(TbMsg[0]); + return + } + wmeses=valor_HEX("tabla_meses"); + if (wmeses==0){ + alert(TbMsg[1]); + return + } + fm=document.getElementById("fechasmultiples"); + if (fm.style.visibility == "visible"){ // Activada opciones múltiples + wdiario=valor_HEX("tabla_diasmes"); + wdias=valor_HEX("tabla_dias"); + wsemanas=valor_HEX("tabla_semanas"); + + if (wdiario==0 && wdias==0 && wsemanas==0 ){ + alert(TbMsg[2]); + return + } + } + else{ + wdiario=valor_HEX("tabla_mesanno"); + if (wdiario==0){ + alert(TbMsg[3]); + return + } + wdias=0 + wsemanas=0 + } + + whoras=valor_HEX("tabla_horas"); + + if (whoras==0){ + if(wtipoaccion!=EJECUCION_RESERVA){ + alert(TbMsg[4]); + return + } + } + + if(wtipoaccion==EJECUCION_RESERVA){ + whorasini=valor_HEX("tabla_horasini"); + if (whorasini==0){ + alert(TbMsg[4]); + return + } + whorasfin=valor_HEX("tabla_horasfin"); + if (whorasfin==0){ + alert(TbMsg[4]); + return + } + } + + inputprogramacion=document.getElementById("nombrebloque") + wnombrebloque=inputprogramacion.value + if (wnombrebloque==""){ + alert(TbMsg[5]); + return + } + wampm=document.getElementById("ampm").value; + wminutos=document.getElementById("minutos").value; + if (wminutos<0 || wminutos>59){ + alert(TbMsg[6]); + document.getElementById("minutos").focus() + return + } + if(wtipoaccion==EJECUCION_RESERVA){ + wampmini=document.getElementById("ampmini").value; + wminutosini=document.getElementById("minutosini").value; + if (wminutosini<0 || wminutosini>59){ + alert(TbMsg[6]); + document.getElementById("minutosini").focus() + return; + } + wampmfin=document.getElementById("ampmfin").value; + wminutosfin=document.getElementById("minutosfin").value; + if (wminutosfin<0 || wminutosfin>59){ + alert(TbMsg[6]); + document.getElementById("minutosfin").focus() + return; + } + } + else{ + whorasini=0; + wampmini=0; + wminutosini=0; + whorasfin=0; + wampmfin=0; + wminutosfin=0; + } + + wsegundos=0; + + var wurl="../gestores/gestor_programaciones.php"; + var prm="wswop="+wswop+"&widprogramacion="+widprogramacion+"&widentificador="+widentificador; + prm+="&wtipoaccion="+wtipoaccion+"&wnombrebloque="+wnombrebloque+"&wannos="+wannos+"&wmeses="+wmeses; + prm+="&wdiario="+wdiario+"&wdias="+wdias+"&wsemanas="+wsemanas+"&whoras="+whoras+"&whorasini="+whorasini; + prm+="&whorasfin="+whorasfin+"&wampm="+wampm+"&wminutos="+wminutos+"&wsegundos="+wsegundos; + prm+="&wampmini="+wampmini+"&wminutosini="+wminutosini+"&wampmfin="+wampmfin+"&wminutosfin="+wminutosfin; + + wsw_sus=document.getElementById("sw_sus").checked; + prm+="&wsw_sus="+wsw_sus + prm+="&wsesion="+ses + CallPage(wurl,prm,"retornoGestor","POST"); + +} +//___________________________________________________________________________________________________________ +function suspender_programacion(ida,tia,ses){ + var listalen=lista.options.length + if(listalen==0){ + alert(TbMsg[8]); + wsw_sus=document.getElementById("sw_sus").checked=false; + return + } + widentificador=ida; + wtipoaccion=tia; + + var wurl="../gestores/gestor_programaciones.php"; + var prm="wswop="+op_suspension+"&widentificador="+widentificador+"&wtipoaccion="+wtipoaccion + wsw_sus=document.getElementById("sw_sus").checked; + prm+="&wsw_sus="+wsw_sus + + CallPage(wurl,prm,"retornoGestor","POST"); + +} +//___________________________________________________________________________________________________________ +function resultado_suspender_programacion(){ + wsw_sus=document.getElementById("sw_sus").checked; + if(wsw_sus) + alert(TbMsg[9]); + else + alert(TbMsg[10]); +} +//___________________________________________________________________________________________________________ +// Devualve el valor Hexadecimal que corresponde a los items +//___________________________________________________________________________________________________________ +function valor_HEX(idtb) +{ + var oTD; + otb=document.getElementById(idtb); + var aux=0x00000000; + filas=otb.rows.length + for (i=0;i<filas;i++){ + columnas=otb.rows[i].cells.length + for (j=0;j<columnas;j++){ + oTD=otb.rows[i].cells[j]; + if(oTD.tagName=="TD"){ + if (ItemSeleccionado(oTD)){ + aux=aux | oTD.getAttribute("value") + } + } + } + } + return(aux) +} +//___________________________________________________________________________________________________________ +// Devuelve el valor decimal de un item de la tabla (ID) +// 0=no elección -1=más de un item n:valor del item +//___________________________________________________________________________________________________________ +function valor_item(idtb){ + var valor=0,sw=0; + var oTD; + otb=document.getElementById(idtb); + filas=otb.rows.length + for (i=0;i<filas;i++){ + columnas=otb.rows[i].cells.length + for (j=0;j<columnas;j++){ + oTD=otb.rows[i].cells[j]; + if(oTD.tagName=="TD"){ + if (ItemSeleccionado(oTD)){ + if (sw==0){ + valor=oTD.getAttribute("id"); + sw++; + } + else + return(-1); + } + } + } + } + return(valor) +} +//___________________________________________________________________________________________________________ +// Devuelve true si no existe ningún item seleccionado en la tabla +// y false en caso contrario +// El parametro de entrada es el identificador dela tabla +//___________________________________________________________________________________________________________ +function opcion_simple(idtb) +{ + var oTD; + var conta=0; + otb=document.getElementById(idtb); + filas=otb.rows.length + for (i=0;i<filas;i++){ + columnas=otb.rows[i].cells.length + for (j=0;j<columnas;j++){ + oTD=otb.rows[i].cells[j]; + if(oTD.tagName=="TD"){ + if (ItemSeleccionado(oTD)){ + conta++; + if (conta>1) return(false); + } + } + } + } + return(true); +} +//___________________________________________________________________________________________________________ +function sobre(o){ + if (!ItemSeleccionado(o)) + Resalta(o); +} +//___________________________________________________________________________________________________________ +function fuera(o){ + if (!ItemSeleccionado(o)) + Desmarca(o); +} + +//___________________________________________________________________________________________________________ +// Error al grabar programacion +//___________________________________________________________________________________________________________ +function error_programacion(){ + desmarca_tablas(); + inicializa_variables(); + nuevo_bloque(); +} +//___________________________________________________________________________________________________________ +// Recibe una notificación de la acción ejecutada +//___________________________________________________________________________________________________________ +function registro_programacion(idr,nombrere,swop) +{ + wswop=parseInt(swop); // Toma la opción ALTA,MODIFICACION O ELIMINACION + switch (wswop){ + case op_alta: + alert(TbMsg[11]); + programacion_metelista(idr,nombrere); + break; + case op_modificacion: + alert(TbMsg[12]); + modifica_texto(nombrere); + break; + case op_eliminacion: + alert(TbMsg[13]); + elimina_item(); + break; + } + desmarca_tablas(); + inicializa_variables(); + nuevo_bloque(); + + visible_simple(); + activa("bt_insertar") + desactiva("bt_eliminar"); + desactiva("bt_modificar"); + desactiva("bt_duplicar"); + desactiva("bt_cancelar"); + swpz=false; +} +//___________________________________________________________________________________________________________ +// Devuelve el valor del item seleccionado +//___________________________________________________________________________________________________________ +function valor_programacion(){ + var lista=document.getElementById("lista_programaciones"); + p=lista.selectedIndex; + if (p==-1){ + alert(TbMsg[14]); + return(-1); + } + else + return(lista.options[p].value) +} +//___________________________________________________________________________________________________________ +// Modifica el texto del item seleccionado +//___________________________________________________________________________________________________________ +function modifica_texto(nombrere){ + var lista=document.getElementById("lista_programaciones"); + p=lista.selectedIndex; + lista.options[p].text=nombrere +} +//___________________________________________________________________________________________________________ +// Elimina el item seleccionado +//___________________________________________________________________________________________________________ +function elimina_item(){ + var lista=document.getElementById("lista_programaciones"); + p=lista.selectedIndex; + lista.remove(p); +} +//___________________________________________________________________________________________________________ +// Recibe una notificación de grabación correcta programacion +//___________________________________________________________________________________________________________ +function inicializa_variables(){ + gmes=0; + ganno=0; +} +//___________________________________________________________________________________________________________ +// Desmarca todos los items de todas las tablas +//___________________________________________________________________________________________________________ +function desmarca_tablas(){ + desmarca_tabla("tabla_annos"); + desmarca_tabla("tabla_meses"); + desmarca_tabla("tabla_mesanno"); + desmarca_tabla("tabla_dias"); + desmarca_tabla("tabla_semanas"); + desmarca_tabla("tabla_diasmes"); + desmarca_tabla("tabla_horas"); + + document.getElementById("ampm").selectedIndex=1; + document.getElementById("minutos").value=""; + //document.getElementById("segundos").value=""; + + whorasini= document.getElementById("tabla_horasini") + if(whorasini!=null){ + desmarca_tabla("tabla_horasini"); + wampmini= document.getElementById("ampmini") + wminutosini= document.getElementById("minutosini") + wampmini.selectedIndex=1; + wminutosini.value=""; + } + whorasfin= document.getElementById("tabla_horasfin") + if(whorasfin!=null){ + desmarca_tabla("tabla_horasfin"); + wampmfin= document.getElementById("ampmfin") + wminutosfin= document.getElementById("minutosfin") + wampmfin.selectedIndex=1; + wminutosfin.value=""; + } +} +//___________________________________________________________________________________________________________ +// Averigua el nombre del bloque según lo que ya existe +//___________________________________________________________________________________________________________ +function nuevo_bloque(){ + var lista=document.getElementById("lista_programaciones"); + var listalen=lista.options.length + var nb=1 + var cbloque="bloque"; + var nbloque=cbloque+nb + var swb=false; + while(true){ + swb=false; + for(var i=0;i<listalen;i++){ + if(lista.options[i].text==nbloque){ + swb=true + break; + } + } + if(swb){ + nb++; + nbloque=cbloque+nb + } + else + break; + } + document.getElementById("nombrebloque").value=nbloque; + var lista=document.getElementById("lista_programaciones"); + lista.selectedIndex=-1; +} +//___________________________________________________________________________________________________________ +// Desmarca todos los items de una tabla +//___________________________________________________________________________________________________________ +function desmarca_tabla(idtb){ + otb=document.getElementById(idtb); + if (!otb) return + desmarcando_tabla(otb); +} +//___________________________________________________________________________________________________________ +// Desmarca todos los items de una tabla ( parametro objeto tabla) +//___________________________________________________________________________________________________________ +function desmarcando_tabla(otb) +{ + var oTD + filas=otb.rows.length + for (var i=0;i<filas;i++){ + columnas=otb.rows[i].cells.length + for (var j=0;j<columnas;j++){ + oTD=otb.rows[i].cells[j]; + if(oTD.tagName=="TD"){ + if (ItemSeleccionado(oTD)) + Desmarca(oTD) + } + } + } +} +//___________________________________________________________________________________________________________ +// Añade la programacion a la caja de lista +//___________________________________________________________________________________________________________ +function programacion_metelista(valor,texto){ + var lista=document.getElementById("lista_programaciones"); + var e=document.createElement("OPTION"); + + e.value=valor; + e.text=texto; + + lista.appendChild(e); +} +//___________________________________________________________________________________________________________ +function consulta_programacion(){ + idprogramacion=valor_programacion(); + if (idprogramacion>0){ + desmarca_tablas(); + var wurl="consulta_programaciones.php"; + var prm="idprogramacion="+idprogramacion; + CallPage(wurl,prm,"retornoConsulta","POST"); + desactiva("bt_insertar") + activa("bt_eliminar"); + activa("bt_modificar"); + activa("bt_duplicar"); + activa("bt_cancelar"); + } +} +//______________________________________________________________________________________________________ +function retornoConsulta(programacion){ + if(programacion.length>0) + muestra_programacion(programacion); + else + error_programacion +} +//___________________________________________________________________________________________________________ +function muestra_programacion(cadena_campos) +{ + campos=cadena_campos.split(";"); + var pnombrebloque=campos[3]; + var pannos=campos[4]; + var pmeses=campos[5]; + var pdiario=campos[6]; + var pdias=campos[7]; + var psemanas=campos[8]; + var phoras=campos[9]; + var pampm=campos[10]; + var pminutos=campos[11]; + var psegundos=campos[12]; + var phorasini=campos[13]; + var pampmini=campos[14]; + var pminutosini=campos[15]; + var phorasfin=campos[16]; + var pampmfin=campos[17]; + var pminutosfin=campos[18]; + + document.getElementById("nombrebloque").value=pnombrebloque; + marca_item("tabla_annos",pannos); + marca_item("tabla_meses",pmeses); + if (opcion_multiple(pannos) || opcion_multiple(pmeses)){ + marca_item("tabla_diasmes",pdiario); + marca_item("tabla_dias",pdias); + marca_item("tabla_semanas",psemanas); + visible_multiple(); + } + else{ + gmes=pmeses; + ganno=pannos; + wmes=parseInt(valor_item("tabla_meses")); // Recupera mes + wanno=parseInt(valor_item("tabla_annos")); // Recupera año + var wurl="toma_mes.php"; + var prm="idmes="+wmes+"&idanno="+wanno + currentVitem=pdiario; + CallPage(wurl,prm,"retornoMesAnno","POST"); + } + marca_item("tabla_horas",phoras); + document.getElementById("ampm").value=pampm; + document.getElementById("minutos").value=pminutos; + //document.getElementById("segundos").value=psegundos; + + wtabla_horasini= document.getElementById("tabla_horasini") + if(wtabla_horasini!=null) + marca_item("tabla_horasini",phorasini); + wampmini= document.getElementById("ampmini") + wminutosini= document.getElementById("minutosini") + if(wampmini!=null){ + wampmini.value=pampmini; + wminutosini.value=pminutosini; + } + wtabla_horasfin= document.getElementById("tabla_horasfin") + if(wtabla_horasfin!=null) + marca_item("tabla_horasfin",phorasfin); + wampmfin= document.getElementById("ampmfin") + wminutosfin= document.getElementById("minutosfin") + if(wampmfin!=null){ + wampmfin.value=pampmfin; + wminutosfin.value=pminutosfin; + } +} +// ___________________________________________________________________________________________________________ +// +// Devuelve true si hay más de un item seleccionado, false al contrario +// El parametro de entrada es el valor HEXadecimal +//___________________________________________________________________________________________________________ +function opcion_multiple(valor){ + var conta=0; + var auxhex=0x00000001; + for (auxhex=0x00000001;auxhex!=0x00000000;auxhex=auxhex<<1){ + if (valor & auxhex){ + conta++; + if (conta>1) return(true); + } + } + return(false); +} +// ___________________________________________________________________________________________________________ +// +// Marca todos los items de una tabla según el valor HEX enviado +//___________________________________________________________________________________________________________ +function marca_item(idtabla,vhex) +{ + var oTD; + otb=document.getElementById(idtabla); + filas=otb.rows.length + for (i=0;i<filas;i++){ + columnas=otb.rows[i].cells.length + for (j=0;j<columnas;j++){ + oTD=otb.rows[i].cells[j]; + if(oTD.tagName=="TD"){ + if (oTD.getAttribute("value") & vhex){ + Marca(oTD); + if (idtabla=="tabla_horas") + currenthoras=oTD + if (idtabla=="tabla_horasini") + currenthorasini=oTD + if (idtabla=="tabla_horasfin") + currenthorasfin=oTD + } + } + } + } +} +// ___________________________________________________________________________________________________________ +// +// Cancela todos los items de las tabalas e inicia variables +//___________________________________________________________________________________________________________ +function cancela_programacion(){ + desmarca_tablas(); + inicializa_variables(); + nuevo_bloque(); + visible_simple(); + activa("bt_insertar") + desactiva("bt_eliminar"); + desactiva("bt_modificar"); + desactiva("bt_duplicar"); + desactiva("bt_cancelar"); + swpz=false; + +}
\ No newline at end of file diff --git a/admin/WebConsole/jscripts/programacionesaulas.js b/admin/WebConsole/jscripts/programacionesaulas.js new file mode 100644 index 00000000..01c59807 --- /dev/null +++ b/admin/WebConsole/jscripts/programacionesaulas.js @@ -0,0 +1,88 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: programacionesaulas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero programacionesaulas.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ + function chgdesplereservas(o){ + var otip=""; + for (var i=0; i< o.options.length; i++){ + if(o.options[i].selected) + otip+=o.options[i].value+"="+o.options[i].text+";" + } + document.fdatos.estadoreserva.value=otip + } +//________________________________________________________________________________________________________ + function chgdesplesituacion(o,swevt){ + var otip=""; + for (var i=0; i< o.options.length; i++){ + if(o.options[i].selected) + otip+=o.options[i].value+"="+o.options[i].text+";" + } + document.fdatos.situacion.value=otip + } + //________________________________________________________________________________________________________ + function vertabla_calendario(ofecha){ + currentFecha=ofecha; + url="../varios/calendario_ventana.php?fecha="+ofecha.value + window.open(url,"vf","top=160,left=250,height=220,width=150,scrollbars=no") + } +//________________________________________________________________________________________________________ + function vertabla_horario(ohora){ + currentHora=ohora; + url="../varios/horareser_ventana.php?hora="+ohora.value + window.open(url,"vh","top=200,left=250,height=120,width=160,scrollbars=no") + } +//________________________________________________________________________________________________________ + function anade_fecha(fecha){ + currentFecha.value=fecha + } +//________________________________________________________________________________________________________ + function anade_hora(hora){ + currentHora.value=hora + } +//________________________________________________________________________________________________________ + function sobre(){ +} +//________________________________________________________________________________________________________ + function fuera(){ +} +//________________________________________________________________________________________________________ + function clic(o){ +} +//________________________________________________________________________________________________________ + function TH_clic(o){ + currentFecha=o.getAttribute("id"); + document.fdatos.fechainicio.value="1/"+currentFecha + document.fdatos.fechafin.value="31/"+currentFecha + document.fdatos.submit(); + } +//________________________________________________________________________________________________________ + function AnnoReserva(anno){ + var wfechainicio=document.fdatos.fechainicio.value.split("/"); + var wfechafin=document.fdatos.fechafin.value.split("/"); + + if(wfechainicio[2]==wfechafin[2]){ + document.fdatos.submit(); + return + } + + if(wfechainicio[2]==anno) // El mismo año que el de inicio + document.fdatos.fechafin.value="31/12/"+anno; + else{ + document.fdatos.fechainicio.value="1/1/"+anno + } + + if(wfechafin[2]==anno) // El mismo año que el de fin + document.fdatos.fechainicio.value="1/1/"+anno + else{ + document.fdatos.fechafin.value="31/12/"+anno; + } + + document.fdatos.submit(); + } + diff --git a/admin/WebConsole/jscripts/programacionesreservas.js b/admin/WebConsole/jscripts/programacionesreservas.js new file mode 100644 index 00000000..f03a7d6b --- /dev/null +++ b/admin/WebConsole/jscripts/programacionesreservas.js @@ -0,0 +1,88 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: programacionesreservas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero programacionesreservas.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ + function chgdesplereservas(o){ + var otip=""; + for (var i=0; i< o.options.length; i++){ + if(o.options[i].selected) + otip+=o.options[i].value+"="+o.options[i].text+";" + } + document.fdatos.estadoreserva.value=otip + } +//________________________________________________________________________________________________________ + function chgdesplesituacion(o,swevt){ + var otip=""; + for (var i=0; i< o.options.length; i++){ + if(o.options[i].selected) + otip+=o.options[i].value+"="+o.options[i].text+";" + } + document.fdatos.situacion.value=otip + } + //________________________________________________________________________________________________________ + function vertabla_calendario(ofecha){ + currentFecha=ofecha; + url="../varios/calendario_ventana.php?fecha="+ofecha.value + window.open(url,"vf","top=160,left=250,height=220,width=150,scrollbars=no") + } +//________________________________________________________________________________________________________ + function vertabla_horario(ohora){ + currentHora=ohora; + url="../varios/horareser_ventana.php?hora="+ohora.value + window.open(url,"vh","top=200,left=250,height=120,width=160,scrollbars=no") + } +//________________________________________________________________________________________________________ + function anade_fecha(fecha){ + currentFecha.value=fecha + } +//________________________________________________________________________________________________________ + function anade_hora(hora){ + currentHora.value=hora + } +//________________________________________________________________________________________________________ + function sobre(){ +} +//________________________________________________________________________________________________________ + function fuera(){ +} +//________________________________________________________________________________________________________ + function clic(o){ +} +//________________________________________________________________________________________________________ + function TH_clic(o){ + currentFecha=o.getAttribute("id"); + document.fdatos.fechainicio.value="1/"+currentFecha + document.fdatos.fechafin.value="31/"+currentFecha + document.fdatos.submit(); + } +//________________________________________________________________________________________________________ + function AnnoReserva(anno){ + var wfechainicio=document.fdatos.fechainicio.value.split("/"); + var wfechafin=document.fdatos.fechafin.value.split("/"); + + if(wfechainicio[2]==wfechafin[2]){ + document.fdatos.submit(); + return + } + + if(wfechainicio[2]==anno) // El mismo año que el de inicio + document.fdatos.fechafin.value="31/12/"+anno; + else{ + document.fdatos.fechainicio.value="1/1/"+anno + } + + if(wfechafin[2]==anno) // El mismo año que el de fin + document.fdatos.fechainicio.value="1/1/"+anno + else{ + document.fdatos.fechafin.value="31/12/"+anno; + } + + document.fdatos.submit(); + } + diff --git a/admin/WebConsole/jscripts/propiedades_aulas.js b/admin/WebConsole/jscripts/propiedades_aulas.js new file mode 100644 index 00000000..0d37ec12 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_aulas.js @@ -0,0 +1,115 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_aulas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_aulas.php +// ************************************************************************************************************************************************* +var currentHora=null; +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_aulas(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_aulas(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_aulas(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Esta función desabilita la marca de un checkbox en opcion "bajas" +//________________________________________________________________________________________________________ + function desabilita(o) { + var b + b=o.checked + o.checked=!b + } +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombreaula.value=="") { + alert(TbMsg[0]); + document.fdatos.nombreaula.focus(); + return(false); + } + if (document.fdatos.puestos.value=="" || document.fdatos.puestos.value=="0") { + alert(TbMsg[1]); + document.fdatos.puestos.focus(); + return(false); + } + if (parseInt(document.fdatos.horaresevini.value)>parseInt(document.fdatos.horaresevfin.value)) { + alert(TbMsg[3]); + document.fdatos.horaresevini.focus(); + return(false); + } + + return(true); +} +//________________________________________________________________________________________________________ + function vertabla_horas(ohora){ + currentHora=ohora; + url="../varios/horareser_ventana.php?hora="+ohora.value + window.open(url,"vh","top=200,left=250,height=120,width=160,scrollbars=no") + } +//________________________________________________________________________________________________________ + function anade_hora(hora){ + currentHora.value=hora + } + diff --git a/admin/WebConsole/jscripts/propiedades_centros.js b/admin/WebConsole/jscripts/propiedades_centros.js new file mode 100644 index 00000000..763e6906 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_centros.js @@ -0,0 +1,83 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_centros.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_centros.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_centros(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_centros(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_centros(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombrecentro==""){ + alert(TbMsg[0]) + document.forms.fdatos.nombrecentro.focus() + return(false) + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_componentehardwares.js b/admin/WebConsole/jscripts/propiedades_componentehardwares.js new file mode 100644 index 00000000..695ecea3 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_componentehardwares.js @@ -0,0 +1,89 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_componentehardwares.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_componentehardwares.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_componentehardwares(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_componentehardwares(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_componentehardwares(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + var p=document.fdatos.idtipohardware.selectedIndex + if (p==0){ + alert(TbMsg[1]) + document.forms.fdatos.idtipohardware.focus() + return(false) + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_componentesoftwares.js b/admin/WebConsole/jscripts/propiedades_componentesoftwares.js new file mode 100644 index 00000000..f1b4c317 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_componentesoftwares.js @@ -0,0 +1,116 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_componentesoftwares.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_componentesoftwares.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_componentesoftwares(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_componentesoftwares(resul,descrierror,lit,uri){ + farbol.resultado_modificar(resul,descrierror,lit,uri); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_componentesoftwares(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + var p=document.fdatos.idtiposoftware.selectedIndex + if (p==0){ + alert(TbMsg[1]) + document.forms.fdatos.idtiposoftware.focus() + return(false) + } + else{ + if(p==3){ // Tipo de software: sistema operativo + p=document.fdatos.idtiposo.selectedIndex + if (p==0){ + alert(TbMsg[2]) + document.forms.fdatos.idtiposo.focus() + return(false) + } + } + } + return(true); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function seleccion(o){ + if(o.name=="idtiposoftware"){ + var otiposo=document.getElementById("tridtiposo"); // Toma objeto Iframe + if(otiposo!=null){ + if(o.value!=1){ + otiposo.style.display="none" + document.fdatos.idtiposo.selectedIndex=0 + } + else + otiposo.style.display="block" + } + } +} diff --git a/admin/WebConsole/jscripts/propiedades_entidades.js b/admin/WebConsole/jscripts/propiedades_entidades.js new file mode 100644 index 00000000..f3c4494f --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_entidades.js @@ -0,0 +1,83 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_entidades.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_entidades.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_entidades(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_entidades(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_entidades(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombreentidad==""){ + alert(TbMsg[0]) + document.forms.fdatos.nombreentidad.focus() + return(false) + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_entornos.js b/admin/WebConsole/jscripts/propiedades_entornos.js new file mode 100644 index 00000000..df175d0e --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_entornos.js @@ -0,0 +1,73 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_entornos.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_entornos.php +// ************************************************************************************************************************************************* + +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +//________________________________________________________________________________________________________ +function resultado_modificar_entornos(resul,descrierror){ + if(resul>0) + alert(CTbMsg[5]); + else + alert(descrierror); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Esta función desabilita la marca de un checkbox en opcion "bajas" +//________________________________________________________________________________________________________ + function desabilita(o) { + var b + b=o.checked + o.checked=!b + } +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.ipserveradm.value=="") { + alert(TbMsg[0]); + document.fdatos.ipserveradm.focus(); + return(false); + } + if (document.fdatos.portserveradm.value=="") { + alert(TbMsg[1]); + document.fdatos.portserveradm.focus(); + return(false); + } + return(true); +} + diff --git a/admin/WebConsole/jscripts/propiedades_grupos.js b/admin/WebConsole/jscripts/propiedades_grupos.js new file mode 100644 index 00000000..73636cc1 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_grupos.js @@ -0,0 +1,93 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Marzo-2006 +// Nombre del fichero: propiedades_grupos.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_grupos.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + var opcion=op; + ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe + if(document.fdatos.literaltipo.value==LITAMBITO_GRUPOSORDENADORES){ + document.fdatos.action="../gestores/gestor_gruposordenadores.php"; + } + else + document.fdatos.action="../gestores/gestor_grupos.php?opcion="+opcion + + if (opcion!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombregrupo.value=="") { + alert(TbMsg[0]); + document.fdatos.nombregrupo.focus(); + return(false); + } + return(true); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de insertar una nueva grupo en la base de datos a traves del IFRAME +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_grupos(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar_grupos(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un grupo a traves del IFRAME +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_grupos(resul,descrierror,lit){ + farbol.resultado_modificar_grupos(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un grupo a traves del IFRAME +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_grupos(resul,descrierror,id){ + farbol.resultado_eliminar_grupos(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} + diff --git a/admin/WebConsole/jscripts/propiedades_imagenes.js b/admin/WebConsole/jscripts/propiedades_imagenes.js new file mode 100644 index 00000000..dc1ac94e --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_imagenes.js @@ -0,0 +1,96 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_imagenes.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_imagenes.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_imagenes(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_imagenes(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_imagenes(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombreca.value=="") { + alert(TbMsg[3]); + document.fdatos.nombreca.focus(); + return(false); + } + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + /* + var p=document.fdatos.idperfilsoft.selectedIndex + if (p==0){ + alert(TbMsg[1]) + document.forms.fdatos.idperfilsoft.focus() + return(false) + } + */ + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_menus.js b/admin/WebConsole/jscripts/propiedades_menus.js new file mode 100644 index 00000000..b270eebf --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_menus.js @@ -0,0 +1,83 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_menus.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_menus.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_menus(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_menus(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_menus(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//___________________________________________________________________________________________________________ +// +// Confirma la edición +//___________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//___________________________________________________________________________________________________________ +// +// Comprobar_datos +//___________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_ordenadores.js b/admin/WebConsole/jscripts/propiedades_ordenadores.js new file mode 100644 index 00000000..22de9adf --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_ordenadores.js @@ -0,0 +1,99 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_ordenadores.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_ordenadores.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_ordenadores(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_ordenadores(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_ordenadores(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + //document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombreordenador.value=="") { + alert(TbMsg[0]); + document.fdatos.nombreordenador.focus(); + return(false); + } + if (document.fdatos.ip.value=="") { + alert(TbMsg[1]); + document.fdatos.ip.focus(); + return(false); + } + if (document.fdatos.mac.value=="") { + alert(TbMsg[2]); + document.fdatos.mac.focus(); + return(false); + } + var p=document.fdatos.idrepositorio.selectedIndex + if (p==0){ + alert(TbMsg[5]) + document.forms.fdatos.idrepositorio.focus() + return(false) + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_ordenadorestandar.js b/admin/WebConsole/jscripts/propiedades_ordenadorestandar.js new file mode 100644 index 00000000..cff4c351 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_ordenadorestandar.js @@ -0,0 +1,76 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_ordenadorestandar.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_ordenadorestandar.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +function resultado_ordenadorestandar(resul,descrierror){ + farbol.resultado_ordenadorestandar(resul,descrierror); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_ordenadores(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_ordenadores(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(ida){ + var wurl="../gestores/gestor_ordenadorestandar.php?idaula="+ida + var valor + var o + var nit=document.forms[0].elements.length // Prepara la cadena de parámetros metodo get + for (i=0;i<nit;i++){ + o=document.forms[0].elements[i] + valor=o.value + if (valor=="on") { + if(o.checked ) + valor=1; + else + valor=0 + } + wurl+="&"+o.name+"="+valor + } + ifr=document.getElementById("iframes_comodin"); // Toma objeto Iframe + ifr.src=wurl; // LLama a la página gestora +} diff --git a/admin/WebConsole/jscripts/propiedades_perfilhardwares.js b/admin/WebConsole/jscripts/propiedades_perfilhardwares.js new file mode 100644 index 00000000..e7df0b02 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_perfilhardwares.js @@ -0,0 +1,83 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_perfilhardwares.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_perfilhardwares.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_perfilhardwares(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_perfilhardwares(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_perfilhardwares(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//___________________________________________________________________________________________________________ +// +// Confirma la edición +//___________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//___________________________________________________________________________________________________________ +// +// Comprobar_datos +//___________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_perfilsoftwares.js b/admin/WebConsole/jscripts/propiedades_perfilsoftwares.js new file mode 100644 index 00000000..ec604826 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_perfilsoftwares.js @@ -0,0 +1,83 @@ +// ***************************************************************************************************************************************************** +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_perfilsoftwares.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_perfilsoftwares.php +// ***************************************************************************************************************************************************** +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_perfilsoftwares(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_perfilsoftwares(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_perfilsoftwares(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//___________________________________________________________________________________________________________ +// +// Confirma la edición +//___________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//___________________________________________________________________________________________________________ +// +// Comprobar_datos +//___________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_procedimientos.js b/admin/WebConsole/jscripts/propiedades_procedimientos.js new file mode 100644 index 00000000..3b7b310d --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_procedimientos.js @@ -0,0 +1,83 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_procedimientos.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_procedimientos.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_procedimientos(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_procedimientos(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_procedimientos(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_repositorios.js b/admin/WebConsole/jscripts/propiedades_repositorios.js new file mode 100644 index 00000000..abe90b46 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_repositorios.js @@ -0,0 +1,110 @@ +// ***************************************************************************************************************************************************** +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_repositorios.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_repositorios.php +// ***************************************************************************************************************************************************** +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_repositorios(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_repositorios(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_repositorios(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//___________________________________________________________________________________________________________ +// +// Confirma la edición +//___________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + else{ + if(document.fdatos.ordenadores.value>0){ + var res=confirm(TbMsg[2]) + if(!res) return; + } + } + document.fdatos.submit(); +} +//___________________________________________________________________________________________________________ +// +// Comprobar_datos +//___________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombrerepositorio.value=="") { + alert(TbMsg[0]); + document.fdatos.nombrerepositorio.focus(); + return(false); + } + if (document.fdatos.ip.value=="") { + alert(TbMsg[1]); + document.fdatos.ip.focus(); + return(false); + } + if (document.fdatos.puertorepo.value=="") { + alert(TbMsg[3]); + document.fdatos.puertorepo.focus(); + return(false); + } + if (document.fdatos.pathrepod.value=="") { + alert(TbMsg[4]); + document.fdatos.pathrepod.focus(); + return(false); + } + if (document.fdatos.pathpxe.value=="") { + alert(TbMsg[5]); + document.fdatos.pathpxe.focus(); + return(false); + } + + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_reservas.js b/admin/WebConsole/jscripts/propiedades_reservas.js new file mode 100644 index 00000000..26c594d7 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_reservas.js @@ -0,0 +1,104 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: propiedades_reservas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_reservas.php +// ************************************************************************************************************************************************* +var tbimg=Array(); + +tbimg[RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif'; +tbimg[RESERVA_PENDIENTE]='../images/iconos/pendientes.gif'; +tbimg[RESERVA_DENEGADA]='../images/iconos/denegadas.gif'; +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_reservas(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_reservas(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_reservas(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + if (document.fdatos.solicitante.value=="") { + alert(TbMsg[1]); + document.fdatos.solicitante.focus(); + return(false); + } + p=document.fdatos.idaula.selectedIndex + if(p==0){ + alert(TbMsg[2]); + document.fdatos.idaula.focus(); + return(false); + } + if (document.fdatos.estado.value=="" || document.fdatos.estado.value==0) { + alert(TbMsg[3]); + document.fdatos.xestado[0].focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_softincrementales.js b/admin/WebConsole/jscripts/propiedades_softincrementales.js new file mode 100644 index 00000000..9b62c37e --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_softincrementales.js @@ -0,0 +1,83 @@ +// ***************************************************************************************************************************************************** +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_softincrementales.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_softincrementales.php +// ***************************************************************************************************************************************************** +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_softincrementales(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_softincrementales(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_softincrementales(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//___________________________________________________________________________________________________________ +// +// Confirma la edición +//___________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//___________________________________________________________________________________________________________ +// +// Comprobar_datos +//___________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_tareas.js b/admin/WebConsole/jscripts/propiedades_tareas.js new file mode 100644 index 00000000..6a978b93 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_tareas.js @@ -0,0 +1,120 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_tareas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_tareas.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_tareas(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_tareas(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_tareas(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + + if (document.fdatos.ambito.selectedIndex==0) { + var res=confirm(TbMsg[2]) + if(!res){ + document.fdatos.ambito.focus(); + return(false); + } + } + + var o=document.getElementById("despleambito"); + var desple=o.childNodes[0]; + var p=desple.selectedIndex; + if (p==0){ + alert(TbMsg[1]); + desple.focus(); + return(false); + } + document.fdatos.idambito.value=desple.options[p].value + return(true); +} +//________________________________________________________________________________________________________ +// +// Cambia desplegable de ámbitos +//________________________________________________________________________________________________________ +function chgdespleambito(o){ + + var idx = o.selectedIndex + var ambito = o.options[idx].value + + var wurl="../varios/desplegablesambitos.php"; + var prm="ambito="+ambito; + CallPage(wurl,prm,"retorno","POST"); +} +//______________________________________________________________________________________________________ +function retorno(ret) +{ + var o=document.getElementById("despleambito"); + o.innerHTML=ret; +} diff --git a/admin/WebConsole/jscripts/propiedades_tipohardwares.js b/admin/WebConsole/jscripts/propiedades_tipohardwares.js new file mode 100644 index 00000000..e136a788 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_tipohardwares.js @@ -0,0 +1,83 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_tipohardwares.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_tipohardwares.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_tipohardwares(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_tipohardwares(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_tipohardwares(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_trabajos.js b/admin/WebConsole/jscripts/propiedades_trabajos.js new file mode 100644 index 00000000..32d4b44c --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_trabajos.js @@ -0,0 +1,83 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_trabajos.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_trabajos.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_trabajos(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_trabajos(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_trabajos(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.descripcion.value=="") { + alert(TbMsg[0]); + document.fdatos.descripcion.focus(); + return(false); + } + return(true); +} diff --git a/admin/WebConsole/jscripts/propiedades_universidades.js b/admin/WebConsole/jscripts/propiedades_universidades.js new file mode 100644 index 00000000..99494e09 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_universidades.js @@ -0,0 +1,58 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_universidades.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_universidades.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_universidades(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//___________________________________________________________________________________________________________ +// +// Confirma la edición +//___________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//___________________________________________________________________________________________________________ +// +// Comprobar_datos +//___________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.nombreuniversidad.value=="") { + alert(TbMsg[0]); + document.fdatos.nombreuniversidad.focus(); + return(false); + } + return(true); +} + diff --git a/admin/WebConsole/jscripts/propiedades_usuarios.js b/admin/WebConsole/jscripts/propiedades_usuarios.js new file mode 100644 index 00000000..d48cc031 --- /dev/null +++ b/admin/WebConsole/jscripts/propiedades_usuarios.js @@ -0,0 +1,99 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_usuarios.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero propiedades_usuarios.php +// ************************************************************************************************************************************************* +var wpadre=window.parent; // Toma frame padre +var farbol=wpadre.frames["frame_arbol"]; +//________________________________________________________________________________________________________ +// +// Cancela la edición +//________________________________________________________________________________________________________ +function cancelar(){ + selfclose(); +} +//________________________________________________________________________________________________________ +// Devuelve el resultado de insertar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción (true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - nwid: Identificador asignado al nuevo registro +// - tablanodo: Tabla nodo generada para el nuevo registro (árbol de un sólo un elemento) +//________________________________________________________________________________________________________ +function resultado_insertar_usuarios(resul,descrierror,nwid,tablanodo){ + farbol.resultado_insertar(resul,descrierror,nwid,tablanodo); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de modificar algún dato de un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - lit: Nuevo nombre del grupo +//________________________________________________________________________________________________________ +function resultado_modificar_usuarios(resul,descrierror,lit){ + farbol.resultado_modificar(resul,descrierror,lit); + selfclose(); +} +//________________________________________________________________________________________________________ +// +// Devuelve el resultado de eliminar un registro +// Especificaciones: +// Los parámetros recibidos son: +// - resul: resultado de la operación de inserción ( true si tuvo éxito) +// - descrierror: Descripción del error en su caso +// - id: Identificador del registro que se quiso modificar +//________________________________________________________________________________________________________ +function resultado_eliminar_usuarios(resul,descrierror,id){ + farbol.resultado_eliminar(resul,descrierror,id); + selfclose(); +} +//________________________________________________________________________________________________________ +function selfclose(){ + document.location.href="../nada.php"; +} +//________________________________________________________________________________________________________ +// +// Confirma la edición +//________________________________________________________________________________________________________ +function confirmar(op){ + if (op!=op_eliminacion){ + if(!comprobar_datos()) return; + } + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +// +// Comprobar_datos +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.usuario.value==""){ + alert(TbMsg[0]) + document.forms.fdatos.usuario.focus() + return(false) + } + if (document.fdatos.pasguor.value==""){ + alert(TbMsg[1]) + document.forms.fdatos.pasguor.focus() + return(false) + } + if (document.fdatos.nombre.value==""){ + alert(TbMsg[2]) + document.forms.fdatos.nombre.focus() + return(false) + } + p=document.fdatos.ididioma.selectedIndex + if (p==0){ + alert(TbMsg[4]) + document.forms.fdatos.ididioma.focus() + return(false) + } + return(true); +} diff --git a/admin/WebConsole/jscripts/repositorios.js b/admin/WebConsole/jscripts/repositorios.js new file mode 100644 index 00000000..7aa829c1 --- /dev/null +++ b/admin/WebConsole/jscripts/repositorios.js @@ -0,0 +1,18 @@ +// ***************************************************************************************************************************************************** +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: servidores.js +// Este fichero implementa las funciones javascript del fichero servidores.php +// ***************************************************************************************************************************************************** +//___________________________________________________________________________________________________________ +// +// Muestra información sobre un servidor rembo +//___________________________________________________________________________________________________________ +function muestra_inforRepositorios(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionrepositorio=currentNodo.toma_infonodo() + var whref="../varios/informacion_repositorios.php?idrepositorio="+identificador+"&descripcionrepositorio="+descripcionrepositorio + window.open(whref,"frame_contenidos") +} + diff --git a/admin/WebConsole/jscripts/reservas.js b/admin/WebConsole/jscripts/reservas.js new file mode 100644 index 00000000..339c6f52 --- /dev/null +++ b/admin/WebConsole/jscripts/reservas.js @@ -0,0 +1,30 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: reservas.js +// Este fichero implementa las funciones javascript del fichero reservas.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +// +// Muestra formulario de programaciones para tareas y trabajos +//________________________________________________________________________________________________________ +function programacion(tipoaccion){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcion=currentNodo.toma_infonodo() + var whref="../varios/programaciones.php?idreserva="+identificador+"&descripcionreserva="+descripcion+"&tipoaccion="+EJECUCION_RESERVA + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra la cola de reservas +//________________________________________________________________________________________________________ +function cola_reservas(tiporeserva){ + reset_contextual(-1,-1); // Oculta menu contextual + var ambito=AMBITO_GRUPOSRESERVAS; + var idambito=currentNodo.toma_identificador() // identificador del ámbito + if(idambito==null) idambito=0; + var nombreambito= currentNodo.toma_infonodo() // nombre del ámbito desde página aula.php + var wurl="../principal/programacionesaulas.php?ambito="+ambito+"&idambito="+idambito+"&nombreambito="+nombreambito+"&tipocola="+tiporeserva + window.open(wurl,"frame_contenidos") +} diff --git a/admin/WebConsole/jscripts/softwares.js b/admin/WebConsole/jscripts/softwares.js new file mode 100644 index 00000000..558ccdc0 --- /dev/null +++ b/admin/WebConsole/jscripts/softwares.js @@ -0,0 +1,51 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fichero: softwares.js +// Este fichero implementa las funciones javascript del fichero softwares.php +// ************************************************************************************************************************************************* +//________________________________________________________________________________________________________ +// +// Muestra formulario para gestionar los componentes incluidos en un perfil software +//________________________________________________________________________________________________________ +function insertar_perfilcomponente(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionperfil=currentNodo.toma_infonodo(); + var whref="../varios/perfilcomponente_soft.php?idperfilsoft="+identificador+"&descripcionperfil="+descripcionperfil + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra información sobre los perfiles software +//________________________________________________________________________________________________________ +function informacion_perfiles(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionperfil=currentNodo.toma_infonodo(); + var whref="../varios/informacion_perfilessoftware.php?idperfil="+identificador+"&descripcionperfil="+descripcionperfil + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra formulario para gestionar los componentes incluidos en un software incremental +//________________________________________________________________________________________________________ +function insertar_incrementalcomponente(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador() + var descripcionincremental=currentNodo.toma_infonodo(); + var whref="../varios/incrementalcomponente_soft.php?idsoftincremental="+identificador+"&descripcionincremental="+descripcionincremental + window.open(whref,"frame_contenidos") +} +//________________________________________________________________________________________________________ +// +// Muestra información sobre los perfiles software +//________________________________________________________________________________________________________ +function informacion_incrementales(){ + reset_contextual(-1,-1) + var identificador=currentNodo.toma_identificador(); + var descripcionincremental=currentNodo.toma_infonodo(); + var whref="../varios/informacion_incrementales.php?idsoftincremental="+identificador+"&descripcionincremental="+descripcionincremental + window.open(whref,"frame_contenidos") +} +
\ No newline at end of file diff --git a/admin/WebConsole/jscripts/tareascomandos.js b/admin/WebConsole/jscripts/tareascomandos.js new file mode 100644 index 00000000..d8151954 --- /dev/null +++ b/admin/WebConsole/jscripts/tareascomandos.js @@ -0,0 +1,78 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: tareascomandos.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero tareascomandos.php +// ************************************************************************************************************************************************* +var currentidtareacomando=null; +//________________________________________________________________________________________________________ +function gestion_comandos(id,o,orden){ + if (o.checked) + var opcion=op_modificacion; + else + var opcion=op_eliminacion; + var wurl="../gestores/gestor_tareascomandos.php"; + var prm="opcion="+opcion+"&idtareacomando="+id+"&orden="+orden; + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul){ + if(resul.length>0){ + eval(resul); + } +} +//________________________________________________________________________________________________________ +function ActualizarAccion(id){ + var objorden=document.getElementById("orden-"+id) + var orden=objorden.value + if(orden=="" || orden<1){ + alert(TbMsg[1]); + oorden.focus(); + return + } + var ocheckbox=document.getElementById("checkbox-"+id); + gestion_comandos(id,ocheckbox,orden) +} +//________________________________________________________________________________________________________ +function resultado_eliminar_tareacomando(resul,descrierror,idtt){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[2]) + var oTABLE=document.getElementById("TABLACOMANDOS"); + var oTRs=oTABLE.getElementsByTagName('TR') + for(var i=0;i<oTRs.length;i++){ + if(oTRs[i].getAttribute("id")=='TR-'+currentidtareacomando || oTRs[i].getAttribute("id")=='PAR-'+currentidtareacomando) + oTRs[i].style.display="none" + } +} +//________________________________________________________________________________________________________ +function resultado_modificar_tareacomando(resul,descrierror,id){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[3]) +} +//________________________________________________________________________________________________________ +function ver_parametros(o,sw,ida){ + o=o.parentNode + o.childNodes[sw].style.display="none" + sw++ + if(sw>1)sw=0 + o.childNodes[sw].style.display="block" + while (o.tagName!="TBODY"){ + o=o.parentNode + } + var oTRs=o.getElementsByTagName('TR') + for(var i=0;i<oTRs.length;i++){ + if(oTRs[i].getAttribute("id")=='PAR-'+ida) + if (oTRs[i].style.display=="none") oTRs[i].style.display="block" + else + oTRs[i].style.display="none" + } + } diff --git a/admin/WebConsole/jscripts/trabajostareas.js b/admin/WebConsole/jscripts/trabajostareas.js new file mode 100644 index 00000000..3c45400c --- /dev/null +++ b/admin/WebConsole/jscripts/trabajostareas.js @@ -0,0 +1,80 @@ +// ************************************************************************************************************************************************* +// Libreria de scripts de Javascript +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: trabajostareas.js +// Descripción : +// Este fichero implementa las funciones javascript del fichero trabajostareas.php +// ************************************************************************************************************************************************* +var currentidtarea=null; +//____________________________________________________________________________ +function gestion_tareas(id,o,op){ + var idtrabajo=document.fdatos.idtrabajo.value + var oorden=document.getElementById("orden-"+id) + var orden=oorden.value + if(orden=="" || orden<1){ + alert(TbMsg[1]); + if(op==null) o.checked=false + oorden.focus(); + return + } + if (o.checked){ + if(op==null) + var opcion=op_alta; + else + var opcion=op_modificacion; + } + else + var opcion=op_eliminacion; + + var wurl="../gestores/gestor_trabajostareas.php"; + var prm="opcion="+opcion+"&idtrabajo="+idtrabajo+"&idtarea="+id+"&orden="+orden + CallPage(wurl,prm,"retornoGestion","POST"); +} +//______________________________________________________________________________________________________ +function retornoGestion(resul){ + if(resul.length>0){ + eval(resul); + } +} + + + +//________________________________________________________________________________________________________ +function resultado_insertar_trabajostareas(resul,descrierror,resultado_modificar_trabajostareas){ + if (!resul){ // Ha habido algún error en la inserción + alert(descrierror) + return + } + alert(TbMsg[0]) + var imgact=document.getElementById("imgact-"+currentidtarea); + var imgHTML='<TD id="imgact-'+currentidtarea+'"><IMG src="../images/iconos/actualizar.gif" style="cursor:hand" onclick="ActualizarAccion('+currentidtarea+')">'; + imgact.innerHTML=imgHTML +} +//________________________________________________________________________________________________________ +function resultado_eliminar_trabajostareas(resul,descrierror,idtt){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[2]) + var imgact=document.getElementById("imgact-"+currentidtarea); + var imgHTML=' '; + imgact.innerHTML=imgHTML + var oorden=document.getElementById("orden-"+currentidtarea) + oorden.value=""; +} +//________________________________________________________________________________________________________ +function resultado_modificar_trabajostareas(resul,descrierror,id){ + if (!resul){ // Ha habido algún error en la eliminación + alert(descrierror) + return + } + alert(TbMsg[3]) +} +//____________________________________________________________________________ +function ActualizarAccion(id){ + var ocheckbox=document.getElementById("checkbox-"+id); + gestion_tareas(id,ocheckbox,op_modificacion) +} diff --git a/admin/WebConsole/jscripts/util.js b/admin/WebConsole/jscripts/util.js new file mode 100644 index 00000000..27f7b484 --- /dev/null +++ b/admin/WebConsole/jscripts/util.js @@ -0,0 +1,19 @@ +function IsNumeric(sText) +{ + var ValidChars = "0123456789."; + var IsNumber=true; + var Char; + + + for (i = 0; i < sText.length && IsNumber == true; i++) + { + Char = sText.charAt(i); + if (ValidChars.indexOf(Char) == -1) + { + IsNumber = false; + } + } + return IsNumber; + +} + diff --git a/admin/WebConsole/menus/images/linux.png b/admin/WebConsole/menus/images/linux.png Binary files differnew file mode 100644 index 00000000..d4ad6c6c --- /dev/null +++ b/admin/WebConsole/menus/images/linux.png diff --git a/admin/WebConsole/menus/images/opengnsys.png b/admin/WebConsole/menus/images/opengnsys.png Binary files differnew file mode 100644 index 00000000..cea3b03e --- /dev/null +++ b/admin/WebConsole/menus/images/opengnsys.png diff --git a/admin/WebConsole/menus/images/xp.png b/admin/WebConsole/menus/images/xp.png Binary files differnew file mode 100644 index 00000000..b4fcf480 --- /dev/null +++ b/admin/WebConsole/menus/images/xp.png diff --git a/admin/WebConsole/menus/menuaula1.html b/admin/WebConsole/menus/menuaula1.html new file mode 100644 index 00000000..b24b101f --- /dev/null +++ b/admin/WebConsole/menus/menuaula1.html @@ -0,0 +1,37 @@ +<html> + <head> + <style type="text/css"> + * { font-size: 10px; } + h2 { font-size: 2em;} + br {font-size: 0.2em; } + a:link, a:visited { text-decoration: none; font-weight: normal; color:#505e6b; font-weight: bold; } </style> + </head> + + <body> + <table width=100%> + <tr><td colspan=3 height=50px > + <h2><img style="margin:0px 100px 0px 0px" align=middle src=images/opengnsys.png>Menú de opciones</h2></p></td></tr> + + <tr><td width=10% rowspan="2" align=right valign=top><img width="40px" heigth="40px" src=images/xp.png> + <td width=30%><a href="command:bootOs 1 1">1.- Arrancar Windows XP</a> + <td width=60%>Arranque normal sin modificaciones. + <tr> + <td width=30%><a href="command: restoreImage REPO /aula1/xp 1 1">2.- Reinstalar Windows XP</a></td> + <td width=60%><br>El proceso de instalación puede tardar unos minutos. + <br><font color=red>Durante la instalación se bloquean teclado y ratón.</font></td> + + <tr><td colspan=3 text=white bgcolor=#ffffff align=center height=10px> + + + <tr><td width=10% rowspan="2" align=right valign=top><img width="40px" heigth="40px" src=images/linux.png> + <td width=30%><a href="command:bootOs 1 2">3.- Arrancar Ubuntu 9.04</a> + <td width=60%>Arranque normal sin modificaciones. + <tr> + <td width=30%><a href="command: restoreImage REPO /aula1/ubuntu9 1 2"><br>4.- Reinstalar Ubuntu 9.04</a> + <td width=60%><br>El proceso de instalación puede tardar unos minutos. + <br><font color=red>Durante la instalación se bloquean teclado y ratón.</font> + + + </table> + <body> +</html> diff --git a/admin/WebConsole/nada.php b/admin/WebConsole/nada.php new file mode 100644 index 00000000..d12380bb --- /dev/null +++ b/admin/WebConsole/nada.php @@ -0,0 +1,9 @@ +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <SCRIPT language="javascript"> + </SCRIPT> +</HEAD> +<BODY> +</BODY> +</HTML> diff --git a/admin/WebConsole/pagerror.php b/admin/WebConsole/pagerror.php new file mode 100644 index 00000000..cd19cc4f --- /dev/null +++ b/admin/WebConsole/pagerror.php @@ -0,0 +1,33 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: controlacceso.php +// Descripción :Este fichero redirecciona a la página principal con un código de error +// ************************************************************************************************************************************************* +$herror=0; +if (isset($_GET["herror"])) $herror=$_GET["herror"]; +//________________________________________________________________________________________________________ +?> +<HTML> + <TITLE> Administración web de aulas</TITLE> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="estilos.css"> + </HEAD> + <BODY> + <? + echo '<SCRIPT LANGUAGE="JAVASCRIPT">'.chr(13); + echo ' var o=window.top;'.chr(13); + echo ' var ao=o.parent;'.chr(13); + echo ' while (o!=ao){ // Busca la primera ventana del navegador'.chr(13); + echo ' ao=o;'.chr(13); + echo ' o=o.parent;'; + echo ' };'.chr(13); + echo ' ao.location="./acceso.php?herror='.$herror.'";'.chr(13); + echo '</SCRIPT>'.chr(13); + ?> + </BODY> +</HTML> diff --git a/admin/WebConsole/principal/acciones.php b/admin/WebConsole/principal/acciones.php new file mode 100644 index 00000000..72f0be9f --- /dev/null +++ b/admin/WebConsole/principal/acciones.php @@ -0,0 +1,688 @@ +<? +// ************************************************************************************************************************************************* +// 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: acciones.php +// Descripción : +// Administra procedimientos,y tareas de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/acciones_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos los datos de las acciones registradas en el Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/acciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/acciones_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +$XMLcontextual=CreacontextualXMLComandos(); // comandos +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLComando(); // comando +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de los procedimientos +$XMLcontextual=CreacontextualXMLProcedimientos(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposProcedimientos(); // Grupo de Procedimientos +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLProcedimiento(); // Procedimientos +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de las tareas +$XMLcontextual=CreacontextualXMLTareas(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposTareas(); // Grupo de Tareas +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLTarea(); // Tareas +echo $flotante->CreaMenuContextual($XMLcontextual); + +?> +</BODY> +</HTML> +<? +// ******************************************************************************************************** +// Devuelve una cadena con formato XML con toda la informaci� de las acciones registradas en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexiónabierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro) +{ + global $TbMsg; + global $LITAMBITO_COMANDOS; + global $LITAMBITO_PROCEDIMIENTOS; + global $LITAMBITO_TAREAS; + + $cadenaXML='<ACCIONES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/acciones.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[33].'"'; + $cadenaXML.=' nodoid="RaizAcciones"'; + $cadenaXML.='>'; + + $cadenaXML.='<COMANDOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[30].'"'; + $cadenaXML.=' nodoid="RaizComandos"'; + //$cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_Raiz".$LITAMBITO_COMANDOS."'" .');"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_Comandos($cmd); + $cadenaXML.='</COMANDOS>'; + + $cadenaXML.='<PROCEDIMIENTOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[29].'"'; + $cadenaXML.=' nodoid=Raizpro'.$LITAMBITO_PROCEDIMIENTOS; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_Raiz".$LITAMBITO_PROCEDIMIENTOS."'".')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_procedimientos($cmd,$idcentro,0); + $cadenaXML.='</PROCEDIMIENTOS>'; + + $cadenaXML.='<TAREAS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[31].'"'; + $cadenaXML.=' nodoid=Raiz'.$LITAMBITO_TAREAS; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_Raiz".$LITAMBITO_TAREAS."'".')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_tareas($cmd,$idcentro,0); + $cadenaXML.='</TAREAS>'; + + $cadenaXML.='</ACCIONES>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Comandos($cmd) +{ + global $LITAMBITO_COMANDOS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idcomando,descripcion,urlimg FROM comandos Where activo=1 order by descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<COMANDO'; + // Atributos + //$cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_COMANDOS."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/comandos.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid=comando-'.$rs->campos["idcomando"]; + $cadenaXML.='>'; + $cadenaXML.='</COMANDO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_procedimientos($cmd,$idcentro,$grupoid){ + global $AMBITO_GRUPOSPROCEDIMIENTOS; + global $LITAMBITO_GRUPOSPROCEDIMIENTOS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos + WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSPROCEDIMIENTOS." + ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSPROCEDIMIENTOS'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSPROCEDIMIENTOS."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSPROCEDIMIENTOS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_procedimientos($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSPROCEDIMIENTOS>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_Procedimientos($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Procedimientos($cmd,$idcentro,$grupoid){ + global $LITAMBITO_PROCEDIMIENTOS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idprocedimiento,descripcion FROM procedimientos + WHERE idcentro=".$idcentro." AND grupoid=".$grupoid." + ORDER BY descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<PROCEDIMIENTO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/procedimiento.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PROCEDIMIENTOS.'-'.$rs->campos["idprocedimiento"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PROCEDIMIENTOS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</PROCEDIMIENTO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_tareas($cmd,$idcentro,$grupoid){ + global $AMBITO_GRUPOSTAREAS; + global $LITAMBITO_GRUPOSTAREAS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid + FROM grupos + WHERE grupoid=".$grupoid." + AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSTAREAS." + ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSTAREAS'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSTAREAS."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSTAREAS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_tareas($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSTAREAS>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_Tareas($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Tareas($cmd,$idcentro,$grupoid) +{ + global $LITAMBITO_TAREAS; + + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT tareas.idtarea,tareas.descripcion,tareas.ambito + FROM tareas + WHERE tareas.idcentro=".$idcentro." + AND grupoid=".$grupoid." + ORDER by tareas.descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<TAREA'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/tareas.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_TAREAS.'-'.$rs->campos["idtarea"]; + $cadenaXML.=' nodovalue="'.$rs->campos["ambito"].'"'; + + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TAREAS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</TAREA>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Mens Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLComandos() +{ + global $LITAMBITO_COMANDOS; + global $EJECUCION_COMANDO; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_Raiz'.$LITAMBITO_COMANDOS.'"'; + $layerXML.=' maxanchu=165'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="programacion('.$EJECUCION_COMANDO.')"'; + $layerXML.=' imgitem="../images/iconos/reloj.gif"'; + $layerXML.=' textoitem="'.$TbMsg[21].'"'; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLComando() +{ + global $LITAMBITO_COMANDOS; + global $EJECUCION_COMANDO; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_COMANDOS.'"'; + $layerXML.=' maxanchu=120'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="programacion('.$EJECUCION_COMANDO.')"'; + $layerXML.=' imgitem="../images/iconos/reloj.gif"'; + $layerXML.=' textoitem="'.$TbMsg[21].'"'; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLProcedimientos(){ + global $AMBITO_PROCEDIMIENTOS; + global $AMBITO_GRUPOSPROCEDIMIENTOS; + global $LITAMBITO_GRUPOSPROCEDIMIENTOS; + global $LITAMBITO_PROCEDIMIENTOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_Raiz'.$LITAMBITO_PROCEDIMIENTOS.'"'; + $layerXML.=' maxanchu=195'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSPROCEDIMIENTOS.',' . "'".$LITAMBITO_GRUPOSPROCEDIMIENTOS."'" . ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=250; + $wpages="../propiedades/propiedades_procedimientos.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_procedimientos.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_PROCEDIMIENTOS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposProcedimientos(){ + global $AMBITO_PROCEDIMIENTOS; + global $AMBITO_GRUPOSPROCEDIMIENTOS; + global $LITAMBITO_GRUPOSPROCEDIMIENTOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSPROCEDIMIENTOS.'"'; + $layerXML.=' maxanchu=200'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSPROCEDIMIENTOS.',' ."'".$LITAMBITO_GRUPOSPROCEDIMIENTOS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=250; + $wpages="../propiedades/propiedades_procedimientos.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_procedimientos.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_PROCEDIMIENTOS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLProcedimiento(){ + global $EJECUCION_PROCEDIMIENTO; + global $AMBITO_PROCEDIMIENTOS; + global $LITAMBITO_PROCEDIMIENTOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_PROCEDIMIENTOS.'"'; + $layerXML.=' maxanchu=170'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="informacion_acciones('.$AMBITO_PROCEDIMIENTOS.')"'; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="inclusion_acciones('.$AMBITO_PROCEDIMIENTOS.')"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem="'.$TbMsg[20].'"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_PROCEDIMIENTOS.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=250; + $wpages="../propiedades/propiedades_procedimientos.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_accionmenu('.$EJECUCION_PROCEDIMIENTO.')"'; + $layerXML.=' imgitem="../images/iconos/menus.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLTareas(){ + global $AMBITO_TAREAS; + global $AMBITO_GRUPOSTAREAS; + global $LITAMBITO_GRUPOSTAREAS; + global $LITAMBITO_TAREAS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_Raiz'.$LITAMBITO_TAREAS.'"'; + $layerXML.=' maxanchu=150'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSTAREAS.',' ."'".$LITAMBITO_GRUPOSTAREAS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=270; + $wpages="../propiedades/propiedades_tareas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/tareas.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_tareas.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_TAREAS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposTareas(){ + global $AMBITO_TAREAS; + global $AMBITO_GRUPOSTAREAS; + global $LITAMBITO_GRUPOSTAREAS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSTAREAS.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSTAREAS.',' ."'".$LITAMBITO_GRUPOSTAREAS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=270; + $wpages="../propiedades/propiedades_tareas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/tareas.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_tareas.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_TAREAS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[14]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLTarea(){ + global $EJECUCION_TAREA; + global $AMBITO_TAREAS; + global $LITAMBITO_TAREAS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_TAREAS.'"'; + $layerXML.=' maxanchu=150'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ejecutar_tareas('.$EJECUCION_TAREA.')"'; + $layerXML.=' imgitem="../images/iconos/tareas.gif"'; + $layerXML.=' textoitem='.$TbMsg[15]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="programacion('.$EJECUCION_TAREA.')"'; + $layerXML.=' imgitem="../images/iconos/reloj.gif"'; + $layerXML.=' textoitem='.$TbMsg[16]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="informacion_acciones('.$AMBITO_TAREAS.')"'; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.=' textoitem='.$TbMsg[17]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="inclusion_acciones('.$AMBITO_TAREAS.')"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem="'.$TbMsg[20].'"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_TAREAS.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[18]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=270; + $wpages="../propiedades/propiedades_tareas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[19]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_accionmenu('.$EJECUCION_TAREA.')"'; + $layerXML.=' imgitem="../images/iconos/menus.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/actualizar.php b/admin/WebConsole/principal/actualizar.php new file mode 100644 index 00000000..3647c87d --- /dev/null +++ b/admin/WebConsole/principal/actualizar.php @@ -0,0 +1,63 @@ +<? +// ************************************************************************************************************************************************* +// 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: Abril-2010 +// Nombre del fichero: actualizar.php +// Descripción : +// Obliga a los clientes a reiniciar la sesión en el sistema +// ************************************************************************************************************************************************* + include_once("../includes/ctrlacc.php"); + include_once("../clases/SockHidra.php"); + include_once("../clases/AdoPhp.php"); + include_once("../includes/constantes.php"); + include_once("../includes/comunes.php"); + include_once("../includes/CreaComando.php"); + include_once("../includes/RecopilaIpesMacs.php"); + //________________________________________________________________________________________________________ + $ambito=0; + $idambito=0; + + if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; + //________________________________________________________________________________________________________ + $cmd=CreaComando($cadenaconexion); + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. + //________________________________________________________________________________________________________ + $funcion="Actualizar"; // Nombre de la función que procesa la petición + $atributos=""; // Parametros adicionales la petición + $aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por "," + $acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento + //________________________________________________________________________________________________________ + // Ámbito de aplicación de la petición + //________________________________________________________________________________________________________ + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + RecopilaIpesMacs($cmd,$ambito,$idambito); // Ámbito de aplicación + $aplicacion="ido=".$cadenaid.chr(13)."iph=".$cadenaip.chr(13); + //________________________________________________________________________________________________________ + // Envio al servidor de la petición + //________________________________________________________________________________________________________ + $trama=""; + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $parametros="nfn=".$funcion.chr(13); + $parametros.=$aplicacion; + $parametros.=$atributos; + $parametros.=$acciones; + $shidra->envia_comando($parametros); + $trama=$shidra->recibe_respuesta(); + $shidra->desconectar(); + $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); + $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); + $ValorParametros=extrae_parametros($parametros,chr(13),'='); + $trama_notificacion=$ValorParametros["res"]; + echo $trama_notificacion; // Devuelve respuesta + } + else + echo "0"; // Error de conexión +?> + diff --git a/admin/WebConsole/principal/administracion.php b/admin/WebConsole/principal/administracion.php new file mode 100644 index 00000000..8303ea6e --- /dev/null +++ b/admin/WebConsole/principal/administracion.php @@ -0,0 +1,604 @@ +<? +// ********************************************************************************************************* +// 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: administracion.php +// Descripción : +// Presenta opciones de admistración de la Aplicación +// ********************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/administracion_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +$cadenaXML=""; +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexi� con servidor B.D. +else + $arbolXML=CreaArbol($cmd); // Crea el arbol XML con todos los datos de administracion +// Creaci� del �bol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del �bol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,2,0,5); // Crea el �bol (formato XML) +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administraci� web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/administracion.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/administracion_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea �bol (HTML) a partir del XML + +$flotante=new MenuContextual(); // Crea objeto MenuContextual +// Crea contextual de las imágenes + $XMLcontextual=CreacontextualXMLUniversidades(); + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=CreacontextualXMLUsuarios(); + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=CreacontextualXMLAdministradores(); + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=CreacontextualXMLGruposEntidades(); + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=CreacontextualXMLEntidades(); + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=CreacontextualXMLCentros(); + echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML con toda la informaci� de aulas y ordenadores registrados en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexi� abierta) +// - idcentro: El identificador del centro +// - nombrecentro: El nombre del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd){ + global $TbMsg; + global $LITAMBITO_ADMINISTRACION; + global $cadenaXML; + + $cadenaXML='<RAIZ'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/administracion.gif"'; + $cadenaXML.=' nodoid=Raiz'.$LITAMBITO_ADMINISTRACION; + $cadenaXML.=' infonodo='.$TbMsg[0]; + $cadenaXML.='>'; + SubarbolXML_universidades($cmd); + $cadenaXML.='</RAIZ>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_universidades($cmd){ + global $TbMsg; + global $LITAMBITO_GRUPOSUNIVERSIDADES; + global $LITAMBITO_UNIVERSIDADES; + global $AMBITO_GRUPOSUNIVERSIDADES; + global $cadenaXML; + + $rs=new Recordset; + $cmd->texto="SELECT iduniversidad,nombreuniversidad FROM universidades"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<UNIVERSIDAD '; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_UNIVERSIDADES."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/universidades.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreuniversidad"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_UNIVERSIDADES; + $cadenaXML.='>'; + SubarbolXML_usuarios($cmd,$rs->campos["iduniversidad"],0); + SubarbolXML_universidades_entidades($cmd,$rs->campos["iduniversidad"],0); + $cadenaXML.='</UNIVERSIDAD>'; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function SubarbolXML_usuarios($cmd){ + global $TbMsg; + global $cadenaXML; + + $cadenaXML.='<USUARIOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/usuarioslog.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_administradores'" .')"'; + $cadenaXML.=' infonodo="'.$TbMsg[11].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_USUARIOS; + $cadenaXML.='>'; + SubarbolXML_superadministradores($cmd); + $cadenaXML.='</USUARIOS>'; +} +//________________________________________________________________________________________________________ +function SubarbolXML_superadministradores($cmd){ + global $TbMsg; + global $LITAMBITO_USUARIOS; + global $cadenaXML; + global $SUPERADMINISTRADOR; + global $ADMINISTRADOR; + $rs=new Recordset; + $cmd->texto="SELECT idusuario,nombre,idtipousuario FROM usuarios WHERE idtipousuario=".$SUPERADMINISTRADOR." OR idtipousuario=".$ADMINISTRADOR." ORDER by idtipousuario,nombre"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<USUARIO'; + // Atributos + if($rs->campos["idtipousuario"]==$SUPERADMINISTRADOR) + $cadenaXML.=' imagenodo="../images/iconos/superadministradores.gif"'; + else + $cadenaXML.=' imagenodo="../images/iconos/administradores.gif"'; + + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_USUARIOS."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombre"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_USUARIOS.'-'.$rs->campos["idusuario"]; + $cadenaXML.='>'; + SubarbolXML_centros_asignados($cmd,$rs->campos["idusuario"]); + $cadenaXML.='</USUARIO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function SubarbolXML_universidades_entidades($cmd,$iduniversidad,$grupoid){ + global $TbMsg; + global $LITAMBITO_GRUPOSENTIDADES; + global $LITAMBITO_ENTIDADES; + global $cadenaXML; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=0 AND iduniversidad=".$iduniversidad." ORDER BY nombregrupo"; + + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSENTIDADES'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_GRUPOSENTIDADES."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSENTIDADES.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + SubarbolXML_universidades_entidades($cmd,$iduniversidad,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSENTIDADES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cmd->texto="SELECT identidad,nombreentidad FROM entidades WHERE grupoid=".$grupoid." AND iduniversidad=".$iduniversidad." ORDER by nombreentidad desc"; + $rs->Comando=&$cmd; + + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<ENTIDAD'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/entidades.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_ENTIDADES."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreentidad"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_ENTIDADES.'-'.$rs->campos["identidad"]; + $cadenaXML.='>'; + SubarbolXML_entidades_centros($cmd,$rs->campos["identidad"]); + $cadenaXML.='</ENTIDAD>'; + $rs->Siguiente(); + } + $rs->Cerrar(); +} + +//________________________________________________________________________________________________________ +function SubarbolXML_entidades_centros($cmd,$identidad){ + global $TbMsg; + global $LITAMBITO_CENTROS; + global $cadenaXML; + + $rs=new Recordset; + $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE identidad=".$identidad." ORDER by nombrecentro"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<CENTRO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/centros.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_CENTROS."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombrecentro"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_CENTROS.'-'.$rs->campos["idcentro"]; + $cadenaXML.='>'; + SubarbolXML_administradores($cmd,$rs->campos["idcentro"]); + $cadenaXML.='</CENTRO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function SubarbolXML_administradores($cmd,$idambito){ + global $TbMsg; + global $LITAMBITO_USUARIOS; + global $cadenaXML; + global $ADMINISTRADOR; + $rs=new Recordset; + $cmd->texto="SELECT usuarios.idusuario,usuarios.nombre FROM usuarios + INNER JOIN administradores_centros ON administradores_centros.idusuario=usuarios.idusuario + WHERE administradores_centros.idcentro=".$idambito." ORDER by usuarios.nombre"; + + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<USUARIO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/administradores.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_USUARIOS."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombre"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_USUARIOS.'-'.$rs->campos["idusuario"]; + $cadenaXML.='></USUARIO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); +} + +//________________________________________________________________________________________________________ +function SubarbolXML_centros_asignados($cmd,$idambito){ + global $TbMsg; + global $LITAMBITO_CENTROS; + global $cadenaXML; + global $ADMINISTRADOR; + $rs=new Recordset; + $cmd->texto="SELECT centros.idcentro,centros.nombrecentro FROM centros + INNER JOIN administradores_centros ON administradores_centros.idcentro=centros.idcentro + WHERE administradores_centros.idusuario=".$idambito." ORDER by centros.nombrecentro"; + + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<CENTRO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/centros.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_CENTROS."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombrecentro"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_CENTROS.'-'.$rs->campos["idcentro"]; + $cadenaXML.='></CENTRO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +// +// Mens Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLUniversidades(){ + global $LITAMBITO_GRUPOSENTIDADES; + global $AMBITO_GRUPOSENTIDADES; + global $LITAMBITO_UNIVERSIDADES; + global $SUPERADMINISTRADOR; + global $ADMINISTRADOR; + global $TbMsg; + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_UNIVERSIDADES.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + // Crear grupos de entidades + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSENTIDADES.',' ."'".$LITAMBITO_GRUPOSENTIDADES."'". ',1,1)"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Crear entidades + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_entidades.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',1,1)"'; + $layerXML.=' imgitem="../images/iconos/entidades.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Modificar Universidad + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_universidades.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Variables de entorno + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_entornos.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/entornos.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLUsuarios(){ + global $ADMINISTRADOR; + global $TbMsg; + global $SUPERADMINISTRADOR; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_administradores"'; + $layerXML.=' maxanchu=170'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + + // Crear superadministrador + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php?idtipousuario=".$SUPERADMINISTRADOR; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/superadministradores.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Crear administrador + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php?idtipousuario=".$ADMINISTRADOR; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',0,3)"'; + $layerXML.=' imgitem="../images/iconos/administradores.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLAdministradores(){ + global $LITAMBITO_USUARIOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_USUARIOS.'"'; + $layerXML.=' maxanchu=180'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + + // Asignar usuarios + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="Asignar_Usuario()"'; + $layerXML.=' imgitem="../images/iconos/centros.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Modificar usuarios + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLGruposEntidades(){ + global $LITAMBITO_GRUPOSENTIDADES; + global $AMBITO_GRUPOSENTIDADES; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSENTIDADES.'"'; + $layerXML.=' maxanchu=180'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + // Crear grupos de entidades + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSENTIDADES.',' ."'".$LITAMBITO_GRUPOSENTIDADES."'". ',0,1)"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + // Crear entidades + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_entidades.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',0,1)"'; + $layerXML.=' imgitem="../images/iconos/entidades.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLEntidades(){ + global $LITAMBITO_ENTIDADES; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_ENTIDADES.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + // Crear centros + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_centros.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',0,2)"'; + $layerXML.=' imgitem="../images/iconos/centros.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + +// Modificar entidades + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_entidades.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLCentros(){ + global $ADMINISTRADOR; + global $LITAMBITO_CENTROS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_CENTROS.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + // Asignar administrador + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="Asignar()"'; + $layerXML.=' imgitem="../images/iconos/administradores.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_centros.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/aula.php b/admin/WebConsole/principal/aula.php new file mode 100644 index 00000000..b7b878ae --- /dev/null +++ b/admin/WebConsole/principal/aula.php @@ -0,0 +1,527 @@ +<? +// ************************************************************************************************************************************************* +// 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: aula.php +// Descripción : +// Visualiza los ordenadores de las aulas de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/MenuContextual.php"); +include_once("../clases/SockHidra.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/aulas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$litambito=0; +$idambito=0; +$nombreambito=""; +$idsrvrembo=0; +$idsrvdhcp=0; + +if (isset($_GET["litambito"])) $litambito=$_GET["litambito"]; // Recoge parametros +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; + +$Midordenador= Array(); +$Mnombreordenador= Array(); +$MimgOrdenador=Array(); +$Mip= Array(); +$Mmac= Array(); +$k=0; // Indice de la Matriz + +$cadenaip=""; +$idaula=0; +$nombreaula=""; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + </HEAD> +<BODY OnContextMenu="return false"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/aula.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/aulas.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/aulas_'.$idioma.'.js"></SCRIPT>'?> +<? +//________________________________________________________________________________________________________ +switch($litambito){ + case $LITAMBITO_CENTROS : + $ambito=$AMBITO_CENTROS; + echo '<p align=center class=cabeceras>'.$TbMsg[22].'<br>'.$TbMsg[24].'<br><span class=subcabeceras>'.$nombreambito.'</span></p>'; + $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; + RecorreCentro($cmd); + break; + case $LITAMBITO_GRUPOSAULAS : + $ambito=$AMBITO_GRUPOSAULAS; + echo '<p align=center class=cabeceras>'.$TbMsg[22].'<br>'.$TbMsg[25].'<br><span class=subcabeceras>'.$nombreambito.'</span></p>'; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE tipo=".$AMBITO_GRUPOSAULAS." AND idgrupo=".$idambito; + RecorreGruposAulas($cmd); + break; + case $LITAMBITO_AULAS : + $ambito=$AMBITO_AULAS; + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito; + RecorreAulas($cmd); + break; + case $LITAMBITO_GRUPOSORDENADORES : + $ambito=$AMBITO_GRUPOSORDENADORES; + echo '<p align=center class=cabeceras>'.$TbMsg[22].'<br>'.$TbMsg[26].'<br><span class=subcabeceras>'.$nombreambito.'</span></p>'; + $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idgrupo=".$idambito; + RecorreGruposOrdenadores($cmd); + pintaordenadores(); + break; +} +?> +<FORM name="fcomandos" action="" method="post" target="frame_contenidos"> + <INPUT type="hidden" name="idcomando" value=""> + <INPUT type="hidden" name="descricomando" value=""> + <INPUT type="hidden" name="ambito" value="<? echo $ambito?>"> + <INPUT type="hidden" name="idambito" value="<? echo $idambito?>"> + <INPUT type="hidden" name="nombreambito" value=""> + <INPUT type="hidden" name="gestor" value=""> + <INPUT type="hidden" name="funcion" value=""> + <INPUT type="hidden" name="script" value=""> +</FORM> +<? +$flotante=new MenuContextual(); // Crea objeto menu contextual +$XMLcontextual=ContextualXMLAulas(); // Crea contextual de aulas +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLOrdenadores(); // Crea contextual de ordenadores +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de los comandos para los distintosn ámbitos +$XMLcontextual=ContextualXMLComandos($LITAMBITO_AULAS,$AMBITO_AULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); +?> +<SCRIPT language="javascript"> + Sondeo(); +</SCRIPT> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function RecorreCentro($cmd){ + global $AMBITO_GRUPOSAULAS; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + if(!$rs->EOF){ + $idcentro=$rs->campos["idcentro"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo "; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0 ORDER BY nombreaula"; + RecorreAulas($cmd); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposAulas($cmd){ + global $AMBITO_GRUPOSAULAS; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo." AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo"; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE grupoid=".$idgrupo." ORDER BY nombreaula"; + RecorreAulas($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreAulas($cmd){ + global $idaula; + global $nombreaula; + global $k; // Indice de la Matriz + global $cadenaip; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idaula=$rs->campos["idaula"]; + $nombreaula=$rs->campos["nombreaula"]; + $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE idaula=".$idaula; + $k=0; + $cadenaip=""; + RecorreOrdenadores($cmd); + pintaordenadores(); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposOrdenadores($cmd){ + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); +while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE grupoid=".$idgrupo." ORDER BY nombregrupoordenador"; + RecorreGruposOrdenadores($cmd); + $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE grupoid=".$idgrupo; + RecorreOrdenadores($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreOrdenadores($cmd){ + global $Midordenador; + global $Mnombreordenador; + global $MimgOrdenador; + global $Mip; + global $Mmac; + global $k; // Indice de la Matriz + + global $cadenaip; + + $cmd->texto.= " ORDER BY nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + + while (!$rs->EOF){ + $idordenador=$rs->campos["idordenador"]; + $Midordenador[$k]=$rs->campos["idordenador"]; + $Mnombreordenador[$k]=$rs->campos["nombreordenador"]; + $MimgOrdenador[$k]="ordenador_OFF.gif"; + $Mip[$k]=$rs->campos["ip"]; + $Mmac[$k]=$rs->campos["mac"]; + $cadenaip.=$rs->campos["ip"].";"; + $k++; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function pintaordenadores(){ + global $AMBITO_AULAS; + global $AMBITO_ORDENADORES; + global $LITAMBITO_AULAS; + global $LITAMBITO_ORDENADORES; + global $LONCABECERA; + global $Midordenador; + global $Mnombreordenador; + global $MimgOrdenador; + global $Mip; + global $Mmac; + global $k; // Indice de la Matriz + global $cadenaip; + global $idaula; + global $nombreaula; + global $servidorhidra,$hidraport; + global $TbMsg; + + $ntr=0; // Numero de ordenadores por fila + if ($nombreaula!=""){ + echo '<DIV>'; + echo '<p align=center class=cabeceras><img border=0 nod="'.$LITAMBITO_AULAS.'-'.$idaula.'" value="'.$nombreaula.'" + style="cursor:pointer" src="../images/iconos/aula.gif" oncontextmenu="nwmenucontextual(this,' ."'flo_".$LITAMBITO_AULAS."'" .')" > '.$TbMsg[23].'</br><span id="'.$LITAMBITO_AULAS.'-'.$idaula.'" class=subcabeceras>'.$nombreaula.'</span></p>'; + } + echo '<TABLE style="BORDER-BOTTOM: #d4d0c8 1px solid;BORDER-LEFT: #d4d0c8 1px solid;BORDER-RIGHT: #d4d0c8 1px solid;BORDER-TOP: #d4d0c8 1px solid" align=center><TR>'; + for($i=0;$i<$k;$i++){ // Vuelve a recorrer los datos de ordenadores para crear HTML + $ntr++; + echo '<TD>'; + echo '<table border=0>'; + echo '<tr>'; + echo ' <td align=center width=70 height=40>'; + echo ' <a href="#"><img id="'.$Mip[$i].'" border=0 sondeo="" nod="'.$LITAMBITO_ORDENADORES.'-'.$Midordenador[$i].'" + value="'.$Mnombreordenador[$i].'" src="../images/'.$MimgOrdenador[$i].'" oncontextmenu="nwmenucontextual(this,'."'flo_".$LITAMBITO_ORDENADORES."'" .')" width="32" height="32"></A>'; + echo ' </td>'; + echo '</tr>'; + echo '<tr>'; + echo '<td align=center id="'.$LITAMBITO_ORDENADORES.'-'.$Midordenador[$i].'">'; + echo ' <font color="#003300" size="1" face="Arial, Helvetica, sans-serif">'.$Mnombreordenador[$i].'</font>'; + echo ' </br>'; + echo ' <font color="#003300" size="1" face="Arial, Helvetica, sans-serif">'; + echo ' <strong><font color="#D0A126">'.$Mip[$i].'</font></strong>'; + echo ' </br>'; + echo ' <font color="#003300" size="1" face="Arial, Helvetica, sans-serif">'.$Mmac[$i].'</font>'; + echo '</td>'; + echo '</tr>'; + echo '</table>'; + echo '</TD>'; + if ($ntr>4){ + $ntr=0; + echo '</TR><TR>'; + } + } + echo '</TABLE>'; + if ($nombreaula!="") + echo '</DIV>'; +} +//________________________________________________________________________________________________________ +function ContextualXMLAulas(){ + global $TbMsg; + global $AMBITO_AULAS; + global $LITAMBITO_AULAS; + global $RESERVA_CONFIRMADA; + global $OPERADOR; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' maxanchu=185'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores(this)"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota()"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_AULAS.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="incorporarordenador()"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[27]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ordenador_estandar()"'; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_AULAS.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_aulas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Crear operador + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php?idtipousuario=".$OPERADOR; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',3)"'; + $layerXML.=' imgitem="../images/iconos/operadores.gif"'; + $layerXML.=' textoitem='.$TbMsg[37]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_reservas('.$RESERVA_CONFIRMADA.')"'; + $layerXML.=' imgitem="../images/iconos/reservas.gif"'; + $layerXML.=' textoitem='.$TbMsg[29]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLOrdenadores(){ + global $TbMsg; + global $AMBITO_ORDENADORES; + global $LITAMBITO_ORDENADORES; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' maxanchu=140'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota()"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eco_remoto()"'; + $layerXML.=' imgitem="../images/iconos/ecocon.gif"'; + $layerXML.=' textoitem='.$TbMsg[39]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=400; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[18]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLComandos($litambito,$ambito){ + global $cmd; + $maxlongdescri=0; + $rs=new Recordset; + $cmd->texto="SELECT idcomando,descripcion,pagina,gestor,funcion + FROM comandos + WHERE activo=1 AND aplicambito & ".$ambito.">0 + ORDER BY descripcion"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $layerXML=""; + $rs->Primero(); + while (!$rs->EOF){ + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarcomando('."'".$ambito."'".','.$rs->campos["idcomando"].',\''.$rs->campos["descripcion"].'\',\''.$rs->campos["pagina"]. '\',\''.$rs->campos["gestor"]. '\',\''.$rs->campos["funcion"]. '\')"'; + $layerXML.=' textoitem="'.$rs->campos["descripcion"].'"'; + $layerXML.='></ITEM>'; + if($maxlongdescri<strlen($rs->campos["descripcion"])) // Toma la Descripción de mayor longitud + $maxlongdescri=strlen($rs->campos["descripcion"]); + $rs->Siguiente(); + } + $layerXML.='</MENUCONTEXTUAL>'; + $prelayerXML='<MENUCONTEXTUAL'; + $prelayerXML.=' idctx="flo_comandos_'.$litambito.'"'; + $prelayerXML.=' maxanchu='.$maxlongdescri*7; + $prelayerXML.=' clase="menu_contextual"'; + $prelayerXML.='>'; + $finallayerXML=$prelayerXML.$layerXML; + return($finallayerXML); + } +} diff --git a/admin/WebConsole/principal/aulas.php b/admin/WebConsole/principal/aulas.php new file mode 100644 index 00000000..bcb68755 --- /dev/null +++ b/admin/WebConsole/principal/aulas.php @@ -0,0 +1,890 @@ +<? +// ************************************************************************* +// 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: Marzo-2006 +// Nombre del fichero: aulas.php +// Descripción : +// Administra grupos,aulas y ordenadores de un determinado Centro +// **************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/aulas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro,$nombrecentro); // Crea el arbol XML con todos los datos de aulas del Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,2,0,5); // Crea el árbol (formato XML) +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/aulas.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/aulas_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<FORM name="fcomandos" action="" method="post" target="frame_contenidos"> + <INPUT type="hidden" name="idcomando" value=""> + <INPUT type="hidden" name="descricomando" value=""> + <INPUT type="hidden" name="ambito" value=""> + <INPUT type="hidden" name="idambito" value=""> + <INPUT type="hidden" name="nombreambito" value=""> + <INPUT type="hidden" name="gestor" value=""> + <INPUT type="hidden" name="funcion" value=""> +</FORM> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de los Centros y aulas +$XMLcontextual=ContextualXMLCentros(); // Centros +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposAulas(); // Grupos de aulas +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLAulas(); // Aulas +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLUsuarios(); // Operadores +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposOrdenadores(); // Grupos de ordenadores +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLOrdenadores(); // Ordenadores +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de los comandos para los distintos �bitos +$XMLcontextual=ContextualXMLComandos($LITAMBITO_CENTROS,$AMBITO_CENTROS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_GRUPOSAULAS,$AMBITO_GRUPOSAULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_AULAS,$AMBITO_AULAS); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_GRUPOSORDENADORES,$AMBITO_GRUPOSORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLComandos($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORES); +echo $flotante->CreaMenuContextual($XMLcontextual); +//___________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML con toda la informaci� de aulas y ordenadores registrados en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexiónabierta) +// - idcentro: El identificador del centro +// - nombrecentro: El nombre del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro,$nombrecentro){ + global $TbMsg; + global $LITAMBITO_CENTROS; + $cadenaXML='<CENTRO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/centros.gif"'; + $cadenaXML.=' nodoid='.$LITAMBITO_CENTROS."-".$idcentro; + $cadenaXML.=' infonodo="'.$nombrecentro.'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_CENTROS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_aulas($cmd,$idcentro,0); + $cadenaXML.='</CENTRO>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_aulas($cmd,$idcentro,$grupoid){ + global $TbMsg; + global $LITAMBITO_GRUPOSAULAS; + global $LITAMBITO_AULAS; + global $AMBITO_GRUPOSAULAS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSAULAS'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSAULAS."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSAULAS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_aulas($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSAULAS>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." order by nombreaula"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<AULA '; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_AULAS."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_AULAS.'-'.$rs->campos["idaula"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_aulas_ordenadores($cmd,$rs->campos["idaula"],0); + $cadenaXML.=SubarbolXML_aulas_operadores($cmd,$rs->campos["idaula"],&$cc); + $cadenaXML.='</AULA>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_aulas_operadores($cmd,$idaula,$cont){ + global $TbMsg; + global $LITAMBITO_USUARIOS; + global $cadenaXML; + global $OPERADOR; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idusuario,nombre FROM usuarios WHERE idtipousuario=".$OPERADOR." AND idambito=".$idaula." ORDER by nombre"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->EOF) return(""); + while (!$rs->EOF){ + $cont++; + $cadenaXML.='<USUARIO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/operadores.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_USUARIOS."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombre"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_USUARIOS.'-'.$rs->campos["idusuario"]; + $cadenaXML.='></USUARIO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_aulas_ordenadores($cmd,$idaula,$grupoid){ + global $TbMsg; + global $LITAMBITO_GRUPOSORDENADORES; + global $LITAMBITO_ORDENADORES; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupoordenador,grupoid FROM gruposordenadores WHERE grupoid=".$grupoid." AND idaula=".$idaula." ORDER BY nombregrupoordenador"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSORDENADORES'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_GRUPOSORDENADORES."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupoordenador"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSORDENADORES.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_aulas_ordenadores($cmd,$idaula,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSORDENADORES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cmd->texto="SELECT idordenador,nombreordenador FROM ordenadores WHERE grupoid=".$grupoid." AND idaula=".$idaula." order by nombreordenador desc"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_ORDENADORES."'" .')"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_ORDENADORES.'-'.$rs->campos["idordenador"]; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Mens Contextuales +//________________________________________________________________________________________________________ +function ContextualXMLCentros(){ + global $TbMsg; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSAULAS; + global $LITAMBITO_GRUPOSAULAS; + global $AMBITO_CENTROS; + global $LITAMBITO_CENTROS; + global $RESERVA_CONFIRMADA; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_CENTROS.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSAULAS.',' ."'".$LITAMBITO_GRUPOSAULAS."',1". ')"'; + + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_aulas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',1)"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_CENTROS.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_CENTROS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_CENTROS.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_reservas('.$RESERVA_CONFIRMADA.')"'; + $layerXML.=' imgitem="../images/iconos/reservas.gif"'; + $layerXML.=' textoitem='.$TbMsg[29]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposAulas(){ + global $TbMsg; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSAULAS; + global $LITAMBITO_GRUPOSAULAS; + global $RESERVA_CONFIRMADA; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSAULAS.'"'; + $layerXML.=' maxanchu=155'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSAULAS.',' ."'".$LITAMBITO_GRUPOSAULAS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_aulas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_GRUPOSAULAS.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_GRUPOSAULAS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_GRUPOSAULAS.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_reservas('.$RESERVA_CONFIRMADA.')"'; + $layerXML.=' imgitem="../images/iconos/reservas.gif"'; + $layerXML.=' textoitem='.$TbMsg[29]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLAulas(){ + global $TbMsg; + global $AMBITO_AULAS; + global $LITAMBITO_AULAS; + global $RESERVA_CONFIRMADA; + global $OPERADOR; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' maxanchu=190'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_AULAS.',' ."'".$LITAMBITO_AULAS."'". ')"'; + + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar_ordenador(1)"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/ordenador.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="incorporarordenador()"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[27]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_AULAS.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_AULAS.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_AULAS.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_AULAS.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_aulas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[14]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + // Crear operador + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php?idtipousuario=".$OPERADOR; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.',3)"'; + $layerXML.=' imgitem="../images/iconos/operadores.gif"'; + $layerXML.=' textoitem='.$TbMsg[37]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_reservas('.$RESERVA_CONFIRMADA.')"'; + $layerXML.=' imgitem="../images/iconos/reservas.gif"'; + $layerXML.=' textoitem='.$TbMsg[29]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLUsuarios(){ + global $LITAMBITO_USUARIOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_USUARIOS.'"'; + $layerXML.=' maxanchu=130'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + // Modificar usuarios + $wLeft=140; + $wTop=115; + $wWidth=400; + $wHeight=320; + $wpages="../propiedades/propiedades_usuarios.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[36]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposOrdenadores(){ + global $TbMsg; + global $AMBITO_GRUPOSORDENADORES; + global $LITAMBITO_GRUPOSORDENADORES; + $layerXML='<MENUCONTEXTUAL'; + + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSORDENADORES.'"'; + $layerXML.=' maxanchu=195'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_aulas()"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/ordenadores.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSORDENADORES.',' ."'".$LITAMBITO_GRUPOSORDENADORES."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=480; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/ordenador.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_GRUPOSORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_GRUPOSORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_GRUPOSORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar_ordenador(0)"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_GRUPOSORDENADORES.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[16]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLOrdenadores(){ + global $TbMsg; + global $AMBITO_ORDENADORES; + global $LITAMBITO_ORDENADORES; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' maxanchu=140'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_acciones()"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover_ordenador()"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[17]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="actualizar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/actualizar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="purgar_ordenadores()"'; + $layerXML.=' imgitem="../images/iconos/purgar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="consola_remota('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/shell.gif"'; + $layerXML.=' textoitem='.$TbMsg[33]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eco_remoto()"'; + $layerXML.=' imgitem="../images/iconos/ecocon.gif"'; + $layerXML.=' textoitem='.$TbMsg[39]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' subflotante="flo_comandos_'.$LITAMBITO_ORDENADORES.'"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarprocedimiento('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/procedimiento.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="configuraciones('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.=' imgitem="../images/iconos/configuraciones.gif"'; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=80; + $wWidth=480; + $wHeight=400; + $wpages="../propiedades/propiedades_ordenadores.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[18]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLComandos($litambito,$ambito){ + global $cmd; + $maxlongdescri=0; + $rs=new Recordset; + $cmd->texto="SELECT idcomando,descripcion,pagina,gestor,funcion + FROM comandos + WHERE activo=1 AND aplicambito & ".$ambito.">0 + ORDER BY descripcion"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $layerXML=""; + $rs->Primero(); + while (!$rs->EOF){ + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="confirmarcomando('."'".$ambito."'".','.$rs->campos["idcomando"].',\''.$rs->campos["descripcion"].'\',\''.$rs->campos["pagina"]. '\',\''.$rs->campos["gestor"]. '\',\''.$rs->campos["funcion"]. '\')"'; + $layerXML.=' textoitem="'.$rs->campos["descripcion"].'"'; + $layerXML.='></ITEM>'; + if($maxlongdescri<strlen($rs->campos["descripcion"])) // Toma la Descripción de mayor longitud + $maxlongdescri=strlen($rs->campos["descripcion"]); + $rs->Siguiente(); + } + $layerXML.='</MENUCONTEXTUAL>'; + $prelayerXML='<MENUCONTEXTUAL'; + $prelayerXML.=' idctx="flo_comandos_'.$litambito.'"'; + $prelayerXML.=' maxanchu='.$maxlongdescri*7; + $prelayerXML.=' clase="menu_contextual"'; + $prelayerXML.='>'; + $finallayerXML=$prelayerXML.$layerXML; + return($finallayerXML); + } +} +?> diff --git a/admin/WebConsole/principal/colasacciones.php b/admin/WebConsole/principal/colasacciones.php new file mode 100644 index 00000000..955d9bfd --- /dev/null +++ b/admin/WebConsole/principal/colasacciones.php @@ -0,0 +1,1239 @@ +<? +// ************************************************************************************************************************************************* +// 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: colasacciones.php +// Descripción : +// Visualiza las acciones pendientes y finalizadas con los resultados de estatus y horas de inicio y finalización +// ************************************************************************************************************************************************* + include_once("../includes/ctrlacc.php"); + include_once("../clases/AdoPhp.php"); + include_once("../clases/MenuContextual.php"); + include_once("../includes/constantes.php"); + include_once("../includes/comunes.php"); + include_once("../includes/RecopilaIpesMacs.php"); + include_once("../includes/InvFecha.php"); + include_once("../clases/XmlPhp.php"); + include_once("../includes/HTMLSELECT.php"); + include_once("../includes/HTMLCTESELECT.php"); + include_once("../includes/TomaDato.php"); + include_once("../includes/CreaComando.php"); + include_once("../idiomas/php/".$idioma."/colasacciones_".$idioma.".php"); + //________________________________________________________________________________________________________ + // + // Captura de parámetros + //________________________________________________________________________________________________________ + + $ambito=""; + $idambito=0; + $nombreambito=""; + + $fechainicio=""; + $fechafin=""; + $horainicio=""; + $horafin=""; + $tipoaccion=""; + $estado=""; + $resultado=""; + $porcendesde=""; + $porcenhasta=""; + $swPOST=""; + $visupro=""; + $visuprm=""; + $visucmd=""; + + if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; + if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; + if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; + + if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; + if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; + + if (isset($_POST["tipoaccion"])) $tipoaccion=$_POST["tipoaccion"]; + if (isset($_POST["estado"])) $estado=$_POST["estado"]; + if (isset($_POST["resultado"])) $resultado=$_POST["resultado"]; + + if (isset($_POST["fechainicio"])) $fechainicio=$_POST["fechainicio"]; + if (isset($_POST["fechafin"])) $fechafin=$_POST["fechafin"]; + if (isset($_POST["horainicio"])) $horainicio=$_POST["horainicio"]; + if (isset($_POST["horafin"])) $horafin=$_POST["horafin"]; + + if (isset($_POST["swPOST"])) $swPOST=$_POST["swPOST"]; + if (isset($_POST["visuprm"])) $visuprm=$_POST["visuprm"]; + if (isset($_POST["visupro"])) $visupro=$_POST["visupro"]; + if (isset($_POST["visucmd"])) $visucmd=$_POST["visucmd"]; + + + if (isset($_POST["sesion"])) $sesion=$_POST["sesion"]; + + if(empty($swPOST)){ // Valores por defecto + $wfechainicio=mktime(0, 0, 0, date("m") , date("d")-3, date("Y")); // Acciones desde tres días antes + $wfechafin=mktime(0, 0, 0, date("m") , date("d")+1, date("Y")); + $fechainicio=date("d/m/Y",$wfechainicio); + $fechafin=date("d/m/Y ",$wfechafin); + $estado=0; + $resultado=0; + $tipoaccion=0; + $visuprm=0; + $visupro=0; + $visucmd=1; + } + + if (isset($_POST["porcendesde"])) $porcendesde=$_POST["porcendesde"]; + if (isset($_POST["porcenhasta"])) $porcenhasta=$_POST["porcenhasta"]; + if($porcendesde=="") $porcendesde=0; + if($porcenhasta=="") $porcenhasta=100; + + //________________________________________________________________________________________________________ + + $cmd=CreaComando($cadenaconexion); + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. + + $tbParametros=CreaTablaParametros($cmd); // Crea tabla en memmoria para acceder a detalles de comandos + + //________________________________________________________________________________________________________ + // + // Clausula WHERE ( construcción ) + //________________________________________________________________________________________________________ + + $ClausulaWhere=""; + + // Cuestion de fechas + $WhereFechaInicio=""; + $WhereFechaFin=""; + $WhereFechaReg=""; + if($fechainicio!="") + $WhereFechaInicio="acciones.fechahorareg>='".InvFecha($fechainicio).' ' .$horainicio."'"; + if($fechafin!="") + $WhereFechaFin.=" acciones.fechahorareg<='".InvFecha($fechafin).' ' .$horafin."'"; + if($WhereFechaInicio!=""){ + if($WhereFechaFin!="") + $WhereFechaReg=" (".$WhereFechaInicio." AND ".$WhereFechaFin.") "; + else + $WhereFechaReg=" (".$WhereFechaInicio.") "; + } + else{ + if($WhereFechaFin!="") + $WhereFechaReg=" (".$WhereFechaFin.") "; + } + $ClausulaWhere.=$WhereFechaReg; + + // Cuestion tipos de acciones + if(!empty($tipoaccion)) $ClausulaWhere.=" AND tipoaccion=".$tipoaccion; + + // Cuestion identificador del Centro que ha ejecutado la acción + $WhereCentroAccion=""; + $WhereCentroAccion='acciones.idcentro='.$idcentro; + $ClausulaWhere.=" AND (".$WhereCentroAccion.")"; + //________________________________________________________________________________________________________ + ?> + <HTML> + <TITLE>Administración web de aulas</TITLE> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/colasacciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/colasacciones_'.$idioma.'.js"></SCRIPT>'?> + </HEAD> + <BODY oncontextmenu="return false"> + <? + echo '<P align=center class=cabeceras><img src="../images/iconos/acciones.gif"> '.$TbMsg[0].' </P>'; + + echo '<FORM name="fdatos" action="colasacciones.php" method="post">'; + echo '<INPUT type="hidden" name="ambito" value="'.$ambito.'">'; + echo '<INPUT type="hidden" name="idambito" value="'.$idambito.'">'; + echo '<INPUT type="hidden" name="nombreambito" value="'.$nombreambito.'">'; + echo '<INPUT type="hidden" name="swPOST" value="1">'; + echo '<INPUT type="hidden" name="tiposacciones" value="'.$tiposacciones.'">'; + echo '<INPUT type="hidden" name="estados" value="'.$estados.'">'; + echo '<INPUT type="hidden" name="resultados" value="'.$resultados.'">'; + echo '<INPUT type="hidden" name="resultados" value="'.$fechainicio.'">'; + echo '<INPUT type="hidden" name="resultados" value="'.$fechafin.'">'; + echo '<INPUT type="hidden" name="resultados" value="'.$horainicio.'">'; + echo '<INPUT type="hidden" name="resultados" value="'.$horafin.'">'; + echo '<INPUT type="hidden" name="resultados" value="'.$porcendesde.'">'; + echo '<INPUT type="hidden" name="resultados" value="'.$porcenhasta.'">'; + echo '<INPUT type="hidden" name="sesion" value="'.$sesion.'">'; + + + $HTMLCriterios=""; + $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'; // Filtro de búsquedas + $HTMLCriterios.=' <TR HEIGHT=30>'; + $HTMLCriterios.=' <TD style=" BORDER-BOTTOM:#5a86b5 1px solid;"colspan=2 align="center" >'; + $HTMLCriterios.=' <SPAN style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; + FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">____ '.$TbMsg[1].'____</SPAN></TD></TR>'; + + $HTMLCriterios.='<TR>'; + $HTMLCriterios.=' <TD>'; // Desplegables de tipo de acciones y estados + $HTMLCriterios.=' <TABLE class=tabla_standar align=center border="0">'; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TH align=center> '.$TbMsg[2].' </TH></TR>'; + + // Desplegable con los tipos de acciones + $parametros="0=".$TbMsg[61].chr(13); + $parametros.=$EJECUCION_COMANDO."=".$LITEJECUCION_COMANDO.chr(13); + $parametros.=$EJECUCION_PROCEDIMIENTO."=".$LITEJECUCION_PROCEDIMIENTO.chr(13); + $parametros.=$EJECUCION_TAREA."=".$LITEJECUCION_TAREA; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TD>'.HTMLCTESELECT($parametros,"tipoaccion","estilodesple","",$tipoaccion,100).'</TD></TR>'; + + // Desplegable con los distintos estados + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TH align=center> '.$TbMsg[4].' </TH></TR>'; + $HTMLCriterios.= '<TR>'; + $parametros="0=".$TbMsg[60].chr(13); + $parametros.=$ACCION_INICIADA."=".$LITACCION_INICIADA.chr(13); + $parametros.=$ACCION_DETENIDA."=".$LITACCION_DETENIDA.chr(13); + $parametros.=$ACCION_FINALIZADA."=".$LITACCION_FINALIZADA.chr(13);; + $parametros.=$ACCION_PROGRAMADA."=".$LITACCION_PROGRAMADA; + $HTMLCriterios.=' <TD colspan=3>'.HTMLCTESELECT($parametros,"estado","estilodesple","",$estado,100,"chgdespleestados").'</TD></TR>'; + $HTMLCriterios.= '</TABLE>'; + $HTMLCriterios.=' </TD>'; // Fin Desplegables de tipo de acciones y estados + + $HTMLCriterios.=' <TD valign=top>'; // Desplegables de resultados y porcentajes + // Desplegable con los distintos resultados + $HTMLCriterios.=' <TABLE class=tabla_standar align=center border="0">'; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TH align=center> '.$TbMsg[3].' </TH></TR>'; + $HTMLCriterios.=' <TR>'; + + $parametros=$ACCION_SINRESULTADO."=".$TbMsg[60].chr(13); + $parametros.=$ACCION_EXITOSA."=".$LITACCION_EXITOSA.chr(13); + $parametros.=$ACCION_FALLIDA."=".$LITACCION_FALLIDA; + $HTMLCriterios.=' <TD colspan=3>'.HTMLCTESELECT($parametros,"resultado","estilodesple","",$resultado,250,"chgdespleresultados").'</TD></TR>'; + // Porcentajes + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TH> '.$TbMsg[5].': <INPUT size=1 name="porcendesde" value="'.$porcendesde.'"> '.$TbMsg[6].': + <INPUT size =1 name="porcenhasta" value="'.$porcenhasta.'"></TH></TR>'; + $HTMLCriterios.=' </TABLE>'; + $HTMLCriterios.=' </TD>'; // Fin Desplegables de resultados y porcentajes + $HTMLCriterios.='</TR>'; + + + $HTMLCriterios.='<TR>'; + $HTMLCriterios.=' <TD style="BORDER-BOTTOM:#5a86b5 1px solid;" colspan=2>'; // Fechas y horas + // Fechas + $HTMLCriterios.=' <TABLE WIDTH=100% class=tabla_standar align=center border="0">'; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TH> '.$TbMsg[7].': </TH>'; + $HTMLCriterios.=' <TD><INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechainicio" value="'.$fechainicio.'"></TD>'; + $HTMLCriterios.=' <TH align=right> '.$TbMsg[8].': </TH>'; + $HTMLCriterios.=' <TD align=right><INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechafin" value="'.$fechafin.'"></TD>'; + $HTMLCriterios.=' </TR>'; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TH> '.$TbMsg[9].': </TH>'; + $HTMLCriterios.=' <TD><INPUT class="cajatexto" onclick="vertabla_horario(this)" style="WIDTH:80" name="horainicio" value="'.$horainicio.'"></TD>'; + $HTMLCriterios.=' <TH align=right> '.$TbMsg[10].': </TH>'; + $HTMLCriterios.=' <TD align=right><INPUT class="cajatexto" onclick="vertabla_horario(this)" style="WIDTH:80" name="horafin" value="'.$horafin.'"></TD>'; + $HTMLCriterios.=' </TR>'; + $HTMLCriterios.=' </TABLE>'; + $HTMLCriterios.=' </TD>'; + $HTMLCriterios.='</TR>'; + $HTMLCriterios.='</TABLE>';// Fin filtro de búsquedas + + $HTMLCriterios.='<BR>'; + // _________________________________________________________________________ + // + // Tabla de checkbox para elegir visualizar detalles + // _________________________________________________________________________ + + $HTMLCriterios.='<TABLE class="tabla_busquedas" align=center border=0 cellPadding=0 cellSpacing=0>'; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TH height=15 align="center" colspan=14> '.$TbMsg[47].' </TH>'; + $HTMLCriterios.=' </TR>'; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TD align=right>'.$TbMsg[48].'</TD>'; + $HTMLCriterios.=' <TD align=center><INPUT type="checkbox" value="1" name="visuprm"'; + if($visuprm==1) $HTMLCriterios.=' checked '; + $HTMLCriterios.='></TD>'; + $HTMLCriterios.=' <TD width="20" align=center> </TD>'; + $HTMLCriterios.=' <TD align=right>'.$TbMsg[49].'</TD>'; + $HTMLCriterios.=' <TD align=center><INPUT type="checkbox" value="1" name="visupro"'; + if($visupro==1) $HTMLCriterios.=' checked '; + $HTMLCriterios.='></TD>'; + $HTMLCriterios.=' <TD width="20" align=center> </TD>'; + $HTMLCriterios.=' <TD align=right>'.$TbMsg[50].'</TD>'; + $HTMLCriterios.=' <TD align=center><INPUT type="checkbox" value="1" name="visucmd"'; + if($visucmd==1) $HTMLCriterios.=' checked '; + $HTMLCriterios.='></TD>'; + $HTMLCriterios.=' </TR>'; + $HTMLCriterios.='</TABLE>'; + + $HTMLCriterios.='<BR>'; + + $HTMLCriterios.='<TABLE class="tabla_busquedas" align=center border="0">'; + $HTMLCriterios.=' <TR>'; + $HTMLCriterios.=' <TD>'; // Lupa + $HTMLCriterios.=' <A href="#busca"><IMG border=0 src="../images/iconos/busquedas.gif" onclick="javascript:fdatos.submit()" alt="Buscar"></A>'; + $HTMLCriterios.=' </TD>'; + $HTMLCriterios.='</TR>'; + $HTMLCriterios.='</TABLE>'; + + echo $HTMLCriterios; + echo '</FORM>'; // Fin formulario de criterios de busquedas + + /* Cabeceras */ + tomaAmbito($ambito,&$urlimg,&$textambito); + echo '<DIV align=center>'; // Cabecera + echo '<span align=center class=subcabeceras><U>'.$TbMsg[11].':'.$textambito.'</U>, + '.$nombreambito.'</span> <IMG src="'.$urlimg.'"></span>'; + if(!empty($sesion)) + echo '<BR><span align=center class="presentaciones">'.$TbMsg[51].'</span> + <IMG src="../images/iconos/filtroaccion.gif">'; + ?> + <BR> + <BR> + <? + // _________________________________________________________________________ + // + // Tabla de opciones que afectan a todas las acciones mostradas + // _________________________________________________________________________ + ?> + <TABLE align=center border=0 align=left cellPadding=2 cellSpacing=5 > + <TR> + <? // Eliminar ?> + <TD onclick=eleccion(1)> + <TABLE class="filtros" > + <TR> + <TD><A href="#op"><IMG border=0 src="../images/iconos/eliminar.gif"></A> </TD> + <TD><A style="text-decoration:none;COLOR:#999999;" href="#op"> + <span onmouseout=desresaltar(this) onmouseover=resaltar(this)><?echo $TbMsg[12]?><span></A></TD> + </TR> + </TABLE> + </TD> + + <TD onclick=eleccion(2)> + <TABLE class=filtros> + <TR> + <? // Resaltar ?> + <TD><A href="#op"><IMG border=0 src="../images/iconos/reiniciar.gif"></A> </TD> + <TD><A style="text-decoration:none;COLOR:#999999;" href="#op"> + <span onmouseout=desresaltar(this) onmouseover=resaltar(this)><?echo $TbMsg[13]?><span></A></TD> + </TR> + </TABLE> + </TD> + + <TD onclick=eleccion(3)> + <TABLE class=filtros> + <TR> + <? // Parar ?> + <TD><A href="#op"><IMG border=0 src="../images/iconos/acDetenida.gif"></A> </TD> + <TD><A style="text-decoration:none;COLOR:#999999;" href="#op"> + <span onmouseout=desresaltar(this) onmouseover=resaltar(this)><?echo $TbMsg[14]?><span></A></TD> + + </TR> + </TABLE> + </TD> + + <TD onclick=eleccion(4)> + <TABLE class=filtros> + <TR> + <? // Seguir ?> + <TD><A href="#op"><IMG border=0 src="../images/iconos/acIniciada.gif"></A> </TD> + <TD> <A style="text-decoration:none;COLOR:#999999;" href="#op"> + <span onmouseout=desresaltar(this) onmouseover=resaltar(this)><?echo $TbMsg[15]?></span></A> </TD> + </TR> + </TABLE> + </TD> + + <TD onclick=eleccion(5)> + <TABLE class=filtros> + <TR> + <? // Seguir ?> + <TD><A href="#op"><IMG border=0 src="../images/iconos/acExitosa.gif"></A> </TD> + <TD> <A style="text-decoration:none;COLOR:#999999;" href="#op"> + <span onmouseout=desresaltar(this) onmouseover=resaltar(this)><?echo $TbMsg[55]?></span></A> </TD> + </TR> + </TABLE> + </TD> + <TD onclick=eleccion(6)> + <TABLE class=filtros> + <TR> + <? // Seguir ?> + <TD><A href="#op"><IMG border=0 src="../images/iconos/acFallida.gif"></A> </TD> + <TD> <A style="text-decoration:none;COLOR:#999999;" href="#op"> + <span onmouseout=desresaltar(this) onmouseover=resaltar(this)><?echo $TbMsg[56]?></span></A> </TD> + </TR> + </TABLE> + </TD> + </TR> + </TABLE> + <? + // _________________________________________________________________________ + // + // Tabla de registros de acciones + // _________________________________________________________________________ + ?> + <TABLE border=0 class="tabla_listados" cellspacing=1 cellpadding=0 > + <TBODY id="tbAcciones"> + <? + cabeceraAcciones(); + listaAcciones($ambito,$idambito); + + ?> + </TBODY> + </TABLE> + </DIV> + <FORM name="facciones"> + <INPUT type="hidden" name=acciones value="<? echo $acciones?>"> + <INPUT type="hidden" name=localaccion value=""> + <INPUT type="hidden" name="sesion" value="<? echo $sesion?>"> + </FORM> + <? + $flotante=new MenuContextual(); // Crea objeto MenuContextual + $XMLcontextual=ContextualXMLAcciones(); // Crea contextual de las acciones + echo $flotante->CreaMenuContextual($XMLcontextual); + + $XMLcontextual=ContextualXMLNotificaciones(); // Crea contextual de las acciones + echo $flotante->CreaMenuContextual($XMLcontextual); + ?> +</BODY> +</HTML> +<? +/********************************************************************/ +// Escribe la cabecera de los registros de acciones +// _________________________________________________________________________ + +function cabeceraAcciones() +{ + global $TbMsg; + + $html=""; + $html.='<TR height=20>'; + $html.='<TH colspan=2> </TH>'; + $html.='<TH> R </TH>'; + $html.='<TH> '.$TbMsg[19].' </TH>'; + $html.='<TH> '.$TbMsg[20].' </TH>'; + $html.='<TH> '.$TbMsg[21].' </TH>'; + $html.='<TH> '.$TbMsg[22].' </TH>'; + $html.='<TH> </TH>'; + $html.='<TH> '.$TbMsg[23].' </TH>'; + $html.='<TH> '.$TbMsg[57].' </TH>'; + $html.='<TH> S </TH>'; + $html.='<TH> % </TH>'; + $html.='</TR>'; + echo $html; +} +// _________________________________________________________________________ + +function listaAcciones($ambito,$idambito) +{ + global $cmd; + global $ClausulaWhere; + global $cadenaid; + global $cadenaip; + global $cadenamac; + global $EJECUCION_COMANDO; + global $EJECUCION_PROCEDIMIENTO; + global $EJECUCION_TAREA; + global $ACCION_PROGRAMADA; + global $acciones; + global $sesion; + global $estado; + + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + RecopilaIpesMacs($cmd,$ambito,$idambito); // Recopila Ipes del ámbito + $cadenasesion="(SELECT DISTINCT sesion FROM acciones WHERE idordenador NOT IN (".$cadenaid."))"; + + $cmd->texto="SELECT acciones.*,comandos.descripcion as comando,acciones.parametros,comandos.visuparametros, + ordenadores.nombreordenador,procedimientos.descripcion as procedimiento, + tareas.descripcion as tarea,programaciones.sesion as sesionprog + FROM acciones"; + $cmd->texto.=" INNER JOIN comandos ON comandos.idcomando=acciones.idcomando"; + $cmd->texto.=" INNER JOIN ordenadores ON ordenadores.idordenador=acciones.idordenador"; + $cmd->texto.=" LEFT OUTER JOIN procedimientos ON procedimientos.idprocedimiento=acciones.idprocedimiento"; + $cmd->texto.=" LEFT OUTER JOIN tareas ON tareas.idtarea=acciones.idtarea"; + $cmd->texto.=" LEFT OUTER JOIN programaciones ON programaciones.sesion=acciones.sesion"; + if(!empty($sesion)) // Filtro por acción + $cmd->texto.=" WHERE acciones.sesion =".$sesion; + else + $cmd->texto.=" WHERE acciones.sesion NOT IN (".$cadenasesion.")"; + + if($estado==$ACCION_PROGRAMADA) + $cmd->texto.=" AND (acciones.idprogramacion=0 AND programaciones.sesion>0)"; // Comando programado + else{ + if(!empty($ClausulaWhere)) + $cmd->texto.=" AND (".$ClausulaWhere.")"; + } + $cmd->texto.=" ORDER BY acciones.idaccion desc,acciones.sesion desc "; + $rs=new Recordset; + $rs->Comando=&$cmd; + //echo $cmd->texto; + if (!$rs->Abrir()) return; // Error al abrir recordset + + $acciones=""; // Variable que recogerá las acciones que cumplan los criterios + // con formato "ambito,idambito" concadenando con ";" a otro identificador + // Esta variable se usara para las operaciones globales de Eliminar, etc... + + // Recorre acciones + $html=""; + while (!$rs->EOF){ + switch($rs->campos["tipoaccion"]){ + case $EJECUCION_COMANDO: + $html.=listaComado($rs,$rs->campos["sesion"]); + break; + case $EJECUCION_PROCEDIMIENTO: + $html.=listaProcedimiento($rs,$rs->campos["sesion"]); + break; + case $EJECUCION_TAREA: + $html.=listaTarea($rs,$rs->campos["sesion"]); + break; + } + } + echo $html; +} +// _________________________________________________________________________ + +function listaTarea($rs,$sesion) +{ + global $acciones; + + $oA=new clsAccion; // Crea objeto acción para procesar comandos + iniAccion($rs,$oA); + $html=recorreTarea($rs,$sesion,$oA); + if(cumpleCriterios($oA)){ + $acciones.=$oA->tipoaccion.",".$oA->idtipoaccion.",".$oA->sesion.",0;"; // Concadena identificador + $html=cabeceraSesion($oA).$html; // Escribe la cabecera del comando + } + else + $html=""; // No cumple con los criterios + return($html); +} +// _________________________________________________________________________ + +function recorreTarea($rs,$sesion,$oA) +{ + $html=""; + do{ + $html.=listaProcedimiento($rs,$sesion,$rs->campos["idtarea"],$oA); + }while(!$rs->EOF + && $rs->campos["sesion"]==$sesion); + return($html); +} +// _________________________________________________________________________ + +function listaProcedimiento($rs,$sesion,$idtarea=0,$oA=null) +{ + global $acciones; + + if($oA!=null){ // Si la función es invocada por una tarea ... + $html=recorreProcedimiento($rs,$sesion,$idtarea,$oA); + } + else{ + $oA=new clsAccion; // Crea objeto acción para procesar comandos + iniAccion($rs,$oA); + $html=recorreProcedimiento($rs,$sesion,$idtarea,$oA); + if(cumpleCriterios($oA)){ + $acciones.=$oA->tipoaccion.",".$oA->idtipoaccion.",".$oA->sesion.",0;"; // Concadena identificador + if($rs->campos["sesion"]!=$sesion + || $rs->campos["idtarea"]!=$idtarea + || $rs->EOF) + $html=cabeceraSesion($oA).$html; // Escribe la cabecera del procedimiento + } + else + $html=""; // No cumple con los criterios + } + return($html); +} +// _________________________________________________________________________ + +function recorreProcedimiento($rs,$sesion,$idtarea,$oA) +{ + $html=""; + do{ + $html.=listaComado($rs,$sesion,$idtarea,$rs->campos["idprocedimiento"],$oA); + }while(!$rs->EOF + && $rs->campos["sesion"]==$sesion + && $rs->campos["idtarea"]==$idtarea); + return($html); +} +// _________________________________________________________________________ + +function listaComado($rs,$sesion,$idtarea=0,$idprocedimiento=0,$oA=null) +{ + global $acciones; + global $visupro; + + if($oA!=null){ // Si la función es invocada por un procedimiento... + $html.=recorreComando($rs,$sesion,$idtarea,$idprocedimiento,$oA); + } + else{ + $oA=new clsAccion; // Crea objeto acción para procesar comandos + iniAccion($rs,$oA); + $html=recorreComando($rs,$sesion,$idtarea,$idprocedimiento,$oA); + + $acciones.=$oA->tipoaccion.",".$oA->idtipoaccion.",".$oA->sesion.",0;"; // Concadena identificador + if($rs->campos["sesion"]!=$sesion + || $rs->campos["idtarea"]!=$idtarea + || $rs->campos["idprocedimiento"]!=$idprocedimiento + || $rs->EOF) + if($oA->linot>0) + $html=cabeceraSesion($oA).$html; // Escribe la cabecera del comando + } + return($html); +} +// _________________________________________________________________________ + +function recorreComando($rs,$sesion,$idtarea,$idprocedimiento,$oA) +{ + $html=""; + do{ + $html.=listaNotificacion($rs,$sesion,$idtarea,$idprocedimiento,$rs->campos["idcomando"],$oA); + }while(!$rs->EOF + && $rs->campos["sesion"]==$sesion + && $rs->campos["idtarea"]==$idtarea + && $rs->campos["idprocedimiento"]==$idprocedimiento); + return($html); +} +// _________________________________________________________________________ +// +// Recorre todas las notificaciones de un mismo comando registrando +// los datos que servirán para resumen de la Acción +// _________________________________________________________________________ + +function listaNotificacion($rs,$sesion,$idtarea,$idprocedimiento,$idcomando,$oA) +{ + global $ACCION_EXITOSA; + global $ACCION_FALLIDA; + global $ACCION_SINRESULTADO; + + global $ACCION_DETENIDA; + global $ACCION_INICIADA; + global $ACCION_FINALIZADA; + + global $EJECUCION_TAREA; + global $visuprm; + global $visucmd; + global $visupro; + + $html=""; + + if($visupro==1) + $html.=cambiaAmbito($rs,$oA); // Escribe cambio de ámbito + + if($visuprm==1) + $html.=escribeParametros($rs->campos["comando"],$rs->campos["parametros"],$rs->campos["visuparametros"],$oA); + + + + do{ + if(cumpleCriteriosNot($rs,$oA)){ + if($visucmd==1){ + $html.=escribeNotificacion($rs,$oA); + $oA->linot++; // Contador de lineas de notificaciones escritas cumpliendo criterios + } + } + /* Fechas y horas */ + $fechahorareg=strtotime($rs->campos["fechahorareg"]); + if($fechahorareg>0) + if($oA->fechahorareg>$fechahorareg) $oA->fechahorareg=$fechahorareg; + $fechahorafin=strtotime($rs->campos["fechahorafin"]); + if($fechahorafin>0) + if($oA->fechahorafin<$fechahorafin) $oA->fechahorafin=$fechahorafin; + + $oA->notif++; // Contador de notificaciones en el comando + switch($rs->campos["estado"]){ + case $ACCION_INICIADA: + $oA->notini++; // Incrementa contador de comandos con estado de finalizado + break; + case $ACCION_DETENIDA: + $oA->notdet++; // Incrementa contador de comandos con estado de finalizado + break; + case $ACCION_FINALIZADA: + $oA->noter++; // Incrementa contador de comandos con estado de finalizado + break; + } + /* Cuestión resultados */ + /* Si existe al menos una notificación de error, la acción tiene ya resultado de error */ + if($rs->campos["resultado"]==$ACCION_FALLIDA){ + $oA->resultado=$ACCION_FALLIDA; + } + /* Si existe aún alguna notificación pendiente, la acción no tiene resultado global */ + if($rs->campos["resultado"]==$ACCION_SINRESULTADO){ + if($oA->resultado==$ACCION_EXITOSA) + $oA->resultado=$ACCION_SINRESULTADO; + } + $rs->Siguiente(); + + }while(!$rs->EOF + && $rs->campos["sesion"]==$sesion + && $rs->campos["idtarea"]==$idtarea + && $rs->campos["idprocedimiento"]==$idprocedimiento + && $rs->campos["idcomando"]==$idcomando); + + if($oA->notif>0) + $oA->porcen=floor($oA->noter*100/$oA->notif); // Calcula porcentaje de finalización + + if($oA->notif==$oA->noter) + $oA->estado=$ACCION_FINALIZADA; // Todas las acciones finalizadas + else{ + if($oA->notif==$oA->notdet) + $oA->estado=$ACCION_DETENIDA; // Todas las acciones detenidas + else + $oA->estado=$ACCION_INICIADA; + } + if(cumpleCriterios($oA)){ + if($rs->campos["sesion"]!=$sesion && !$rs->EOF ) // Separación entre sesiones distintas + $html.='<TR id="'.$oA->sesion.'" value="A"><TD colspan=12 style="BACKGROUND-COLOR:white;BORDER-BOTTOM:#999999 1px solid;"> </TD></TR>'; + } + return($html); +} +// _________________________________________________________________________ + +function escribeNotificacion($rs,$oA) +{ + global $ACCION_EXITOSA; + global $ACCION_FALLIDA; + global $ACCION_SINRESULTADO; + + global $ACCION_DETENIDA; + global $ACCION_INICIADA; + global $ACCION_FINALIZADA; + + global $TbMsg; + global $visupro; + global $visuprm; + + $html=""; + $html.='<TR id="'.$oA->sesion.'" value="D">'; + if($visupro==0 ) + $html.='<TD align=right colspan=2>'.$rs->campos["comando"].' </TD>'; + else + $html.='<TD align=right colspan=2> </TD>'; + + /* Resultado */ + switch($rs->campos["resultado"]){ + case $ACCION_EXITOSA: + $html.='<TD align=center><IMG value="'.$ACCION_EXITOSA.'" src="../images/iconos/acExitosa.gif" width=16 height=16></TD>'; + break; + case $ACCION_FALLIDA: + $html.='<TD align=center><IMG value="'.$ACCION_FALLIDA.'" src="../images/iconos/acFallida.gif" width=16 height=16></TD>'; + break; + case $ACCION_SINRESULTADO: + $html.='<TD align=center><IMG value="'.$ACCION_SINRESULTADO.'" src="../images/iconos/nada.gif" width=16 height=16></TD>'; + break; + } + if($oA->swcp){ // Comando programado + $html.='<TD align=center> </TD>'; + $html.='<TD align=center> </TD>'; + $html.='<TD align=center> </TD>'; + $html.='<TD align=center> </TD>'; + } + else{ + /* Fechas y horas */ + list($fecha,$hora)=split(" ",substr($rs->campos["fechahorafin"],0)); + if ($fecha=="0000-00-00") $hora=""; + $html.='<TD align=center> '.InvFecha($fecha).' </TD>'; + $html.='<TD align=center> '.$hora.' </TD>'; + + list($fecha,$hora)=split(" ",substr($rs->campos["fechahorareg"],0)); + if ($fecha=="0000-00-00") $hora=""; + $html.='<TD align=center> '.InvFecha($fecha).' </TD>'; + $html.='<TD align=center> '.$hora.' </TD>'; + } + + /* Ámbito de aplicación */ + $urlimg='../images/iconos/ordenador.gif'; + $accion=$oA->tipoaccion.",".$oA->idtipoaccion.",".$oA->sesion.",".$rs->campos["idaccion"].";"; // Tripla clave + $oncontxt="document.facciones.localaccion.value='".$accion."';"; + $oncontxt.="menu_contextual(null,'flo_notificaciones');"; + + $html.='<TD id="'.$rs->campos["idaccion"].'" align=center><A href="#cmd"><IMG border=0 src="'.$urlimg.'" + oncontextmenu="'.$oncontxt.'" ></A></TD>'; + $html.='<TD align=left> '.$rs->campos["nombreordenador"].' </TD>'; + + /* Descripción de la notificación (Descripción del error si se ha producido alguno) */ + $html.='<TD> '.$rs->campos["descrinotificacion"].' </TD>'; + + /* Estado */ + if($oA->swcp) // Comando programado + $html.='<TD align=center><IMG value="'.$ACCION_DETENIDA.'" + src="../images/iconos/reloj.gif" width=16 height=16 style="cursor:pointer" + onclick="programacion('.$rs->campos["idtipoaccion"].','.$rs->campos["sesion"].',\''.$rs->campos["comando"].'\')"></TD>'; + else{ + switch($rs->campos["estado"]){ + case $ACCION_DETENIDA: + $html.='<TD align=center><IMG value="'.$ACCION_DETENIDA.'" src="../images/iconos/acDetenida.gif" width=16 height=16></TD>'; + break; + case $ACCION_INICIADA: + $html.='<TD align=center><IMG value="'.$ACCION_INICIADA.'" src="../images/iconos/acIniciada.gif" width=16 height=16></TD>'; + break; + case $ACCION_FINALIZADA: + $html.='<TD align=center><IMG value="'.$ACCION_FINALIZADA.'" src="../images/iconos/acFinalizada.gif" width=16 height=16></TD>'; + break; + } + } + + /* Porcentaje */ + $html.='<TD align=center> </TD>'; + $html.='</TR>'; + return($html); +} +// _________________________________________________________________________ +// +// Inicializa la clase acción +// +// Parámetros: +// oA: Objeto acción a inicializar +// _________________________________________________________________________ + +function iniAccion($rs,$oA) +{ + global $ACCION_EXITOSA; + global $ACCION_DETENIDA; + + $oA->ambito=$rs->campos["ambito"]; + $oA->idambito=$rs->campos["idambito"]; + $oA->tipoaccion=$rs->campos["tipoaccion"]; + $oA->idtipoaccion=$rs->campos["idtipoaccion"]; + $oA->descriaccion=$rs->campos["descriaccion"]; + $oA->sesion=$rs->campos["sesion"]; + $oA->fechahorareg=strtotime($rs->campos["fechahorareg"]); + $oA->fechahorafin=0; + $oA->estado=$ACCION_DETENIDA; + $oA->resultado=$ACCION_EXITOSA; + $oA->notif=$oA->noter=$oA->notini=$oA->notdet=$oA->linot=$oA->porcen=0; + if(empty($rs->campos["idprogramacion"]) && !empty($rs->campos["sesionprog"])) // switch de Comando programado + $oA->swcp=true; + else + $oA->swcp=false; +} +// _________________________________________________________________________ + +function cabeceraSesion($oA) +{ + global $EJECUCION_COMANDO; + global $EJECUCION_PROCEDIMIENTO; + global $EJECUCION_TAREA; + + $html=""; + $html.='<TR id="'.$oA->sesion.'" value="C">'; + + $accion=$oA->tipoaccion.",".$oA->idtipoaccion.",".$oA->sesion.",0;"; // Tripla clave + $oncontxt="document.facciones.sesion.value='".$oA->sesion."';"; + $oncontxt.="document.facciones.localaccion.value='".$accion."';menu_contextual(null,'flo_acciones');"; + switch($oA->tipoaccion){ + case $EJECUCION_COMANDO: + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG style="cursor:pointer" border=0 + oncontextmenu="'.$oncontxt.'" + src="../images/iconos/comandos.gif"></TD>'; + break; + case $EJECUCION_PROCEDIMIENTO: + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG style="cursor:pointer" border=0 + oncontextmenu="'.$oncontxt.'" + src="../images/iconos/procedimiento.gif"></TD>'; + break; + case $EJECUCION_TAREA: + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG style="cursor:pointer" border=0 + oncontextmenu="'.$oncontxt.'" + src="../images/iconos/tareas.gif"></TD>'; + break; + } + /* Cabeceras */ + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=left><b>'.$oA->descriaccion.'</b></TD>'; + $html.=escribeResumen($oA); + $html.='</TR>'; + + return($html); +} +// _________________________________________________________________________ + +function escribeResumen($oA) +{ + global $cmd; + global $TbMsg; + + global $ACCION_EXITOSA; + global $ACCION_FALLIDA; + global $ACCION_SINRESULTADO; + + global $EJECUCION_TAREA; + + $html=""; + + if($oA->swcp){ // Comando programado + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + /* Ámbito de aplicación */ + tomaAmbito($oA->ambito,&$urlimg,&$textambito); + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG src="'.$urlimg.'"></TD>'; + tomaDescriAmbito($cmd,$oA->ambito,$oA->idambito,&$textambito); + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=left> '.$textambito.' </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + + $html.='<TH align=center><IMG value="'.$ACCION_DETENIDA.'" + src="../images/iconos/reloj.gif" width=16 height=16 style="cursor:pointer" + onclick="programacion('.$oA->idtipoaccion.','.$oA->sesion.',\''.$oA->descriaccion.'\')"></TH>'; + + + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + return($html); + } + + /* Resultado */ + switch($oA->resultado){ + case $ACCION_EXITOSA: + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG value="'.$ACCION_EXITOSA.'" src="../images/iconos/acExitosa.gif" width=16 height=16></TD>'; + break; + case $ACCION_FALLIDA: + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG value="'.$ACCION_FALLIDA.'" src="../images/iconos/acFallida.gif" width=16 height=16></TD>'; + break; + case $ACCION_SINRESULTADO: + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG value="'.$ACCION_SINRESULTADO.'" src="../images/iconos/nada.gif" width=16 height=16></TD>'; + } + /* Fechas y horas */ + if($oA->porcen==100){ // Si está acabada la acción + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> '.strftime("%d-%m-%Y",$oA->fechahorafin).' </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> '.strftime("%H:%M:%S",$oA->fechahorafin).' </TD>'; + } + else + { + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + } + + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> '.strftime("%d-%m-%Y",$oA->fechahorareg).' </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> '.strftime("%H:%M:%S",$oA->fechahorareg).' </TD>'; + + if($oA->tipoaccion==$EJECUCION_TAREA){ + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=left> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=left> </TD>'; + } + else{ + /* Ámbito de aplicación */ + tomaAmbito($oA->ambito,&$urlimg,&$textambito); + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center><IMG src="'.$urlimg.'"></TD>'; + tomaDescriAmbito($cmd,$oA->ambito,$oA->idambito,&$textambito); + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=left> '.$textambito.' </TD>'; + } + + /* Descripción de la notificación (Descripción del error si se ha producido alguno) */ + $html.='<TD style="BACKGROUND-COLOR: #b5daad" > '.$rs->campos["descrinotificacion"].' </TD>'; + + /* Estado */ + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center> </TD>'; + + /* Porcentaje */ + $html.='<TD style="BACKGROUND-COLOR: #b5daad" align=center>'.$oA->porcen.'%</TD>'; + + + return($html); +} +// _________________________________________________________________________ + +function cambiaAmbito($rs,$oA) +{ + global $cmd; + global $TbMsg; + + $bgcolor="#f6c8f5"; + $html=""; + $html.='<TR id="'.$oA->sesion.'" value="A">'; + $procedimiento=TomaDato($cmd,0,'procedimientos',$rs->campos["idprocedimiento"],'idprocedimiento','descripcion'); + $html.='<TD colspan=2 align="right" style="BACKGROUND-COLOR:'.$bgcolor.'">'.$rs->campos["comando"].' </TD>'; + $html.='<TD style="BACKGROUND-COLOR:'.$bgcolor.'"><IMG style="cursor:pointer" src="../images/iconos/nada.gif"> </TD>'; + $html.='<TD colspan=4 style="BACKGROUND-COLOR:'.$bgcolor.'" align=right>'.$procedimiento.' </TD>'; + + /* Ámbito de aplicación */ + tomaAmbito($rs->campos["ambito"],&$urlimg,&$textambito); + $html.='<TD style="BACKGROUND-COLOR:'.$bgcolor.'" align=center><IMG src="'.$urlimg.'"></TD>'; + tomaDescriAmbito($cmd,$rs->campos["ambito"],$rs->campos["idambito"],&$textambito); + $html.='<TD style="BACKGROUND-COLOR:'.$bgcolor.'" align=left> '.$textambito.' </TD>'; + $html.='<TD colspan=3 style="BACKGROUND-COLOR:'.$bgcolor.'" align=center> </TD>'; + $html.='</TR>'; + return($html); +} +// _________________________________________________________________________ +// +// Comprueba si se cumplen los criterios para visualizar la acción +// _________________________________________________________________________ + +function cumpleCriterios($oA) +{ + global $porcendesde; + global $porcenhasta; + global $estado; + global $resultado; + global $ACCION_PROGRAMADA; + + if($estado==$ACCION_PROGRAMADA){ + if(!$oA->swcp) + return(false); // Comandos programados + else + return(true); + } + if($oA->swcp){ + if($estado!=$ACCION_PROGRAMADA && $estado>0) + return(false); // Comandos programados + else + return(true); + } + + // Cuestion estados + if(!empty($estado)) + if($oA->estado!=$estado) return(false); + + if(!empty($resultado)) + if($oA->resultado!=$resultado) return(false); + + if($oA->porcen<$porcendesde || $oA->porcen>$porcenhasta) return(false); + return(true); +} +// _________________________________________________________________________ +// +// Comprueba si se cumplen los criterios para visualizar la notificación +// _________________________________________________________________________ +function cumpleCriteriosNot($rs,$oA) +{ + global $porcendesde; + global $porcenhasta; + global $estado; + global $resultado; + global $ACCION_PROGRAMADA; + + if($estado==$ACCION_PROGRAMADA){ + if(!$oA->swcp) + return(false); // Comandos programados + else + return(true); + } + if($oA->swcp){ + if($estado!=$ACCION_PROGRAMADA && $estado>0) + return(false); // Comandos programados + else + return(true); + } + // Cuestion estados + if(!empty($estado)) + if($rs->campos["estado"]!=$estado) return(false); + + if(!empty($resultado)) + if($rs->campos["resultado"]!=$resultado) return(false); + + return(true); +} +// _________________________________________________________________________ +// +// Clase para procesar las acciones +// _________________________________________________________________________ + +class clsAccion +{ + var $ambito; + var $idambito; + var $tipoaccion; + var $idtipoaccion; + var $descriaccion; + var $sesion; + var $fechahorafin; + var $fechahorareg; + var $estado; + var $resultado; + var $porcen; + var $notif; + var $noter; + var $notdet; + var $notini; + var $linot; + var $swcp; + function clsAccion(){ // Constructor + + } +} +//________________________________________________________________________________________________________ + +function escribeParametros($comando,$parametros,$visuparametros,$oA) +{ + global $cmd; + global $visupro; + global $visupro; + global $visucmd; + + $html=""; + $tbParametrosValor=array(); + ParametrosValor($cmd,$parametros,&$tbParametrosValor); // Toma valores de cada parámetro + $vprm=split(";",$visuparametros); + + if($visupro==1 || ($visupro=0 && $visucmd==0)) $comando=" "; // No se muestra el nombre del comando + for($i=0;$i<sizeof($vprm);$i++){ + $nemo=$vprm[$i]; // Para cada parámetro visualizable ... + if(isset($tbParametrosValor[$nemo])){ + for($j=0;$j<sizeof($tbParametrosValor[$nemo])-1;$j++){ + $descripcion=$tbParametrosValor[$nemo]["descripcion"]; + $valor=$tbParametrosValor[$nemo][$j]["valor"]; + if(sizeof($tbParametrosValor[$nemo])>2) + $valor=$tbParametrosValor[$nemo][$j]["valor"]; + else + $valor=$tbParametrosValor[$nemo]["valor"]; + $html.=escribiendoParametros($comando,$descripcion,$valor,$oA); + } + } + } + if(empty($visuparametros)){ // Sin parametros + $bgcolor="#cedcec"; + $html.='<TR id="'.$oA->sesion.'" value="A">'; + $html.='<TD align=right style="BACKGROUND-COLOR: '.$bgcolor.';" colspan=2>'.$comando.'</TD>'; + $html.='<TD style="BACKGROUND-COLOR: '.$bgcolor.';"> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: '.$bgcolor.';" colspan=9> </TD>'; + $html.='</TR>'; + } + return($html); +} +//________________________________________________________________________________________________________ + +function escribiendoParametros($comando,$descripcion,$valor,$oA) +{ + $sw=true; + $html=""; + + $bgcolor="#cedcec"; + $html.='<TR id="'.$oA->sesion.'" value="A">'; + if($sw){ + $html.='<TD align=right style="BACKGROUND-COLOR: '.$bgcolor.';" colspan=2>'.$comando.'</TD>'; + $sw=false; + } + else + $html.='<TD style="BACKGROUND-COLOR: '.$bgcolor.';" colspan=2> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: '.$bgcolor.';"> </TD>'; + $html.='<TD style="BACKGROUND-COLOR: '.$bgcolor.';" colspan=4><b>'.$descripcion.'</b>: + '.$valor.'</TD>'; + $html.='<TD style="BACKGROUND-COLOR: '.$bgcolor.';" colspan=5 > </TD>'; + $html.='</TR>'; + return($html); +} +//________________________________________________________________________________________________________ + +function escribeCheck() +{ + echo' + <TABLE class="tabla_busquedas" align=center border=0 cellPadding=0 cellSpacing=0> + <TR> + TH height=15 align="center" colspan=14><? echo $TbMsg[18]?></TH> + </TR> + <TR> + <TD align=right><? echo $TbMsg[30]?></TD> + <TD align=center><INPUT type="checkbox" checked></TD> + <TD width="20" align=center> </TD> + </TR> + </TABLE>'; +} +//________________________________________________________________________________________________________ + +function ContextualXMLAcciones() +{ + global $TbMsg; + global $sesion; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_acciones"'; + $layerXML.=' maxanchu=140'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + if(empty($sesion)){ + $layerXML.=' alpulsar="filtroAccion(1)"'; + $layerXML.=' imgitem="../images/iconos/filtroaccion.gif"'; + $layerXML.=' textoitem='.$TbMsg[41]; + } + else{ + $layerXML.=' alpulsar="filtroAccion(0)"'; + $layerXML.=' imgitem="../images/iconos/filtro_off.gif"'; + $layerXML.=' textoitem='.$TbMsg[43]; + } + + $layerXML.=' textoitem='.$TbMsg[41]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + $layerXML.=ContextualXMLComun(); + return($layerXML); +} +//________________________________________________________________________________________________________ + +function ContextualXMLNotificaciones() +{ + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_notificaciones"'; + $layerXML.=' maxanchu=140'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.=ContextualXMLComun(); + return($layerXML); +} +//________________________________________________________________________________________________________ + +function ContextualXMLComun() +{ + global $TbMsg; + global $idcmdtskwrk; + global $codtipoaccion; + global $accionid; + global $EJECUCION_TAREA; + global $sesion; + + $layerXML=""; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eleccion(1,document.facciones.localaccion)"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[46]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eleccion(2,document.facciones.localaccion)"'; + $layerXML.=' imgitem="../images/iconos/reiniciar.gif"'; + $layerXML.=' textoitem='.$TbMsg[45]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eleccion(3,document.facciones.localaccion)"'; + $layerXML.=' imgitem="../images/iconos/acDetenida.gif"'; + $layerXML.=' textoitem='.$TbMsg[14]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eleccion(4,document.facciones.localaccion)"'; + $layerXML.=' imgitem="../images/iconos/acIniciada.gif"'; + $layerXML.=' textoitem='.$TbMsg[15]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eleccion(5,document.facciones.localaccion)"'; + $layerXML.=' imgitem="../images/iconos/acExitosa.gif"'; + $layerXML.=' textoitem="'.$TbMsg[55].'"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eleccion(6,document.facciones.localaccion)"'; + $layerXML.=' imgitem="../images/iconos/acFallida.gif"'; + $layerXML.=' textoitem="'.$TbMsg[56].'"'; + $layerXML.='></ITEM>'; + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/colasreservas.php b/admin/WebConsole/principal/colasreservas.php new file mode 100644 index 00000000..6b16f06f --- /dev/null +++ b/admin/WebConsole/principal/colasreservas.php @@ -0,0 +1,970 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: colasreservas.php +// Descripción : +// Visualiza las reservas pendientes, confirmadas, denegadas y fecha y hora de la reserva +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLCTEMULSELECT.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/clases/Calendario_".$idioma.".php"); +include_once("../idiomas/php/".$idioma."/colasreservas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$ambito=""; +$idambito=0; +$nombreambito=""; +$fechainicio=""; +$fechafin=""; +$estadoreserva=""; +$situacion=""; + +if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; +if (isset($_GET["tipocola"])) $tipocola=$_GET["tipocola"]; + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +// Criterios por defecto +if($ambito!="" && $idambito!="" && $nombreambito!="" && $tipocola!=""){ + $wfechainicio=mktime(0, 0, 0, date("m") , date("d"), date("Y")); // Reservas desde un mes anterior + $wfechafin=mktime(0, 0, 0, date("m")+6 , date("d"), date("Y")); + $fechainicio=date("d/m/Y",$wfechainicio); + $fechafin=date("d/m/Y ",$wfechafin); + // Tipos de reservas + switch($tipocola){ + case 0: + $westadoreserva[0]=$RESERVA_CONFIRMADA; + $westadoreserva[1]=$RESERVA_PENDIENTE; + $westadoreserva[2]=$RESERVA_DENEGADA; + + $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";"; + $estadoreserva.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";"; + $estadoreserva.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";"; + break; + case $RESERVA_CONFIRMADA: + $westadoreserva[0]=$RESERVA_CONFIRMADA; + $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";"; + break; + case $RESERVA_PENDIENTE: + $westadoreserva[0]=$RESERVA_PENDIENTE; + $estadoreserva=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";"; + break; + case $RESERVA_DENEGADA: + $westadoreserva[0]=$RESERVA_DENEGADA; + $estadoreserva=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";"; + break; + } + // Estados default + $wsituacion[0]=$RESERVA_PARADA; + $wsituacion[1]=$RESERVA_ACTIVA; + $situacion=$RESERVA_PARADA."=".$LITRESERVA_PARADA.";"; + $situacion.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA.";"; +} +//________________________________________________________________________________________________________ +// Recupera parametros del formulario +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; +if (isset($_POST["fechainicio"])) $fechainicio=$_POST["fechainicio"]; +if (isset($_POST["fechafin"])) $fechafin=$_POST["fechafin"]; + +if (isset($_POST["estadoreserva"])) { + $estadoreserva=$_POST["estadoreserva"]; + $auxP=split(";",$estadoreserva); + $cont=0; + for ($i=0;$i<sizeof($auxP)-1;$i++){ + $dualparam=split("=",$auxP[$i]); + $westadoreserva[$cont++]=$dualparam[0]; + } +} +if (isset($_POST["situacion"])){ + $situacion=$_POST["situacion"]; + $auxP=split(";",$situacion); + $cont=0; + for ($i=0;$i<sizeof($auxP)-1;$i++){ + $dualparam=split("=",$auxP[$i]); + $wsituacion[$cont++]=$dualparam[0]; + } +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/colasreservas.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/colasreservas_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[12]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[13]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[14]; + break; +} +echo '<p align=center class=cabeceras><img src="../images/iconos/reservas.gif"> '.$TbMsg[0].' '; +echo '<FORM name="fdatos" action="colasreservas.php" method="post">'.chr(13); +// Campos ocultos +echo '<INPUT type=hidden name=ambito value="'.$ambito.'">'; +echo '<INPUT type=hidden name=idambito value="'.$idambito.'">'; +echo '<INPUT type=hidden name=nombreambito value="'.$nombreambito.'">'; +echo '<INPUT type=hidden name=estadoreserva value="'.$estadoreserva.'">'; +echo '<INPUT type=hidden name=situacion value="'.$situacion.'">'; +echo CriteriosBusquedas(); // Opciones de búsqueda +echo '</FORM>'.chr(13); + +echo '<DIV align=center >'; +echo '<span align=center class=subcabeceras><U>'.$TbMsg[11].':'.$textambito.'</U>, '.$nombreambito.'</span> <IMG src="'.$urlimg.'"></span></DIV></p>'; +//________________________________________________________________________________________________________ +// Localiza las aulas pertenecientes al ámbito + +$cadenaaulas=""; +$cont_aulas=0; + +$sw=false; +switch($ambito){ + case $AMBITO_CENTROS : + $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; + RecorreCentro($cmd); + break; + case $AMBITO_GRUPOSAULAS : + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + break; + case $AMBITO_AULAS : + $cmd->texto="SELECT idaula,nombreaula,horaresevfin FROM aulas WHERE idaula=".$idambito; + RecorreAulas($cmd); + break; +} +//________________________________________________________________________________________________________ +// Proceso de selección de reservas +$ClausulaWhere=""; +//________________________________________________________________________________________________________ +// Cuestion identificador del Centro que ha ejecutado la acción +$WhereCentroAccion=""; +$WhereCentroAccion='reservas.idcentro='.$idcentro; +$ClausulaWhere.=" AND (".$WhereCentroAccion.")"; +//________________________________________________________________________________________________________ +// Cuestion estado de las reservas ( Confirmadas,Pendientes o Denegadas ) +$WhereEstadosReservas=""; +for($i=0;$i<sizeof($westadoreserva);$i++){ + if (isset($westadoreserva[$i])) + $WhereEstadosReservas.=" reservas.estado=".$westadoreserva[$i]." OR "; +} +if($WhereEstadosReservas!=""){ + $WhereEstadosReservas=substr($WhereEstadosReservas,0,strlen($WhereEstadosReservas)-3); + $ClausulaWhere.=" AND (".$WhereEstadosReservas.")"; +} +//________________________________________________________________________________________________________ +// Cuestion situación de la programación +$WhereSituaciones=""; +for($i=0;$i<sizeof($wsituacion);$i++){ + if (isset($wsituacion[$i])) + $WhereSituaciones.=" programaciones.suspendida=".$wsituacion[$i]." OR "; +} +if($WhereSituaciones!=""){ + $WhereSituaciones=substr($WhereSituaciones,0,strlen($WhereSituaciones)-3); + $ClausulaWhere.=" AND (".$WhereSituaciones.")"; +} +//________________________________________________________________________________________________________ +$cadenaaulas=substr($cadenaaulas,0,strlen($cadenaaulas)-1); // Quita la coma +$ClausulaWhere.=" AND idaula in(".$cadenaaulas.")"; +//________________________________________________________________________________________________________ +// Cuestion de fechas +if(empty($fechainicio)) $fechainicio=date("d/m/Y",mktime(0, 0, 0, date("m") , date("d"), date("Y"))); +if(empty($fechafin)) $fechafin=date("d/m/Y",mktime(0, 0, 0, date("m")+1 , date("d"), date("Y"))); + +list($dia_i,$mes_i,$anno_i)=split("/",$fechainicio); +list($dia_f,$mes_f,$anno_f)=split("/",$fechafin); + +// Elimina registros en tabla temporal +$cmd->texto="DELETE FROM reservastemporal where idcentro=".$idcentro." AND usuario='".$usuario."'"; // Elimina todos los registros de la tabla temporal +$resul=$cmd->Ejecutar(); + +//Recorre de fecha inicio a fecha fin +$calendario=new Calendario("tabla_reservas"); +$anno_c=$anno_i; +$mes_c=$mes_i; + +// Calcula el rango de meses dependiendo del intervalo de fechas solicitado +while($anno_c<=$anno_f){ + if($anno_c==$anno_i){ + $mes_c=$mes_i; + if($anno_f>$anno_c) + $mes_t=12; + else + $mes_t=$mes_f; + } + else{ + if($anno_c>$anno_i){ + if($anno_c==$anno_f){ + $mes_c=1; + $mes_t=$mes_f; + } + else{ + $mes_c=1; + $mes_t=12; + } + } + } + $HEXanno=$calendario->numero_annos[$anno_c-2003][1]; // Primera referencia: 2004 + $HEXmeses=0; + $mes_desde=$mes_c; + $mes_hasta=$mes_t; + while($mes_c<=$mes_t){ + $HEXmeses=$HEXmeses | $calendario->nombre_mes[$mes_c][1]; + $mes_c++; + } + // Cadena SQL para seleccionar reservas + $cmd->texto="SELECT reservas.idreserva,reservas.descripcion,programaciones.idprogramacion, programaciones.nombrebloque,programaciones.annos, programaciones.meses, programaciones.diario, programaciones.dias, programaciones.semanas, programaciones.horasini, programaciones.ampmini, programaciones.minutosini, programaciones.horasfin, programaciones.ampmfin, programaciones.minutosfin FROM reservas"; + $cmd->texto.=" INNER JOIN programaciones ON reservas.idreserva = programaciones.identificador"; + $cmd->texto.=" WHERE (programaciones.tipoaccion = ".$EJECUCION_RESERVA.") ".$ClausulaWhere ; + $cmd->texto.=" AND (programaciones.annos & ".$HEXanno."<>0)"; + $cmd->texto.=" AND (programaciones.meses & ".$HEXmeses."<>0)" ; + CreaReservasTemporal($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f); + $anno_c++; +} +$cadenaXML=""; +$cont_a=0; +$cont_m=0; +$cont_d=0; +$HTMLannos=""; +$HTMLmeses=""; +$HTMLdias=""; +$HTMLhoras=""; + +$sw=true; +switch($ambito){ + case $AMBITO_CENTROS : + $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; + RecorreCentro($cmd); + break; + case $AMBITO_GRUPOSAULAS : + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + break; + case $AMBITO_AULAS : + $cmd->texto="SELECT idaula,nombreaula,horaresevfin FROM aulas WHERE idaula=".$idambito; + RecorreAulas($cmd); + break; +} + +// Creación del árbol +$baseurlimg="../images/tsignos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; +$titulotabla=$TbMsg[0]; +$arbol=new ArbolVistaXml($cadenaXML,0,$baseurlimg,$clasedefault,2,20,270,2,$titulotabla); +$salidaHTML=$arbol->CreaArbolVistaXml(); // Muestra árbol +echo "<BR>"; +echo "<DIV align=center width=100%>"; +echo " <TABLE align=center width=100%>"; +echo " <TR><TD>"; +echo urldecode($salidaHTML); +echo " </TD></TR><TABLE></DIV>"; + +//________________________________________________________________________________________________________ +include_once("../includes/iframecomun.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function CreaReservasTemporal($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f){ + global $usuario; + global $idcentro; + + $fechaminima=mktime(0, 0, 0, $mes_i, 1, $anno_i); + $fechamaxima=mktime(0, 0, 0, $mes_f, $dia_f, $anno_f); + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + // Recorre reservas + while (!$rs->EOF){ + $cadenafechas=FechasReservas($anno_c,$mes_desde,$mes_hasta,$rs->campos["meses"],$rs->campos["diario"],$rs->campos["dias"],$rs->campos["semanas"]); + $fechas_reservas=split(";",$cadenafechas); + for ($i=0;$i<sizeof($fechas_reservas)-1;$i++){ + list($auxdia,$auxmes,$auxanno)=split("/",$fechas_reservas[$i]); + $auxfecha=mktime(0, 0, 0, $auxmes,$auxdia, $auxanno); + + if($auxfecha>=$fechaminima && $auxfecha<=$fechamaxima){ + $cmd->texto="INSERT INTO reservastemporal(idcentro,usuario,idprogramacion,idreserva,fecha) VALUES (".$idcentro.",'".$usuario."',".$rs->campos["idprogramacion"].",".$rs->campos["idreserva"].",'".$fechas_reservas[$i]."')"; + $resul=$cmd->Ejecutar(); + } + } + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +// Función : FechasReservas +// Descripción : +// Devuelve una cadena de fechas separada por comas que son precisamente las fechas que forman parte de una reserva concreta +// Parametros: +// - anno_c: Un año determinado +// - mes_desde: El mes desde que se considera la reserva +// - mes_hasta: El mes hasta que se considera la reserva +// - meses: Campo con información hexadecimal de los meses de la reserva ( la información contenida en el campo de la tabla con este nombre +// - diario: Idem para los dias de un mes +// - dias: idem para los nombres de los días +// - semanas: Idem para las semanas +//________________________________________________________________________________________________________ +function FechasReservas($anno_c,$mes_desde,$mes_hasta,$meses,$diario,$dias,$semanas){ + global $calendario; + + $cadenafechas=""; + $mascara=0x0001; + $cadenameses=""; + $meses=$meses>>($mes_desde-1); + for($i=$mes_desde;$i<=$mes_hasta;$i++){ + if($meses&$mascara>0){ + $cadenameses.=$i.";"; + // Dias de la semAna + if($dias>0){ + $auxdias=$dias; + for($j=1;$j<=7;$j++){ + if($auxdias&$mascara>0){ + $cadenadias=$calendario->DiasPorMes($i,$anno_c,$j); + $tbdias=split(";",$cadenadias); + for ($k=0;$k<sizeof($tbdias)-1;$k++) + $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";"; + } + $auxdias=$auxdias>>1; + } + } + // Semanas + if($semanas>0){ + $auxsemanas=$semanas; + for($j=1;$j<=6;$j++){ + if($auxsemanas&$mascara>0){ + if($j==6){ + $ulse=$calendario->UltimaSemana($i,$anno_c); + $cadenadias=$calendario->DiasPorSemanas($i,$anno_c,$ulse); + } + else + $cadenadias=$calendario->DiasPorSemanas($i,$anno_c,$j); + $tbdias=split(";",$cadenadias); + for ($k=0;$k<sizeof($tbdias)-1;$k++) + $cadenafechas.=$tbdias[$k]."/".$i."/".$anno_c.";"; + } + $auxsemanas=$auxsemanas>>1; + } + } + } + $meses=$meses>>1; + } + $cadenadiario=""; + for($i=1;$i<32;$i++){ + if($diario&$mascara>0) $cadenadiario.=$i.";"; + $diario=$diario>>1; + } + $tbmeses=split(";",$cadenameses); + $tbdiario=split(";",$cadenadiario); + for ($i=0;$i<sizeof($tbmeses)-1;$i++){ + for ($j=0;$j<sizeof($tbdiario)-1;$j++){ + $cadenafechas.=$tbdiario[$j]."/".$tbmeses[$i]."/".$anno_c.";"; + } + } + return($cadenafechas); +} +/*________________________________________________________________________________________________________ + Recorrea los distintos ámbitos +________________________________________________________________________________________________________*/ +function RecorreCentro($cmd){ + global $AMBITO_CENTROS; + global $LITAMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $cadenaXML; + global $sw; + global $idambito,$nombreambito; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + if(!$rs->EOF){ + if($sw) { + $cadenaXML.='<CENTRO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/centros.gif"'; + $cadenaXML.=' nodoid='.$LITAMBITO_CENTROS."-".$idambito; + $cadenaXML.=' infonodo='.$nombreambito; + $cadenaXML.='>'; + } + $idcentro=$rs->campos["idcentro"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula,horaresevfin FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0"; + RecorreAulas($cmd); + if($sw) $cadenaXML.='</CENTRO>'; + + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposAulas($cmd){ + global $AMBITO_GRUPOSAULAS; + global $LITAMBITO_GRUPOSAULAS; + global $cadenaXML; + global $sw; + + $rs=new Recordset; + $cmd->texto.="ORDER by nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + + while (!$rs->EOF){ + if($sw) { + $cadenaXML.='<GRUPOSAULAS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSAULAS."-".$rs->campos["idgrupo"]; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.='>'; + } + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo ." AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula,horaresevfin FROM aulas WHERE grupoid=".$idgrupo; + RecorreAulas($cmd); + $rs->Siguiente(); + if($sw) $cadenaXML.='</GRUPOSAULAS>'; + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreAulas($cmd){ + global $AMBITO_AULAS; + global $LITAMBITO_AULAS; + global $cadenaaulas; + global $cont_aulas; + global $sw; + global $cadenaXML; + + $rs=new Recordset; + $cmd->texto.="ORDER by nombreaula"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + + while (!$rs->EOF){ + if($sw && $rs->campos["horaresevfin"]>0) { + $cadenaXML.='<AULA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_AULAS.'-'.$rs->campos["idaula"]; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#B5DAAD;"; + $cadenaXML.='>'; + } + $idaula=$rs->campos["idaula"]; + $cadenaaulas.=$idaula.","; + $cont_aulas++; + if($sw && $rs->campos["horaresevfin"]>0) ListaReservas($cmd,$idaula,$rs->campos["nombreaula"]); + $rs->Siguiente(); + if($sw && $rs->campos["horaresevfin"]>0) $cadenaXML.='</AULA>'; + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function ListaReservas($cmd,$idaula,$nombreaula){ + global $idcentro; + global $usuario; + global $TbMsg; + global $calendario; + global $RESERVA_CONFIRMADA; + global $RESERVA_PENDIENTE; + global $RESERVA_DENEGADA; + global $EJECUCION_RESERVA; + + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + + global $cadenaXML; + + global $cont_a; + global $cont_m; + global $cont_d; + global $HTMLannos; + global $HTMLmeses; + global $HTMLdias; + global $HTMLhoras; + + $tbimg[$RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif'; + $tbimg[$RESERVA_PENDIENTE]='../images/iconos/pendientes.gif'; + $tbimg[$RESERVA_DENEGADA]='../images/iconos/denegadas.gif'; + + $tbampm[0]="a.m."; + $tbampm[1]="p.m."; + + $cmd->texto="SELECT DISTINCT aulas.horaresevini,aulas.horaresevfin,reservastemporal.idreserva, reservastemporal.fecha,programaciones.horasini,programaciones.ampmini,programaciones.minutosini,trabajos.idtrabajo,tareas.idtarea,trabajos.descripcion AS nombretrabajo,tareas.descripcion AS nombretarea,reservas.solicitante,reservas.email,reservas.estado,reservas.idaula,reservas.idreserva,reservas.descripcion,DAY(reservastemporal.fecha) as dia,MONTH(reservastemporal.fecha) as mes,YEAR(reservastemporal.fecha) as anno,reservas.descripcion,aulas.nombreaula as nombreaula,imagenes.idimagen ,imagenes.descripcion as nombreimagen,"; + $cmd->texto.=" programaciones.horasini,programaciones.minutosini,programaciones.horasfin,programaciones.minutosfin,programaciones.ampmini,programaciones.ampmfin"; + $cmd->texto.=" FROM reservas"; + $cmd->texto.=" INNER JOIN reservastemporal ON reservas.idreserva = reservastemporal.idreserva"; + $cmd->texto.=" INNER JOIN aulas ON reservas.idaula = aulas.idaula"; + $cmd->texto.=" LEFT OUTER JOIN imagenes ON reservas.idimagen = imagenes.idimagen"; + $cmd->texto.=" LEFT OUTER JOIN tareas ON reservas.idtarea = tareas.idtarea"; + $cmd->texto.=" LEFT OUTER JOIN trabajos ON reservas.idtrabajo = trabajos.idtrabajo"; + $cmd->texto.=" INNER JOIN programaciones ON reservastemporal.idprogramacion = programaciones.idprogramacion"; + $cmd->texto.=" WHERE (programaciones.tipoaccion = ".$EJECUCION_RESERVA.") "; + $cmd->texto.=" AND (aulas.idaula = ".$idaula.") "; + $cmd->texto.=" AND (reservastemporal.idcentro='".$idcentro."') "; + $cmd->texto.=" AND (reservastemporal.usuario='".$usuario."') "; + $cmd->texto.=" ORDER by reservastemporal.fecha,programaciones.ampmini,programaciones.horasini,programaciones.minutosini"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + + $calendario->aula=$idaula; + $calendario->horaresevini=$rs->campos["horaresevini"]; + $calendario->horaresevfin=$rs->campos["horaresevfin"]; + $swa=false; + $swm=false; + $swd=false; + $ganno=0; + $gmes=0; + $gdia=0; + + $cont_a=0; + $HTMLannos=""; + + // Recorre reservas temporales + while (!$rs->EOF){ + // Año + if($ganno<>$rs->campos["anno"]){ + if($swd){ + GuardaHorasDias($ganno,$gmes,$gdia,$CntDia,&$CntMes); + $cadenaXML.='</DIA> '; + } + if($swm){ + GuardaMesAnno($ganno,$gmes,$CntMes); + $cadenaXML.='</MES> '; + } + if($swa){ + GuardaAnno($ganno); + $cadenaXML.='</ANNO> '; + } + $ganno=$rs->campos["anno"]; + $cadenaXML.='<ANNO '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E '.$TbMsg[15].': %3C/b%3E'.$ganno.'"'; + $cadenaXML.=' nodoid=nodoanno-'.$ganno; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#B5B7B9;"; + $cadenaXML.='>'; + $gmes=0; + $gdia=0; + $swa=true; + $swm=false; + $swd=false; + PintaAnno($ganno); + $HTMLmeses=""; + $cont_m=0; + } + + // Mes + if($gmes<>$rs->campos["mes"]){ + if($swd){ + GuardaHorasDias($ganno,$gmes,$gdia,$CntDia,&$CntMes); + $cadenaXML.='</DIA> '; + } + if($swm){ + GuardaMesAnno($ganno,$gmes,$CntMes); + $cadenaXML.='</MES> '; + } + $gmes=$rs->campos["mes"]; + $nombremes=$calendario->nombre_mes[$rs->campos["mes"]][0]; + + $cadenaXML.='<MES '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="%3CA name=anodomes-'.$idaula."-".$gmes.'/'.$ganno.'%3E%3Cb%3E '.$TbMsg[16].': %3C/b%3E'.$nombremes.' %3C/A%3E "'; + $cadenaXML.=' nodoid=nodomes-'.$idaula."-".$gmes.'/'.$ganno; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#E3D8C6"; + $cadenaXML.='>'; + $gdia=0; + $swm=true; + $swd=false; + $CntMes=""; + PintaMesAnno($ganno,$gmes); + $HTMLdias=""; + $cont_d=0; + } + // Dia + if($gdia<>$rs->campos["dia"]){ + if($swd){ + GuardaHorasDias($ganno,$gmes,$gdia,$CntDia,&$CntMes); + $cadenaXML.='</DIA> '; + } + $gdia=$rs->campos["dia"]; + $nombredia=$rs->campos["dia"]." - ".$nombremes." - ".$rs->campos["anno"]; + $cadenaXML.='<DIA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="%3CA name=anododia-'.$idaula."-".$gdia.'/'.$gmes.'/'.$ganno.'%3E%3Cb%3E '.$TbMsg[17].': %3C/b%3E'.$nombredia.' %3C/A%3E "'; + $cadenaXML.=' nodoid=nododia-'.$idaula."-".$gdia.'/'.$gmes.'/'.$ganno; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#CFDAE6"; + $cadenaXML.='>'; + $swd=true; + //$CntMes[$gdia]=1; + $CntDia=""; + PintaHorasDias($ganno,$gmes,$gdia); + $HTMLhoras=""; + } + + // Cuestion Ocupación + $hexhoradesde=$rs->campos["horasini"]; + $minutosdesde=$rs->campos["minutosini"]; + if($minutosdesde==0) $minutosdesde="00"; + $minutosdesde.=" ".$tbampm[$rs->campos["ampmini"]]; + $hexhorahasta=$rs->campos["horasfin"]; + $minutoshasta=$rs->campos["minutosfin"]; + if($minutoshasta==0) $minutoshasta="00"; + $minutoshasta.=" ".$tbampm[$rs->campos["ampmfin"]]; + $cont=0; + while($hexhoradesde>0){ + $cont++; + $hexhoradesde=$hexhoradesde>>1; + } + $horadesde=$cont-1; + $cont=0; + while($hexhorahasta>0){ + $cont++; + $hexhorahasta=$hexhorahasta>>1; + } + $horahasta=$cont-1; + + $mulmin=floor($minutosdesde/15); + $currentminutos=$mulmin*15; + $CntDia[(int)$rs->campos["ampmini"]][(int)$horadesde][(int)$currentminutos]=1; + $mulmin=floor($minutoshasta/15); + $currentminutos=$mulmin*15; + $CntDia[(int)$rs->campos["ampmfin"]][(int)$horahasta][(int)$currentminutos]=0; + + + // Descripción de la reserva + $cadenaXML.='<RESERVA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/reservas.gif"'; + $cadenaXML.=' infonodo="%3CIMG src='.$tbimg[$rs->campos["estado"]].'%3E %3Cb%3E'.$rs->campos["descripcion"].': %3C/b%3E'; + $cadenaXML.=' %3CIMG src="../images/iconos/reloj.gif"%3E ('.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta.')"'; + + $cadenaXML.=' nodoid=reserva-'.$rs->campos["idreserva"]; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#EEEECC;"; + $cadenaXML.='>'; + + $cadenaXML.='<OCUPACION '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/reloj.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[19].':%3C/b%3E '.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta.'"'; + $cadenaXML.=' nodoid=opcupacion-'.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#FBECFA;"; + $cadenaXML.='>'; + $cadenaXML.='</OCUPACION>'; + + + $cadenaXML.='<AULA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[24].':%3C/b%3E '.$nombreaula.'"';; + $cadenaXML.=' nodoid=aula-'.$idaula; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#FBECFA;"; + $cadenaXML.='>'; + $cadenaXML.='</AULA>'; + + $nombreimagen=$rs->campos["nombreimagen"]; + if(empty($nombreimagen) ) $nombreimagen=$TbMsg[23]; + // Descripción de la imagen a restaurar + $cadenaXML.='<IMAGEN '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[20].': %3C/b%3E'.$nombreimagen.'"'; + $cadenaXML.=' nodoid=imagen-'.$rs->campos["idimagen"]; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#FBECFA;"; + $cadenaXML.='>'; + $cadenaXML.='</IMAGEN>'; + + $nombretarea=$rs->campos["nombretarea"]; + if(!empty($nombretarea) ){ + // Descripción de la tarea a restaurar + $cadenaXML.='<TAREA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/tareas.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[28].': %3C/b%3E'.$nombretarea.'"'; + $cadenaXML.=' nodoid=tarea-'.$rs->campos["idtarea"]; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#FBECFA;"; + $cadenaXML.='>'; + $cadenaXML.='</TAREA>'; + } + + $nombretrabajo=$rs->campos["nombretrabajo"]; + if(!empty($nombretrabajo) ){ + // Descripción del trabajo a restaurar + $cadenaXML.='<TRABAJO '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/trabajos.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[29].': %3C/b%3E'.$nombretrabajo.'"'; + $cadenaXML.=' nodoid=trabajo-'.$rs->campos["idtrabajo"]; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#FBECFA;"; + $cadenaXML.='>'; + $cadenaXML.='</TRABAJO>'; + } + + $cadenaXML.='<EMAIL '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/email.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[25].':%3C/b%3E '.$rs->campos["solicitante"].' (%3CA href=mailto:'.$rs->campos["email"].'%3E'.$rs->campos["email"].'%3C/A%3E)"'; + $cadenaXML.=' nodoid=email-'.$idaula; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#FBECFA;"; + $cadenaXML.='>'; + $cadenaXML.='</EMAIL>'; + + + + $cadenaXML.='</RESERVA>'; + + $rs->Siguiente(); + } + if($swd){ + GuardaHorasDias($ganno,$gmes,$gdia,$CntDia,&$CntMes); + $cadenaXML.='</DIA> '; + } + if($swm){ + GuardaMesAnno($ganno,$gmes,$CntMes); + $cadenaXML.='</MES> '; + } + if($swa){ + GuardaAnno($ganno); + $cadenaXML.='</ANNO> '; + } +} +//________________________________________________________________________________________________________ +function PintaAnno($ganno){ + global $cadenaXML; + global $cont_a; + + $cadenaXML.='<TBANNO '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/nada.gif"'; + $cadenaXML.=' infonodo=%anno-'.$ganno.'%'; + $cadenaXML.=' nodoid=anno-'.$ganno; + $cadenaXML.=' fondonodo='."#FFFFFF"; + $cadenaXML.='>'; + $cadenaXML.='</TBANNO> '; +} +//________________________________________________________________________________________________________ +function GuardaAnno($ganno){ + global $cadenaXML; + global $cont_a; + global $cont_m; + global $HTMLmeses; + global $HTMLannos; + global $calendario; + +$HTMLannos[$cont_a]="<TABLE><TR>"; +$j=0; + for($i=0;$i<$cont_m;$i++){ + if(isset($HTMLmeses[$i])){ + $HTMLannos[$cont_a].='<TD style="BACKGROUND-COLOR:#FFFFFF" valign=top>'.$HTMLmeses[$i].'</TD>'; + $j++; + if($j==4) { + $HTMLannos[$cont_a].="</TR><TR>"; + $j=0; + } + } + } + $HTMLannos[$cont_a].="</TR></TABLE>"; + $cadenaXML=ereg_replace( "%anno-".$ganno.'%',urlencode($HTMLannos[$cont_a]), $cadenaXML ); + $cont_a++; +} +//________________________________________________________________________________________________________ +function PintaMesAnno($ganno,$gmes){ + global $cadenaXML; + + $cadenaXML.='<TBMES '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/nada.gif"'; + $cadenaXML.=' infonodo=%mes-'.$ganno.'-'.$gmes.'%'; + $cadenaXML.=' nodoid=mes-'.$ganno.'-'.$gmes; + $cadenaXML.=' fondonodo='."#FFFFFF"; + $cadenaXML.='>'; + $cadenaXML.='</TBMES> '; +} +//________________________________________________________________________________________________________ +function GuardaMesAnno($ganno,$gmes,$CntMes){ + global $cadenaXML; + global $cont_m; + global $calendario; + global $HTMLmeses; + + $HTMLmeses[$cont_m]="<TABLE cellspacing=3><TR><TD valign=top>"; + $HTMLmeses[$cont_m].=$calendario->MesAnno($gmes,$ganno,$CntMes); + $HTMLmeses[$cont_m].="</TD></TR></TABLE>"; + $cadenaXML=ereg_replace('%mes-'.$ganno.'-'.$gmes.'%',urlencode($HTMLmeses[$cont_m]), $cadenaXML ); + $cont_m++; +} +//________________________________________________________________________________________________________ +function PintaHorasDias($ganno,$gmes,$gdia){ + global $cadenaXML; + + $cadenaXML.='<TBDIA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/nada.gif"'; + $cadenaXML.=' infonodo=%horas-'.$ganno.'-'.$gmes.'-'.$gdia.'%'; + $cadenaXML.=' nodoid=horas-'.$ganno.'-'.$gmes.'-'.$gdia; + $cadenaXML.=' fondonodo='."#FFFFFF"; + $cadenaXML.='>'; + $cadenaXML.='</TBDIA> '; +} +//________________________________________________________________________________________________________ +function GuardaHorasDias($ganno,$gmes,$gdia,$CntDia,$CntMes){ + global $cadenaXML; + global $calendario; + global $HTMLhorasdias; + + $HTMLhorasdias="<TABLE cellspacing=3><TR><TD valign=top>"; + $HTMLhorasdias.=$calendario->HorasDias($CntDia,&$porcenhoras); + $HTMLhorasdias.="</TD></TR></TABLE>"; + + $CntMes[$gdia]=$porcenhoras; + $cadenaXML=ereg_replace('%horas-'.$ganno.'-'.$gmes.'-'.$gdia.'%',urlencode($HTMLhorasdias), $cadenaXML ); +} +//________________________________________________________________________________________________________ +function CriteriosBusquedas(){ + global $idcentro; + global $TbMsg; + + global $RESERVA_CONFIRMADA; + global $RESERVA_PENDIENTE; + global $RESERVA_DENEGADA; + global $LITRESERVA_CONFIRMADA; + global $LITRESERVA_PENDIENTE; + global $LITRESERVA_DENEGADA; + + global $RESERVA_PARADA; // reserva momentanemente parada + global $RESERVA_ACTIVA; // Reserva activa + global $LITRESERVA_PARADA; + global $LITRESERVA_ACTIVA; + + global $fechainicio; + global $fechafin; + + global $westadoreserva; + global $wsituacion; + + $HTMLCriterios=""; + $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13); + $HTMLCriterios.='<TR HEIGHT=30>'.chr(13); + $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13); + $HTMLCriterios.='<SPAN align=center style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">_______________ '.$TbMsg[1].' _______________</SPAN>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + + // Desplegable con los tipos de reservas + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.=' <TH align=center> '.$TbMsg[2].' </TH>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $parametros=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.chr(13); + $parametros.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.chr(13); + $parametros.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA; + $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"westadoreserva",$westadoreserva,"estilodesple","chgdesplereservas",100,3).'</TD>'; + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + // Desplegable con los distintos situacion + $HTMLCriterios.='<TD>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.=' <TH align=center> '.$TbMsg[4].' </TH>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $parametros=$RESERVA_PARADA."=".$LITRESERVA_PARADA.chr(13); + $parametros.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA; + $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"wsituacion",$wsituacion,"estilodesple","chgdesplesituacion",100,3).'</TD>'; + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + + // Fechas + $HTMLCriterios.='<TD COLSPAN=2>'.chr(13); + $HTMLCriterios.='<TABLE WIDTH=100% class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TH> '.$TbMsg[7].': </TH>'.chr(13); + $HTMLCriterios.='<TD><INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechainicio" value="'.$fechainicio.'"></TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TH align=right> '.$TbMsg[8].': </TH>'.chr(13); + $HTMLCriterios.='<TD> <INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechafin" value="'.$fechafin.'"></TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + + $HTMLCriterios.='<TR height=5>'.chr(13); + $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13); + $HTMLCriterios.='<SPAN style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">__________________________________________________</SPAN>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + + // Lupa + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD COLSPAN=4>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD>'; + + $HTMLCriterios.='<IMG src="../images/iconos/busquedas.gif" onclick="javascript:fdatos.submit()" style="cursor:hand" alt="Buscar">'; + $HTMLCriterios.='</TD>'; + $HTMLCriterios.='<TD>'; + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'; + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); +$HTMLCriterios.='</TABLE>'; +return($HTMLCriterios); +}?>
\ No newline at end of file diff --git a/admin/WebConsole/principal/comandos.php b/admin/WebConsole/principal/comandos.php new file mode 100644 index 00000000..6d28f9e2 --- /dev/null +++ b/admin/WebConsole/principal/comandos.php @@ -0,0 +1,147 @@ +<? +include_once("../includes/ctrlacc.php"); + +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); + +$identificador=0; +$ambicom=""; // Ambito del comando +$literalnodo=""; + +if (isset($_GET["identificador"])) $identificador=$_GET["identificador"]; +if (isset($_GET["ambicom"])) $ambicom=$_GET["ambicom"]; +if (isset($_GET["literalnodo"])) $literalnodo=$_GET["literalnodo"]; + +$literal=""; +switch($ambicom){ + case $LITAMBITO_GRUPOSAULAS: + $literal="Comando aplicado al grupo de aulas:"; + break; + case $LITAMBITO_AULAS: + $literal="Comando aplicado al aula:"; + break; + case $LITAMBITO_GRUPOSORDENADORES: + $literal="Comando aplicado al grupo de ordenadores:"; + break; + case $LITAMBITO_ORDENADORES: + $literal="Comando aplicado al ordenador:"; + break; +} +$literal=$literal.$literalnodo; +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +</HEAD> +<SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/comandos.js"></SCRIPT> +<BODY> + <input type=hidden value="<? echo $identificador?>" id=identificador> + <input type=hidden value="<? echo $ambicom?>" id=ambicom> + + <p align=center class=cabeceras>COMANDOS <img src="../images/iconos/comandos.gif"><br> + <span align=center class=subcabeceras><? echo $literal ?></span></p> +<? +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if ($cmd){ + $rs=new Recordset; + $cmd->texto="SELECT idcomando,descripcion,urlimg FROM comandos ORDER BY descripcion"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + echo '<TABLE align=center>'; + echo ' <TR bgcolor="#003300">'; + echo '<TD><strong><font color="#FFFFFF" size="1" face="Arial, Helvetica,sans-serif">Comando</font></strong></TD>'; + echo '<TD><strong><font color="#FFFFFF" size="1" face="Arial, Helvetica,sans-serif">Descripcion</font></strong></TD>'; + echo '</TR>'; + $swcolor=true; + while (!$rs->EOF){ + if ($swcolor){ + $swcolor=false; + $bgcolor="#EEEECC"; + $color="#003300"; + } + else{ + $swcolor=true; + //$bgcolor="#999999"; + //$color="#FFFFFF"; + $bgcolor="#EEEECC"; + $color="#003300"; + } + echo '<TR bgcolor="'.$bgcolor.'">'; + echo '<TD><INPUT class="formulariodatos" id='.$rs->campos["idcomando"].' type=radio onclick="SeleccionaComando(this)"></TD>'; + echo '<TD id="comando-'.$rs->campos["idcomando"].'">'; + echo ' <font color="#003300" size="1" face="Arial, Helvetica, sans-serif">'.$rs->campos["descripcion"].'</font>'; + echo '</TR>'; + echo '<TR>'; + echo ' <TD></TD>'; + echo '<TD> '; + echo '</TD>'; + echo '</TR>'; + //} + echo '<TR bgcolor="#999999"><td colspan=3></td></tr>'; + $rs->Siguiente(); + } + echo '</TABLE>'; + } +} +?> +<br> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotones.php"); +//________________________________________________________________________________________________________ + +//________________________________________________________________________________________________________ +include_once("../includes/iframecomun.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? $cmd->Conexion->Cerrar(); // Cierra la conexión ?> +<? +/****************************************************************** + Devuelve una objeto comando totalmente operativo (con la conexión abierta) + Parametros: + - cadenaconexion: Una cadena con los datos necesarios para la conexión: nombre del servidor + usuario,password,base de datos,etc separados por coma +---------------------------------------------------------------------------------------------*/ +function CreaComando($cadenaconexion){ + $strcn=split(";",$cadenaconexion); + $cn=new Conexion; + $cmd=new Comando; + $cn->CadenaConexion($strcn[0],$strcn[1],$strcn[2],$strcn[3],$strcn[4]); + if (!$cn->Abrir()) return (false); + $cmd->Conexion=&$cn; + return($cmd); +} +/* ------------------------------------------------------------------------------------------- + Crea la etiqueta html <SELECT> de cualquier tabla + Parametros: + - cmd:Una comando ya operativo (con conexión abierta) + - nombretabla: El nombre de la tabla origen de los datos + - identificador: Un identificador de la tabla ( el que aparecerá seleccionado) + - nombreid: El nombre del identificador de la tabla + - nombreliteral: El nombre del literal de la tabla + - largo: longitud del desplegable +---------------------------------------------------------------------------------------------*/ +function HTMLSELECT($cmd,$nombretabla,$identificador,$nombreid,$nombreliteral,$largo){ + $SelectHtml=""; + $rs=new Recordset; + $cmd->texto='SELECT * FROM '.$nombretabla.' WHERE '. $nombreid.'='.$identificador.' ORDER BY '.$nombreliteral; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $SelectHtml.= '<SELECT class="formulariodatos" name="'.$nombreid.'" style="WIDTH: '.$largo.'">'; + $SelectHtml.= ' <OPTION value="0"></OPTION>'; + $rs->Primero(); + while (!$rs->EOF){ + $SelectHtml.='<OPTION value="'.$rs->campos[$nombreid].'"'; + If ($rs->campos[$nombreid]==$identificador) $SelectHtml.= ' selected ' ; + $SelectHtml.= '>'.$rs->campos[$nombreliteral].'</OPTION>'; + $rs->Siguiente(); + }$SelectHtml.= '</SELECT>'; + $rs->Cerrar(); + return($SelectHtml); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/principal/configuraciones.php b/admin/WebConsole/principal/configuraciones.php new file mode 100644 index 00000000..c49c3a6d --- /dev/null +++ b/admin/WebConsole/principal/configuraciones.php @@ -0,0 +1,341 @@ +<? +// ************************************************************************************************************************************************* +// 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: configuraciones.php +// Descripción : +// Muestra la configuración de las particiones de los ordenadores de un aula +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/comunes.php"); +include_once("../includes/constantes.php"); +include_once("../includes/ConfiguracionesParticiones.php"); +include_once("../idiomas/php/".$idioma."/configuraciones_".$idioma.".php"); +//________________________________________________________________________________________________________ +// +// Captura parámetros +//________________________________________________________________________________________________________ + +$ambito=0; +$idambito=0; +$swp=0; // Switch que indica si viene de las propiedades de ordenadores +// Agrupamiento por defecto +$fk_sysFi=0; +$fk_nombreSO=0; +$fk_tamano=0; +$fk_imagen=0; +$fk_perfil=0; + +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; +if (isset($_GET["swp"])) $swp=$_GET["swp"]; + +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + +if (isset($_POST["fk_sysFi"])) $fk_sysFi=$_POST["fk_sysFi"]; +if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"]; +if (isset($_POST["fk_tamano"])) $fk_tamano=$_POST["fk_tamano"]; +if (isset($_POST["fk_imagen"])) $fk_imagen=$_POST["fk_imagen"]; +if (isset($_POST["fk_perfil"])) $fk_perfil=$_POST["fk_perfil"]; + +//________________________________________________________________________________________________________ + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +</HEAD> +<BODY> +<? + switch($ambito){ + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + } + if(!$swp){ + echo '<p align=center><span class=cabeceras>'.$TbMsg[0].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[1].' + : '.$textambito.'</U></span> </span></p>'; + } + + switch($ambito){ + case $AMBITO_AULAS : + $resul=datosAulas($cmd,$idambito); + break; + case $AMBITO_GRUPOSORDENADORES : + $resul=datosGruposOrdenadores($cmd,$idambito); + break; + case $AMBITO_ORDENADORES : + if(!$swp) + $resul=datosOrdenadores($cmd,$idambito); + break; + } + if($ambito!=$AMBITO_ORDENADORES){ + ?> + <P align=center><SPAN align=center class=subcabeceras><? echo $TbMsg[19]?></SPAN></P> + <FORM action="configuraciones.php" name="fdatos" method="POST"> + <INPUT type="hidden" name="idambito" value="<? echo $idambito?>"> + <INPUT type="hidden" name="ambito" value="<? echo $ambito?>"> + <TABLE class="tabla_busquedas" align=center border=0 cellPadding=0 cellSpacing=0> + <TR> + <TH height=15 align="center" colspan=14><? echo $TbMsg[18]?></TH> + </TR> + <TR> + <TD align=right><? echo $TbMsg[30]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_sysFi?>" name="fk_sysFi" <? if($fk_sysFi==$msk_sysFi) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + <TD align=right><? echo $TbMsg[31]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_nombreSO?>" name="fk_nombreSO" <? if($fk_nombreSO==$msk_nombreSO) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + <TD align=right><? echo $TbMsg[32]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_tamano?>" name="fk_tamano" <? if($fk_tamano==$msk_tamano) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + <TD align=right><? echo $TbMsg[33]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_imagen?>" name="fk_imagen" <? if($fk_imagen==$msk_imagen) echo " checked "?>></TD> + <TD width="20" align=center> </TD> + <TD align=right><? echo $TbMsg[34]?></TD> + <TD align=center><INPUT type="checkbox" value="<? echo $msk_perfil?>" name="fk_perfil" <? if($fk_perfil==$msk_perfil) echo " checked "?>></TD> + </TR> + <TR> + <TD height=2 style="BORDER-TOP:#999999 1px solid;" align="center" colspan=14> </TD> + </TR> + <TR> + <TD height=20 align="center" colspan=14> + <A href=#> + <IMG border=0 src="../images/boton_confirmar.gif" onclick="document.fdatos.submit()"></A></TD> + </TR> + </TABLE> + </FORM> +<? + } + $sws=$fk_sysFi | $fk_nombreSO | $fk_tamano | $fk_imagen | $fk_perfil; + pintaConfiguraciones($cmd,$idambito,$ambito,7,$sws,false); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Descripción: +// Crea una taba html con las especificaciones de particiones de un ambito ya sea ordenador, +// grupo de ordenadores o aula +// Parametros: +// $configuraciones: Cadena con las configuraciones de particioners del ámbito. El formato +// sería una secuencia de cadenas del tipo "clave de configuración" separados por "@" +// Ejemplo:1;7;30000000;3;3;0;@2;130;20000000;5;4;0;@3;131;1000000;0;0;0;0 +//________________________________________________________________________________________________________ +function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) +{ + global $tbKeys; // Tabla contenedora de claves de configuración + global $conKeys; // Contador de claves de configuración + global $TbMsg; + + $colums=7; + echo '<TR height=16>'; + echo '<TH align=center> '.$TbMsg[20].' </TH>'; // Número de partición + echo '<TH align=center> '.$TbMsg[24].' </TH>'; // Tipo de partición + echo '<TH align=center> '.$TbMsg[27].' </TH>'; // Sistema de ficheros + echo '<TH align=center> '.$TbMsg[21].' </TH>'; // Sistema Operativo Instalado + echo '<TH align=center> '.$TbMsg[22].' </TH>'; // Tamaño + echo '<TH align=center> '.$TbMsg[25].' </TH>'; // Imagen instalada + echo '<TH align=center> '.$TbMsg[26].' </TH>'; // Perfil software + echo '</TR>'; + + $auxCfg=split("@",$configuraciones); // Crea lista de particiones + for($i=0;$i<sizeof($auxCfg);$i++){ + $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion + for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición + if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas + echo'<TR height=16>'.chr(13); + echo'<TD align=center> '.$tbKeys[$k]["numpar"].' </TD>'.chr(13); + echo'<TD align=center> '.$tbKeys[$k]["tipopar"].' </TD>'.chr(13); + + //echo'<TD align=center> '.$tbKeys[$k]["sistemafichero"].' </TD>'.chr(13); + echo'<TD align=center> '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + //echo '<TD> '.$tbKeys[$k]["nombreso"].' </TD>'.chr(13); + echo '<TD align=center> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + //echo'<TD align=rigth> '.formatomiles($tbKeys[$k]["tamano"]).' </TD>'.chr(13); + echo'<TD align=center> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + //echo'<TD> '.$tbKeys[$k]["imagen"].' </TD>'.chr(13); + echo'<TD align=center> '.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + //echo'<TD> '.$tbKeys[$k]["perfilsoft"].' </TD>'.chr(13); + echo'<TD align=center> '.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + + echo'</TR>'.chr(13); + break; + } + } + } + echo '<TR height=5><TD colspan='.$colums.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;"> </TD></TR>'; +} +//________________________________________________________________________________________________________ +function datosAulas($cmd,$idaula) +{ + global $TbMsg; + + $cmd->texto="SELECT DISTINCT aulas.*,count(*) as numordenadores + FROM aulas + INNER JOIN ordenadores ON ordenadores.idaula=aulas.idaula + WHERE aulas.idaula=".$idaula; + $rs=new Recordset; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + if (!$rs->EOF){ + $nombreaula=$rs->campos["nombreaula"]; + $urlfoto=$rs->campos["urlfoto"]; + $cagnon=$rs->campos["cagnon"]; + $pizarra=$rs->campos["pizarra"]; + $ubicacion=$rs->campos["ubicacion"]; + $comentarios=$rs->campos["comentarios"]; + $puestos=$rs->campos["puestos"]; + $ordenadores=$rs->campos["numordenadores"]; + } + $rs->Cerrar(); + } +?> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <? + echo '<TD>'. $nombreaula.'</TD>'; + echo '<TH align=center> '.$TbMsg[7].' </TH>'; + echo '<TD><INPUT class="formulariodatos" name=cagnon type=checkbox '; + if ($cagnon) echo ' checked '; + echo '></TD>'; + ?> + <TD valign=top align=center rowspan=3> + <IMG border=3 style="border-color:#63676b" + src="<? if ($urlfoto=="") echo "../images/aula.jpg"; else echo $urlfoto;?>"> + <BR><center> <? echo $TbMsg[13].': '. $ordenadores?></center></TD> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TH> + <? + echo '<TD>'.$ubicacion.'</TD>'; + ?> + <TH align=center> <?echo $TbMsg[8]?> </TD> + <? + echo '<TD><INPUT class="formulariodatos" name=pizarra type=checkbox '; + if ($pizarra) echo ' checked '; + echo '></TD>'; + ?> + </TR> + <TR> + <TH align=center ><?echo $TbMsg[9]?> </TD> + <? + echo '<TD>'.$puestos.'</TD>'; + ?> + <TH align=center> <?echo $TbMsg[11]?> </TD> + <? + echo '<TD>'.$comentarios.'</TD>'; + ?> + </TR> + </TABLE> +<? +} +//________________________________________________________________________________________________________ +function datosOrdenadores($cmd,$idordenador) +{ + global $TbMsg; + + $cmd->texto="SELECT nombreordenador,ip,mac,perfileshard.descripcion as perfilhard + FROM ordenadores + INNER JOIN perfileshard ON perfileshard.idperfilhard=ordenadores.idperfilhard + WHERE ordenadores.idordenador=".$idordenador; + $rs=new Recordset; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + if (!$rs->EOF){ + $nombreordenador=$rs->campos["nombreordenador"]; + $ip=$rs->campos["ip"]; + $mac=$rs->campos["mac"]; + $perfilhard=$rs->campos["perfilhard"]; + } + $rs->Cerrar(); + } +?> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TH align=center> <?echo $TbMsg[14]?> </TD> + <? echo '<TD>'.$nombreordenador.'</TD>';?> + <TD colspan=2 valign=top align=left rowspan=4><IMG border=2 style="border-color:#63676b" src="../images/fotoordenador.gif"></TD> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[15]?> </TD> + <?echo '<TD>'.$ip.'</TD>';?> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[16]?> </TD> + <? echo '<TD>'.$mac.'</TD>';?> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[17]?> </TD> + <? echo '<TD>'.$perfilhard.'</TD>';?> + </TR> + <TR> + </TABLE> +<? +} +?> +<? +//________________________________________________________________________________________________________ +function datosGruposOrdenadores($cmd,$idgrupo) +{ + global $TbMsg; + + $cmd->texto="SELECT DISTINCT gruposordenadores.*,count(*) as numordenadores + FROM gruposordenadores + INNER JOIN ordenadores ON ordenadores.grupoid=gruposordenadores.idgrupo + WHERE gruposordenadores.idgrupo=".$idgrupo; + $rs=new Recordset; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + if (!$rs->EOF){ + $nombregrupoordenador=$rs->campos["nombregrupoordenador"]; + $ordenadores=$rs->campos["numordenadores"]; + } + $rs->Cerrar(); + } +?> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <? + echo '<TD>'.$nombregrupoordenador.'</TD> + <TD colspan=2 valign=top align=center rowspan=2> + <IMG border=3 style="border-color:#63676b" src="../images/aula.jpg"><br> + <center> '.$TbMsg[13].': '. $ordenadores.'</center> + </TD>'; + + ?> + </TR> + </TABLE> +<? +} +?> + diff --git a/admin/WebConsole/principal/consolaremota.php b/admin/WebConsole/principal/consolaremota.php new file mode 100644 index 00000000..72dd24c5 --- /dev/null +++ b/admin/WebConsole/principal/consolaremota.php @@ -0,0 +1,143 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: consolaremota.php +// Descripción : +// Crea una consola remota para escribir comandos de la shell de forma remota +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/consolaremota_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//___________________________________________________________________________________________________ +$idambito=""; +$litambito=""; +$nomambito=""; +$ambito=""; +$sw=0; // Controla priemas y segundas llamadas al cliente (ejecución previa o sólo eco) + +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["litambito"])) $litambito=$_GET["litambito"]; +if (isset($_GET["nomambito"])) $nomambito=$_GET["nomambito"]; +if (isset($_GET["sw"])) $sw=$_GET["sw"]; + +/* Tamaño del textarea de código */ +$cols="95"; +$rows="10"; +switch($litambito){ + case $LITAMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + $ambito=$AMBITO_CENTROS; + break; + case $LITAMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + $ambito=$AMBITO_GRUPOSAULAS; + break; + case $LITAMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + $ambito=$AMBITO_AULAS; + break; + case $LITAMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + $ambito=$AMBITO_GRUPOSORDENADORES; + break; + case $LITAMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + $ambito=$AMBITO_ORDENADORES; + break; + } + +//___________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +</HEAD> +<BODY> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/consolaremota.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/consolaremota_'.$idioma.'.js"></SCRIPT>'?> + + <FORM name="fdatos"> + <INPUT type=hidden name="idambito" value=<?echo $idambito?>> + <INPUT type=hidden name="litambito" value=<?echo $litambito?>> + <INPUT type=hidden name="ambito" value=<?echo $ambito?>> + <INPUT type=hidden name="nomambito" value=<?echo $nomambito?>> + </FORM> + + <P align=center class=cabeceras><?echo $TbMsg[7]?><BR> + <SPAN align=center class=subcabeceras> + <IMG src="<? echo $urlimg?>"> <?echo $textambito.": ".$nomambito?></SPAN></P> + <TABLE align=center border="0" cellpadding="0" cellspacing="1"> + <TR> + <TD align=center class="presentaciones"><? echo $TbMsg[11]?></TD></TR> + + <? + if($sw==1){ // caja para código del script + echo '<TR> + <TD align=center><textarea onfocus="conmuta(\'hidden\');" class="cajacomandos" name id="comando" cols="'.$cols.'" + rows="'.$rows.'"></textarea></TD></TR> + <TR> + <TD align=center> + <BR><IMG border=0 style="cursor:pointer" src="../images/boton_confirmar.gif" + onclick="confirmar()"></TD></TR>'; + } + if($ambito==$AMBITO_ORDENADORES) //Mensaje de espera + $msg=$TbMsg[14]; + else + $msg=$TbMsg[15]; + echo '<TR><TD align=center>'; + // Layer de las notificaciones de envío + echo '<DIV id="layer_aviso" align=center style="visibility:hidden">'; + echo '<BR>'; + echo '<SPAN align=center class="marco"> '.$msg.' </SPAN>'; + echo '</DIV>'; + echo '</TD></TR>'; + if($ambito==$AMBITO_ORDENADORES){ // Nota al pie + echo '<TR> + <TD align=center class="presentaciones">'.$TbMsg[12].'</TD></TR>'; + echo '<TR> + <TD align=center>'; + echo ' <div id="diveco" class="marco" align=left style="width:700px;height:400px;overflow:scroll"></div>'; + echo ' </TD> + </TR>'; + } + ?> + </TABLE> +<? + if($ambito!=$AMBITO_ORDENADORES){ // Nota al pie + echo '<DIV id="Layer_nota" align=center>'; + echo '<BR>'; + echo '<SPAN align=center class=notas><I><b>'.$TbMsg[13].'</b></I></SPAN>'; + echo '</DIV>'; + + } +?> +<SCRIPT language="javascript"> + <? + if($sw==2){ // Llama a eco + echo 'sw=2;'; + echo 'enviaMsg();'; + } + ?> +</SCRIPT> + +</BODY> +</HTML> diff --git a/admin/WebConsole/principal/ecoconsola.php b/admin/WebConsole/principal/ecoconsola.php new file mode 100644 index 00000000..e5722678 --- /dev/null +++ b/admin/WebConsole/principal/ecoconsola.php @@ -0,0 +1,81 @@ +<? +// ************************************************************************************************************************************************* +// 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: sondeo.php +// Descripción : +// Consulta el eco de los clientes a traqvés de la consola remota +// ************************************************************************************************************************************************* + include_once("../includes/ctrlacc.php"); + include_once("../clases/SockHidra.php"); + include_once("../clases/AdoPhp.php"); + include_once("../includes/constantes.php"); + include_once("../includes/comunes.php"); + include_once("../includes/CreaComando.php"); + include_once("../includes/RecopilaIpesMacs.php"); + //________________________________________________________________________________________________________ + $ambito=0; + $idambito=0; + $sw=0; // Swich para conmutar entre sondeo a clientes o sólo consulta a la tabla de sockets + + if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; + if (isset($_POST["comando"])) $comando=$_POST["comando"]; + if (isset($_POST["sw"])) $sw=$_POST["sw"]; + //________________________________________________________________________________________________________ + $cmd=CreaComando($cadenaconexion); + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. + //________________________________________________________________________________________________________ + switch($sw){ + case 1: // Envío del código de scrip + $funcion="nfn=ConsolaRemota".chr(13); + $atributos="scp=".rawurlencode($comando).chr(13); + break; + case 2: // Recupera el archivo de eco + $funcion="nfn=EcoConsola".chr(13); // Nombre de la función que procesa la petición + $atributos=chr(13); + } + $aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por "," + $acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento + //________________________________________________________________________________________________________ + // Ámbito de aplicación de la petición + //________________________________________________________________________________________________________ + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + + RecopilaIpesMacs($cmd,$ambito,$idambito); // Ámbito de aplicación + $aplicacion="ido=".$cadenaid.chr(13)."iph=".$cadenaip.chr(13); + //________________________________________________________________________________________________________ + // Envio al servidor de la petición + //________________________________________________________________________________________________________ + $resul=false; + $trama=""; + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $parametros=$funcion.$aplicacion.$atributos.$acciones; + $resul=$shidra->envia_peticion($parametros); + if($resul) + $trama=$shidra->recibe_respuesta(); + $shidra->desconectar(); + } + if($resul){ + $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); + $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); + $ValorParametros=extrae_parametros($parametros,chr(13),'='); + switch($sw){ + case 1: // Envío del código de scrip + $trama_notificacion=$ValorParametros["res"]; + echo $trama_notificacion; // Devuelve respuesta + break; + case 2: // Recupera el archivo de eco + $trama_notificacion=$ValorParametros["res"]; + echo $trama_notificacion; // Devuelve respuesta + } + + } + +?> diff --git a/admin/WebConsole/principal/ecoremoto.php b/admin/WebConsole/principal/ecoremoto.php new file mode 100644 index 00000000..4c9a656e --- /dev/null +++ b/admin/WebConsole/principal/ecoremoto.php @@ -0,0 +1,92 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2010 +// Fecha Última modificación: Marzo-2010 +// Nombre del fichero: ecoremoto.php +// Descripción : +// Crea una consola remota para escribir comandos de la shell de forma remota +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/ecoremoto_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//___________________________________________________________________________________________________ +$idambito=""; +$litambito=""; +$nomambito=""; + +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["litambito"])) $litambito=$_GET["litambito"]; +if (isset($_GET["nomambito"])) $nomambito=$_GET["nomambito"]; +//___________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Eco-<? echo $nomambito?></TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +</HEAD> +<BODY> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/ecoremoto.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> +<SCRIPT language="javascript"> +//______________________________________________________________________________________________________ +</SCRIPT> + <FORM name="fdatos" action="shellconsola.php"> + <INPUT type=hidden name="idambito" value=<?echo $idambito?>> + <INPUT type=hidden name="litambito" value=<?echo $litambito?>> + <INPUT type=hidden name="nomambito" value=<?echo $nomambito?>> + </FORM> + +<? +switch($litambito){ + case $LITAMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $LITAMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $LITAMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $LITAMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $LITAMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } +?> + <P align=center class=cabeceras><?echo $TbMsg[7]?><BR> + <SPAN align=center class=subcabeceras> + <IMG src="<? echo $urlimg?>"> <?echo $textambito.": ".$nomambito?></SPAN></P> + <DIV id="Layer_nota" align=center > + <BR> + <SPAN align=center class=notas><I><?echo $TbMsg[8]?></I></SPAN> + + <table align=center border="0" cellpadding="0" cellspacing="1"> + <tr><td class="presentaciones">Salida</td></tr> + <tr><td> + <div id="diveco" class="marco" align=left style="width:700px;height:500px;overflow:scroll"><P><? echo $TbMsg[11]?></P></div> + </td></tr> + </table> + </DIV> + +<SCRIPT language="javascript"> + enviaping(); +</SCRIPT> +</BODY> +</HTML> diff --git a/admin/WebConsole/principal/hardwares.php b/admin/WebConsole/principal/hardwares.php new file mode 100644 index 00000000..734d282f --- /dev/null +++ b/admin/WebConsole/principal/hardwares.php @@ -0,0 +1,637 @@ +<? +// ************************************************************************************************************************************************* +// 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: hardwares.php +// Descripción : +// Administra el hardware de los ordenadores de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/hardwares_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos los datos del Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/hardwares.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/hardwares_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de tipos de hardware +$XMLcontextual=CreacontextualXMLTipos_Hardware(); + echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLTipoHardware(); +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de componentes hardware +$XMLcontextual=CreacontextualXMLComponentes_Hardware(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposComponentes(); // Grupos de componentes +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLComponente_Hardware(); // Componentes + echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de perfiles hardware +$XMLcontextual=CreacontextualXMLPerfiles_Hardware(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposPerfiles(); // Grupos de perfiles +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLPerfil_Hardware(); // Perfiles + echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML de toda la informaci� del hardware registrado en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexiónabierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro){ + global $TbMsg; + $cadenaXML='<HARDWARES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/confihard.gif"'; + $cadenaXML.=' nodoid=RaizHardwares'; + $cadenaXML.=' infonodo="Hardware"'; + $cadenaXML.='>'; + $cadenaXML.='<TIPOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[18]; + $cadenaXML.=' nodoid=RaizTipoHardwares'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_RaizTipoHardwares'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_TiposHardwares($cmd); + $cadenaXML.='</TIPOS>'; + $cadenaXML.='<COMPONENTES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[19]; + $cadenaXML.=' nodoid=RaizComponentesHardwares'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_RaizComponentesHardwares'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_componenteshard($cmd,$idcentro,0); + $cadenaXML.='</COMPONENTES>'; + $cadenaXML.='<PERFILES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[20]; + $cadenaXML.=' nodoid=RaizPerfilesHardwares'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_RaizPerfilesHardwares'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_perfileshard($cmd,$idcentro,0); + $cadenaXML.='</PERFILES>'; + $cadenaXML.='</HARDWARES>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_TiposHardwares($cmd){ + global $LITAMBITO_TIPOHARDWARES; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idtipohardware,descripcion,urlimg FROM tipohardwares order by descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<TIPOHARDWARES'; + // Atributos + if ($rs->campos["urlimg"]!="") + $cadenaXML.=' imagenodo="'.$rs->campos["urlimg"].'"'; + else + $cadenaXML.=' imagenodo="../images/iconos/confihard.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_TIPOHARDWARES."'" .')"'; + $cadenaXML.=' nodoid='.$LITAMBITO_TIPOHARDWARES.'-'.$rs->campos["idtipohardware"]; + + $cadenaXML.='>'; + $cadenaXML.='</TIPOHARDWARES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_componenteshard($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSCOMPONENTESHARD; + global $AMBITO_GRUPOSCOMPONENTESHARD; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSCOMPONENTESHARD." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSCOMPONENTESHARD'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSCOMPONENTESHARD."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSCOMPONENTESHARD.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_componenteshard($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSCOMPONENTESHARD>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_ComponentesHardwares($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_ComponentesHardwares($cmd,$idcentro,$grupoid){ + global $LITAMBITO_COMPONENTESHARD; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT hardwares.idhardware,hardwares.descripcion,tipohardwares.urlimg FROM hardwares INNER JOIN tipohardwares ON hardwares.idtipohardware=tipohardwares.idtipohardware WHERE idcentro=".$idcentro." AND grupoid=". $grupoid." order by tipohardwares.idtipohardware,hardwares.descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<COMPONENTES'; + // Atributos + if ($rs->campos["urlimg"]!="") + $cadenaXML.=' imagenodo='.$rs->campos["urlimg"]; + else + $cadenaXML.=' imagenodo="../images/iconos/confihard.gif"'; + + + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_COMPONENTESHARD.'-'.$rs->campos["idhardware"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_COMPONENTESHARD."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</COMPONENTES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_perfileshard($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSPERFILESHARD; + global $AMBITO_GRUPOSPERFILESHARD; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSPERFILESHARD." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSPERFILESHARD'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSPERFILESHARD."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSPERFILESHARD.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_perfileshard($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSPERFILESHARD>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_PerfilesHardwares($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_PerfilesHardwares($cmd,$idcentro,$grupoid){ + global $LITAMBITO_PERFILESHARD; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT perfileshard.idperfilhard ,perfileshard.descripcion FROM perfileshard WHERE perfileshard.idcentro=".$idcentro." AND perfileshard.grupoid=". $grupoid; + $cmd->texto.=" ORDER by perfileshard.descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<PERFILESHARDWARES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/perfilhardware.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PERFILESHARD.'-'.$rs->campos["idperfilhard"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PERFILESHARD."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</PERFILESHARDWARES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Mens Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLTipos_Hardware(){ + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_RaizTipoHardwares"'; + $layerXML.=' maxanchu=175'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=240; + $wpages="../propiedades/propiedades_tipohardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confihard.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLTipoHardware(){ + global $LITAMBITO_TIPOHARDWARES; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_TIPOHARDWARES.'"'; + $layerXML.=' maxanchu=165'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=240; + $wpages="../propiedades/propiedades_tipohardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLComponentes_Hardware(){ + global $AMBITO_COMPONENTESHARD; + global $AMBITO_GRUPOSCOMPONENTESHARD; + global $LITAMBITO_GRUPOSCOMPONENTESHARD; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_RaizComponentesHardwares"'; + $layerXML.=' maxanchu=185'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSCOMPONENTESHARD.',' . "'".$LITAMBITO_GRUPOSCOMPONENTESHARD."'" . ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=230; + $wpages="../propiedades/propiedades_componentehardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confihard.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_componentehardwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_COMPONENTESHARD.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposComponentes(){ + global $AMBITO_COMPONENTESHARD; + global $AMBITO_GRUPOSCOMPONENTESHARD; + global $LITAMBITO_GRUPOSCOMPONENTESHARD; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSCOMPONENTESHARD.'"'; + $layerXML.=' maxanchu=195'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSCOMPONENTESHARD.',' ."'".$LITAMBITO_GRUPOSCOMPONENTESHARD."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=230; + $wpages="../propiedades/propiedades_componentehardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confihard.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_componentehardwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_COMPONENTESHARD.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLComponente_Hardware(){ + global $AMBITO_COMPONENTESHARD; + global $LITAMBITO_COMPONENTESHARD; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_COMPONENTESHARD.'"'; + $layerXML.=' maxanchu=145'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_COMPONENTESHARD.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=230; + $wpages="../propiedades/propiedades_componentehardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLPerfiles_Hardware(){ + global $AMBITO_PERFILESHARD; + global $AMBITO_GRUPOSPERFILESHARD; + global $LITAMBITO_GRUPOSPERFILESHARD; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_RaizPerfilesHardwares"'; + $layerXML.=' maxanchu=155'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSPERFILESHARD.',' ."'".$LITAMBITO_GRUPOSPERFILESHARD."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_perfilhardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confihard.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_perfilhardwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_PERFILESHARD.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposPerfiles(){ + global $AMBITO_PERFILESHARD; + global $AMBITO_GRUPOSPERFILESHARD; + global $LITAMBITO_GRUPOSPERFILESHARD; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSPERFILESHARD.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSPERFILESHARD.',' ."'".$LITAMBITO_GRUPOSPERFILESHARD."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_perfilhardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confihard.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_perfilhardwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_PERFILESHARD.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLPerfil_Hardware(){ + global $AMBITO_PERFILESHARD; + global $LITAMBITO_PERFILESHARD; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_PERFILESHARD.'"'; + $layerXML.=' maxanchu=155'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_perfilcomponente()"'; + $layerXML.=' imgitem="../images/iconos/confihard.gif"'; + $layerXML.=' textoitem='.$TbMsg[14]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="muestra_informacion()"'; + $layerXML.=' textoitem='.$TbMsg[15]; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_PERFILESHARD.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[16]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_perfilhardwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[17]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/imagenes.php b/admin/WebConsole/principal/imagenes.php new file mode 100644 index 00000000..ff2f372c --- /dev/null +++ b/admin/WebConsole/principal/imagenes.php @@ -0,0 +1,304 @@ +<? +// ************************************************************************************************************************************************* +// 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: imagenes.php +// Descripción : +// Administra imágenes de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/imagenes_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos las acciones registradas en el Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/imagenes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/imagenes_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de las imágenes + $XMLcontextual=CreacontextualXMLImagenes(); + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=ContextualXMLGruposImagenes(); // Grupos de imágenes + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=CreacontextualXMLImagen(); // Imágenes + echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML con toda la información de las imáges registradas en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexión abierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro){ + global $TbMsg; + global $LITAMBITO_IMAGENES; + $cadenaXML='<RAIZ'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $cadenaXML.=' nodoid=Raiz'.$LITAMBITO_IMAGENES; + $cadenaXML.=' infonodo="'.$TbMsg[9].'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_Raiz".$LITAMBITO_IMAGENES."'".')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_imagenes($cmd,$idcentro,0); + $cadenaXML.='</RAIZ>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_imagenes($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSIMAGENES; + global $AMBITO_GRUPOSIMAGENES; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSIMAGENES." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSIMAGENES'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSIMAGENES."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSIMAGENES.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_imagenes($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSIMAGENES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_Imagenes($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Imagenes($cmd,$idcentro,$grupoid){ + global $LITAMBITO_IMAGENES; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idimagen,descripcion FROM imagenes WHERE idcentro=".$idcentro." AND grupoid=".$grupoid." ORDER BY descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<IMAGEN'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagen.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_IMAGENES.'-'.$rs->campos["idimagen"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_IMAGENES."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</IMAGEN>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Menús Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLImagenes(){ + global $AMBITO_IMAGENES; + global $AMBITO_GRUPOSIMAGENES; + global $LITAMBITO_GRUPOSIMAGENES; + global $LITAMBITO_IMAGENES; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_Raiz'.$LITAMBITO_IMAGENES.'"'; + $layerXML.=' maxanchu=170'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSIMAGENES.',' ."'".$LITAMBITO_GRUPOSIMAGENES."'".')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=300; + $wpages="../propiedades/propiedades_imagenes.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/imagen.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_imagenes.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_IMAGENES.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//__________________________________________________________________________________________ +function ContextualXMLGruposImagenes(){ + global $AMBITO_IMAGENES; + global $AMBITO_GRUPOSIMAGENES; + global $LITAMBITO_GRUPOSIMAGENES; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSIMAGENES.'"'; + $layerXML.=' maxanchu=175'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSIMAGENES.',' ."'".$LITAMBITO_GRUPOSIMAGENES."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=290; + $wpages="../propiedades/propiedades_imagenes.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/imagen.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_imagenes.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_IMAGENES.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//--------------------------------------------------------------------------------------------------------------------------- +function CreacontextualXMLImagen(){ + global $AMBITO_IMAGENES; + global $LITAMBITO_IMAGENES; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_IMAGENES.'"'; + $layerXML.=' maxanchu=150'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + +/* + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_imagenincremental()"'; + $layerXML.=' imgitem="../images/iconos/incremental.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; +*/ + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="muestra_informacion()"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_IMAGENES.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=290; + $wpages="../propiedades/propiedades_imagenes.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/menus.php b/admin/WebConsole/principal/menus.php new file mode 100644 index 00000000..70e12283 --- /dev/null +++ b/admin/WebConsole/principal/menus.php @@ -0,0 +1,307 @@ +<? +// ************************************************************************************************************************************************* +// 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: menus.php +// Descripción : +// Administra los menus de los clientes rembo de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/menus_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos los datos del Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/menus.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/opciones_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/menus_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de los menus +$XMLcontextual=CreacontextualXMLMenus(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposMenus(); // Grupos de menus +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLMenu(); // Menús +echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML con toda la información de los menus iniciales de los clientes rembo de un Centro +// Parametros: +// - cmd:Una comando ya operativo ( con conexión abierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro){ + global $TbMsg; + global $LITAMBITO_MENUS; + $cadenaXML='<MENUS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/menus.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[9]; + $cadenaXML.=' nodoid=Raiz'.$LITAMBITO_MENUS; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_Raiz".$LITAMBITO_MENUS."'".')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_menus($cmd,$idcentro,0); + $cadenaXML.='</MENUS>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_menus($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSMENUS; + global $AMBITO_GRUPOSMENUS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSMENUS." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSMENU'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSMENUS."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSMENUS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_menus($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSMENU>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_Menus($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Menus($cmd,$idcentro,$grupoid){ + global $LITAMBITO_MENUS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idmenu,descripcion FROM menus WHERE idcentro=".$idcentro." AND grupoid=". $grupoid." ORDER BY descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<MENU'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/menu.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_MENUS.'-'.$rs->campos["idmenu"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_MENUS."'" .')"'; + $cadenaXML.=' >'; + $cadenaXML.='</MENU>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Menús Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLMenus(){ + global $AMBITO_MENUS; + global $AMBITO_GRUPOSMENUS; + global $LITAMBITO_GRUPOSMENUS; + global $LITAMBITO_MENUS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_Raiz'.$LITAMBITO_MENUS.'"'; + $layerXML.=' maxanchu=155'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSMENUS.',' . "'".$LITAMBITO_GRUPOSMENUS."'" . ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=480; + $wpages="../propiedades/propiedades_menus.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/menu.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_menus.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_MENUS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposMenus(){ + global $AMBITO_MENUS; + global $AMBITO_GRUPOSMENUS; + global $LITAMBITO_GRUPOSMENUS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSMENUS.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSMENUS.',' ."'".$LITAMBITO_GRUPOSMENUS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=480; + + $wpages="../propiedades/propiedades_menus.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/menu.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_menus.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_MENUS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLMenu(){ + global $AMBITO_MENUS; + global $LITAMBITO_MENUS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_MENUS.'"'; + $layerXML.=' maxanchu=130'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="gestionar_items()"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="muestra_informacion()"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_MENUS.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=480; + + $wpages="../propiedades/propiedades_menus.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/programacionesaulas.php b/admin/WebConsole/principal/programacionesaulas.php new file mode 100644 index 00000000..d83087da --- /dev/null +++ b/admin/WebConsole/principal/programacionesaulas.php @@ -0,0 +1,834 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: programacionesaulas.php +// Descripción : +// Visualiza las reservas pendientes, confirmadas, denegadas y fecha y hora de la reserva +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLCTEMULSELECT.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/clases/Calendario_".$idioma.".php"); +include_once("../idiomas/php/".$idioma."/programacionesaulas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$ambito=""; +$idambito=0; +$nombreambito=""; +$fechainicio=""; +$fechafin=""; +$estadoreserva=""; +$situacion=""; + +if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; +if (isset($_GET["tipocola"])) $tipocola=$_GET["tipocola"]; + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +// Criterios por defecto +if($ambito!="" && $idambito!="" && $nombreambito!="" && $tipocola!=""){ + $wfechainicio=mktime(0, 0, 0, date("m") , date("d"), date("Y")); // Reservas desde un mes anterior + $wfechafin=mktime(0, 0, 0, date("m")+6 , date("d"), date("Y")); + $fechainicio=date("d/m/Y",$wfechainicio); + $fechafin=date("d/m/Y ",$wfechafin); + // Tipos de reservas + switch($tipocola){ + case 0: + $westadoreserva[0]=$RESERVA_CONFIRMADA; + $westadoreserva[1]=$RESERVA_PENDIENTE; + $westadoreserva[2]=$RESERVA_DENEGADA; + + $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";"; + $estadoreserva.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";"; + $estadoreserva.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";"; + break; + case $RESERVA_CONFIRMADA: + $westadoreserva[0]=$RESERVA_CONFIRMADA; + $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";"; + break; + case $RESERVA_PENDIENTE: + $westadoreserva[0]=$RESERVA_PENDIENTE; + $estadoreserva=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";"; + break; + case $RESERVA_DENEGADA: + $westadoreserva[0]=$RESERVA_DENEGADA; + $estadoreserva=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";"; + break; + } + // Estados default + $wsituacion[0]=$RESERVA_PARADA; + $wsituacion[1]=$RESERVA_ACTIVA; + $situacion=$RESERVA_PARADA."=".$LITRESERVA_PARADA.";"; + $situacion.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA.";"; +} +//________________________________________________________________________________________________________ +// Recupera parametros del formulario +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; +if (isset($_POST["fechainicio"])) $fechainicio=$_POST["fechainicio"]; +if (isset($_POST["fechafin"])) $fechafin=$_POST["fechafin"]; + +if (isset($_POST["estadoreserva"])) { + $estadoreserva=$_POST["estadoreserva"]; + $auxP=split(";",$estadoreserva); + $cont=0; + for ($i=0;$i<sizeof($auxP)-1;$i++){ + $dualparam=split("=",$auxP[$i]); + $westadoreserva[$cont++]=$dualparam[0]; + } +} +if (isset($_POST["situacion"])){ + $situacion=$_POST["situacion"]; + $auxP=split(";",$situacion); + $cont=0; + for ($i=0;$i<sizeof($auxP)-1;$i++){ + $dualparam=split("=",$auxP[$i]); + $wsituacion[$cont++]=$dualparam[0]; + } +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/programacionesaulas.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/programacionesaulas_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[12]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[13]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[14]; + break; + case $AMBITO_GRUPOSRESERVAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[30]; + break; +} +echo '<p align=center class=cabeceras><img src="../images/iconos/reservas.gif"> '.$TbMsg[0].' '; +echo '<FORM name="fdatos" action="programacionesaulas.php" method="post">'.chr(13); +// Campos ocultos +echo '<INPUT type=hidden name=ambito value="'.$ambito.'">'; +echo '<INPUT type=hidden name=idambito value="'.$idambito.'">'; +echo '<INPUT type=hidden name=nombreambito value="'.$nombreambito.'">'; +echo '<INPUT type=hidden name=estadoreserva value="'.$estadoreserva.'">'; +echo '<INPUT type=hidden name=situacion value="'.$situacion.'">'; +echo CriteriosBusquedas(); // Opciones de búsqueda +echo '</FORM>'.chr(13); + +echo '<DIV align=center >'; +echo '<span align=center class=subcabeceras><U>'.$TbMsg[11].':'.$textambito.'</U>, '.$nombreambito.'</span> <IMG src="'.$urlimg.'"></span></DIV></p>'; +//________________________________________________________________________________________________________ +// Proceso de selección de reservas +$ClausulaWhere=""; +//________________________________________________________________________________________________________ +// Cuestion identificador del ámbito +$WhereCentroAccion=""; +$WhereCentroAccion='reservas.idcentro='.$idcentro; +$ClausulaWhere.=" AND (".$WhereCentroAccion.")"; + +$cadenaaulas=""; +$cadenareservas=""; +$swa=false; // Para saber que ámbitos se han seleccionado +switch($ambito){ + case $AMBITO_CENTROS : + $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; + RecorreCentro($cmd); + break; + case $AMBITO_GRUPOSAULAS : + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + break; + case $AMBITO_AULAS : + $cmd->texto="SELECT idaula,nombreaula,horaresevfin FROM aulas WHERE idaula=".$idambito; + RecorreAulas($cmd); + break; + case $AMBITO_GRUPOSRESERVAS : + $swa=true; + if(!empty($idambito)){ + $cmd->texto="SELECT idgrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSRESERVAS; + RecorreGruposReservas($cmd); + } + else{ + $cmd->texto="SELECT idgrupo FROM grupos WHERE grupoid=0 AND tipo=".$AMBITO_GRUPOSRESERVAS; + RecorreGruposReservas($cmd); + $cmd->texto="SELECT idreserva FROM reservas WHERE grupoid=0"; + RecorreReservas($cmd); + } + break; +} +if(strlen($cadenaaulas)>0){ + $cadenaaulas=substr($cadenaaulas,0,strlen($cadenaaulas)-1); // Quita la coma + $ClausulaWhere.=" AND aulas.idaula IN(".$cadenaaulas.")"; +} +if(strlen($cadenareservas)>0){ + $cadenareservas=substr($cadenareservas,0,strlen($cadenareservas)-1); // Quita la coma + $ClausulaWhere.=" AND idreserva in(".$cadenareservas.")"; +} +//________________________________________________________________________________________________________ +// Cuestion estado de las reservas ( Confirmadas,Pendientes o Denegadas ) +$WhereEstadosReservas=""; +for($i=0;$i<sizeof($westadoreserva);$i++){ + if (isset($westadoreserva[$i])) + $WhereEstadosReservas.=" reservas.estado=".$westadoreserva[$i]." OR "; +} +if($WhereEstadosReservas!=""){ + $WhereEstadosReservas=substr($WhereEstadosReservas,0,strlen($WhereEstadosReservas)-3); + $ClausulaWhere.=" AND (".$WhereEstadosReservas.")"; +} +//________________________________________________________________________________________________________ +// Cuestion situación de la programación +$WhereSituaciones=""; +for($i=0;$i<sizeof($wsituacion);$i++){ + if (isset($wsituacion[$i])) + $WhereSituaciones.=" programaciones.suspendida=".$wsituacion[$i]." OR "; +} +if($WhereSituaciones!=""){ + $WhereSituaciones=substr($WhereSituaciones,0,strlen($WhereSituaciones)-3); + $ClausulaWhere.=" AND (".$WhereSituaciones.")"; +} +//________________________________________________________________________________________________________ +// Cuestion de fechas +$calendario=new Calendario("tabla_reservas"); + +if(empty($fechainicio)) $fechainicio=date("d/m/Y",mktime(0, 0, 0, date("m") , date("d"), date("Y"))); +if(empty($fechafin)) $fechafin=date("d/m/Y",mktime(0, 0, 0, date("m")+1 , date("d"), date("Y"))); + +$sumahoras=0; +$JDif=0; +$TBfechas=""; +$TOTfechas=""; +$cadenaXML=ProcesoAnual($fechainicio,$fechafin,$swa); +// Creación del árbol +$baseurlimg="../images/tsignos"; // Url de las imágenes de signo +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[0]; +$arbol=new ArbolVistaXml($cadenaXML,0,$baseurlimg,$clasedefault,1,20,270,2,$titulotabla); +$salidaHTML=$arbol->CreaArbolVistaXml(); // Muestra árbol +echo "<BR>"; +echo "<DIV align=center width=100%>"; +echo " <TABLE align=center width=100%>"; +echo " <TR><TD>"; +echo urldecode($salidaHTML); +echo " </TD></TR><TABLE></DIV>"; +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function ProcesoAnual($fechainicio,$fechafin,$swa){ + global $EJECUCION_RESERVA; + global $calendario; + global $cmd; + global $ClausulaWhere; + global $sumahoras; + global $TbMsg; + global $TOTfechas; + global $TBfechas; + global $JDif; + + list($sdia,$smes,$sanno)=split("/",$fechainicio); + $dia_i=(int)$sdia; + $mes_i=(int)$smes; + $anno_i=(int)$sanno; + + list($sdia,$smes,$sanno)=split("/",$fechafin); + $dia_f=(int)$sdia; + $mes_f=(int)$smes; + $anno_f=(int)$sanno; + + $udm=$calendario->dias_meses[(int)$mes_f]; // Último día del mes + if($calendario->bisiesto($anno_f) && $mes_f==2) $udm++; + + $JDif=$calendario->juliana("1/".$mes_i."/".$anno_i); // calcula valor de resta para indices de fechas en tabla de memoria + $JDesde=0; + $JHasta=$calendario->juliana($udm."/".$mes_f."/".$anno_f)-$JDif; + $TOTfechas=""; // tabla en memoria para acumulado de horas por fecha + $TBfechas=""; // tabla en memoria para acumulado de horas por fecha + + $cmd->texto="SELECT SUM(horaresevfin - horaresevini) as sumahoras FROM aulas"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) $sumahoras=0; // Error al abrir recordset + if(!$rs->EOF){ + $sumahoras=$rs->campos["sumahoras"]*60; + } + + //Recorre de fecha inicio a fecha fin + $anno_c=$anno_i; + $mes_c=$mes_i; + + $cadenaXML=""; + + // Calcula el rango de meses dependiendo del intervalo de fechas solicitado + while($anno_c<=$anno_f){ + if($anno_c==$anno_i){ + $mes_c=$mes_i; + if($anno_f>$anno_c) + $mes_t=12; + else + $mes_t=$mes_f; + } + else{ + if($anno_c>$anno_i){ + if($anno_c==$anno_f){ + $mes_c=1; + $mes_t=$mes_f; + } + else{ + $mes_c=1; + $mes_t=12; + } + } + } + $HEXanno=$calendario->numero_annos[$anno_c-2003][1]; // Primera referencia: 2004 + $HEXmeses=0; + $mes_desde=$mes_c; + $mes_hasta=$mes_t; + while($mes_c<=$mes_t){ + $HEXmeses=$HEXmeses | $calendario->nombre_mes[(int)$mes_c][1]; + $mes_c++; + } + // Cadena SQL para seleccionar reservas + $cmd->texto="SELECT programaciones.idprogramacion, programaciones.nombrebloque,programaciones.annos, programaciones.meses, programaciones.diario, programaciones.dias, programaciones.semanas, programaciones.horasini, programaciones.ampmini, programaciones.minutosini, programaciones.horasfin, programaciones.ampmfin, programaciones.minutosfin,"; + $cmd->texto.="trabajos.idtrabajo,tareas.idtarea,trabajos.descripcion AS nombretrabajo,tareas.descripcion AS nombretarea,"; + $cmd->texto.="reservas.idreserva,reservas.descripcion,reservas.solicitante,reservas.email,reservas.estado,reservas.idaula,"; + $cmd->texto.="aulas.horaresevfin ,aulas.horaresevini ,aulas.nombreaula as nombreaula,imagenes.idimagen ,imagenes.descripcion as nombreimagen"; + $cmd->texto.=" FROM reservas"; + $cmd->texto.=" INNER JOIN programaciones ON reservas.idreserva = programaciones.identificador"; + $cmd->texto.=" INNER JOIN aulas ON reservas.idaula = aulas.idaula"; + $cmd->texto.=" LEFT OUTER JOIN imagenes ON reservas.idimagen = imagenes.idimagen"; + $cmd->texto.=" LEFT OUTER JOIN tareas ON reservas.idtarea = tareas.idtarea"; + $cmd->texto.=" LEFT OUTER JOIN trabajos ON reservas.idtrabajo = trabajos.idtrabajo"; + $cmd->texto.=" WHERE (programaciones.tipoaccion = ".$EJECUCION_RESERVA.") ".$ClausulaWhere ; + $cmd->texto.=" AND (programaciones.annos & ".$HEXanno."<>0)"; + $cmd->texto.=" AND (programaciones.meses & ".$HEXmeses."<>0)" ; + $cmd->texto.=" ORDER BY programaciones.annos,programaciones.meses,"; + if($swa) + $cmd->texto.="programaciones.ampmini,programaciones.horasini,programaciones.minutosini"; + else + $cmd->texto.="aulas.idaula,programaciones.ampmini,programaciones.horasini,programaciones.minutosini"; + + $AuxcadenaXML=ListaReservas($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f,$swa); + + $cadenaXML.='<TBANNO '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/reloj.gif"'; + $cadenaXML.=' clickimg="AnnoReserva('.$anno_c.');"'; + $cadenaXML.=' infonodo="%3Cb%3E '.$TbMsg[15].': %3C/b%3E'.$anno_c.'"'; + $cadenaXML.=' nodoid=anno-'.$anno_c; + $cadenaXML.='>'; + $cadenaXML.='<ANNO '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/nada.gif"'; + //___________________________________________________________________________ + $HTMLannos="<TABLE><TR>"; + for ($i=$mes_desde;$i<=$mes_hasta;$i++){ + if($i%7==0) $HTMLannos.="</TR><TR>"; + $HTMLannos.='<TD style="BACKGROUND-COLOR:#FFFFFF" valign=top>'; + $HTMLannos.=$calendario->JMesAnno($i,$anno_c,$JDif,$TOTfechas,$sumahoras); + $HTMLannos.='</TD>'; + } + $HTMLannos.="</TR></TABLE>"; + //___________________________________________________________________________ + $cadenaXML.=' infonodo='.urlencode($HTMLannos); + $cadenaXML.=' nodoid=tablameses-'.$anno_c; + $cadenaXML.=' fondonodo='."#FFFFFF"; + $cadenaXML.='>'; + $cadenaXML.='</ANNO> '; + $cadenaXML.=$AuxcadenaXML; + $cadenaXML.='</TBANNO> '; + + $anno_c++; + } + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function CriteriosBusquedas(){ + global $idcentro; + global $TbMsg; + + global $RESERVA_CONFIRMADA; + global $RESERVA_PENDIENTE; + global $RESERVA_DENEGADA; + global $LITRESERVA_CONFIRMADA; + global $LITRESERVA_PENDIENTE; + global $LITRESERVA_DENEGADA; + + global $RESERVA_PARADA; // reserva momentanemente parada + global $RESERVA_ACTIVA; // Reserva activa + global $LITRESERVA_PARADA; + global $LITRESERVA_ACTIVA; + + global $fechainicio; + global $fechafin; + + global $westadoreserva; + global $wsituacion; + + $HTMLCriterios=""; + $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13); + $HTMLCriterios.='<TR HEIGHT=30>'.chr(13); + $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13); + $HTMLCriterios.='<SPAN align=center style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">_______________ '.$TbMsg[1].' _______________</SPAN>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + + // Desplegable con los tipos de reservas + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.=' <TH align=center> '.$TbMsg[2].' </TH>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $parametros=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.chr(13); + $parametros.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.chr(13); + $parametros.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA; + $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"westadoreserva",$westadoreserva,"estilodesple","chgdesplereservas",100,3).'</TD>'; + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + // Desplegable con los distintos situacion + $HTMLCriterios.='<TD>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.=' <TH align=center> '.$TbMsg[4].' </TH>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $parametros=$RESERVA_PARADA."=".$LITRESERVA_PARADA.chr(13); + $parametros.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA; + $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"wsituacion",$wsituacion,"estilodesple","chgdesplesituacion",100,3).'</TD>'; + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + + // Fechas + $HTMLCriterios.='<TD COLSPAN=2>'.chr(13); + $HTMLCriterios.='<TABLE WIDTH=100% class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TH> '.$TbMsg[7].': </TH>'.chr(13); + $HTMLCriterios.='<TD><INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechainicio" value="'.$fechainicio.'"></TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TH align=right> '.$TbMsg[8].': </TH>'.chr(13); + $HTMLCriterios.='<TD> <INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechafin" value="'.$fechafin.'"></TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + + $HTMLCriterios.='<TR height=5>'.chr(13); + $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13); + $HTMLCriterios.='<SPAN style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">__________________________________________________</SPAN>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + + // Lupa + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD COLSPAN=4>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD>'; + + $HTMLCriterios.='<IMG src="../images/iconos/busquedas.gif" onclick="javascript:fdatos.submit()" style="cursor:hand" alt="Buscar">'; + $HTMLCriterios.='</TD>'; + $HTMLCriterios.='<TD>'; + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'; + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); +$HTMLCriterios.='</TABLE>'; +return($HTMLCriterios); +} +//________________________________________________________________________________________________________ +function ListaReservas($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f,$swa){ + global $calendario; + global $JDif; + global $TBfechas; + global $TOTfechas; + global $sumahoras; + global $TbMsg; + + $cadenaXML=""; + + $udm=$calendario->dias_meses[(int)$mes_hasta]; // Último día del mes + if($calendario->bisiesto($anno_f) && $mes_hasta==2) $udm++; + $fechaminima=mktime(0, 0, 0, $mes_i, 1, $anno_i); + $fechamaxima=mktime(0, 0, 0, $mes_f,$udm, $anno_f); + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + $gidaula=0; + + if($swa) + $wsumahoras=$sumahoras; + + // Recorre reservas + while (!$rs->EOF){ + if(!$swa){ + if($gidaula!=$rs->campos["idaula"]){ + $wsumahoras=($rs->campos["horaresevfin"]-$rs->campos["horaresevini"])*60;; + if($gidaula>0) + $cadenaXML.='</AULA>'; + $gidaula=$rs->campos["idaula"]; + $nombreaula=$rs->campos["nombreaula"]; + $cadenaXML.='<AULA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[24].':%3C/b%3E '.$rs->campos["nombreaula"].'"';; + $cadenaXML.=' nodoid=aula-'.$rs->campos["idaula"]; + $cadenaXML.=' colornodo='."#000000"; + $cadenaXML.=' fondonodo='."#B5DAAD;"; + $cadenaXML.='>'; + } + } + $swr=false; // detecta si la reserva es válida + $TBfechas=""; // tabla en memoria para acumulado de horas por fecha de cada reserva + $cf=$calendario->Fechas($anno_c,$mes_desde,$mes_hasta,$rs->campos["meses"],$rs->campos["diario"],$rs->campos["dias"],$rs->campos["semanas"]); + $fechas_reservas=split(";",$cf); + for ($i=0;$i<sizeof($fechas_reservas)-1;$i++){ + list($auxdia,$auxmes,$auxanno)=split("/",$fechas_reservas[$i]); + $auxfecha=mktime(0, 0, 0, $auxmes,$auxdia, $auxanno); + if($auxfecha>=$fechaminima && $auxfecha<=$fechamaxima){ + $swr=true; + $Jreserva=$calendario->juliana($fechas_reservas[$i]); + $idx=$Jreserva-$JDif; + // Cálculo de los minutos + $sOcupacion=CalculaMinutos($rs); + if (!isset($TBfechas[$idx])) $TBfechas[$idx]=0; + if (!isset($TOTfechas[$idx])) $TOTfechas[$idx]=0; + $TBfechas[$idx]+=$sOcupacion; + $TOTfechas[$idx]+=$sOcupacion; + } + } + if($swr) + $cadenaXML.=TomaReserva($rs,$mes_desde,$mes_hasta,$anno_c,$wsumahoras); + $rs->Siguiente(); + } + if(!$swa){ + if($gidaula>0) + $cadenaXML.='</AULA>'; + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function TomaReserva($rs,$mes_desde,$mes_hasta,$anno_c,$wsumahoras){ + global $TbMsg; + global $calendario; + global $RESERVA_CONFIRMADA; + global $RESERVA_PENDIENTE; + global $RESERVA_DENEGADA; + global $EJECUCION_RESERVA; + global $TBfechas; + global $sumahoras; + global $JDif; + + $AuxcadenaXML=""; + + $tbimg[$RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif'; + $tbimg[$RESERVA_PENDIENTE]='../images/iconos/pendientes.gif'; + $tbimg[$RESERVA_DENEGADA]='../images/iconos/denegadas.gif'; + + $tbampm[0]="a.m."; + $tbampm[1]="p.m."; + + // Descripción de la reserva + $AuxcadenaXML.='<RESERVAS '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/reservas.gif"'; + + // Construye tabla de ocupación + + $AuxcadenaXML.=' infonodo="%3CIMG border=0 src='.$tbimg[$rs->campos["estado"]].'%3E %3Cb%3E'.$rs->campos["descripcion"].' %3C/b%3E'; + $AuxcadenaXML.=' (%3Cb%3E'.$TbMsg[15].":%3C/b%3E".$anno_c.')"'; + + $AuxcadenaXML.=' nodoid=reserva-'.$rs->campos["idreserva"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#EEEECC;"; + $AuxcadenaXML.='>'; + + $AuxcadenaXML.='<OCUPACION '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/nada.gif"'; + //___________________________________________________________________________ + $HTMLannos="<TABLE><TR>"; + for ($i=$mes_desde;$i<=$mes_hasta;$i++){ + if($i%7==0) $HTMLannos.="</TR><TR>"; + $HTMLannos.='<TD style="BACKGROUND-COLOR:#FFFFFF" valign=top>'; + $HTMLannos.=$calendario->JMesAnno($i,$anno_c,$JDif,$TBfechas,$wsumahoras); + $HTMLannos.='</TD>'; + } + $HTMLannos.="</TR></TABLE>"; + //___________________________________________________________________________ + $AuxcadenaXML.=' infonodo='.urlencode($HTMLannos); + $AuxcadenaXML.=' nodoid=opcupacion'; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FFFFFF;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</OCUPACION>'; + +/* + $AuxcadenaXML.='<RESERVA '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[30].':%3C/b%3E "'; + $AuxcadenaXML.=' nodoid=reserva'; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.='>'; +*/ + +// Cuestion Ocupación + $hexhoradesde=$rs->campos["horasini"]; + $minutosdesde=$rs->campos["minutosini"]; + if($minutosdesde==0) $minutosdesde="00"; + $minutosdesde.=" ".$tbampm[$rs->campos["ampmini"]]; + $hexhorahasta=$rs->campos["horasfin"]; + $minutoshasta=$rs->campos["minutosfin"]; + if($minutoshasta==0) $minutoshasta="00"; + $minutoshasta.=" ".$tbampm[$rs->campos["ampmfin"]]; + $cont=0; + while($hexhoradesde>0){ + $cont++; + $hexhoradesde=$hexhoradesde>>1; + } + $horadesde=$cont-1; + $cont=0; + while($hexhorahasta>0){ + $cont++; + $hexhorahasta=$hexhorahasta>>1; + } + $horahasta=$cont-1; + + $mulmin=floor($minutosdesde/15); + $currentminutos=$mulmin*15; + $CntDia[(int)$rs->campos["ampmini"]][(int)$horadesde][(int)$currentminutos]=1; + $mulmin=floor($minutoshasta/15); + $currentminutos=$mulmin*15; + $CntDia[(int)$rs->campos["ampmfin"]][(int)$horahasta][(int)$currentminutos]=0; + + $AuxcadenaXML.='<OCUPACION '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/reloj.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[19].':%3C/b%3E '.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta.'"'; + $AuxcadenaXML.=' nodoid=opcupacion-'.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</OCUPACION>'; + + $idaula=$rs->campos["idaula"]; + $nombreaula=$rs->campos["nombreaula"]; + $AuxcadenaXML.='<AULA '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[24].':%3C/b%3E '.$nombreaula.'"';; + $AuxcadenaXML.=' nodoid=aula-'.$rs->campos["idaula"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</AULA>'; + + $nombreimagen=$rs->campos["nombreimagen"]; + if(empty($nombreimagen) ) $nombreimagen=$TbMsg[23]; + // Descripción de la imagen a restaurar + $AuxcadenaXML.='<IMAGEN '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[20].': %3C/b%3E'.$nombreimagen.'"'; + $AuxcadenaXML.=' nodoid=imagen-'.$rs->campos["idimagen"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</IMAGEN>'; + + $nombretarea=$rs->campos["nombretarea"]; + if(!empty($nombretarea) ){ + // Descripción de la tarea a restaurar + $AuxcadenaXML.='<TAREA '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/tareas.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[28].': %3C/b%3E'.$nombretarea.'"'; + $AuxcadenaXML.=' nodoid=tarea-'.$rs->campos["idtarea"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</TAREA>'; + } + $nombretrabajo=$rs->campos["nombretrabajo"]; + if(!empty($nombretrabajo) ){ + // Descripción del trabajo a restaurar + $AuxcadenaXML.='<TRABAJO '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/trabajos.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[29].': %3C/b%3E'.$nombretrabajo.'"'; + $AuxcadenaXML.=' nodoid=trabajo-'.$rs->campos["idtrabajo"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</TRABAJO>'; + } + $AuxcadenaXML.='<EMAIL '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/email.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[25].':%3C/b%3E '.$rs->campos["solicitante"].' (%3CA href=mailto:'.$rs->campos["email"].'%3E'.$rs->campos["email"].'%3C/A%3E)"'; + $AuxcadenaXML.=' nodoid=email-'.$idaula; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</EMAIL>'; + + + //$AuxcadenaXML.='</RESERVA> '; + $AuxcadenaXML.='</RESERVAS>'; + return($AuxcadenaXML); +} +//________________________________________________________________________________________________________ +function CalculaMinutos($rs){ + $hexhoradesde=$rs->campos["horasini"]; + $hexhorahasta=$rs->campos["horasfin"]; + $cont=0; + while($hexhoradesde>0){ + $cont++; + $hexhoradesde=$hexhoradesde>>1; + } + $shorasini=$cont-1; + $cont=0; + while($hexhorahasta>0){ + $cont++; + $hexhorahasta=$hexhorahasta>>1; + } + $shorasfin=$cont-1; + $sminutosini=$rs->campos["minutosini"]; + $sminutosfin=$rs->campos["minutosfin"]; + if($rs->campos["ampmini"]==1) $shorasini+=12; + if($rs->campos["ampmfin"]==1) $shorasfin+=12; + $socupacion=($shorasfin-$shorasini)*60+($sminutosfin-$sminutosini); + return($socupacion); +} +/*________________________________________________________________________________________________________ + Recorrea los distintos ámbitos +________________________________________________________________________________________________________*/ +function RecorreCentro($cmd){ + global $AMBITO_CENTROS; + global $LITAMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $idambito,$nombreambito; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + if(!$rs->EOF){ + $idcentro=$rs->campos["idcentro"]; + $cmd->texto="SELECT idgrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0"; + RecorreAulas($cmd); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposAulas($cmd){ + global $AMBITO_GRUPOSAULAS; + global $LITAMBITO_GRUPOSAULAS; + + $rs=new Recordset; + $cmd->texto.="ORDER by nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo FROM grupos WHERE grupoid=".$idgrupo ." AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula FROM aulas WHERE grupoid=".$idgrupo; + RecorreAulas($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreAulas($cmd){ + global $AMBITO_AULAS; + global $LITAMBITO_AULAS; + global $cadenaaulas; + + $rs=new Recordset; + $cmd->texto.="ORDER by nombreaula"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idaula=$rs->campos["idaula"]; + $cadenaaulas.=$idaula.","; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposReservas($cmd){ + global $AMBITO_GRUPOSRESERVAS; + global $LITAMBITO_GRUPOSRESERVAS; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo FROM grupos WHERE grupoid=".$idgrupo ." AND tipo=".$AMBITO_GRUPOSRESERVAS; + RecorreGruposReservas($cmd); + $cmd->texto="SELECT idreserva FROM reservas WHERE grupoid=".$idgrupo; + RecorreReservas($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreReservas($cmd){ + global $AMBITO_RESERVAS; + global $LITAMBITO_RESERVAS; + global $cadenareservas; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idreserva=$rs->campos["idreserva"]; + $cadenareservas.=$idreserva.","; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/principal/programacionesreservas.php b/admin/WebConsole/principal/programacionesreservas.php new file mode 100644 index 00000000..02eaddc7 --- /dev/null +++ b/admin/WebConsole/principal/programacionesreservas.php @@ -0,0 +1,715 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: programaciones.php +// Descripción : +// Visualiza las reservas pendientes, confirmadas, denegadas y fecha y hora de la reserva +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLCTEMULSELECT.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/clases/Calendario_".$idioma.".php"); +include_once("../idiomas/php/".$idioma."/programacionesreservas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$ambito=""; +$idambito=0; +$nombreambito=""; +$fechainicio=""; +$fechafin=""; +$estadoreserva=""; +$situacion=""; + +if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; +if (isset($_GET["tipocola"])) $tipocola=$_GET["tipocola"]; + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +// Criterios por defecto +if($ambito!="" && $idambito!="" && $nombreambito!="" && $tipocola!=""){ + $wfechainicio=mktime(0, 0, 0, date("m") , date("d"), date("Y")); // Reservas desde un mes anterior + $wfechafin=mktime(0, 0, 0, date("m")+6 , date("d"), date("Y")); + $fechainicio=date("d/m/Y",$wfechainicio); + $fechafin=date("d/m/Y ",$wfechafin); + // Tipos de reservas + switch($tipocola){ + case 0: + $westadoreserva[0]=$RESERVA_CONFIRMADA; + $westadoreserva[1]=$RESERVA_PENDIENTE; + $westadoreserva[2]=$RESERVA_DENEGADA; + + $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";"; + $estadoreserva.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";"; + $estadoreserva.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";"; + break; + case $RESERVA_CONFIRMADA: + $westadoreserva[0]=$RESERVA_CONFIRMADA; + $estadoreserva=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.";"; + break; + case $RESERVA_PENDIENTE: + $westadoreserva[0]=$RESERVA_PENDIENTE; + $estadoreserva=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.";"; + break; + case $RESERVA_DENEGADA: + $westadoreserva[0]=$RESERVA_DENEGADA; + $estadoreserva=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA.";"; + break; + } + // Estados default + $wsituacion[0]=$RESERVA_PARADA; + $wsituacion[1]=$RESERVA_ACTIVA; + $situacion=$RESERVA_PARADA."=".$LITRESERVA_PARADA.";"; + $situacion.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA.";"; +} +//________________________________________________________________________________________________________ +// Recupera parametros del formulario +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; +if (isset($_POST["fechainicio"])) $fechainicio=$_POST["fechainicio"]; +if (isset($_POST["fechafin"])) $fechafin=$_POST["fechafin"]; + +if (isset($_POST["estadoreserva"])) { + $estadoreserva=$_POST["estadoreserva"]; + $auxP=split(";",$estadoreserva); + $cont=0; + for ($i=0;$i<sizeof($auxP)-1;$i++){ + $dualparam=split("=",$auxP[$i]); + $westadoreserva[$cont++]=$dualparam[0]; + } +} +if (isset($_POST["situacion"])){ + $situacion=$_POST["situacion"]; + $auxP=split(";",$situacion); + $cont=0; + for ($i=0;$i<sizeof($auxP)-1;$i++){ + $dualparam=split("=",$auxP[$i]); + $wsituacion[$cont++]=$dualparam[0]; + } +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/programacionesreservas.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/programacionesreservas_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<? +switch($ambito){ + case $AMBITO_GRUPOSRESERVAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[13]; + break; + case $AMBITO_RESERVAS : + $urlimg='../images/iconos/reservas.gif'; + $textambito=$TbMsg[14]; + break; +} +echo '<p align=center class=cabeceras><img src="../images/iconos/reservas.gif"> '.$TbMsg[0].' '; +echo '<FORM name="fdatos" action="programacionesreservas.php" method="post">'.chr(13); +// Campos ocultos +echo '<INPUT type=hidden name=ambito value="'.$ambito.'">'; +echo '<INPUT type=hidden name=idambito value="'.$idambito.'">'; +echo '<INPUT type=hidden name=nombreambito value="'.$nombreambito.'">'; +echo '<INPUT type=hidden name=estadoreserva value="'.$estadoreserva.'">'; +echo '<INPUT type=hidden name=situacion value="'.$situacion.'">'; +echo CriteriosBusquedas(); // Opciones de búsqueda +echo '</FORM>'.chr(13); + +echo '<DIV align=center >'; +echo '<span align=center class=subcabeceras><U>'.$TbMsg[11].':'.$textambito.'</U>, '.$nombreambito.'</span> <IMG src="'.$urlimg.'"></span></DIV></p>'; + +//________________________________________________________________________________________________________ +// Proceso de selección de reservas +$ClausulaWhere=""; +//________________________________________________________________________________________________________ +// Cuestion identificador del ámbito +$WhereCentroAccion=""; +$WhereCentroAccion='reservas.idcentro='.$idcentro; +$ClausulaWhere.=" AND (".$WhereCentroAccion.")"; + +$cadenareservas=""; +if(!empty($idambito)){ + $cmd->texto="SELECT idgrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSRESERVAS; + RecorreGruposReservas($cmd); +} +else{ + $cmd->texto="SELECT idgrupo FROM grupos WHERE grupoid=0 AND tipo=".$AMBITO_GRUPOSRESERVAS; + RecorreGruposReservas($cmd); + $cmd->texto="SELECT idreserva FROM reservas WHERE grupoid=0"; + RecorreReservas($cmd); +} +if(strlen($cadenareservas)>0){ + $cadenareservas=substr($cadenareservas,0,strlen($cadenareservas)-1); // Quita la coma + $ClausulaWhere.=" AND idreserva in(".$cadenareservas.")"; +} +//________________________________________________________________________________________________________ +// Cuestion estado de las reservas ( Confirmadas,Pendientes o Denegadas ) +$WhereEstadosReservas=""; +for($i=0;$i<sizeof($westadoreserva);$i++){ + if (isset($westadoreserva[$i])) + $WhereEstadosReservas.=" reservas.estado=".$westadoreserva[$i]." OR "; +} +if($WhereEstadosReservas!=""){ + $WhereEstadosReservas=substr($WhereEstadosReservas,0,strlen($WhereEstadosReservas)-3); + $ClausulaWhere.=" AND (".$WhereEstadosReservas.")"; +} +//________________________________________________________________________________________________________ +// Cuestion situación de la programación +$WhereSituaciones=""; +for($i=0;$i<sizeof($wsituacion);$i++){ + if (isset($wsituacion[$i])) + $WhereSituaciones.=" programaciones.suspendida=".$wsituacion[$i]." OR "; +} +if($WhereSituaciones!=""){ + $WhereSituaciones=substr($WhereSituaciones,0,strlen($WhereSituaciones)-3); + $ClausulaWhere.=" AND (".$WhereSituaciones.")"; +} +//________________________________________________________________________________________________________ +// Cuestion de fechas +$calendario=new Calendario("tabla_reservas"); + +if(empty($fechainicio)) $fechainicio=date("d/m/Y",mktime(0, 0, 0, date("m") , date("d"), date("Y"))); +if(empty($fechafin)) $fechafin=date("d/m/Y",mktime(0, 0, 0, date("m")+1 , date("d"), date("Y"))); + +$sumahoras=0; +$JDif=0; +$TBfechas=""; +$TOTfechas=""; +$cadenaXML=ProcesoAnual($fechainicio,$fechafin); +// Creación del árbol +$baseurlimg="../images/tsignos"; // Url de las imágenes de signo +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[0]; +$arbol=new ArbolVistaXml($cadenaXML,0,$baseurlimg,$clasedefault,1,20,270,2,$titulotabla); +$salidaHTML=$arbol->CreaArbolVistaXml(); // Muestra árbol +echo "<BR>"; +echo "<DIV align=center width=100%>"; +echo " <TABLE align=center width=100%>"; +echo " <TR><TD>"; +echo urldecode($salidaHTML); +echo " </TD></TR><TABLE></DIV>"; +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function ProcesoAnual($fechainicio,$fechafin){ + global $EJECUCION_RESERVA; + global $calendario; + global $cmd; + global $ClausulaWhere; + global $sumahoras; + global $TbMsg; + global $TOTfechas; + global $TBfechas; + global $JDif; + + list($sdia,$smes,$sanno)=split("/",$fechainicio); + $dia_i=(int)$sdia; + $mes_i=(int)$smes; + $anno_i=(int)$sanno; + + list($sdia,$smes,$sanno)=split("/",$fechafin); + $dia_f=(int)$sdia; + $mes_f=(int)$smes; + $anno_f=(int)$sanno; + + $udm=$calendario->dias_meses[(int)$mes_f]; // Último día del mes + if($calendario->bisiesto($anno_f) && $mes_f==2) $udm++; + + $JDif=$calendario->juliana("1/".$mes_i."/".$anno_i); // calcula valor de resta para indices de fechas en tabla de memoria + $JDesde=0; + $JHasta=$calendario->juliana($udm."/".$mes_f."/".$anno_f)-$JDif; + $TOTfechas=""; // tabla en memoria para acumulado de horas por fecha + $TBfechas=""; // tabla en memoria para acumulado de horas por fecha + + $cmd->texto="SELECT SUM(horaresevfin - horaresevini) as sumahoras FROM aulas"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) $sumahoras=0; // Error al abrir recordset + if(!$rs->EOF){ + $sumahoras=$rs->campos["sumahoras"]*60; + } + + //Recorre de fecha inicio a fecha fin + $anno_c=$anno_i; + $mes_c=$mes_i; + + $cadenaXML=""; + + // Calcula el rango de meses dependiendo del intervalo de fechas solicitado + while($anno_c<=$anno_f){ + if($anno_c==$anno_i){ + $mes_c=$mes_i; + if($anno_f>$anno_c) + $mes_t=12; + else + $mes_t=$mes_f; + } + else{ + if($anno_c>$anno_i){ + if($anno_c==$anno_f){ + $mes_c=1; + $mes_t=$mes_f; + } + else{ + $mes_c=1; + $mes_t=12; + } + } + } + $HEXanno=$calendario->numero_annos[$anno_c-2003][1]; // Primera referencia: 2004 + $HEXmeses=0; + $mes_desde=$mes_c; + $mes_hasta=$mes_t; + while($mes_c<=$mes_t){ + $HEXmeses=$HEXmeses | $calendario->nombre_mes[(int)$mes_c][1]; + $mes_c++; + } + // Cadena SQL para seleccionar reservas + $cmd->texto="SELECT programaciones.idprogramacion, programaciones.nombrebloque,programaciones.annos, programaciones.meses, programaciones.diario, programaciones.dias, programaciones.semanas, programaciones.horasini, programaciones.ampmini, programaciones.minutosini, programaciones.horasfin, programaciones.ampmfin, programaciones.minutosfin,"; + $cmd->texto.="trabajos.idtrabajo,tareas.idtarea,trabajos.descripcion AS nombretrabajo,tareas.descripcion AS nombretarea,"; + $cmd->texto.="reservas.idreserva,reservas.descripcion,reservas.solicitante,reservas.email,reservas.estado,reservas.idaula,"; + $cmd->texto.="aulas.nombreaula as nombreaula,imagenes.idimagen ,imagenes.descripcion as nombreimagen"; + $cmd->texto.=" FROM reservas"; + $cmd->texto.=" INNER JOIN programaciones ON reservas.idreserva = programaciones.identificador"; + $cmd->texto.=" LEFT OUTER JOIN aulas ON reservas.idaula = aulas.idaula"; + $cmd->texto.=" LEFT OUTER JOIN imagenes ON reservas.idimagen = imagenes.idimagen"; + $cmd->texto.=" LEFT OUTER JOIN tareas ON reservas.idtarea = tareas.idtarea"; + $cmd->texto.=" LEFT OUTER JOIN trabajos ON reservas.idtrabajo = trabajos.idtrabajo"; + $cmd->texto.=" WHERE (programaciones.tipoaccion = ".$EJECUCION_RESERVA.") ".$ClausulaWhere ; + $cmd->texto.=" AND (programaciones.annos & ".$HEXanno."<>0)"; + $cmd->texto.=" AND (programaciones.meses & ".$HEXmeses."<>0)" ; + $cmd->texto.=" ORDER BY programaciones.annos,programaciones.meses,"; + $cmd->texto.=" programaciones.ampmini,programaciones.horasini,programaciones.minutosini"; ; + + $AuxcadenaXML=ListaReservas($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f); + + $cadenaXML.='<TBANNO '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/reloj.gif"'; + $cadenaXML.=' clickimg="AnnoReserva('.$anno_c.');"'; + $cadenaXML.=' infonodo="%3Cb%3E '.$TbMsg[15].': %3C/b%3E'.$anno_c.'"'; + $cadenaXML.=' nodoid=anno-'.$anno_c; + $cadenaXML.='>'; + $cadenaXML.='<ANNO '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/nada.gif"'; + //___________________________________________________________________________ + $HTMLannos="<TABLE><TR>"; + for ($i=$mes_desde;$i<=$mes_hasta;$i++){ + if($i%7==0) $HTMLannos.="</TR><TR>"; + $HTMLannos.='<TD style="BACKGROUND-COLOR:#FFFFFF" valign=top>'; + $HTMLannos.=$calendario->JMesAnno($i,$anno_c,$JDif,$TOTfechas,$sumahoras); + $HTMLannos.='</TD>'; + } + $HTMLannos.="</TR></TABLE>"; + //___________________________________________________________________________ + $cadenaXML.=' infonodo='.urlencode($HTMLannos); + $cadenaXML.=' nodoid=tablameses-'.$anno_c; + $cadenaXML.=' fondonodo='."#FFFFFF"; + $cadenaXML.='>'; + $cadenaXML.='</ANNO> '; + $cadenaXML.=$AuxcadenaXML; + $cadenaXML.='</TBANNO> '; + + $anno_c++; + } + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function CriteriosBusquedas(){ + global $idcentro; + global $TbMsg; + + global $RESERVA_CONFIRMADA; + global $RESERVA_PENDIENTE; + global $RESERVA_DENEGADA; + global $LITRESERVA_CONFIRMADA; + global $LITRESERVA_PENDIENTE; + global $LITRESERVA_DENEGADA; + + global $RESERVA_PARADA; // reserva momentanemente parada + global $RESERVA_ACTIVA; // Reserva activa + global $LITRESERVA_PARADA; + global $LITRESERVA_ACTIVA; + + global $fechainicio; + global $fechafin; + + global $westadoreserva; + global $wsituacion; + + $HTMLCriterios=""; + $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13); + $HTMLCriterios.='<TR HEIGHT=30>'.chr(13); + $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13); + $HTMLCriterios.='<SPAN align=center style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">_______________ '.$TbMsg[1].' _______________</SPAN>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + + // Desplegable con los tipos de reservas + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.=' <TH align=center> '.$TbMsg[2].' </TH>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $parametros=$RESERVA_CONFIRMADA."=".$LITRESERVA_CONFIRMADA.chr(13); + $parametros.=$RESERVA_PENDIENTE."=".$LITRESERVA_PENDIENTE.chr(13); + $parametros.=$RESERVA_DENEGADA."=".$LITRESERVA_DENEGADA; + $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"westadoreserva",$westadoreserva,"estilodesple","chgdesplereservas",100,3).'</TD>'; + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + // Desplegable con los distintos situacion + $HTMLCriterios.='<TD>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.=' <TH align=center> '.$TbMsg[4].' </TH>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $parametros=$RESERVA_PARADA."=".$LITRESERVA_PARADA.chr(13); + $parametros.=$RESERVA_ACTIVA."=".$LITRESERVA_ACTIVA; + $HTMLCriterios.='<TD colspan=3>'.HTMLCTEMULSELECT($parametros,"wsituacion",$wsituacion,"estilodesple","chgdesplesituacion",100,3).'</TD>'; + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + + // Fechas + $HTMLCriterios.='<TD COLSPAN=2>'.chr(13); + $HTMLCriterios.='<TABLE WIDTH=100% class=tabla_standar align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TH> '.$TbMsg[7].': </TH>'.chr(13); + $HTMLCriterios.='<TD><INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechainicio" value="'.$fechainicio.'"></TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TH align=right> '.$TbMsg[8].': </TH>'.chr(13); + $HTMLCriterios.='<TD> <INPUT class="cajatexto" onclick="vertabla_calendario(this)" style="WIDTH:80" name="fechafin" value="'.$fechafin.'"></TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'.chr(13); + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + + $HTMLCriterios.='<TR height=5>'.chr(13); + $HTMLCriterios.='<TD colspan=4 align="center" >'.chr(13); + $HTMLCriterios.='<SPAN style="FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px;COLOR:#5a86b5;FONT-WEIGHT: 700;">__________________________________________________</SPAN>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + + // Lupa + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD COLSPAN=4>'.chr(13); + $HTMLCriterios.='<TABLE class=tabla_busquedas align=center border="0">'.chr(13); + $HTMLCriterios.='<TR>'.chr(13); + $HTMLCriterios.='<TD>'; + + $HTMLCriterios.='<IMG src="../images/iconos/busquedas.gif" onclick="javascript:fdatos.submit()" style="cursor:hand" alt="Buscar">'; + $HTMLCriterios.='</TD>'; + $HTMLCriterios.='<TD>'; + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); + $HTMLCriterios.='</TABLE>'; + $HTMLCriterios.='</TD>'.chr(13); + $HTMLCriterios.='</TR>'.chr(13); +$HTMLCriterios.='</TABLE>'; +return($HTMLCriterios); +} +//________________________________________________________________________________________________________ +function ListaReservas($cmd,$anno_c,$mes_desde,$mes_hasta,$dia_i,$dia_f,$mes_i,$mes_f,$anno_i,$anno_f){ + global $calendario; + global $JDif; + global $TBfechas; + global $TOTfechas; + global $sumahoras; + global $TbMsg; + + $cadenaXML=""; + + $udm=$calendario->dias_meses[(int)$mes_hasta]; // Último día del mes + if($calendario->bisiesto($anno_f) && $mes_hasta==2) $udm++; + $fechaminima=mktime(0, 0, 0, $mes_i, 1, $anno_i); + $fechamaxima=mktime(0, 0, 0, $mes_f,$udm, $anno_f); + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + // Recorre reservas + while (!$rs->EOF){ + $swr=false; // detecta si la reserva es válida + $TBfechas=""; // tabla en memoria para acumulado de horas por fecha de cada reserva + $cf=$calendario->Fechas($anno_c,$mes_desde,$mes_hasta,$rs->campos["meses"],$rs->campos["diario"],$rs->campos["dias"],$rs->campos["semanas"]); + $fechas_reservas=split(";",$cf); + for ($i=0;$i<sizeof($fechas_reservas)-1;$i++){ + list($auxdia,$auxmes,$auxanno)=split("/",$fechas_reservas[$i]); + $auxfecha=mktime(0, 0, 0, $auxmes,$auxdia, $auxanno); + if($auxfecha>=$fechaminima && $auxfecha<=$fechamaxima){ + $swr=true; + $Jreserva=$calendario->juliana($fechas_reservas[$i]); + $idx=$Jreserva-$JDif; + // Cálculo de los minutos + $sOcupacion=CalculaMinutos($rs); + if (!isset($TBfechas[$idx])) $TBfechas[$idx]=0; + if (!isset($TOTfechas[$idx])) $TOTfechas[$idx]=0; + $TBfechas[$idx]+=$sOcupacion; + $TOTfechas[$idx]+=$sOcupacion; + } + } + if($swr) + $cadenaXML.=TomaReserva($rs,$mes_desde,$mes_hasta,$anno_c); + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function TomaReserva($rs,$mes_desde,$mes_hasta,$anno_c){ + global $TbMsg; + global $calendario; + global $RESERVA_CONFIRMADA; + global $RESERVA_PENDIENTE; + global $RESERVA_DENEGADA; + global $EJECUCION_RESERVA; + global $TBfechas; + global $sumahoras; + global $JDif; + + $AuxcadenaXML=""; + + $tbimg[$RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif'; + $tbimg[$RESERVA_PENDIENTE]='../images/iconos/pendientes.gif'; + $tbimg[$RESERVA_DENEGADA]='../images/iconos/denegadas.gif'; + + $tbampm[0]="a.m."; + $tbampm[1]="p.m."; + + // Descripción de la reserva + $AuxcadenaXML.='<RESERVAS '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/reservas.gif"'; + + // Construye tabla de ocupación + + $AuxcadenaXML.=' infonodo="%3CIMG src='.$tbimg[$rs->campos["estado"]].'%3E %3Cb%3E'.$rs->campos["descripcion"].' %3C/b%3E'; + $AuxcadenaXML.=' (%3Cb%3E'.$TbMsg[15].":%3C/b%3E".$anno_c.')"'; + + $AuxcadenaXML.=' nodoid=reserva-'.$rs->campos["idreserva"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#EEEECC;"; + $AuxcadenaXML.='>'; + + $AuxcadenaXML.='<OCUPACION '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/nada.gif"'; + //___________________________________________________________________________ + $HTMLannos="<TABLE><TR>"; + for ($i=$mes_desde;$i<=$mes_hasta;$i++){ + if($i%7==0) $HTMLannos.="</TR><TR>"; + $HTMLannos.='<TD style="BACKGROUND-COLOR:#FFFFFF" valign=top>'; + $HTMLannos.=$calendario->JMesAnno($i,$anno_c,$JDif,$TBfechas,$sumahoras); + $HTMLannos.='</TD>'; + } + $HTMLannos.="</TR></TABLE>"; + //___________________________________________________________________________ + $AuxcadenaXML.=' infonodo='.urlencode($HTMLannos); + $AuxcadenaXML.=' nodoid=opcupacion'; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FFFFFF;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</OCUPACION>'; + +/* + $AuxcadenaXML.='<RESERVA '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[30].':%3C/b%3E "'; + $AuxcadenaXML.=' nodoid=reserva'; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.='>'; +*/ + +// Cuestion Ocupación + $hexhoradesde=$rs->campos["horasini"]; + $minutosdesde=$rs->campos["minutosini"]; + if($minutosdesde==0) $minutosdesde="00"; + $minutosdesde.=" ".$tbampm[$rs->campos["ampmini"]]; + $hexhorahasta=$rs->campos["horasfin"]; + $minutoshasta=$rs->campos["minutosfin"]; + if($minutoshasta==0) $minutoshasta="00"; + $minutoshasta.=" ".$tbampm[$rs->campos["ampmfin"]]; + $cont=0; + while($hexhoradesde>0){ + $cont++; + $hexhoradesde=$hexhoradesde>>1; + } + $horadesde=$cont-1; + $cont=0; + while($hexhorahasta>0){ + $cont++; + $hexhorahasta=$hexhorahasta>>1; + } + $horahasta=$cont-1; + + $mulmin=floor($minutosdesde/15); + $currentminutos=$mulmin*15; + $CntDia[(int)$rs->campos["ampmini"]][(int)$horadesde][(int)$currentminutos]=1; + $mulmin=floor($minutoshasta/15); + $currentminutos=$mulmin*15; + $CntDia[(int)$rs->campos["ampmfin"]][(int)$horahasta][(int)$currentminutos]=0; + + $AuxcadenaXML.='<OCUPACION '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/reloj.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[19].':%3C/b%3E '.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta.'"'; + $AuxcadenaXML.=' nodoid=opcupacion-'.$horadesde.":".$minutosdesde." - ".$horahasta.":".$minutoshasta; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</OCUPACION>'; + + $idaula=$rs->campos["idaula"]; + $nombreaula=$rs->campos["nombreaula"]; + $AuxcadenaXML.='<AULA '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[24].':%3C/b%3E '.$nombreaula.'"';; + $AuxcadenaXML.=' nodoid=aula-'.$rs->campos["idaula"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</AULA>'; + + $nombreimagen=$rs->campos["nombreimagen"]; + if(empty($nombreimagen) ) $nombreimagen=$TbMsg[23]; + // Descripción de la imagen a restaurar + $AuxcadenaXML.='<IMAGEN '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[20].': %3C/b%3E'.$nombreimagen.'"'; + $AuxcadenaXML.=' nodoid=imagen-'.$rs->campos["idimagen"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</IMAGEN>'; + + $nombretarea=$rs->campos["nombretarea"]; + if(!empty($nombretarea) ){ + // Descripción de la tarea a restaurar + $AuxcadenaXML.='<TAREA '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/tareas.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[28].': %3C/b%3E'.$nombretarea.'"'; + $AuxcadenaXML.=' nodoid=tarea-'.$rs->campos["idtarea"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</TAREA>'; + } + $nombretrabajo=$rs->campos["nombretrabajo"]; + if(!empty($nombretrabajo) ){ + // Descripción del trabajo a restaurar + $AuxcadenaXML.='<TRABAJO '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/trabajos.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[29].': %3C/b%3E'.$nombretrabajo.'"'; + $AuxcadenaXML.=' nodoid=trabajo-'.$rs->campos["idtrabajo"]; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</TRABAJO>'; + } + $AuxcadenaXML.='<EMAIL '; + // Atributos + $AuxcadenaXML.=' imagenodo="../images/iconos/email.gif"'; + $AuxcadenaXML.=' infonodo="%3Cb%3E'.$TbMsg[25].':%3C/b%3E '.$rs->campos["solicitante"].' (%3CA href=mailto:'.$rs->campos["email"].'%3E'.$rs->campos["email"].'%3C/A%3E)"'; + $AuxcadenaXML.=' nodoid=email-'.$idaula; + $AuxcadenaXML.=' colornodo='."#000000"; + $AuxcadenaXML.=' fondonodo='."#FBECFA;"; + $AuxcadenaXML.='>'; + $AuxcadenaXML.='</EMAIL>'; + + + //$AuxcadenaXML.='</RESERVA> '; + $AuxcadenaXML.='</RESERVAS>'; + return($AuxcadenaXML); +} +//________________________________________________________________________________________________________ +function CalculaMinutos($rs){ + $hexhoradesde=$rs->campos["horasini"]; + $hexhorahasta=$rs->campos["horasfin"]; + $cont=0; + while($hexhoradesde>0){ + $cont++; + $hexhoradesde=$hexhoradesde>>1; + } + $shorasini=$cont-1; + $cont=0; + while($hexhorahasta>0){ + $cont++; + $hexhorahasta=$hexhorahasta>>1; + } + $shorasfin=$cont-1; + $sminutosini=$rs->campos["minutosini"]; + $sminutosfin=$rs->campos["minutosfin"]; + if($rs->campos["ampmini"]==1) $shorasini+=12; + if($rs->campos["ampmfin"]==1) $shorasfin+=12; + $socupacion=($shorasfin-$shorasini)*60+($sminutosfin-$sminutosini); + return($socupacion); +} +//________________________________________________________________________________________________________ +function RecorreGruposReservas($cmd){ + global $AMBITO_GRUPOSRESERVAS; + global $LITAMBITO_GRUPOSRESERVAS; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo FROM grupos WHERE grupoid=".$idgrupo ." AND tipo=".$AMBITO_GRUPOSRESERVAS; + RecorreGruposReservas($cmd); + $cmd->texto="SELECT idreserva FROM reservas WHERE grupoid=".$idgrupo; + RecorreReservas($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreReservas($cmd){ + global $AMBITO_RESERVAS; + global $LITAMBITO_RESERVAS; + global $cadenareservas; + + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idreserva=$rs->campos["idreserva"]; + $cadenareservas.=$idreserva.","; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/principal/purgar.php b/admin/WebConsole/principal/purgar.php new file mode 100644 index 00000000..d305ab3f --- /dev/null +++ b/admin/WebConsole/principal/purgar.php @@ -0,0 +1,63 @@ +<? +// ************************************************************************************************************************************************* +// 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: Abril-2010 +// Nombre del fichero: purgar.php +// Descripción : +// Obliga a los clientes a reiniciar la sesión en el sistema +// ************************************************************************************************************************************************* + include_once("../includes/ctrlacc.php"); + include_once("../clases/SockHidra.php"); + include_once("../clases/AdoPhp.php"); + include_once("../includes/constantes.php"); + include_once("../includes/comunes.php"); + include_once("../includes/CreaComando.php"); + include_once("../includes/RecopilaIpesMacs.php"); + //________________________________________________________________________________________________________ + $ambito=0; + $idambito=0; + + if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; + //________________________________________________________________________________________________________ + $cmd=CreaComando($cadenaconexion); + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. + //________________________________________________________________________________________________________ + $funcion="Purgar"; // Nombre de la función que procesa la petición + $atributos=""; // Parametros adicionales la petición + $aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por "," + $acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento + //________________________________________________________________________________________________________ + // Ámbito de aplicación de la petición + //________________________________________________________________________________________________________ + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + RecopilaIpesMacs($cmd,$ambito,$idambito); // Ámbito de aplicación + $aplicacion="ido=".$cadenaid.chr(13)."iph=".$cadenaip.chr(13); + //________________________________________________________________________________________________________ + // Envio al servidor de la petición + //________________________________________________________________________________________________________ + $trama=""; + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $parametros="nfn=".$funcion.chr(13); + $parametros.=$aplicacion; + $parametros.=$atributos; + $parametros.=$acciones; + $shidra->envia_comando($parametros); + $trama=$shidra->recibe_respuesta(); + $shidra->desconectar(); + $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); + $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); + $ValorParametros=extrae_parametros($parametros,chr(13),'='); + $trama_notificacion=$ValorParametros["res"]; + echo $trama_notificacion; // Devuelve respuesta + } + else + echo "0"; // Error de conexión +?> + diff --git a/admin/WebConsole/principal/repositorios.php b/admin/WebConsole/principal/repositorios.php new file mode 100644 index 00000000..7ebcfd4a --- /dev/null +++ b/admin/WebConsole/principal/repositorios.php @@ -0,0 +1,292 @@ +<? +// ************************************************************************************************************************************************* +// 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: repositorios.php +// Descripción : +// Administra los repositorios de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/repositorios_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos los datos del Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/repositorios.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/repositorios_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de repositorios +$XMLcontextual=CreacontextualXMLRepositorios(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLGruposRepositorios(); // Grupos de repositorios +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLRepositorio(); // Repositorio +echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY OnContextMenu="return false"> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML de toda la información de los repositorios de un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexión abierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro) +{ + global $TbMsg; + global $LITAMBITO_REPOSITORIOS; + $cadenaXML='<REPOSITORIOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/repositorio.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_Raiz".$LITAMBITO_REPOSITORIOS."'" .')"'; + $cadenaXML.=' nodoid=Raiz'.$LITAMBITO_REPOSITORIOS; + $cadenaXML.=' infonodo='.$TbMsg[12]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_repositorios($cmd,$idcentro,0); + $cadenaXML.='</REPOSITORIOS>'; + return($cadenaXML); +} +// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +function SubarbolXML_grupos_repositorios($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSREPOSITORIOS; + global $AMBITO_GRUPOSREPOSITORIOS; + global $LITAMBITO_REPOSITORIOS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSREPOSITORIOS." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSREPOSITORIOS '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSREPOSITORIOS."'" .');"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSREPOSITORIOS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_repositorios($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSREPOSITORIOS>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cmd->texto="SELECT idrepositorio,nombrerepositorio FROM repositorios WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." order by idrepositorio desc" ; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<REPOSITORIO'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_REPOSITORIOS."'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/repositorio.gif" '; + $cadenaXML.=' infonodo="'.$rs->campos["nombrerepositorio"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_REPOSITORIOS.'-'.$rs->campos["idrepositorio"]; + $cadenaXML.='>'; + $cadenaXML.='</REPOSITORIO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Menús Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLRepositorios(){ + global $AMBITO_REPOSITORIOS; + global $AMBITO_GRUPOSREPOSITORIOS; + global $LITAMBITO_GRUPOSREPOSITORIOS; + global $LITAMBITO_REPOSITORIOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_Raiz'.$LITAMBITO_REPOSITORIOS.'"'; + $layerXML.=' maxanchu=185'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSREPOSITORIOS.',' . "'".$LITAMBITO_GRUPOSREPOSITORIOS."'" . ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_repositorios.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_repositorios.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_REPOSITORIOS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLGruposRepositorios(){ + global $AMBITO_REPOSITORIOS; + global $AMBITO_GRUPOSREPOSITORIOS; + global $LITAMBITO_GRUPOSREPOSITORIOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSREPOSITORIOS.'"'; + $layerXML.=' maxanchu=185'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSREPOSITORIOS.',' ."'".$LITAMBITO_GRUPOSREPOSITORIOS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_repositorios.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/aula.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_repositorios.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_REPOSITORIOS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLRepositorio(){ + global $AMBITO_REPOSITORIOS; + global $LITAMBITO_REPOSITORIOS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_REPOSITORIOS.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="muestra_inforRepositorios()"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_REPOSITORIOS.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=280; + $wpages="../propiedades/propiedades_repositorios.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/reservas.php b/admin/WebConsole/principal/reservas.php new file mode 100644 index 00000000..c7969d0e --- /dev/null +++ b/admin/WebConsole/principal/reservas.php @@ -0,0 +1,336 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: reservas.php +// Descripción : +// Administra reservas de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/reservas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos las acciones registradas en el Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/reservas.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/reservas_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de las imágenes + $XMLcontextual=CreacontextualXMLReservas(); + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=ContextualXMLGruposReservas(); // Grupos de reservas + echo $flotante->CreaMenuContextual($XMLcontextual); + $XMLcontextual=CreacontextualXMLReserva(); // Reervas + echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML con toda la información de las reservas registradas en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexión abierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro){ + global $TbMsg; + global $LITAMBITO_RESERVAS; + $cadenaXML='<RAIZ'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/reservas.gif"'; + $cadenaXML.=' nodoid=Raiz'.$LITAMBITO_RESERVAS; + $cadenaXML.=' infonodo="'.$TbMsg[9].'"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_Raiz".$LITAMBITO_RESERVAS."'".')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_reservas($cmd,$idcentro,0); + $cadenaXML.='</RAIZ>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_reservas($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSRESERVAS; + global $AMBITO_GRUPOSRESERVAS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSRESERVAS." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSRESERVAS'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSRESERVAS."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSRESERVAS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_reservas($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSRESERVAS>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_Reservas($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Reservas($cmd,$idcentro,$grupoid){ + global $LITAMBITO_RESERVAS; + global $RESERVA_PENDIENTE; + global $RESERVA_CONFIRMADA; + global $RESERVA_DENEGADA; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idreserva,descripcion,estado FROM reservas WHERE idcentro=".$idcentro." AND grupoid=".$grupoid." ORDER BY descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<RESERVA'; + // Atributos + switch($rs->campos["estado"]){ + case $RESERVA_PENDIENTE : + $urlimg='../images/iconos/pendientes.gif'; + break; + case $RESERVA_CONFIRMADA : + $urlimg='../images/iconos/confirmadas.gif'; + break; + case $RESERVA_DENEGADA : + $urlimg='../images/iconos/denegadas.gif'; + break; + default: + $urlimg=""; + } + + $cadenaXML.=' imagenodo="'.$urlimg.'"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_RESERVAS.'-'.$rs->campos["idreserva"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_RESERVAS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</RESERVA>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Menús Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLReservas(){ + global $AMBITO_RESERVAS; + global $AMBITO_GRUPOSRESERVAS; + global $LITAMBITO_GRUPOSRESERVAS; + global $LITAMBITO_RESERVAS; + global $RESERVA_CONFIRMADA; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_Raiz'.$LITAMBITO_RESERVAS.'"'; + $layerXML.=' maxanchu=165'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSRESERVAS.',' ."'".$LITAMBITO_GRUPOSRESERVAS."'".')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=500; + $wpages="../propiedades/propiedades_reservas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/reservas.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_reservas.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_RESERVAS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_reservas('.$RESERVA_CONFIRMADA.')"'; + $layerXML.=' imgitem="../images/iconos/reloj.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//__________________________________________________________________________________________ +function ContextualXMLGruposReservas(){ + global $AMBITO_RESERVAS; + global $AMBITO_GRUPOSRESERVAS; + global $LITAMBITO_GRUPOSRESERVAS; + global $RESERVA_CONFIRMADA; + + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSRESERVAS.'"'; + $layerXML.=' maxanchu=175'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSRESERVAS.',' ."'".$LITAMBITO_GRUPOSRESERVAS."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[0]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=500; + $wpages="../propiedades/propiedades_reservas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/reservas.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_reservas.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_RESERVAS.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[2]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="cola_reservas('.$RESERVA_CONFIRMADA.')"'; + $layerXML.=' imgitem="../images/iconos/reloj.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//--------------------------------------------------------------------------------------------------------------------------- +function CreacontextualXMLReserva(){ + global $EJECUCION_RESERVA; + global $AMBITO_RESERVAS; + global $LITAMBITO_RESERVAS; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_RESERVAS.'"'; + $layerXML.=' maxanchu=120'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="programacion('.$EJECUCION_RESERVA.')"'; + $layerXML.=' imgitem="../images/iconos/reloj.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_RESERVAS.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[6]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=500; + $wpages="../propiedades/propiedades_reservas.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/shellconsola.php b/admin/WebConsole/principal/shellconsola.php new file mode 100644 index 00000000..1f3c95d3 --- /dev/null +++ b/admin/WebConsole/principal/shellconsola.php @@ -0,0 +1,192 @@ +<? +// ************************************************************************************************************************************************* +// 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: shellconsola.php +// Descripción : +// Crea una consola remota para enviar comandos de la shell de forma remota y recibir el eco +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/SockHidra.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/consolaremota_".$idioma.".php"); +//________________________________________________________________________________________________________ +$litambito=0; +$idambito=0; +$comando=""; + +if (isset($_POST["litambito"])) $litambito=$_POST["litambito"]; // Recoge parametros +if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; +if (isset($_POST["comando"])) $comando=$_POST["comando"]; + +$nombrefuncion="ConsolaRemota"; +$ejecutor="1"; +$cadenaip=""; + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +if($cmd){ // Compone cadena ip recorriendo ámbitos + switch($litambito){ + case $LITAMBITO_CENTROS : + $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; + RecorreCentro($cmd); + break; + case $LITAMBITO_GRUPOSAULAS : + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS; + RecorreGruposAulas($cmd); + break; + case $LITAMBITO_AULAS : + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito; + RecorreAulas($cmd); + break; + case $LITAMBITO_GRUPOSORDENADORES : + $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idgrupo=".$idambito; + RecorreGruposOrdenadores($cmd); + break; + case $LITAMBITO_ORDENADORES : + $cmd->texto="SELECT ip FROM ordenadores WHERE idordenador=".$idambito; + RecorreOrdenadores($cmd); + break; + } +} +$resul=false; +if($cmd){ + $shidra=new SockHidra($servidorhidra,$hidraport); + $cadenaip=ereg_replace( ";", "','", $cadenaip ); + $cmd->texto="SELECT ordenadores.ip as ipord,servidoresrembo.ip FROM ordenadores INNER JOIN servidoresrembo ON ordenadores.idservidorrembo =servidoresrembo.idservidorrembo WHERE ordenadores.ip IN ('".$cadenaip."') ORDER BY servidoresrembo.ip"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) $resul=false; // Error al abrir recordset + $rs->Primero(); + if(!$rs->EOF){ + $resul=true; + $ipservidorrembo=trim($rs->campos["ip"]); // toma ip servidor rembo + $cadenaip=""; + while(!$rs->EOF && $resul){ + if($ipservidorrembo!=trim($rs->campos["ip"])){ // compara si cambia el servidor rembo + $parametros=$ejecutor; + $parametros.="nfn=".$nombrefuncion.chr(13); + $cadenaip=substr($cadenaip,0,strlen($cadenaip)-1); // Quita la coma + $parametros.="iph=".$cadenaip.chr(13); + $parametros.="rmb=".$ipservidorrembo.chr(13); + $resul=manda_trama(); + $ipservidorrembo=trim($rs->campos["ip"]); // toma ip servidor rembo + $cadenaip=""; + } + $cadenaip.=trim($rs->campos["ipord"]).";"; // toma ip del cliente + $rs->Siguiente(); + } + } + $rs->Cerrar(); + if($resul){ + $parametros=$ejecutor; + $parametros.="nfn=".$nombrefuncion.chr(13); + $parametros.="cmd=".$comando.chr(13); + $cadenaip=substr($cadenaip,0,strlen($cadenaip)-1); // Quita la coma + $parametros.="iph=".$cadenaip.chr(13); + $parametros.="rmb=".$ipservidorrembo.chr(13); + + $resul=manda_trama(); + } +} + + if(!$resul) + echo "alert('".$TbMsg[10]."');"; + +//======================================================================================================= +// Manda una trama del comando shellconsola +//________________________________________________________________________________________________________ +function manda_trama(){ + global $parametros; + global $shidra; + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $shidra->envia_comando($parametros); + $shidra->desconectar(); + return(true); + } + return(false); +} +//________________________________________________________________________________________________________ +function RecorreCentro($cmd){ + global $AMBITO_GRUPOSAULAS; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + if(!$rs->EOF){ + $idcentro=$rs->campos["idcentro"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo"; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0 ORDER BY nombreaula"; + RecorreAulas($cmd); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposAulas($cmd){ + global $AMBITO_GRUPOSAULAS; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo." AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo"; + RecorreGruposAulas($cmd); + $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE grupoid=".$idgrupo." ORDER BY nombreaula"; + RecorreAulas($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreAulas($cmd){ + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idaula=$rs->campos["idaula"]; + $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE idaula=".$idaula; + $k=0; + RecorreOrdenadores($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreGruposOrdenadores($cmd){ + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $idgrupo=$rs->campos["idgrupo"]; + $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE grupoid=".$idgrupo." ORDER BY nombregrupoordenador"; + RecorreGruposOrdenadores($cmd); + $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE grupoid=".$idgrupo; + RecorreOrdenadores($cmd); + $rs->Siguiente(); + } + $rs->Cerrar(); +} +//________________________________________________________________________________________________________ +function RecorreOrdenadores($cmd){ + global $cadenaip; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaip.=$rs->campos["ip"].";"; + $rs->Siguiente(); + } + $rs->Cerrar(); +} +?> diff --git a/admin/WebConsole/principal/softwares.php b/admin/WebConsole/principal/softwares.php new file mode 100644 index 00000000..79c16831 --- /dev/null +++ b/admin/WebConsole/principal/softwares.php @@ -0,0 +1,798 @@ +<? +// ************************************************************************************************************************************************* +// 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: software.php +// Descripción : +// Administra el software de los ordenadores de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/softwares_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos los datos del Centro +// Creación del árbol +$baseurlimg="../images/signos"; // Url de las imágenes de signo +$clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol +$arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/softwares.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/softwares_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de componentes componentes software +$XMLcontextual=CreacontextualXMLComponentes_Software(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposComponentes(); // Grupos de componentes +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLComponente_Software(); // Crea menu contextual de componentes softwares +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de perfiles software +$XMLcontextual=CreacontextualXMLPerfiles_Software(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposPerfiles(); // Grupos de perfiles +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLPerfil_Software(); // Crea menu contextual de perfiles softwares +echo $flotante->CreaMenuContextual($XMLcontextual); + +// Crea contextual de softtware incremental +$XMLcontextual=CreacontextualXMLSoftwares_Incrementales(); +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLGruposIncrementales(); // Grupos de software incremental +echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=CreacontextualXMLSoftware_Incremental(); // Crea menu contextual de software incremental +echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML de toda la información del software registrado en un Centro concreto +// Parametros: +// - cmd:Una comando ya operativo ( con conexión abierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro){ + global $TbMsg; + $cadenaXML='<SOFTWARES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/confisoft.gif"'; + $cadenaXML.=' infonodo="Software"'; + $cadenaXML.=' nodoid="RaizSoftwares"'; + $cadenaXML.='>'; + $cadenaXML.='<TIPOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[18]; + $cadenaXML.=' nodoid="RaizTipoSoftwares"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_TiposSoftwares($cmd); + $cadenaXML.='</TIPOS>'; + $cadenaXML.='<COMPONENTES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[19]; + $cadenaXML.=' nodoid="RaizComponentesSoftwares"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_RaizComponentesSoftwares'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_componentessoft($cmd,$idcentro,0); + $cadenaXML.='</COMPONENTES>'; + + $cadenaXML.='<PERFILES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[20]; + $cadenaXML.=' nodoid="RaizPerfilesSoftwares"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_RaizPerfilesSoftwares'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_perfilessoft($cmd,$idcentro,0); + $cadenaXML.='</PERFILES>'; + +/* + $cadenaXML.='<SOFTINCREMENTALES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo='.$TbMsg[21]; + $cadenaXML.=' nodoid="RaizSoftwaresIncrementales"'; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_RaizSoftwaresIncrementales'" .')"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_softincremental($cmd,$idcentro,0); + $cadenaXML.='</SOFTINCREMENTALES>'; +*/ + $cadenaXML.='</SOFTWARES>'; + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_TiposSoftwares($cmd){ + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idtiposoftware,descripcion,urlimg FROM tiposoftwares order by descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<TIPOSOFTWARES'; + // Atributos + $cadenaXML.=' imagenodo='.$rs->campos["urlimg"]; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid="TipoSoftwares"'; + $cadenaXML.='>'; + $cadenaXML.='</TIPOSOFTWARES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_componentessoft($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSCOMPONENTESSOFT; + global $AMBITO_GRUPOSCOMPONENTESSOFT; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSCOMPONENTESSOFT." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSCOMPONENTESSOFT'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSCOMPONENTESSOFT."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSCOMPONENTESSOFT.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_componentessoft($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSCOMPONENTESSOFT>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_ComponentesSoftwares($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_ComponentesSoftwares($cmd,$idcentro,$grupoid){ + global $LITAMBITO_COMPONENTESSOFT; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT softwares.idsoftware,softwares.descripcion,tiposoftwares.urlimg FROM softwares INNER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware WHERE idcentro=".$idcentro." AND grupoid=". $grupoid." order by tiposoftwares.idtiposoftware,softwares.descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<COMPONENTES'; + // Atributos + if ($rs->campos["urlimg"]!="") + $cadenaXML.=' imagenodo='.$rs->campos["urlimg"]; + else + $cadenaXML.=' imagenodo="../images/iconos/confisoft.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_COMPONENTESSOFT.'-'.$rs->campos["idsoftware"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_COMPONENTESSOFT."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</COMPONENTES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_perfilessoft($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSPERFILESSOFT; + global $AMBITO_GRUPOSPERFILESSOFT; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSPERFILESSOFT." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSPERFILESSOFT'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSPERFILESSOFT."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSPERFILESSOFT.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_perfilessoft($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSPERFILESSOFT>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_PerfilesSoftwares($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_PerfilesSoftwares($cmd,$idcentro,$grupoid){ + global $LITAMBITO_PERFILESSOFT; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT perfilessoft.idperfilsoft ,perfilessoft.descripcion FROM perfilessoft WHERE perfilessoft.idcentro=".$idcentro." AND perfilessoft.grupoid=". $grupoid; + $cmd->texto.=" ORDER by perfilessoft.descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<PERFILESSOFTWARES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/perfilsoftware.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PERFILESSOFT.'-'.$rs->campos["idperfilsoft"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PERFILESSOFT."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</PERFILESSOFTWARES>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_softincremental($cmd,$idcentro,$grupoid){ + global $LITAMBITO_GRUPOSSOFTINCREMENTAL; + global $AMBITO_GRUPOSSOFTINCREMENTAL; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSSOFTINCREMENTAL." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSSOFTINCREMENTAL'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,'. " 'flo_".$LITAMBITO_GRUPOSSOFTINCREMENTAL."'" .');"'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSSOFTINCREMENTAL.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_softincremental($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSSOFTINCREMENTAL>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_SoftwaresIncrementales($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_SoftwaresIncrementales($cmd,$idcentro,$grupoid){ + global $LITAMBITO_SOFTINCREMENTAL; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT softincrementales.idsoftincremental ,softincrementales.descripcion FROM softincrementales WHERE softincrementales.idcentro=".$idcentro." AND softincrementales.grupoid=". $grupoid; + $cmd->texto.=" ORDER by softincrementales.descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<SOFTINCREMENTAL'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/incremental.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_SOFTINCREMENTAL.'-'.$rs->campos["idsoftincremental"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_SOFTINCREMENTAL."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</SOFTINCREMENTAL>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Menús Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLComponentes_Software(){ + global $AMBITO_COMPONENTESSOFT; + global $AMBITO_GRUPOSCOMPONENTESSOFT; + global $LITAMBITO_GRUPOSCOMPONENTESSOFT; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_RaizComponentesSoftwares"'; + $layerXML.=' maxanchu=185'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSCOMPONENTESSOFT.',' . "'".$LITAMBITO_GRUPOSCOMPONENTESSOFT."'" . ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=250; + $wpages="../propiedades/propiedades_componentesoftwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_componentesoftwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_COMPONENTESSOFT.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposComponentes(){ + global $AMBITO_COMPONENTESSOFT; + global $AMBITO_GRUPOSCOMPONENTESSOFT; + global $LITAMBITO_GRUPOSCOMPONENTESSOFT; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSCOMPONENTESSOFT.'"'; + $layerXML.=' maxanchu=195'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSCOMPONENTESSOFT.',' ."'".$LITAMBITO_GRUPOSCOMPONENTESSOFT."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[3]; + $layerXML.='></ITEM>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=250; + $wpages="../propiedades/propiedades_componentesoftwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[4]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_componentesoftwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_COMPONENTESSOFT.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[5]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[7]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLComponente_Software(){ + global $AMBITO_COMPONENTESSOFT; + global $LITAMBITO_COMPONENTESSOFT; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_COMPONENTESSOFT.'"'; + $layerXML.=' maxanchu=140'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_COMPONENTESSOFT.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[8]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=140; + $wTop=115; + $wWidth=550; + $wHeight=250; + $wpages="../propiedades/propiedades_componentesoftwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLPerfiles_Software(){ + global $AMBITO_PERFILESSOFT; + global $AMBITO_GRUPOSPERFILESSOFT; + global $LITAMBITO_GRUPOSPERFILESSOFT; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_RaizPerfilesSoftwares"'; + $layerXML.=' maxanchu=155'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSPERFILESSOFT.',' ."'".$LITAMBITO_GRUPOSPERFILESSOFT."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_perfilsoftwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_perfilsoftwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_PERFILESSOFT.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposPerfiles(){ + global $AMBITO_PERFILESSOFT; + global $AMBITO_GRUPOSPERFILESSOFT; + global $LITAMBITO_GRUPOSPERFILESSOFT; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSPERFILESSOFT.'"'; + $layerXML.=' maxanchu=175'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSPERFILESSOFT.',' ."'".$LITAMBITO_GRUPOSPERFILESSOFT."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_perfilsoftwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[11]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_perfilsoftwares.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_PERFILESSOFT.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[12]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[13]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLPerfil_Software(){ + global $AMBITO_PERFILESSOFT; + global $LITAMBITO_PERFILESSOFT; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_PERFILESSOFT.'"'; + $layerXML.=' maxanchu=150'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_perfilcomponente()"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[14]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="informacion_perfiles()"'; + $layerXML.=' textoitem='.$TbMsg[15]; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_PERFILESSOFT.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[16]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_perfilsoftwares.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[17]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLSoftwares_Incrementales(){ + global $AMBITO_SOFTINCREMENTAL; + global $AMBITO_GRUPOSSOFTINCREMENTAL; + global $LITAMBITO_GRUPOSSOFTINCREMENTAL; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_RaizSoftwaresIncrementales"'; + $layerXML.=' maxanchu=190'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSSOFTINCREMENTAL.',' ."'".$LITAMBITO_GRUPOSSOFTINCREMENTAL."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[22]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_softincrementales.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[23]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_softincrementales.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_SOFTINCREMENTAL.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[24]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function ContextualXMLGruposIncrementales(){ + global $AMBITO_SOFTINCREMENTAL; + global $AMBITO_GRUPOSSOFTINCREMENTAL; + global $LITAMBITO_GRUPOSSOFTINCREMENTAL; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_GRUPOSSOFTINCREMENTAL.'"'; + $layerXML.=' maxanchu=195'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_grupos('.$AMBITO_GRUPOSSOFTINCREMENTAL.',' ."'".$LITAMBITO_GRUPOSSOFTINCREMENTAL."'". ')"'; + $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; + $layerXML.=' textoitem='.$TbMsg[22]; + $layerXML.='></ITEM>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_softincrementales.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[23]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wParam="../gestores/gestor_softincrementales.php"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="colocar('."'".$wParam."'".','.$AMBITO_SOFTINCREMENTAL.')"'; + $layerXML.=' imgitem="../images/iconos/colocar.gif"'; + $layerXML.=' textoitem='.$TbMsg[24]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/modificar.gif"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar_grupos()"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[25]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +//________________________________________________________________________________________________________ +function CreacontextualXMLSoftware_Incremental(){ + global $AMBITO_SOFTINCREMENTAL; + global $LITAMBITO_SOFTINCREMENTAL; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_SOFTINCREMENTAL.'"'; + $layerXML.=' maxanchu=160'; + $layerXML.=' swimg=1'; + $layerXML.=' clase="menu_contextual"'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="insertar_incrementalcomponente()"'; + $layerXML.=' imgitem="../images/iconos/confisoft.gif"'; + $layerXML.=' textoitem='.$TbMsg[14]; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="informacion_incrementales()"'; + $layerXML.=' textoitem='.$TbMsg[26]; + $layerXML.=' imgitem="../images/iconos/informacion.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="mover('.$AMBITO_SOFTINCREMENTAL.')"'; + $layerXML.=' imgitem="../images/iconos/mover.gif"'; + $layerXML.=' textoitem='.$TbMsg[27]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $wLeft=170; + $wTop=150; + $wWidth=480; + $wHeight=280; + $wpages="../propiedades/propiedades_softincrementales.php"; + $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="modificar('.$wParam.')"'; + $layerXML.=' textoitem='.$TbMsg[1]; + $layerXML.=' imgitem="../images/iconos/propiedades.gif"'; + $layerXML.='></ITEM>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="eliminar('.$wParam.')"'; + $layerXML.=' imgitem="../images/iconos/eliminar.gif"'; + $layerXML.=' textoitem='.$TbMsg[28]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/principal/sondeo.php b/admin/WebConsole/principal/sondeo.php new file mode 100644 index 00000000..e2d0bd78 --- /dev/null +++ b/admin/WebConsole/principal/sondeo.php @@ -0,0 +1,68 @@ +<? +// ************************************************************************************************************************************************* +// 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: sondeo.php +// Descripción : +// Consulta el estado de los ordenadores +// ************************************************************************************************************************************************* + include_once("../includes/ctrlacc.php"); + include_once("../clases/SockHidra.php"); + include_once("../clases/AdoPhp.php"); + include_once("../includes/constantes.php"); + include_once("../includes/comunes.php"); + include_once("../includes/CreaComando.php"); + include_once("../includes/RecopilaIpesMacs.php"); + //________________________________________________________________________________________________________ + $ambito=0; + $idambito=0; + $sw=0; // Swich para conmutar entre sondeo a clientes o sólo consulta a la tabla de sockets + + if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; + if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; + if (isset($_POST["sw"])) $sw=$_POST["sw"]; + //________________________________________________________________________________________________________ + $cmd=CreaComando($cadenaconexion); + if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. + //________________________________________________________________________________________________________ + $funcion="Sondeo"; // Nombre de la función que procesa la petición + if($sw==2) + $funcion="respuestaSondeo"; // Nombre de la función que procesa la petición + $atributos=""; + $aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por "," + $acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento + //________________________________________________________________________________________________________ + // Ámbito de aplicación de la petición + //________________________________________________________________________________________________________ + $cadenaid=""; + $cadenaip=""; + $cadenamac=""; + RecopilaIpesMacs($cmd,$ambito,$idambito); // Ámbito de aplicación + $aplicacion="ido=".$cadenaid.chr(13)."iph=".$cadenaip.chr(13); + //________________________________________________________________________________________________________ + // Envio al servidor de la petición + //________________________________________________________________________________________________________ + $resul=false; + $trama=""; + $shidra=new SockHidra($servidorhidra,$hidraport); + if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra + $parametros="nfn=".$funcion.chr(13); + $parametros.=$aplicacion; + $parametros.=$atributos; + $parametros.=$acciones; + $resul=$shidra->envia_peticion($parametros); + if($resul) + $trama=$shidra->recibe_respuesta(); + $shidra->desconectar(); + } + if($resul){ + $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM)); + $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm); + $ValorParametros=extrae_parametros($parametros,chr(13),'='); + $trama_notificacion=$ValorParametros["tso"]; + echo $trama_notificacion; // Devuelve respuesta +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_aulas.php b/admin/WebConsole/propiedades/propiedades_aulas.php new file mode 100644 index 00000000..72c61e98 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_aulas.php @@ -0,0 +1,417 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_aulas.php +// Descripción : +// Presenta el formulario de captura de datos de un aula para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_aulas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idaula=0; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idaula=$_GET["identificador"]; + +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idaula); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +else + $urlfoto="../images/aula.jpg"; +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_aulas.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_aulas_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_aulas.php" method="post"> + <INPUT type=hidden name=opcion value="<? echo $opcion?>"> + <INPUT type=hidden name=idaula value="<? echo $idaula?>"> + <INPUT type=hidden name=grupoid value="<? echo $grupoid?>"> + <INPUT type=hidden name=ordenadores value="<? echo $ordenadores?>"> + + <INPUT type=hidden name=gidmenu value="<? echo $gidmenu?>"> + <INPUT type=text name=gidprocedimiento value="<? echo $gidprocedimiento?>"> + <INPUT type=hidden name=gidrepositorio value="<? echo $gidrepositorio?>"> + <INPUT type=hidden name=gidperfilhard value="<? echo $gidperfilhard?>"> + <INPUT type=hidden name=gcache value="<? echo $gcache?>"> + + + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <? + if ($opcion==$op_eliminacion){ + echo '<TD>'. $nombreaula.'</TD>'; + echo '<TD colspan=2 valign=top align=center rowspan=2> + <IMG border=3 style="border-color:#63676b" src="'.$urlfoto.'" + <br><center> Computers: '. $ordenadores.'</center></TD>'; + } + else{ + echo '<TD><INPUT class="formulariodatos" name=nombreaula style="width:215" type=text value="'. $nombreaula.'"></TD>'; + echo'<TD colspan=2 valign=top align=left rowspan=2><IMG border=3 style="border-color:#63676b" src="'.$urlfoto.'"<br><center> Computers: '. $ordenadores.'</center></TD>'; + } + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$ubicacion.' </TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=ubicacion rows=3 cols=42>'.$ubicacion.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <? + if ($opcion==$op_eliminacion){ + echo '<TD colspan=3><INPUT class="formulariodatos" name=cagnon type=checkbox onclick="desabilita(this)" '; + if ($cagnon) echo ' checked '; + echo '></TD>'; + } + else{ + echo '<TD colspan=3><INPUT class="formulariodatos" name=cagnon type=checkbox value="1" '; + if ($cagnon) echo ' checked '; + echo '></TD>'; + } + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[8]?> </TD> + <? + if ($opcion==$op_eliminacion){ + echo '<TD colspan=3><INPUT class="formulariodatos" name=pizarra type=checkbox onclick="desabilita(this)" '; + if ($pizarra) echo ' checked '; + echo '></TD>'; + } + else{ + echo '<TD colspan=3><INPUT class="formulariodatos" name=pizarra type=checkbox value="1" '; + if ($pizarra) echo ' checked '; + echo '></TD>'; + } + ?> + </TR > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[9]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$puestos.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=puestos style="width:30" type=text value='.$puestos.'></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[13]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$TbMsg[14].$horaresevini.'   '.$TbMsg[15].$horaresevfin.'</TD>'; + else + echo '<TD colspan=3>'.$TbMsg[14].' <INPUT class="formulariodatos" onclick="vertabla_horas(this)" name=horaresevini style="width:30" type=text value='.$horaresevini.'>   '.$TbMsg[15].' <INPUT class="formulariodatos" onclick="vertabla_horas(this)" name=horaresevfin style="width:30" type=text value='.$horaresevfin.'></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[10]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$urlfoto.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=urlfoto style="width:330" type=text value='.$urlfoto.'></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[12]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$comentarios.'</TD>'; + else + echo '<TD colspan=3><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=65>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[22]?> </TD> + <? + if ($opcion==$op_eliminacion){ + $TBMetodos[0]=""; + $TBMetodos[1]="Half-Duplex"; + $TBMetodos[2]="Full-Duplex"; + echo '<TD colspan=3>'.$TBMetodos[$modomul].'</TD>'; + } + else + echo '<TD colspan=3>'; + $metodos="0=".chr(13); + $metodos.="1=Half-Duplex".chr(13); + $metodos.="2=Full-Duplex"; + echo HTMLCTESELECT($metodos,"modomul","estilodesple","",$modomul,100).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[23]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$ipmul.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=ipmul style="width:100" type=text value='.$ipmul.'></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[24]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$pormul.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=pormul style="width:100" type=text value='.$pormul.'></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[25]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$velmul.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=velmul style="width:100" type=text value='.$velmul.'></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH style="BACKGROUND-COLOR:#FFFFFF;COLOR:#999999" colspan=4 align=center> <?echo $TbMsg[18]?> </TH> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[11]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'menus',$idmenu,'idmenu','descripcion').' </TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'menus',$idmenu,'idmenu','descripcion',330).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[16]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'repositorios',$idrepositorio,'idrepositorio','nombrerepositorio').' </TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'repositorios',$idrepositorio,'idrepositorio','nombrerepositorio',330).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[20]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'procedimientos',$idprocedimiento,'idprocedimiento','descripcion').' </TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'procedimientos',$idprocedimiento,'idprocedimiento','descripcion',330).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[17]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'perfileshard',$idperfilhard,'idperfilhard','descripcion').' </TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'perfileshard',$idperfilhard,'idperfilhard','descripcion',330).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[19]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$cache.'</TD>'; + else + echo '<TD colspan=3><INPUT class="formulariodatos" name=cache style="width:100" type=text value='.$cache.'></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un aula +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del aula +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$ida) +{ + global $idaula; + global $nombreaula; + global $urlfoto; + global $cagnon; + global $pizarra; + global $ubicacion; + global $comentarios; + global $ordenadores; + global $puestos; + global $horaresevini; + global $horaresevfin; + global $grupoid; + + + + global $idmenu; + global $idprocedimiento; + global $idrepositorio; + global $idperfilhard; + global $cache; + + global $gidmenu; + global $gidprocedimiento; + global $gidrepositorio; + global $gidperfilhard; + global $gcache; + + global $modomul; + global $ipmul; + global $pormul; + global $velmul; + + $idaula=0; + $nombreaula=""; + $urlfoto=""; + $cagnon=false; + $pizarra=false; + $ubicacion=""; + $comentarios=""; + $ordenadores=0; + $puestos=0; + $horaresevini=0; + $horaresevfin=0; + $grupoid=0; + $modomul=0; + $ipmul=0; + $pormul=0; + $velmul=0; + + $idmenu=0; + $idprocedimiento=0; + $idrepositorio=0; + $idperfilhard=0; + $cache=0; + + $gidmenu=0; + $gidprocedimiento=0; + $gidrepositorio=0; + $gidperfilhard=0; + $gcache=0; + + $rs=new Recordset; + $cmd->texto="SELECT count( * ) AS numordenadores, aulas.* , + group_concat(DISTINCT cast( ordenadores.idmenu AS char( 11 ) ) + ORDER BY ordenadores.idmenu SEPARATOR ',' ) AS idmenus, + group_concat(DISTINCT cast( ordenadores.idrepositorio AS char( 11 ) ) + ORDER BY ordenadores.idrepositorio SEPARATOR ',' ) AS idrepositorios, + group_concat(DISTINCT cast( ordenadores.idperfilhard AS char( 11 ) ) + ORDER BY ordenadores.idperfilhard SEPARATOR ',' ) AS idperfileshard, + group_concat(DISTINCT cast( ordenadores.cache AS char( 11 ) ) + ORDER BY ordenadores.cache SEPARATOR ',' ) AS caches, + group_concat(DISTINCT cast( ordenadores.idproautoexec AS char( 11 ) ) + ORDER BY ordenadores.idproautoexec SEPARATOR ',' ) AS idprocedimientos + FROM aulas + LEFT OUTER JOIN ordenadores ON ordenadores.idaula = aulas.idaula + WHERE aulas.idaula =".$ida." + GROUP BY aulas.idaula"; + + // echo $cmd->texto; + + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if (!$rs->EOF){ + $idaula=$rs->campos["idaula"]; + $nombreaula=$rs->campos["nombreaula"]; + $urlfoto=$rs->campos["urlfoto"]; + if ($urlfoto=="" ) $urlfoto="../images/aula.jpg"; + $cagnon=$rs->campos["cagnon"]; + $pizarra=$rs->campos["pizarra"]; + $ubicacion=$rs->campos["ubicacion"]; + $comentarios=$rs->campos["comentarios"]; + $puestos=$rs->campos["puestos"]; + $horaresevini=$rs->campos["horaresevini"]; + $horaresevfin=$rs->campos["horaresevfin"]; + $grupoid=$rs->campos["grupoid"]; + $modomul=$rs->campos["modomul"]; + $ipmul=$rs->campos["ipmul"]; + $pormul=$rs->campos["pormul"]; + $velmul=$rs->campos["velmul"]; + + $ordenadores=$rs->campos["numordenadores"]; + $idmenu=$rs->campos["idmenus"]; + if(count(split(",",$idmenu))>1) $idmenu=0; + $idrepositorio=$rs->campos["idrepositorios"]; + if(count(split(",",$idrepositorio))>1) $idrepositorio=0; + $idperfilhard=$rs->campos["idperfileshard"]; + if(count(split(",",$idperfilhard))>1) $idperfilhard=0; + $cache=$rs->campos["caches"]; + if(count(split(",",$cache))>1) $cache=0; + $idmenu=$rs->campos["idmenus"]; + if(count(split(",",$idmenu))>1) $idmenu=0; + $idprocedimiento=$rs->campos["idprocedimientos"]; + if(count(split(",",$idprocedimiento))>1) $idprocedimiento=0; + + $gidmenu=$idmenu; + $gidprocedimiento=$idprocedimiento; + $gidrepositorio=$idrepositorio; + $gidperfilhard=$idperfilhard; + $gcache=$cache; + + $rs->Cerrar(); + + return(true); + } + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_centros.php b/admin/WebConsole/propiedades/propiedades_centros.php new file mode 100644 index 00000000..37b6e8e2 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_centros.php @@ -0,0 +1,115 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_centros.php +// Descripción : +// Presenta el formulario de captura de datos de un centro para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_centros_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idcentro=0; +$nombrecentro=""; +$identidad=0; +$grupoid=0; +$comentarios=""; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idcentro"])) $idcentro=$_GET["idcentro"]; +if (isset($_GET["identidad"])) $identidad=$_GET["identidad"]; +if (isset($_GET["identificador"])) $idcentro=$_GET["identificador"]; + +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idcentro); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_centros.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_centros_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos" action="../gestores/gestor_centros.php" method="post"> + <INPUT type=hidden name=opcion value="<? echo $opcion?>"> + <INPUT type=hidden name=idcentro value=<?=$idcentro?>> + <INPUT type=hidden name=identidad value=<?=$identidad?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!--------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> <?echo $TbMsg[5]?> </TH> + <?if ($opcion==$op_eliminacion){?> + <TD><?echo $nombrecentro?></TD> + <?}else{?> + <TD><INPUT type=text class=cajatexto name="nombrecentro" style="width:350" value="<? echo $nombrecentro?>"> + <?}?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=66>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un centro +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del centro +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $nombrecentro; + global $comentarios; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM centros WHERE idcentro=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombrecentro=$rs->campos["nombrecentro"]; + $comentarios=$rs->campos["comentarios"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_componentehardwares.php b/admin/WebConsole/propiedades/propiedades_componentehardwares.php new file mode 100644 index 00000000..927b7010 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_componentehardwares.php @@ -0,0 +1,112 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_componentehardwares.php +// Descripción : +// Presenta el formulario de captura de datos de un componente hardware para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_componentehardwares_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idhardware=0; +$descripcion=""; +$idtipohardware=0; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idhardware"])) $idhardware=$_GET["idhardware"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idhardware=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idhardware); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperaci� de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_componentehardwares.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_componentehardwares_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos" action="../gestores/gestor_componentehardwares.php" method="post"> + <INPUT type=hidden name=opcion value="<? echo $opcion?>"> + <INPUT type=hidden name=idhardware value=<?=$idhardware?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:215">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:250" type=text value="'.$descripcion.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.TomaDato($cmd,0,'tipohardwares',$idtipohardware,'idtipohardware','descripcion').'</TD>'; + else + echo '<TD>'.HTMLSELECT($cmd,0,'tipohardwares',$idtipohardware,'idtipohardware','descripcion',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un componente hardware +// Parametros: +// - cmd: Una comando ya operativo (con conexiónabierta) +// - id: El identificador del componente hardware +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $idtipohardware; + $rs=new Recordset; + $cmd->texto="SELECT * FROM hardwares WHERE idhardware=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $idtipohardware=$rs->campos["idtipohardware"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_componentesoftwares.php b/admin/WebConsole/propiedades/propiedades_componentesoftwares.php new file mode 100644 index 00000000..6e882097 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_componentesoftwares.php @@ -0,0 +1,129 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_componentesoftwares.php +// Descripción : +// Presenta el formulario de captura de datos de un componente software para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_componentesoftwares_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idsoftware=0; +$descripcion=""; +$idtiposoftware=0; +$idtiposo=0; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idsoftware"])) $idsoftware=$_GET["idsoftware"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idsoftware=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idsoftware); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperaci� de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_componentesoftwares.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_componentesoftwares_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos" action="../gestores/gestor_componentesoftwares.php" method="post"> + <INPUT type=hidden name=opcion value="<? echo $opcion?>"> + <INPUT type=hidden name=idsoftware value=<?=$idsoftware?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR width="100px" style="display:block"> + <TH width="100px" align=center> <?echo $TbMsg[5]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:215">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:250" type=text value="'.$descripcion.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR width="100px" style="display:block" > + <TH width="100px" align=center> <?echo $TbMsg[6]?> </TH> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.TomaDato($cmd,0,'tiposoftwares',$idtiposoftware,'idtiposoftware','descripcion').'</TD>'; + else + echo '<TD>'.HTMLSELECT($cmd,0,'tiposoftwares',$idtiposoftware,'idtiposoftware','descripcion',250,"seleccion").'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <?if($idtiposoftware!=1) + echo '<TR width="100px" id="tridtiposo" style="display:none">'; + else + echo '<TR width="100px" id="tridtiposo" style="display:block">'; + ?> + <TH width="100px" align=center> <?echo $TbMsg[7]?> </TH> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.TomaDato($cmd,0,'tiposos',$idtiposo,'idtiposo','descripcion').'</TD>'; + else + echo '<TD>'.HTMLSELECT($cmd,0,'tiposos',$idtiposo,'idtiposo','descripcion',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un componente software +// Parametros: +// - cmd: Una comando ya operativo (con conexiónabierta) +// - id: El identificador del componente software +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $idtiposoftware; + global $idtiposo; + $rs=new Recordset; + $cmd->texto="SELECT * FROM softwares WHERE idsoftware=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $idtiposoftware=$rs->campos["idtiposoftware"]; + $idtiposo=$rs->campos["idtiposo"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_entidades.php b/admin/WebConsole/propiedades/propiedades_entidades.php new file mode 100644 index 00000000..3784cefd --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_entidades.php @@ -0,0 +1,117 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_entidades.php +// Descripción : +// Presenta el formulario de captura de datos de una entidad para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_entidades_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$identidad=0; +$nombreentidad=""; +$iduniversidad=0; +$grupoid=0; +$comentarios=""; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["identidad"])) $identidad=$_GET["identidad"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["iduniversidad"])) $iduniversidad=$_GET["iduniversidad"]; +if (isset($_GET["identificador"])) $identidad=$_GET["identificador"]; + +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$identidad); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_entidades.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_entidades_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos" action="../gestores/gestor_entidades.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=identidad value=<?=$identidad?>> + <INPUT type=hidden name=iduniversidad value=<?=$iduniversidad?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!--------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> <?echo $TbMsg[5]?> </TH> + <?if ($opcion==$op_eliminacion){?> + <TD><?echo $nombreentidad?></TD> + <?}else{?> + <TD><INPUT type=text class=cajatexto name="nombreentidad" style="width:350" value="<? echo $nombreentidad?>"> + <?}?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=66>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un entidad +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del entidad +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $nombreentidad; + global $comentarios; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM entidades WHERE identidad=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreentidad=$rs->campos["nombreentidad"]; + $comentarios=$rs->campos["comentarios"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_entornos.php b/admin/WebConsole/propiedades/propiedades_entornos.php new file mode 100644 index 00000000..6d99d337 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_entornos.php @@ -0,0 +1,152 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_entornos.php +// Descripción : +// Presenta el formulario de captura de datos de entorno para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_entornos_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ + + +$identorno=1; +$ipserveradm=""; +$portserveradm=""; +$protoclonacion=""; + + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["identorno"])) $identorno=$_GET["identorno"]; + +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando + + +if (!$cmd){ + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +} +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$identorno); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} + + +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_entornos.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_entornos_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" name="fdatos" action="../gestores/gestor_entornos.php" method="post"> + <INPUT type=hidden name=identorno value="<?=$identorno?>"> + + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > + + + +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <? + if ($opcion==$op_eliminacion){ + echo '<TD>'. $ipserveradm.'</TD>'; + } + else{ + echo '<TD><INPUT type=tex class="formulariodatos" name=ipserveradm size="50" value="'. $ipserveradm.'"></TD>'; + + } + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$portserveradm.' </TD>'; + else + echo '<TD><INPUT type=text class="formulariodatos" name=portserveradm size="50" value="'.$portserveradm.'"></TD>'; + ?> + </TR> + +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$protoclonacion.'</TD>'; + else{ + $metodos="UNICAST=UNICAST".chr(13); + $metodos.="MULTICAST=MULTICAST".chr(13); + $metodos.="TORRENT=TORRENT"; + echo '<TD>'.HTMLCTESELECT($metodos,"protoclonacion","estilodesple","",$protoclonacion,100).'</TD>'.chr(13); + } + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de entorno +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del entorno. +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + + global $identorno; + global $ipserveradm; + global $portserveradm; + global $protoclonacion; + + + $rs=new Recordset; + $cmd->texto="SELECT * FROM entornos WHERE identorno=".$id; + + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $ipserveradm=$rs->campos["ipserveradm"]; + $portserveradm=$rs->campos["portserveradm"]; + $protoclonacion=$rs->campos["protoclonacion"]; + + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_grupos.php b/admin/WebConsole/propiedades/propiedades_grupos.php new file mode 100644 index 00000000..d3245a92 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_grupos.php @@ -0,0 +1,207 @@ +<? +// ************************************************************************************************************************************************* +// 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: Marzo-2006 +// Nombre del fichero: propiedades_grupos.php +// Descripción : +// Presenta el formulario de captura de datos de un grupo para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../idiomas/php/".$idioma."/propiedades_grupos_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$nombregrupo=""; +$comentarios=""; +$grupoid=0; +$idgrupo=0; +$tipo=0; +$literaltipo=""; +$iduniversidad=0; +$idaula=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idgrupo"])) $idgrupo=$_GET["idgrupo"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["tipo"])) $tipo=$_GET["tipo"]; +if (isset($_GET["literaltipo"])) $literaltipo=$_GET["literaltipo"]; +if (isset($_GET["iduniversidad"])) $iduniversidad=$_GET["iduniversidad"]; +if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; + +if (isset($_GET["identificador"])) $idgrupo=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idgrupo); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +switch($literaltipo){ + case $LITAMBITO_CENTROS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[7]; + break; + case $LITAMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[7]; + break; + case $LITAMBITO_GRUPOSORDENADORES: + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[22]; + break; + case $LITAMBITO_GRUPOSTAREAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[9]; + break; + case $LITAMBITO_GRUPOSPROCEDIMIENTOS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[8]; + break; + case $LITAMBITO_GRUPOSTRABAJOS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[10]; + break; + case $LITAMBITO_GRUPOSIMAGENES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[11]; + break; + case $LITAMBITO_GRUPOSCOMPONENTESHARD : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[12]; + break; + case $LITAMBITO_GRUPOSCOMPONENTESSOFT : + $urlimg='../images/iconos/confisoft.gif'; + $textambito=$TbMsg[13]; + break; + case $LITAMBITO_GRUPOSPERFILESHARD : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[14]; + break; + case $LITAMBITO_GRUPOSPERFILESSOFT : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[15]; + break; + case $LITAMBITO_GRUPOSSOFTINCREMENTAL : + $urlimg='../images/iconos/softcombi.gif'; + $textambito=$TbMsg[16]; + break; + case $LITAMBITO_GRUPOSSERVIDORESREMBO : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[17]; + break; + case $LITAMBITO_GRUPOSSERVIDORESDHCP : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[18]; + break; + case $LITAMBITO_GRUPOSMENUS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[19]; + break; + case $LITAMBITO_GRUPOSRESERVAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[20]; + break; + case $LITAMBITO_GRUPOSENTIDADES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[21]; + break; + default: + $resul=false; +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_grupos.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_grupos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="" method=post> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idgrupo value=<?=$idgrupo?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <INPUT type=hidden name=tipo value=<?=$tipo?>> + <INPUT type=hidden name=literaltipo value="<?=$literaltipo?>"> + <INPUT type=hidden name=iduniversidad value=<?=$iduniversidad?>> + <INPUT type=hidden name=idaula value=<?=$idaula?>> + <P align=center class=cabeceras><IMG src="<? echo $urlimg?>"> <?echo $textambito?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$nombregrupo.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=nombregrupo style="width:320" type=text value="'.$nombregrupo.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=60>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> + <TABLE align=center> + <TR> + <TD><A href="#"><IMG border=0 src="../images/boton_cancelar.gif" onclick="cancelar()"></A></TD> + <TD width=20></TD> + <TD><A href="#"><IMG border=0 src="../images/boton_confirmar.gif" onclick="confirmar(<?=$opcion?>)" ></A></TD> + </TR> + </TABLE> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de una grupo +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador de la grupo +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $nombregrupo; + global $comentarios; + global $literaltipo; + global $LITAMBITO_GRUPOSORDENADORES; + + $rs=new Recordset; + if($literaltipo==$LITAMBITO_GRUPOSORDENADORES) + $cmd->texto="SELECT * FROM gruposordenadores WHERE idgrupo=".$id; + else + $cmd->texto="SELECT * FROM grupos WHERE idgrupo=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + if($literaltipo==$LITAMBITO_GRUPOSORDENADORES) + $nombregrupo=$rs->campos["nombregrupoordenador"]; + else + $nombregrupo=$rs->campos["nombregrupo"]; + $comentarios=$rs->campos["comentarios"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_imagenes.php b/admin/WebConsole/propiedades/propiedades_imagenes.php new file mode 100644 index 00000000..c2c686e2 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_imagenes.php @@ -0,0 +1,181 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_imagenes.php +// Descripción : +// Presenta el formulario de captura de datos de una imagen para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/propiedades_imagenes_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idimagen=0; +$nombreca=""; +$descripcion=""; +$idperfilsoft=0; +$comentarios=""; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idimagen"])) $idimagen=$_GET["idimagen"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idimagen=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idimagen); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_imagenes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_imagenes_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_imagenes.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idimagen value=<?=$idimagen?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[11]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:150">'.$nombreca.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=nombreca style="width:150" type=text value="'.$nombreca.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:300" type=text value="'.$descripcion.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$perfilsoft.'</TD>'; + else + echo '<TD>'.HTMLSELECT($cmd,$idcentro,'perfilessoft',$idperfilsoft,'idperfilsoft','descripcion',300).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[8]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$numpar.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=numpar style="width:30" type=text value="'.$numpar.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[9]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$tipopar.'</TD>'; + else + echo '<TD>'.HTMLSELECT($cmd,0,'tipospar',$codpar,'codpar','tipopar',100,"","","clonable=1").'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[10]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$nombrerepositorio.'</TD>'; + else + echo '<TD>'.HTMLSELECT($cmd,$idcentro,'repositorios',$idrepositorio,'idrepositorio','nombrerepositorio',300).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=55>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de una imagen +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador de la imagen +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$idmagen){ + global $nombreca; + global $descripcion; + global $comentarios; + global $idperfilsoft; + global $numpar; + global $codpar; + global $tipopar; + global $nombrerepositorio; + global $idrepositorio; + global $perfilsoft; + + $rs=new Recordset; + $cmd->texto="SELECT imagenes.*,tipospar.tipopar,repositorios.nombrerepositorio,perfilessoft.descripcion as perfilsoft FROM imagenes + LEFT OUTER JOIN tipospar ON tipospar.codpar=imagenes.codpar + LEFT OUTER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio + LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=imagenes.idperfilsoft + WHERE imagenes.idimagen=".$idmagen; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreca=$rs->campos["nombreca"]; + $descripcion=$rs->campos["descripcion"]; + $idperfilsoft=$rs->campos["idperfilsoft"]; + $comentarios=$rs->campos["comentarios"]; + $numpar=$rs->campos["numpar"]; + $tipopar=$rs->campos["tipopar"]; + $codpar=$rs->campos["codpar"]; + $idrepositorio=$rs->campos["idrepositorio"]; + $nombrerepositorio=$rs->campos["nombrerepositorio"]; + $perfilsoft=$rs->campos["perfilsoft"]; + $rs->Cerrar(); + return(true); + } + else + return(true); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_menus.php b/admin/WebConsole/propiedades/propiedades_menus.php new file mode 100644 index 00000000..54b017b5 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_menus.php @@ -0,0 +1,271 @@ +<? +// ************************************************************************************************ +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creaciónn: Año 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_menus.php +// Descripción : +// Presenta el formulario de captura de datos de un menu para insertar,modificar y eliminar +// ************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_menus_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idmenu=0; +$descripcion=""; +$titulo=""; +$coorx=0; +$coory=0; +$modalidad=0; +$scoorx=0; +$scoory=0; +$smodalidad=0; +$comentarios=""; +$grupoid=0; +$htmlmenupub=""; +$htmlmenupri=""; +$resolucion=""; +$idurlimg=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idmenu"])) $idmenu=$_GET["idmenu"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idmenu=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idmenu); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperaci�n de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administraci�n web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_menus.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_menus_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos" action="../gestores/gestor_menus.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idmenu value=<?=$idmenu?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:300" type=text value="'.$descripcion.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$titulo.'</TD>'; + else + echo '<TD ><INPUT class="formulariodatos" name=titulo style="width:300" type=text value="'.$titulo.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[18]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,0,'iconos',$idurlimg,'idicono','descripcion').' </TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,0,'iconos',$idurlimg,'idicono','descripcion',160,"","","idtipoicono=3").'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +<? +/* + <TR> + <TH align=center> <?echo $TbMsg[17]?> </TH> + <? + if ($opcion==$op_eliminacion){ + $tbresolucion[1]="800x600"; + $tbresolucion[2]="1024x768"; + echo '<TD style="width:150">'.$tbresolucion[$resolucion].'</TD>'; + } + else{ + $parametros="1=800x600".chr(13); + $parametros.="2=1024x768"; + echo '<TD>'.HTMLCTESELECT($parametros,"resolucion","estilodesple","",$resolucion,100).'</TD>'; + } + ?> + </TR> +*/ +?> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD >'.$comentarios.' </TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=55>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +</TABLE> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +<BR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TD align=center colspan=6> <b><?echo $TbMsg[8]?></b> </TD> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[9]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:50">'.$coorx.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=coorx style="width:50" type=text value="'.$coorx.'"></TD>';?> + <TH align=center> <?echo $TbMsg[10]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:50">'.$coorx.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=coory style="width:50" type=text value="'.$coory.'"></TD>';?> + <TH align=center> <?echo $TbMsg[11]?> </TH> + <? + if ($opcion==$op_eliminacion){ + $tbmodalidad[1]=$TbMsg[13]; + $tbmodalidad[2]=$TbMsg[14]; + echo '<TD style="width:100">'.$tbmodalidad[$modalidad].'</TD>'; + } + else{ + $parametros="1=1".chr(13); + $parametros.="2=2".chr(13); + $parametros.="3=3".chr(13); + $parametros.="4=4".chr(13); + $parametros.="5=5"; + echo '<TD>'.HTMLCTESELECT($parametros,"modalidad","estilodesple","",$modalidad,100).'</TD>'; + } + ?> + </TR> + + <TR> + <TH align=center> <?echo $TbMsg[15]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD colspan=5>'.$htmlmenupub.'</TD>'; + else + echo '<TD colspan=5><INPUT class="formulariodatos" name=htmlmenupub style="width:350" type=text value="'.$htmlmenupub.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TD align=center colspan=6> <b><?echo $TbMsg[12]?></b> </TD> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[9]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:50">'.$scoorx.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=scoorx style="width:50" type=text value="'.$scoorx.'"></TD>';?> + <TH align=center> <?echo $TbMsg[10]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:50">'.$scoorx.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=scoory style="width:50" type=text value="'.$scoory.'"></TD>';?> + <TH align=center> <?echo $TbMsg[11]?> </TH> + <? + if ($opcion==$op_eliminacion){ + $tbmodalidad[1]=$TbMsg[13]; + $tbmodalidad[2]=$TbMsg[14]; + echo '<TD style="width:100">'.$tbmodalidad[$smodalidad].'</TD>'; + } + else{ + $parametros="1=1".chr(13); + $parametros.="2=2".chr(13); + $parametros.="3=3".chr(13); + $parametros.="4=4".chr(13); + $parametros.="5=5"; + echo '<TD>'.HTMLCTESELECT($parametros,"smodalidad","estilodesple","",$smodalidad,100).'</TD>'; + } + ?> + </TR> + <TR> + <TH align=center> <?echo $TbMsg[16]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD colspan=5">'.$htmlmenupri.'</TD>'; + else + echo '<TD colspan=5><INPUT class="formulariodatos" name=htmlmenupri style="width:350" type=text value="'.$htmlmenupri.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un menu +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del menu +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $titulo; + global $coorx; + global $coory; + global $modalidad; + global $scoorx; + global $scoory; + global $smodalidad; + global $comentarios; + global $htmlmenupub; + global $htmlmenupri; + global $resolucion; + global $idurlimg; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM menus WHERE idmenu=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $titulo=$rs->campos["titulo"]; + $coorx=$rs->campos["coorx"]; + $coory=$rs->campos["coory"]; + $modalidad=$rs->campos["modalidad"]; + $scoorx=$rs->campos["scoorx"]; + $scoory=$rs->campos["scoory"]; + $smodalidad=$rs->campos["smodalidad"]; + $comentarios=$rs->campos["comentarios"]; + $htmlmenupub=$rs->campos["htmlmenupub"]; + $htmlmenupri=$rs->campos["htmlmenupri"]; + $resolucion=$rs->campos["resolucion"]; + $idurlimg=$rs->campos["idurlimg"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_ordenadores.php b/admin/WebConsole/propiedades/propiedades_ordenadores.php new file mode 100644 index 00000000..ab8c832d --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_ordenadores.php @@ -0,0 +1,209 @@ +<? +// **************************************************************************************************** +// 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: propiedades_ordenadores.php +// Descripción : +// Presenta el formulario de captura de datos de un ordenador para insertar,modificar y eliminar +// **************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_ordenadores_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idordenador=0; +$nombreordenador=""; +$ip=""; +$mac=""; +$idperfilhard=0; +$idrepositorio=0; +$idmenu=0; +$idprocedimiento=0; +$idaula=0; +$cache=""; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idordenador"])) $idordenador=$_GET["idordenador"]; +if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idordenador=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idordenador); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_ordenadores.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_ordenadores_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos" action="../gestores/gestor_ordenadores.php" method="post"> + <INPUT type=hidden name=opcion value="<? echo $opcion?>"> + <INPUT type=hidden name=idordenador value="<? echo $idordenador?>"> + <INPUT type=hidden name=grupoid value="<? echo $grupoid?>"> + <INPUT type=hidden name=idaula value="<? echo $idaula?>"> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$nombreordenador.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=nombreordenador type=text value="'.$nombreordenador.'"></TD>'; + ?> + <TD colspan=2 valign=top align=left rowspan=3><IMG border=2 style="border-color:#63676b" src="../images/fotoordenador.gif"></TD> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$ip.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=ip type=text value="'.$ip.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$mac.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=mac type=text value="'. $mac.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[8]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'perfileshard',$idperfilhard,'idperfilhard','descripcion').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'perfileshard',$idperfilhard,'idperfilhard','descripcion',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[10]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'repositorios',$idrepositorio,'idrepositorio','nombrerepositorio').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'repositorios',$idrepositorio,'idrepositorio','nombrerepositorio',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[11]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'menus',$idmenu,'idmenu','descripcion').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'menus',$idmenu,'idmenu','descripcion',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[9]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'procedimientos',$idprocedimiento,'idprocedimiento','descripcion').' </TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'procedimientos',$idprocedimiento,'idprocedimiento','descripcion',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[12]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.$cache.'</TD>'; + else + echo '<TD colspan=3><INPUT style="width=250" class="formulariodatos" name=cache type=text value="'. $cache.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +<BR> +<? +//________________________________________________________________________________________________________ +// +// Frame con la información de la configuración +echo '<DIV align=center>'; +echo '<IFRAME scrolling=yes height=150 width=90% + src="../principal/configuraciones.php?swp=1&idambito='.$idordenador.'&ambito='.$AMBITO_ORDENADORES.'"></IFRAME>'; +echo '</DIV>'; +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un ordenador +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del ordenador +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $idordenador; + global $nombreordenador; + global $ip; + global $mac; + global $idperfilhard; + global $idrepositorio; + global $idmenu; + global $idprocedimiento; + global $cache; + $rs=new Recordset; + $cmd->texto="SELECT * FROM ordenadores WHERE idordenador=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreordenador=$rs->campos["nombreordenador"]; + $ip=$rs->campos["ip"]; + $mac=$rs->campos["mac"]; + $idperfilhard=$rs->campos["idperfilhard"]; + $idrepositorio=$rs->campos["idrepositorio"]; + $idmenu=$rs->campos["idmenu"]; + $idprocedimiento=$rs->campos["idproautoexec"]; + $cache=$rs->campos["cache"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_ordenadorestandar.php b/admin/WebConsole/propiedades/propiedades_ordenadorestandar.php new file mode 100644 index 00000000..b6dd3a3d --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_ordenadorestandar.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: propiedades_ordenadorestandar.php +// Descripción : +// Presenta el formulario de captura de datos de un ordenador estandar para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_ordenadorestandar_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idaula=0; +$nombreaula=""; +$idordenador=0; +$nombreordenador=""; +$ip=""; +$mac=""; +$cache=""; +$idperfilhard=0; +$idrepositorio=0; + +if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; // Recoge parametros +if (isset($_GET["nombreaula"])) $nombreaula=$_GET["nombreaula"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idaula); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_ordenadorestandar.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_ordenadorestandar_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <P align=center class=cabeceras><IMG border=0 src="../images/iconos/aula.gif"> <?echo $TbMsg[0]?>:<SPAN class=cabeceras><? echo $nombreaula?></SPAN><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[2]?> </TD> + <? + echo '<TD><INPUT class="formulariodatos" name=nombreordenador type=text value="'.$nombreordenador.'"></TD>'; + ?> + <TD colspan=2 valign=top align=left rowspan=3><IMG border=2 style="border-color:#63676b" src="../images/fotoordenador.gif"></TD> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[3]?> </TD> + <? + echo '<TD><INPUT class="formulariodatos" name=ip type=text value="'.$ip.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[4]?> </TD> + <? + echo '<TD><INPUT class="formulariodatos" name=mac type=text value="'. $mac.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <? + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'perfileshard',$idperfilhard,'idperfilhard','descripcion',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <? + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'repositorios',$idrepositorio,'idrepositorio','nombrerepositorios',250).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[11]?> </TD> + <? + echo '<TD colspan=3><INPUT style="width:250"class="formulariodatos" name=cache type=text value="'. $cache.'"></TD>'; + ?> + </TR> + +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[8]?> </TD> + <? + echo '<TD colspan=3><INPUT class="formulariodatos" name=numorde type=text value=0 style="width:250"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> + <TABLE border=0 align=center> + <TR> + <TD width=20> </TD> + <TD colspan=3 align=left ><SPAN class=notas><I><?echo $TbMsg[9]?><br><br><?echo $TbMsg[10]?></I></SPAN></TD> + <TD width=20> </TD></TR> + <TR> + <TD colspan=5 width=20> </TD> + </TR> + <TR> + <TD width=20> </TD> + <TD align=right><A href=#><IMG border=0 src="../images/boton_cancelar.gif" style="cursor:hand" onclick="cancelar()"></A></TD> + <TD width=20></TD> + <TD align=left ><A href=#><IMG border=0 src="../images/boton_confirmar.gif" style="cursor:hand" onclick="confirmar(<? echo $idaula?>)" ></A></TD> + <TD width=20> </TD> + </TR> + </TABLE> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un ordenador estandar +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del ordenador estandar +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $nombreordenador; + global $ip; + global $mac; + global $cache; + global $idperfilhard; + global $idrepositorio; + + $wnombreordenador=""; + $wip=""; + $wmac=""; + $wcache=""; + $widperfilhard=0; + $widrepositorio=0; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM ordenadores WHERE idaula=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + if ($rs->EOF) return(false); + $rs->Primero(); + $nombreordenador=$rs->campos["nombreordenador"]; + $ip=$rs->campos["ip"]; + $mac=$rs->campos["mac"]; + $cache=$rs->campos["cache"]; + $idperfilhard=$rs->campos["idperfilhard"]; + $idrepositorio=$rs->campos["idrepositorio"]; + + while(!$rs->EOF){ + $wnombreordenador=$rs->campos["nombreordenador"]; + $wip=$rs->campos["ip"]; + $wmac=$rs->campos["mac"]; + $wcache=$rs->campos["cache"]; + $widperfilhard=$rs->campos["idperfilhard"]; + $widrepositorio=$rs->campos["idrepositorio"]; + + if(strlen($wnombreordenador)!=strlen($nombreordenador)) + $nombreordenador=""; + else{ + for($i=0;$i<strlen($nombreordenador);$i++){ + if(substr($nombreordenador,$i,1)!=substr($wnombreordenador,$i,1)){ + //$nombreordenador=substr($nombreordenador,0,$i); + $nombreordenador=""; + break; + } + } + } + if(strlen($wip)!=strlen($ip)) + $ip=""; + else{ + for($i=0;$i<strlen($ip);$i++){ + if(substr($ip,$i,1)!=substr($wip,$i,1)){ + $ip=""; + break; + } + } + } + if(strlen($wmac)!=strlen($mac)) + $mac=""; + else{ + for($i=0;$i<strlen($mac);$i++){ + if(substr($mac,$i,1)!=substr($wmac,$i,1)){ + $mac=""; + break; + } + } + } + if($cache!=$wcache) $cache=0; + if($idperfilhard!=$widperfilhard) $idperfilhard=0; + if($idrepositorio!=$widrepositorio) $idrepositorio=0; + $rs->Siguiente(); + } + $rs->Cerrar(); + return(true); +} diff --git a/admin/WebConsole/propiedades/propiedades_perfilhardwares.php b/admin/WebConsole/propiedades/propiedades_perfilhardwares.php new file mode 100644 index 00000000..ac1d5a74 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_perfilhardwares.php @@ -0,0 +1,116 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_perfilhardwares.php +// Descripción : +// Presenta el formulario de captura de datos de un pefil hardware para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_perfilhardwares_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idperfilhard=0; +$descripcion=""; +$comentarios=""; +$grupoid=0; +$ordenadores=0; // Número de ordenador que tienen este perfil + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idperfilhard"])) $idperfilhard=$_GET["idperfilhard"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idperfilhard=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idperfilhard); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_perfilhardwares.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_perfilhardwares_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_perfilhardwares.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idperfilhard value=<?=$idperfilhard?>> + <INPUT type=hidden name=ordenadores value=<?=$ordenadores?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:215">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:215" type=text value="'.$descripcion.'"></TD>';?> + <TD align=left rowspan=2><IMG border=3 style="border-color:#63676b" src="../images/aula.jpg"><br><center> Ordenadores: <? echo $ordenadores?></center></TD> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=40>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un perfil hardware +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del perfil hardware +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id) +{ + global $descripcion; + global $comentarios; + global $ordenadores; + $rs=new Recordset; + $cmd->texto="SELECT perfileshard.*, count(*) as numordenadores FROM perfileshard + INNER JOIN ordenadores ON ordenadores.idperfilhard=perfileshard.idperfilhard + WHERE perfileshard.idperfilhard=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $comentarios=$rs->campos["comentarios"]; + $ordenadores=$rs->campos["numordenadores"]; + } + $rs->Cerrar(); + return(true); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_perfilsoftwares.php b/admin/WebConsole/propiedades/propiedades_perfilsoftwares.php new file mode 100644 index 00000000..8927e388 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_perfilsoftwares.php @@ -0,0 +1,126 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_perfilsoftwares.php +// Descripción : +// Presenta el formulario de captura de datos de un pefil software para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_perfilsoftwares_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idperfilsoft=0; +$descripcion=""; +$comentarios=""; +$grupoid=0; +$imagenes=0; // Número de imagenes que tienen este perfil + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idperfilsoft"])) $idperfilsoft=$_GET["idperfilsoft"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idperfilsoft=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idperfilsoft); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_perfilsoftwares.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_perfilsoftwares_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_perfilsoftwares.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idperfilsoft value=<?=$idperfilsoft?>> + <INPUT type=hidden name=imagenes value=<?=$imagenes?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:215">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:215" type=text value="'.$descripcion.'"></TD>';?> + <TD align=left rowspan=2><IMG border=3 style="border-color:#63676b" src="../images/aula.jpg"><br><center> Images: <? echo $imagenes?></center></TD> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=40>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un perfil software +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del perfil software +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $comentarios; + + global $imagenes; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM perfilessoft WHERE idperfilsoft=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $comentarios=$rs->campos["comentarios"]; + $rs->Cerrar(); + $cmd->texto="SELECT count(*) as numimagenes + FROM imagenes + WHERE idperfilsoft=".$id." + AND codpar>0"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF) + $imagenes=$rs->campos["numimagenes"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_procedimientos.php b/admin/WebConsole/propiedades/propiedades_procedimientos.php new file mode 100644 index 00000000..e643bbbd --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_procedimientos.php @@ -0,0 +1,110 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_procedimientos.php +// Descripción : +// Presenta el formulario de captura de datos de un procedimiento para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_procedimientos_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idprocedimiento=0; +$descripcion=""; +$comentarios=""; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idprocedimiento"])) $idprocedimiento=$_GET["idprocedimiento"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idprocedimiento=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idprocedimiento); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_procedimientos.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_procedimientos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_procedimientos.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idprocedimiento value=<?=$idprocedimiento?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:300" type=text value="'.$descripcion.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=55>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un procedimiento +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del procedimiento +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $comentarios; + $rs=new Recordset; + $cmd->texto="SELECT * FROM procedimientos WHERE idprocedimiento=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $comentarios=$rs->campos["comentarios"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_repositorios.php b/admin/WebConsole/propiedades/propiedades_repositorios.php new file mode 100644 index 00000000..aa25a64a --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_repositorios.php @@ -0,0 +1,176 @@ +<? +// ********************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creaciónn: Año 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: propiedades_repositorios.php +// Descripción : +// Presenta el formulario de captura de datos de un repositorio para insertar,modificar y eliminar +// ********************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_repositorios_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idrepositorio=0; +$nombrerepositorio=""; +$ip=""; +$puertorepo="2002"; +$pathrepod="/opt/opengnsys/admin"; +$pathpxe="/opt/opengnsys/tftpboot/pxelinux.cfg"; +$grupoid=0; +$comentarios=""; +$ordenadores=0; // Número de ordenador a los que da servicio + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idrepositorio"])) $idrepositorio=$_GET["idrepositorio"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idrepositorio=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con repositorio B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idrepositorio); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperaci�n de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_repositorios.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_repositorios_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_repositorios.php" method="post"> + <INPUT type=hidden name=opcion value="<? echo $opcion?>"> + <INPUT type=hidden name=idrepositorio value="<? echo $idrepositorio?>"> + <INPUT type=hidden name=grupoid value="<? echo $grupoid?>"> + <INPUT type=hidden name=ordenadores value="<? echo $ordenadores?>"> + + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$nombrerepositorio.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=nombrerepositorio style="width:200" type=text value="'.$nombrerepositorio.'"></TD>'; + ?> + <TD valign=top align=left rowspan=3 ><CENTER> + <IMG border=3 style="border-color:#63676b" src="../images/aula.jpg"> + <BR> Ordenadores: <? echo $ordenadores?></CENTER></TD> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$ip.'</TD>'; + else + echo'<TD><INPUT class="formulariodatos" name=ip type=text style="width:200" value="'.$ip.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[8]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD>'.$puertorepo.'</TD>'; + else + echo'<TD><INPUT class="formulariodatos" name=puertorepo type=text style="width:200" value="'.$puertorepo.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[9]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=2>'.$pathrepod.'</TD>'; + else + echo'<TD colspan=2><INPUT class="formulariodatos" name=pathrepod type=text style="width:330" value="'.$pathrepod.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[10]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=2>'.$pathpxe.'</TD>'; + else + echo'<TD colspan=2><INPUT class="formulariodatos" name=pathpxe type=text style="width:330" value="'.$pathpxe.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=2>'.$comentarios.'</TD>'; + else + echo '<TD colspan=2><TEXTAREA class="formulariodatos" name=comentarios rows=2 cols=50>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> + +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un repositorio +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del repositorio +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $nombrerepositorio; + global $ip; + global $comentarios; + global $puertorepo; + global $pathrepod; + global $pathpxe; + global $ordenadores; + + $cmd->texto="SELECT repositorios.*, count(*) as numordenadores FROM repositorios + INNER JOIN ordenadores ON ordenadores.idrepositorio=repositorios.idrepositorio + WHERE repositorios.idrepositorio=".$id; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(true); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombrerepositorio=$rs->campos["nombrerepositorio"]; + $ip=$rs->campos["ip"]; + $comentarios=$rs->campos["comentarios"]; + $puertorepo=$rs->campos["puertorepo"]; + $pathrepod=$rs->campos["pathrepod"]; + $pathpxe=$rs->campos["pathpxe"]; + $ordenadores=$rs->campos["numordenadores"]; + } + $rs->Cerrar(); + return(true); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_reservas.php b/admin/WebConsole/propiedades/propiedades_reservas.php new file mode 100644 index 00000000..153e56c7 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_reservas.php @@ -0,0 +1,235 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_reservas.php +// Descripción : +// Presenta el formulario de captura de datos de una reserva para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/propiedades_reservas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idreserva=0; +$descripcion=""; +$solicitante=""; +$email=""; +$idestatus=0; +$idaula=0; +$idimagen=0; +$idtarea=0; +$idtrabajo=0; +$estado=0; +$comentarios=""; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idreserva"])) $idreserva=$_GET["idreserva"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idreserva=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idreserva); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/propiedades_reservas.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_reservas_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_reservas.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idreserva value=<?=$idreserva?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <INPUT type=hidden name=estado value=<?=$estado?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$descripcion.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=descripcion rows=3 cols=55">'.$descripcion.'</TEXTAREA></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$solicitante.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=solicitante style="width:300" type=text value="'.$solicitante.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[8]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$email.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=email style="width:300" type=text value="'.$email.'"></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[9]?> </TH> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,0,'estatus',$idestatus,'idestatus','descripcion').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,0,'estatus',$idestatus,'idestatus','descripcion',300).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[10]?> </TH> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'aulas',$idaula,'idaula','nombreaula').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'aulas',$idaula,'idaula','nombreaula',300).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[11]?> </TH> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'imagenes',$idimagen,'idimagen','descripcion').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'imagenes',$idimagen,'idimagen','descripcion',300).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[19]?> </TH> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'tareas',$idtarea,'idtarea','descripcion').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'tareas',$idtarea,'idtarea','descripcion',300).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[20]?> </TH> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,$idcentro,'trabajos',$idtrabajo,'idtrabajo','descripcion').'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,$idcentro,'trabajos',$idtrabajo,'idtrabajo','descripcion',300).'</TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <? + $tbimg[$RESERVA_CONFIRMADA]='../images/iconos/confirmadas.gif'; + $tbimg[$RESERVA_PENDIENTE]='../images/iconos/pendientes.gif'; + $tbimg[$RESERVA_DENEGADA]='../images/iconos/denegadas.gif'; + ?> + <TR> + <TH align=center> <?echo $TbMsg[16]?> </TH> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300"><IMG src="'.$tbimg[$estado].'"> ('.$TbMsg[12+$estado].')</TD>'; + else{ + echo '<TD>'; + echo '<INPUT name=xestado type=radio value="'.$RESERVA_CONFIRMADA.'"'; + if($estado==$RESERVA_CONFIRMADA) echo ' checked '; + echo ' onclick="document.fdatos.estado.value='.$RESERVA_CONFIRMADA.'">'.$TbMsg[13].' '; + + echo '<INPUT name=xestado type=radio value="'.$RESERVA_PENDIENTE.'"'; + if($estado==$RESERVA_PENDIENTE) echo ' checked '; + echo 'onclick="document.fdatos.estado.value='.$RESERVA_PENDIENTE.'">'.$TbMsg[14].' '; + + echo '<INPUT name=xestado type=radio value="'.$RESERVA_DENEGADA.'"'; + if($estado==$RESERVA_DENEGADA) echo ' checked '; + echo 'onclick="document.fdatos.estado.value='.$RESERVA_DENEGADA.'">'.$TbMsg[15].' '; + + echo '</TD>'; + } + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=55>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de una reserva +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador de la reserva +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $comentarios; + global $solicitante; + global $email; + global $idestatus; + global $idaula; + global $idimagen; + global $idtarea; + global $idtrabajo; + global $estado; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM reservas WHERE idreserva=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $solicitante=$rs->campos["solicitante"]; + $email=$rs->campos["email"]; + $idestatus=$rs->campos["idestatus"]; + $idaula=$rs->campos["idaula"]; + $idimagen=$rs->campos["idimagen"]; + $idtarea=$rs->campos["idtarea"]; + $idtrabajo=$rs->campos["idtrabajo"]; + $estado=$rs->campos["estado"]; + $comentarios=$rs->campos["comentarios"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_tareas.php b/admin/WebConsole/propiedades/propiedades_tareas.php new file mode 100644 index 00000000..77758e9d --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_tareas.php @@ -0,0 +1,155 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_tareas.php +// Descripción : +// Presenta el formulario de captura de datos de una tarea para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/TomaDato.php"); +include_once("../idiomas/php/".$idioma."/propiedades_tareas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idtarea=0; +$descripcion=""; +$comentarios=""; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idtarea"])) $idtarea=$_GET["idtarea"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idtarea=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idtarea); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_tareas.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_tareas_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_tareas.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idtarea value=<?=$idtarea?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <INPUT type=hidden name=idambito value=<?=$idambito?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:300" type=text value="'.$descripcion.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=55>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[7]?> </TD> + <? + if ($opcion==$op_eliminacion){ + $Mambitos[$AMBITO_CENTROS]=$TbMsg[10]; + $Mambitos[$AMBITO_GRUPOSAULAS]=$TbMsg[11]; + $Mambitos[$AMBITO_AULAS]=$TbMsg[12]; + $Mambitos[$AMBITO_GRUPOSORDENADORES]=$TbMsg[13]; + $Mambitos[$AMBITO_ORDENADORES]=$TbMsg[14]; + echo '<TD>'.$Mambitos[$ambito].'</TD>'; + } + else{ + $parametros=$AMBITO_CENTROS."=".$TbMsg[10].chr(13); + $parametros.=$AMBITO_GRUPOSAULAS."=".$TbMsg[11].chr(13); + $parametros.=$AMBITO_AULAS."=".$TbMsg[12].chr(13); + $parametros.=$AMBITO_GRUPOSORDENADORES."=".$TbMsg[13].chr(13); + $parametros.=$AMBITO_ORDENADORES."=".$TbMsg[14]; + echo '<TD>'.HTMLCTESELECT($parametros,"ambito","estilodesple"," ",$ambito,200,"chgdespleambito").'</TD>'; + } + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[8]?> </TD> + <? + if ($opcion==$op_eliminacion){ + tomaDescriAmbito($cmd,$ambito,$idambito,&$textambito); + echo '<TD>'.$textambito.'</TD>'; + } + else{ + echo '<TD id="despleambito">'.tomaSelectAmbito($cmd,$ambito,$idambito,$idcentro,250).'</TD>'; + } + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de una tarea +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador de la tarea +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $comentarios; + global $ambito; + global $idambito; + $rs=new Recordset; + $cmd->texto="SELECT * FROM tareas WHERE idtarea=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $comentarios=$rs->campos["comentarios"]; + $ambito=$rs->campos["ambito"]; + $idambito=$rs->campos["idambito"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_tipohardwares.php b/admin/WebConsole/propiedades/propiedades_tipohardwares.php new file mode 100644 index 00000000..84f3ea24 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_tipohardwares.php @@ -0,0 +1,114 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_tipohardwares.php +// Descripción : +// Presenta el formulario de captura de datos de un tipo de hardware para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../idiomas/php/".$idioma."/propiedades_tipohardwares_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idtipohardware=0; +$descripcion=""; +$urlimg=""; +$grupoid=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idtipohardware"])) $idtipohardware=$_GET["idtipohardware"]; +if (isset($_GET["grupoid"])) $grupoid=$_GET["grupoid"]; +if (isset($_GET["identificador"])) $idtipohardware=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idtipohardware); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_tipohardwares.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_tipohardwares_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_tipohardwares.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idtipohardware value=<?=$idtipohardware?>> + <INPUT type=hidden name=grupoid value=<?=$grupoid?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos > +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[5]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD style="width:300">'.$descripcion.'</TD>'; + else + echo '<TD><INPUT class="formulariodatos" name=descripcion style="width:300" type=text value="'.$descripcion.'"></TD>';?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <? + if ($opcion==$op_eliminacion) + echo '<TD colspan=3>'.TomaDato($cmd,0,'iconos',basename($urlimg),'urlicono','urlicono',0).'</TD>'; + else + echo '<TD colspan=3>'.HTMLSELECT($cmd,0,'iconos',basename($urlimg),'urlicono','descripcion',250,"","","idtipoicono=1").'</TD>'; + ?> + </TR> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un tipo de hardware +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del tipo de hardware +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $descripcion; + global $urlimg; + $rs=new Recordset; + $cmd->texto="SELECT * FROM tipohardwares WHERE idtipohardware=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $descripcion=$rs->campos["descripcion"]; + $urlimg=$rs->campos["urlimg"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_universidades.php b/admin/WebConsole/propiedades/propiedades_universidades.php new file mode 100644 index 00000000..ef9802ad --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_universidades.php @@ -0,0 +1,109 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: propiedades_universidades.php +// Descripción : +// Presenta el formulario de captura de datos de una universidad para insertar,modificar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../idiomas/php/".$idioma."/propiedades_universidades_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$iduniversidad=0; +$nombreuniversidad=""; +$comentarios=""; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["iduniversidad"])) $iduniversidad=$_GET["iduniversidad"]; +if (isset($_GET["identificador"])) $iduniversidad=$_GET["identificador"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$iduniversidad); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} +else + $urlicono="../images/universidad.jpg"; +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de universidades</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_universidades.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_universidades_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<DIV align=center> +<FORM name="fdatos" action="../gestores/gestor_universidades.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=iduniversidad value=<?=$iduniversidad?>> + <P align=center class=cabeceras><?echo $TbMsg[4]?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center ><?echo $TbMsg[5]?> </TD> + <?echo '<TD colspan=3><INPUT class="formulariodatos" name=nombreuniversidad style="width:350" type=text value="'.$nombreuniversidad.'"></TD>';?> + </TR> + <!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH align=center> <?echo $TbMsg[6]?> </TD> + <?if ($opcion==$op_eliminacion) + echo '<TD>'.$comentarios.'</TD>'; + else + echo '<TD><TEXTAREA class="formulariodatos" name=comentarios rows=3 cols=66>'.$comentarios.'</TEXTAREA></TD>'; + ?> + </TR> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un universidad +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador de la universidad +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $iduniversidad; + global $nombreuniversidad; + global $comentarios; + $id=1; + $rs=new Recordset; + $cmd->texto="SELECT * FROM universidades WHERE iduniversidad=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreuniversidad=$rs->campos["nombreuniversidad"]; + $comentarios=$rs->campos["comentarios"]; + } + $rs->Cerrar(); + return(true); +} +?> diff --git a/admin/WebConsole/propiedades/propiedades_usuarios.php b/admin/WebConsole/propiedades/propiedades_usuarios.php new file mode 100644 index 00000000..ecdb4072 --- /dev/null +++ b/admin/WebConsole/propiedades/propiedades_usuarios.php @@ -0,0 +1,183 @@ +<? +// ************************************************************************************************************************************************* +// 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: propiedades_usuarios.php +// Descripción : +// Presenta el formulario de captura de datos de un usuario para insertar,modificar y eliminar +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/opciones.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../idiomas/php/".$idioma."/propiedades_usuarios_".$idioma.".php"); +//________________________________________________________________________________________________________ +$opcion=0; +$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); +//________________________________________________________________________________________________________ +$idusuario=0; +$usuario=""; +$pasguor=""; +$nombre=""; +$email=""; +$identificador=0; +$idambito=0; +$ididioma=0; +$idtipousuario=0; + +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros +if (isset($_GET["idusuario"])) $idusuario=$_GET["idusuario"]; +if (isset($_GET["idtipousuario"])) $idtipousuario=$_GET["idtipousuario"]; +if (isset($_GET["identificador"])) $idusuario=$_GET["identificador"]; +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; + +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +if ($opcion!=$op_alta){ + $resul=TomaPropiedades($cmd,$idusuario); + if (!$resul) + Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos. +} + +switch($idtipousuario){ + case $SUPERADMINISTRADOR: + $urlimg="../images/iconos/superadministradores.gif"; + $litusu=$TbMsg[11]; + break; + case $ADMINISTRADOR: + $urlimg="../images/iconos/administradores.gif"; + $litusu=$TbMsg[12]; + break; + case $OPERADOR: + $urlimg="../images/iconos/operadores.gif"; + $litusu=$TbMsg[13]; + break; +} +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/propiedades_usuarios.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_usuarios_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos" action="../gestores/gestor_usuarios.php" method="post"> + <INPUT type=hidden name=opcion value=<?=$opcion?>> + <INPUT type=hidden name=idusuario value=<?=$idusuario?>> + <INPUT type=hidden name=idtipousuario value=<?=$idtipousuario?>> + <INPUT type=hidden name=idambito value=<?=$idambito?>> + <? + if ($opcion==$op_modificacion && $idtipousuario!=$SUPERADMINISTRADOR){ + echo '<INPUT type=hidden name=usuario value='.$usuario.'>'; + echo '<INPUT type=hidden name=pasguor value='.$pasguor.'>'; + } + ?> + <P align=center class=cabeceras><?echo $TbMsg[4]." (".$litusu.")"?><BR> + <SPAN align=center class=subcabeceras><? echo $opciones[$opcion]?></SPAN></P> + <TABLE align=center border=0 cellPadding=1 cellSpacing=1 class=tabla_datos> +<!--------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> <?echo $TbMsg[5]?> </TH> + <?if ($opcion==$op_eliminacion || ($opcion==$op_modificacion && $idtipousuario!=$SUPERADMINISTRADOR)){?> + <TD><?echo $usuario?>  <IMG src="<? echo $urlimg ?>"></TD> + <?}else{?> + <TD><INPUT type=text class=cajatexto maxlength=10 name="usuario" style="width:100" value="<? echo $usuario?>"> + <IMG src="<? echo $urlimg ?>"> + + <?}?> + </TR> +<!--------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> <?echo $TbMsg[6]?> </TH> + <?if ($opcion==$op_eliminacion || ($opcion==$op_modificacion && $idtipousuario!=$SUPERADMINISTRADOR)){?> + <TD><?echo $pasguor?></TD> + <?}else{?> + <TD><INPUT type=text class=cajatexto maxlength=10 name="pasguor" style="width:100" value="<? echo $pasguor?>"> + <?}?> + </TR> +<!--------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> <?echo $TbMsg[7]?> </TH> + <?if ($opcion==$op_eliminacion){?> + <TD><?echo $nombre?></TD> + <?}else{?> + <TD><INPUT type=text class=cajatexto name="nombre" style="width:250" value="<? echo $nombre?>"> + <?}?> + </TR> +<!--------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> <?echo $TbMsg[8]?> </TH> + <?if ($opcion==$op_eliminacion){?> + <TD><?echo $email?></TD> + <?}else{?> + <TD><INPUT type=text class=cajatexto name="email" style="width:250" value="<? echo $email?>"> + <?}?> + </TR> +<!---------------------------------------------------------------------------------------------------------------------------------------------------> + <TR> + <TH> <?echo $TbMsg[10]?> </TH> + <?if ($opcion==$op_eliminacion){?> + <TD><? echo TomaDato($cmd,0,"idiomas",$ididioma,"ididioma","descripcion")?></TD> + <?}else{?> + <TD><? echo HTMLSELECT($cmd,0,"idiomas",$ididioma,"ididioma","descripcion",100)?></TD> + <?}?> + </TR> + +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + </TABLE> +</FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +include_once("../includes/opcionesbotonesop.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Recupera los datos de un usuario +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - id: El identificador del usuario +//________________________________________________________________________________________________________ +function TomaPropiedades($cmd,$id){ + global $usuario; + global $pasguor; + global $nombre; + global $email; + global $idambito; + global $ididioma; + global $idtipousuario; + + $rs=new Recordset; + $cmd->texto="SELECT * FROM usuarios WHERE idusuario=".$id; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $usuario=$rs->campos["usuario"]; + $pasguor=$rs->campos["pasguor"]; + $nombre=$rs->campos["nombre"]; + $email=$rs->campos["email"]; + $idambito=$rs->campos["idambito"]; + $ididioma=$rs->campos["ididioma"]; + $idtipousuario=$rs->campos["idtipousuario"]; + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/varios/acceso_operador.php b/admin/WebConsole/varios/acceso_operador.php new file mode 100644 index 00000000..3d88da6b --- /dev/null +++ b/admin/WebConsole/varios/acceso_operador.php @@ -0,0 +1,98 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: acceso.php +// Descripción : Presenta la pantalla de login del operador +// ************************************************************************************************************************************************* + +session_start(); // Activa variables de sesi� + +$herror=0; + +if (isset($_GET["herror"])) $herror=$_GET["herror"]; +if (isset($_POST["herror"])) $herror=$_POST["herror"]; + +$ITEMS_PUBLICOS=1; +$ITEMS_PRIVADOS=2; + +if (isset($_SESSION["swop"])){ + // Acceso al menu de adminitración del aula + $wurl="menucliente.php?tip=".$ITEMS_PRIVADOS; + Header('Location:'.$wurl); +} + +$TbErr=array(); +$TbErr[0]="SIN ERRORES"; +$TbErr[1]="ATENCIÓN: Usted no tiene acceso al menú de administración"; +$TbErr[2]="ERROR de conexión con el servidor de datos"; +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="estilos.css"> +</HEAD> +<SCRIPT LANGUAGE="JAVASCRIPT"> +//________________________________________________________________________________________________________ +function confirmar(){ + if (comprobar_datos()) + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.usu.value==""){ + alert("Debe introducir un nombre de Usuario") + document.fdatos.usu.focus() + return(false) + } + if (document.fdatos.pss.value==""){ + alert("Debe introducir una contraseña") + document.fdatos.pss.focus() + return(false) + } + return(true) +} +//______________________________________________________________________________________________________ +function PulsaEnter(oEvento){ + var iAscii; + if (oEvento.keyCode) + iAscii = oEvento.keyCode; + else{ + if (oEvento.which) + iAscii = oEvento.which; + else + return false; + } + if (iAscii == 13) confirmar(); + return true; +} +//________________________________________________________________________________________________________ +</SCRIPT> +</HEAD> +<BODY> +<DIV style="POSITION:absolute;top:20;left:150"> + <FORM action="accesoperadores.php" name="fdatos" method="post"> + <DIV align="center"> + <IMG src="../images/login_operador.png" width=500 > + <INPUT onkeypress="PulsaEnter(event)" name="usu" style="POSITION:absolute;top:125px;left:365px;width:90;height:20;COLOR: #999999; FONT-FAMILY: Verdana; FONT-SIZE: 12px;"> + <INPUT onkeypress="PulsaEnter(event)" name="pss" type="password" style="POSITION:absolute;top:160px;left:365;width:90;height:20;COLOR: #999999; FONT-FAMILY: Verdana; FONT-SIZE: 12px;"> + <IMG onclick="confirmar()" src="../images/botonok.png" style="POSITION:absolute;top:190;left:400;CURSOR: hand"> + </DIV> + </FORM> +</DIV> +<? +//________________________________________________________________________________________________________ +// Posiciona cursor en campo usuario y muestra mensaje de error si lo hubiera +echo '<SCRIPT LANGUAGE="javascript">'; +if (!empty($herror)) + echo " alert('".$TbErr[$herror]."');"; +echo 'document.fdatos.usu.focus()'; +echo '</SCRIPT>'; +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/accesoperadores.php b/admin/WebConsole/varios/accesoperadores.php new file mode 100644 index 00000000..f46078ec --- /dev/null +++ b/admin/WebConsole/varios/accesoperadores.php @@ -0,0 +1,50 @@ +<? +// ******************************************************************** +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Agosto-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: controlacceso.php +// Descripción :Este fichero implementa el control de acceso de los operadores de aula +// ********************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); + +$usu=""; +$pss=""; + +if (isset($_POST["usu"])) $usu=$_POST["usu"]; +if (isset($_POST["pss"])) $pss=$_POST["pss"]; + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location:acceso_operador.php?herror=2'); // Error de conexióncon servidor B.D. + +$ITEMS_PUBLICOS=1; +$ITEMS_PRIVADOS=2; + +// COntrol de acceso del usuario +$rs=new Recordset; + +$cmd->texto="SELECT usuarios.idusuario,usuarios.idtipousuario + FROM usuarios + INNER JOIN administradores_centros ON administradores_centros.idusuario=usuarios.idusuario + WHERE usuarios.usuario='".$usu."' AND usuarios.pasguor='".$pss."'"; +$rs->Comando=&$cmd; + +if (!$rs->Abrir()){ + Header('Location:acceso_operador.php?herror=2'); // Error de conexióncon servidor B.D. + exit; +} +if ($rs->EOF){ + Header('Location:acceso_operador.php?herror=1'); // Error de acceso, no existe usuario + exit; +} +// Acceso al menu de adminitración del aula +//$wurl="menucliente.php?iph=".$iph."&tip=".$ITEMS_PRIVADOS; +$wurl="menucliente.php?tip=".$ITEMS_PRIVADOS; +$_SESSION["swop"]=$usu; +Header('Location:'.$wurl); +exit; diff --git a/admin/WebConsole/varios/accionmenu.php b/admin/WebConsole/varios/accionmenu.php new file mode 100644 index 00000000..e2f00125 --- /dev/null +++ b/admin/WebConsole/varios/accionmenu.php @@ -0,0 +1,265 @@ +<? +// ************************************************************************************************************************************************* +// 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: accionmenu.php +// Descripción : +// Administra la inclusión de items en menus (procedimientos,tareas y trabajos de un determinado Centro) +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/opciones.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/accionmenu_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idtipoaccion=0; +$descripcionaccion=""; +$tipoaccion=0; + +$idmenu=0; +$descripcionmenu=""; + +if (isset($_GET["idtipoaccion"])) $idtipoaccion=$_GET["idtipoaccion"]; +if (isset($_GET["descripcionaccion"])) $descripcionaccion=$_GET["descripcionaccion"]; +if (isset($_GET["tipoaccion"])) $tipoaccion=$_GET["tipoaccion"]; + +if (isset($_GET["idmenu"])) $idmenu=$_GET["idmenu"]; +if (isset($_GET["descripcionmenu"])) $descripcionmenu=$_GET["descripcionmenu"]; + +if(empty($idmenu)) $op=1; else $op=2; // Viene de "acciones" o de "menus" +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +if($op==1){ // Viene de "acciones" + switch($tipoaccion){ + case $EJECUCION_PROCEDIMIENTO : + $urlimg='../images/iconos/procedimiento.gif'; + $litacion=$TbMsg[2]; + $litdescri=$descripcionaccion; + break; + case $EJECUCION_TAREA : + $urlimg='../images/iconos/tareas.gif'; + $litacion=$TbMsg[3]; + $litdescri=$descripcionaccion; + break; + } +} +else{ // Viene de menus + $urlimg='../images/iconos/menu.gif'; + $litacion=$TbMsg[4]; + $litdescri=$descripcionmenu; +} +//________________________________________________________________________________________________________ + ?> + <HTML> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/accionmenu.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/accionmenu_'.$idioma.'.js"></SCRIPT>'?> + </HEAD> + <BODY> + <FORM name="fdatos"> + <input type=hidden value="<? echo $idcentro?>" id=idcentro> + <input type=hidden value="<? echo $idtipoaccion?>" id=idtipoaccion> + <input type=hidden value="<? echo $tipoaccion?>" id=tipoaccion> + </FORM> + <P align=center class=cabeceras> + <? echo $litcabecera ?><br> + <span align=center class=subcabeceras><?echo $TbMsg[1]?></span> <img src="../images/iconos/menus.gif"><br><br> + <span align=center class=presentaciones> + <img src="<? echo $urlimg?>"> + <u><? echo $litacion?></u>: <? echo $litdescri?></span> + </P> + <DIV align=center id="Layer_items"> + <TABLE width="90%" class="tabla_listados" cellspacing=1 cellpadding=0 > + <TR id="TR_menus"> + <TH> </TH> + + <? + if($op==1) // Si viene desde "acciones" ... + echo '<TH>'.$TbMsg[9].'</TH>'; + else + echo '<TH align=center>'.$TbMsg[15].'</TH>'; + ?> + <TH><?echo $TbMsg[10]?></TH> + <TH><?echo $TbMsg[11]?></TH> + <TH><?echo $TbMsg[12]?></TH> + <TH><?echo $TbMsg[13]?></TH> + <? + if($op==2){ // Si viene desde "menus" ... + echo '<TH style="visibility:hidden"> </TH>'; + echo '<TH style="visibility:hidden"> </TH>'; + } + ?> + </TR> +<? +//________________________________________________________________________________________________________ + +if(!empty($idmenu)) // Viene de la página de menús +{ + $cmd->texto="SELECT menus.idmenu,menus.descripcion as descripcionmenu, + acciones_menus.idtipoaccion,acciones_menus.tipoaccion, + acciones_menus.tipoitem,acciones_menus.idurlimg, + acciones_menus.descripitem,acciones_menus.orden + FROM menus + INNER JOIN acciones_menus ON acciones_menus.idmenu=menus.idmenu + WHERE acciones_menus.idmenu=".$idmenu." + ORDER BY acciones_menus.tipoitem,menus.descripcion"; + + pintaMenus($cmd,$idmenu,0,2); +} +else +{ + $cmd->texto="SELECT menus.idmenu,menus.descripcion as descripcionmenu, + acciones_menus.idtipoaccion,acciones_menus.tipoaccion, + acciones_menus.tipoitem,acciones_menus.idurlimg, + acciones_menus.descripitem,acciones_menus.orden + FROM menus + INNER JOIN acciones_menus ON acciones_menus.idmenu=menus.idmenu + WHERE (acciones_menus.idtipoaccion=".$idtipoaccion." AND acciones_menus.tipoaccion=".$tipoaccion.") + ORDER BY menus.descripcion"; + + $idmenus=pintaMenus($cmd,$idtipoaccion,$tipoaccion,1)."0"; // Añade el identificador 0 + $cmd->texto="SELECT menus.idmenu,menus.descripcion as descripcionmenu, + 0 as idtipoaccion,0 as tipoaccion, + 0 as tipoitem,'' as idurlimg, + '' as descripitem,0 as orden + FROM menus + WHERE idmenu NOT IN (".$idmenus.") + ORDER BY menus.descripcion"; + + pintaMenus($cmd,$idtipoaccion,$tipoaccion,1); +} +//________________________________________________________________________________________________________ +?> + </TABLE> + </DIV> + <BR> +<TABLE align=center> + <TR> + <TD><A href="#botones"><IMG border=0 src="../images/boton_confirmar.gif" onclick="javascript:confirmar(<? echo $op?>)" ></A></TD> + </TR> +</TABLE> + <BR> + <DIV id="Layer_nota" align=center> + <SPAN align=center class=notas><I><? echo$TbMsg[14]?></I></SPAN> + </DIV> +</FORM> + + +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Descripción: +// Muestra la tabla de items a incluir en menús +// Parámetros: +// $cmd: Objeto comando (Operativo) +// $identificador: Identificador de la acción si viene de acciones, identificador del menu si viene de "menus" +// $tipoaccion: Tipo de acción (Procedimiento o Tarea +// $op: Indica si esta página se ejecuta desde "acciones" o desde "menus" +// 1: desde acciones +// 2: desde menus +//________________________________________________________________________________________________________ + +function pintaMenus($cmd,$identificador,$tipoaccion,$op) +{ + global $TbMsg; + global $ITEM_PUBLICO; + global $ITEM_PRIVADO; + global $op_modificacion; + global $descripcionaccion; + global $EJECUCION_PROCEDIMIENTO; + global $EJECUCION_TAREA; + + // echo $cmd->texto; + $idmenus=""; // Identificadores de menus para segunda consulta + $litcabecera=$TbMsg[0]; + $rs=new Recordset; + $rs->Comando=&$cmd; + if(!$rs->Abrir()) + Header('Location: '.$pagerror.'?herror=3'); // Error de lectura + + while (!$rs->EOF){ + $idmenus.=$rs->campos["idmenu"].","; + echo '<TR>'; + /* Ckeckbox para incluir o eliminar items en el menú */ + echo '<TD align=center>'; + echo '<INPUT id='.$rs->campos["idmenu"].' type=checkbox '; + switch($op){ + case 1: // Se ejecuta desde "acciones" + if($rs->campos["idtipoaccion"]==$identificador && $rs->campos["tipoaccion"]==$tipoaccion) + echo ' value="1" checked '; + else + echo ' value="0"'; + break; + case 2: // Se ejecuta desde "menus" + if($rs->campos["idmenu"]==$identificador) + echo ' value="1" checked '; + else + echo ' value="0"'; + break; + } + echo '></INPUT></TD>'; + + /* Nombre del menú si viene de "acciones" o tipo de acción si viene desde "menus" */ + if($op==1) + echo '<TD align=center> '.$rs->campos["descripcionmenu"].'</TD>'; + else{ + switch($rs->campos["tipoaccion"]){ + case $EJECUCION_PROCEDIMIENTO : + $urlimg='../images/iconos/procedimiento.gif'; + break; + case $EJECUCION_TAREA : + $urlimg='../images/iconos/tareas.gif'; + break; + } + echo '<TD align=center><IMG src="'.$urlimg.'"></TD>'; + } + + /* Tipo de item */ + $parametros=$ITEM_PUBLICO."=".$TbMsg[5]."".chr(13); + $parametros.=$ITEM_PRIVADO."=".$TbMsg[6].""; + echo '<TD align=center>'.HTMLCTESELECT($parametros,"tipositems-".$rs->campos["idmenu"],"estilodesple","",$rs->campos["tipoitem"],70).'</TD>'; + + /* Imagen del item */ + echo '<TD align=center>'; + echo HTMLSELECT($cmd,0,'iconos',$rs->campos["idurlimg"],'idicono','descripcion',160,"","","idtipoicono=2"); + echo '</TD>'; + + /* Descripción del item */ + $descripitem=$rs->campos["descripitem"]; + if(empty($descripitem)) $descripitem=$descripcionaccion; + echo '<TD align=center><INPUT class="formulariodatos" id=descripitem-'.$rs->campos["idmenu"].' + style="WIDTH:300px" type=text value="'.$descripitem.'"></INPUT></TD>'; + // Orden del item del item + $orden=$rs->campos["orden"]; + if(empty($orden)) $orden=1; + echo '<TD align=center><INPUT class="formulariodatos" id=orden-'.$rs->campos["idmenu"].' + style="WIDTH:20px" type=text value="'.$orden.'"></INPUT></TD>'; + + if($op==2){ // Si viene desde "menus" ... + echo '<TD style="visibility:hidden" align=center>'.$rs->campos["idtipoaccion"].'</TD>'; + echo '<TD style="visibility:hidden" align=center>'.$rs->campos["tipoaccion"].'</TD>'; + } + echo '</TR>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($idmenus); // retorna identificadores de menus implicados en la consulta +} +?> + diff --git a/admin/WebConsole/varios/administradores_centros.php b/admin/WebConsole/varios/administradores_centros.php new file mode 100644 index 00000000..eb568cee --- /dev/null +++ b/admin/WebConsole/varios/administradores_centros.php @@ -0,0 +1,117 @@ +<? +// ******************************************************************************************************* +// 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: administradores_centros.php +// Descripción : +// Administra los componentes software incluidos en un perfil software +// ******************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +include_once("../idiomas/php/".$idioma."/administradores_centros_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idcentro=0; +$nombrecentro =""; +if (isset($_GET["idcentro"])) $idcentro=$_GET["idcentro"]; // Recoge parametros +if (isset($_GET["nombrecentro"])) $nombrecentro=$_GET["nombrecentro"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="../jscripts/administradores_centros.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/administradores_centros_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <INPUT type=hidden value="<? echo $idcentro?>" id=idcentro> + + <P align=center class=cabeceras><?echo $nombrecentro?></SPAN> <IMG src="../images/iconos/centros.gif"> + <BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confisoft.gif"></P> + + <? + $rs=new Recordset; + // Administradores asignados + $cmd->texto="SELECT usuarios.idusuario,usuarios.nombre ,usuarios.idtipousuario FROM usuarios + INNER JOIN administradores_centros ON administradores_centros.idusuario=usuarios.idusuario + WHERE administradores_centros.idcentro=".$idcentro." ORDER by usuarios.nombre"; + + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $usuariosUO=""; + $rs->Primero(); + echo '<DIV align=center id="Layer_componentes">'; + echo '<P><SPAN align=center class=presentaciones><B>'.$TbMsg[2].'</B></SPAN></P></DIV>'; + echo '<TABLE width="100%" class="tabla_listados" cellspacing=1 cellpadding=0 >'; + echo '<TR><TH> </TH><TH>T</TH><TH>'.$TbMsg[3].'</TH></TR>'; + while (!$rs->EOF){ + $usuariosUO.=$rs->campos["idusuario"].","; + echo '<TR>'; + echo '<TD align=center width="10%"><INPUT type=checkbox + onclick="gestion_administrador('.$rs->campos["idusuario"].',this)" checked></INPUT></TD>'; + switch($rs->campos["idtipousuario"]){ + case $ADMINISTRADOR: + echo '<TD align=center width="10%" ><img src="../images/iconos/administradores.gif"></TD>'; + break; + case $SUPERADMINISTRADOR: + echo '<TD align=center width="10%" ><img src="../images/iconos/superadministradores.gif"></TD>'; + break; + } + echo '<TD width="80%" > '.$rs->campos["nombre"].'</TD>'; + echo '</TR>'; + $rs->Siguiente(); + } + echo '</TABLE>'; + } + $rs->Cerrar(); + // Administradores disponibles + $usuariosUO.="0"; + $cmd->texto="SELECT usuarios.idusuario,usuarios.nombre,usuarios.idtipousuario FROM usuarios + WHERE usuarios.idusuario NOT IN (".$usuariosUO.") ORDER by usuarios.nombre"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + echo '<DIV align=center id="Layer_componentes">'; + echo '<P><SPAN align=center class=presentaciones><B>'.$TbMsg[5].'</B></SPAN></P></DIV>'; + echo '<TABLE width="100%" class="tabla_listados" cellspacing=1 cellpadding=0 >'; + echo '<TR><TH> </TH><TH>T</TH><TH>'.$TbMsg[3].'</TH></TR>'; + $rs->Primero(); + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%"><INPUT type=checkbox + onclick="gestion_administrador('.$rs->campos["idusuario"].',this)"></INPUT></TD>'; + switch($rs->campos["idtipousuario"]){ + case $ADMINISTRADOR: + echo '<TD align=center width="10%" ><img src="../images/iconos/administradores.gif"></TD>'; + break; + case $SUPERADMINISTRADOR: + echo '<TD align=center width="10%" ><img src="../images/iconos/superadministradores.gif"></TD>'; + break; + } + echo '<TD width="80%" > '.$rs->campos["nombre"].'</TD>'; + echo '</TR>'; + $rs->Siguiente(); + } + echo '</TABLE>'; + } + $rs->Cerrar(); + ?> + </TABLE> + <DIV id="Layer_nota" align=center > + <BR> + <SPAN align=center class=notas><I><?echo $TbMsg[4]?></I></SPAN> + </DIV> +</FORM> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/administradores_usuarios.php b/admin/WebConsole/varios/administradores_usuarios.php new file mode 100644 index 00000000..62caf965 --- /dev/null +++ b/admin/WebConsole/varios/administradores_usuarios.php @@ -0,0 +1,108 @@ +<? +// ******************************************************************************************************* +// 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: administradores_usuarios.php +// Descripción : +// Administra los componentes software incluidos en un perfil software +// ******************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +include_once("../idiomas/php/".$idioma."/administradores_usuarios_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idusuario=0; +$nombre =""; +if (isset($_GET["idusuario"])) $idusuario=$_GET["idusuario"]; // Recoge parametros +if (isset($_GET["nombre"])) $nombre=$_GET["nombre"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="../jscripts/administradores_usuarios.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/administradores_usuarios_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <INPUT type=hidden value="<? echo $idusuario?>" id=idusuario> + + <P align=center class=cabeceras><?echo $nombre?></SPAN> <IMG src="../images/iconos/administradores.gif"> + <BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confisoft.gif"></P> + + <? + $rs=new Recordset; + // Usuarios asignados + $cmd->texto="SELECT centros.idcentro,centros.nombrecentro, centros.identidad FROM centros + INNER JOIN administradores_centros ON administradores_centros.idcentro=centros.idcentro + WHERE administradores_centros.idusuario=".$idusuario." ORDER by centros.nombrecentro"; + + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $centrosUO=""; + $rs->Primero(); + echo '<DIV align=center id="Layer_componentes">'; + echo '<P><SPAN align=center class=presentaciones><B>'.$TbMsg[2].'</B></SPAN></P></DIV>'; + echo '<TABLE width="100%" class="tabla_listados" cellspacing=1 cellpadding=0 >'; + echo '<TR><TH> </TH><TH>T</TH><TH>'.$TbMsg[3].'</TH></TR>'; + while (!$rs->EOF){ + $centrosUO.=$rs->campos["idcentro"].","; + echo '<TR>'; + echo '<TD align=center width="10%"><INPUT type=checkbox + onclick="gestion_administrador('.$rs->campos["idcentro"].',this)" checked></INPUT></TD>'; + + echo '<TD align=center width="10%" ><img src="../images/iconos/centros.gif"></TD>'; + + echo '<TD width="80%" > '.$rs->campos["nombrecentro"].'</TD>'; + echo '</TR>'; + $rs->Siguiente(); + } + echo '</TABLE>'; + } + $rs->Cerrar(); + // Usuarios disponibles + $centrosUO.="0"; + $cmd->texto="SELECT centros.idcentro,centros.nombrecentro,centros.identidad FROM centros + WHERE centros.idcentro NOT IN (".$centrosUO.") ORDER by centros.nombrecentro"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + echo '<DIV align=center id="Layer_componentes">'; + echo '<P><SPAN align=center class=presentaciones><B>'.$TbMsg[5].'</B></SPAN></P></DIV>'; + echo '<TABLE width="100%" class="tabla_listados" cellspacing=1 cellpadding=0 >'; + echo '<TR><TH> </TH><TH>T</TH><TH>'.$TbMsg[3].'</TH></TR>'; + $rs->Primero(); + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%"><INPUT type=checkbox + onclick="gestion_administrador('.$rs->campos["idcentro"].',this)"></INPUT></TD>'; + + + echo '<TD align=center width="10%" ><img src="../images/iconos/centros.gif"></TD>'; + + echo '<TD width="80%" > '.$rs->campos["nombrecentro"].'</TD>'; + echo '</TR>'; + $rs->Siguiente(); + } + echo '</TABLE>'; + } + $rs->Cerrar(); + ?> + </TABLE> + <DIV id="Layer_nota" align=center > + <BR> + <SPAN align=center class=notas><I><?echo $TbMsg[4]?></I></SPAN> + </DIV> +</FORM> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/calendario_ventana.php b/admin/WebConsole/varios/calendario_ventana.php new file mode 100644 index 00000000..64e403f7 --- /dev/null +++ b/admin/WebConsole/varios/calendario_ventana.php @@ -0,0 +1,195 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: calendario_ventana.php +// Descripción : +// Muestra un calendario para elegir una fecha +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../idiomas/php/".$idioma."/clases/Almanaque_".$idioma.".php"); +//_________________________________________________________________________________________________________ +$anno_elegido=2004; +$mes_elegido=1; +$dia_elegido=1; + +if (isset($_GET["fecha"])){ + $fecha=$_GET["fecha"]; + if ($fecha!=""){ + list($dia_p,$mes_p,$anno_p)=split("/",$fecha); + $mes_elegido=(int)($mes_p); + $anno_elegido=(int)($anno_p); + $dia_elegido=(int)($dia_p); + } +} + +if (isset($_POST["dia_elegido"])) $dia_elegido=$_POST["dia_elegido"]; +if (isset($_POST["mes_elegido"])) $mes_elegido=$_POST["mes_elegido"]; +if (isset($_POST["anno_elegido"])) $anno_elegido=$_POST["anno_elegido"]; +//_________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="JavaScript"> + +var rojo="#cc3366" +var negro="#ffffff" +var verde="lightseagreen" +var gris="#bbbcb9" +var blanco="#eeeeee" +var azul= "#0000cc" +var fondooriginal="#EEEECC"; +var colororiginal="#003300"; + +var currentDia=null; + +dias_meses=new Array(12); + +dias_meses[1]=31; +dias_meses[2]=28; +dias_meses[3]=31; +dias_meses[4]=30; +dias_meses[5]=31; +dias_meses[6]=30; +dias_meses[7]=31; +dias_meses[8]=31; +dias_meses[9]=30; +dias_meses[10]=31; +dias_meses[11]=30; +dias_meses[12]=31; +//_________________________________________________________________________________________________________ +function ItemSeleccionado(o){ + return(o.style.backgroundColor==azul) +} +//_________________________________________________________________________________________________________ +function elige_anno(){ + document.forms.fdatos.dia_elegido.value=1 + document.forms.fdatos.mes_elegido.value=1 + document.forms.fdatos.anno_elegido.value=document.forms.fdatos.despleanno.value + document.forms.fdatos.submit() +} +//_________________________________________________________________________________________________________ +function mes_siguiente(){ + var wmes=parseInt(document.forms.fdatos.mes_elegido.value) + var wanno=parseInt(document.forms.fdatos.anno_elegido.value) + wmes++; + if(wmes>12){ + wmes=1 + wanno=wanno+1 + if(wanno>2014){ + wanno=2014 + } + } + document.forms.fdatos.dia_elegido.value=1 + document.forms.fdatos.mes_elegido.value=wmes + document.forms.fdatos.anno_elegido.value=wanno + document.forms.fdatos.submit() +} +//_________________________________________________________________________________________________________ +function mes_anterior(){ + var wmes=parseInt(document.forms.fdatos.mes_elegido.value) + var wanno=parseInt(document.forms.fdatos.anno_elegido.value) + wmes--; + if(wmes<1){ + wmes=12 + wanno=wanno-1 + if(wanno<2004){ + wanno=2004 + } + } + var swbi=0; + if (wanno%4==0 && wmes==2) swbi=1; + + document.forms.fdatos.dia_elegido.value=dias_meses[wmes]+swbi; + document.forms.fdatos.mes_elegido.value=wmes; + document.forms.fdatos.anno_elegido.value=wanno; + document.forms.fdatos.submit() + +} +//____________________________ ____________________________________________________________________________ +function Resalta(o){ + o.style.color=blanco + o.style.backgroundColor=azul +} +//____________________________ ____________________________________________________________________________ +function Desmarca(o){ + o.style.color=colororiginal + o.style.backgroundColor=fondooriginal + +} +//____________________________ ____________________________________________________________________________ +function sobre(o){ + if (currentDia!=null) + Desmarca(currentDia) + Resalta(o); + currentDia=o; +} +//____________________________ ____________________________________________________________________________ + +function fuera(o){ + Desmarca(o); +} +//____________________________ ____________________________________________________________________________ +function clic(o){ + window.opener.anade_fecha(o.id) + self.close() +} +//____________________________ ____________________________________________________________________________ +function cerrar_ventana(){ + self.close() +} +//____________________________ ____________________________________________________________________________ +function borrar_fecha(){ + window.opener.anade_fecha("") + self.close() +} +//____________________________ ____________________________________________________________________________ +</SCRIPT> +</HEAD> +<BODY> +<FORM action="calendario_ventana.php" name="fdatos" method="post"> + <INPUT type=hidden name=dia_elegido value="<? echo $dia_elegido?>"> + <INPUT type=hidden name=mes_elegido value="<? echo $mes_elegido?>"> + <INPUT type=hidden name=anno_elegido value="<? echo $anno_elegido?>"> + <? +$mialmanaque=new Almanaque("tabla_meses"); + +echo '<TABLE align="center">'; +echo ' <TR>'; +echo ' <TD align="left"><img SRC="../images/iconos/salir_on.gif" onclick="cerrar_ventana()"></TD>'; +echo '<TD style="COLOR: MediumBlue;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE:12"> Año: '; +echo '<SELECT name="despleanno" onchange="elige_anno()" style="width:60">'; +for($i=2010;$i<2015;$i++){ + echo '<OPTION value='.$i; + if($anno_elegido==$i) echo" selected "; + echo '>'.$i.'</OPTION>'; +} +echo '</SELECT>'; +echo '</TD>'; +echo '</TR>'; + +echo '<table align=center border=0>'; +echo '<tr>'; +echo '<td onclick="javascript:mes_anterior();" style="cursor:pointer;COLOR: MediumBlue;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE:10" align=left><<</td>'; +echo '<td onclick="javascript:mes_siguiente()" style="cursor:pointer;COLOR: MediumBlue;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE:10" align=right>>></td>'; +echo '</tr>'; +echo '<tr>'; +echo '<td colspan=2 valign=top width=100>'.$mialmanaque->MesAnno($mes_elegido,$anno_elegido).'</td>'; +echo '</tr>'; +echo '</table>'; +echo '</FORM>'; + +echo '<SCRIPT language="JavaScript">'; +echo ' var o=document.getElementById("'.$dia_elegido."/".$mes_elegido."/".$anno_elegido.'");'; +echo ' sobre(o);'; +echo '</SCRIPT>'; +?> +</BODY> +</HTML> + + diff --git a/admin/WebConsole/varios/consulta_programaciones.php b/admin/WebConsole/varios/consulta_programaciones.php new file mode 100644 index 00000000..93b11b2a --- /dev/null +++ b/admin/WebConsole/varios/consulta_programaciones.php @@ -0,0 +1,32 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: consulta_programacion.php +// Descripción : +// Muestra un calendario para elegir una fecha +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +//_________________________________________________________________________________________________________ + // Toma parametros + $idprogramacion=0; + if (isset($_POST["idprogramacion"])) $idprogramacion=$_POST["idprogramacion"]; + +// Abre conexiones +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +$rs=new Recordset; // Recupero acciones anidadas +$cmd->texto="SELECT * FROM programaciones WHERE idprogramacion=".$idprogramacion; +$rs->Comando=&$cmd; +if ($rs->Abrir()){ // Error al abrir recordset + $cadena_campos=$rs->campos[0]; + for($i=1;$i<$rs->numerodecampos;$i++) + $cadena_campos.=";".$rs->campos[$i]; // Usa el caracter ; para delimitar + echo $cadena_campos; +} +$rs->Cerrar(); +?> diff --git a/admin/WebConsole/varios/desplegablesambitos.php b/admin/WebConsole/varios/desplegablesambitos.php new file mode 100644 index 00000000..fc41f0bd --- /dev/null +++ b/admin/WebConsole/varios/desplegablesambitos.php @@ -0,0 +1,28 @@ +<? +//******************************************************************************************************* +// 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: desplegablesambitos.php +// Descripción : +// Devuelve el desplegable de un ámbito ( Usado sólo por AJAX) +// ******************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/comunes.php"); +include_once("../includes/constantes.php"); +include_once("../includes/HTMLSELECT.php"); +//________________________________________________________________________________________________________ + +$ambito=0; + +if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; // Recoge parametros + +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if ($cmd){ + echo tomaSelectAmbito($cmd,$ambito,0,$idcentro,250); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/varios/ejecutaracciones.php b/admin/WebConsole/varios/ejecutaracciones.php new file mode 100644 index 00000000..dd7c6c7c --- /dev/null +++ b/admin/WebConsole/varios/ejecutaracciones.php @@ -0,0 +1,207 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2003-2005 +// Fecha Última modificación: Abril-2005 +// Nombre del fichero: ejecutaracciones.php +// Descripción : +// Administra procedimientos,tareas y trabajos de un determinado Centro +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../clases/MenuContextual.php"); +include_once("../includes/constantes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/ejecutaracciones_".$idioma.".php"); +//________________________________________________________________________________________________________ +$ambito=0; +$idambito=0; +$nombreambito=""; + +if (isset($_GET["ambito"])) $ambito=$_GET["ambito"]; +if (isset($_GET["idambito"])) $idambito=$_GET["idambito"]; +if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"]; + +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idcentro); // Crea el arbol XML con todos los datos de las acciones registradas en el Centro + +// Creación del árbol +$baseurlimg="../images/tsignos"; // Url de las imágenes de signo +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[8]; +$arbol=new ArbolVistaXml($arbolXML,0,$baseurlimg,$clasedefault,1,20,100,1,$titulotabla); + +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/ejecutaracciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/ejecutaracciones_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY OnContextMenu="return false"> +<FORM name="fdatos"> + <INPUT type=hidden name=ambito value=<?=$ambito?>> + <INPUT type=hidden name=idambito value=<?=$idambito?>> +</FORM> + +<? +switch($ambito){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito=$TbMsg[0]; + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[1]; + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito=$TbMsg[2]; + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito=$TbMsg[3]; + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito=$TbMsg[4]; + break; + } + echo '<p align=center><span class=cabeceras>'.$TbMsg[5].' </span><br>'; + echo '<IMG src="'.$urlimg.'"> <span align=center class=subcabeceras><U>'.$TbMsg[6].': '.$textambito.','.$nombreambito.'</U></span> </span></p>'; +?> +<BR> +<BR> +<? +//________________________________________________________________________________________________________ +echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML +$flotante=new MenuContextual(); // Crea objeto MenuContextual + +// Crea contextual de los procedimientos +$XMLcontextual=CreacontextualXMLProcedimiento(); // Procedimientos +echo $flotante->CreaMenuContextual($XMLcontextual); +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +// Devuelve una cadena con formato XML con toda la información de las acciones registradas en un Centro concreto +// Parametros: PROCEDIMIENTO +// - cmd:Una comando ya operativo ( con conexión abierta) +// - idcentro: El identificador del centro +//________________________________________________________________________________________________________ +function CreaArbol($cmd,$idcentro){ + global $TbMsg; + global $LITAMBITO_PROCEDIMIENTOS; + + $cadenaXML='<PROCEDIMIENTOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[7].'"'; + $cadenaXML.=' nodoid=Raizpro'.$LITAMBITO_PROCEDIMIENTOS; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_procedimientos($cmd,$idcentro,0); + $cadenaXML.='</PROCEDIMIENTOS>'; + + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_grupos_procedimientos($cmd,$idcentro,$grupoid){ + global $AMBITO_GRUPOSPROCEDIMIENTOS; + global $LITAMBITO_GRUPOSPROCEDIMIENTOS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idgrupo,nombregrupo,grupoid FROM grupos WHERE grupoid=".$grupoid." AND idcentro=".$idcentro." AND tipo=".$AMBITO_GRUPOSPROCEDIMIENTOS." ORDER BY nombregrupo"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<GRUPOSPROCEDIMIENTOS'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombregrupo"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_GRUPOSPROCEDIMIENTOS.'-'.$rs->campos["idgrupo"]; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_grupos_procedimientos($cmd,$idcentro,$rs->campos["idgrupo"]); + $cadenaXML.='</GRUPOSPROCEDIMIENTOS>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + $cadenaXML.=SubarbolXML_Procedimientos($cmd,$idcentro,$grupoid); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Procedimientos($cmd,$idcentro,$grupoid){ + global $LITAMBITO_PROCEDIMIENTOS; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idprocedimiento,descripcion FROM procedimientos WHERE idcentro=".$idcentro." AND grupoid=".$grupoid." ORDER BY descripcion"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<PROCEDIMIENTO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/procedimiento.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PROCEDIMIENTOS.'-'.$rs->campos["idprocedimiento"]; + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PROCEDIMIENTOS."'" .')"'; + $cadenaXML.='>'; + $cadenaXML.='</PROCEDIMIENTO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +// +// Menús Contextuales +//________________________________________________________________________________________________________ +function CreacontextualXMLProcedimiento(){ + global $EJECUCION_PROCEDIMIENTO; + global $AMBITO_PROCEDIMIENTOS; + global $LITAMBITO_PROCEDIMIENTOS; + global $EJECUCION_AUTOEXEC; + global $TbMsg; + + $layerXML='<MENUCONTEXTUAL'; + $layerXML.=' idctx="flo_'.$LITAMBITO_PROCEDIMIENTOS.'"'; + $layerXML.=' maxanchu=150'; + $layerXML.=' swimg=1'; + $layerXML.='>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="gestion('.$EJECUCION_PROCEDIMIENTO.')"'; + $layerXML.=' imgitem="../images/iconos/comandos.gif"'; + $layerXML.=' textoitem='.$TbMsg[9]; + $layerXML.='></ITEM>'; + + $layerXML.='<SEPARADOR>'; + $layerXML.='</SEPARADOR>'; + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="gestion('.$EJECUCION_AUTOEXEC.')"'; + $layerXML.=' imgitem="../images/iconos/hidra.gif"'; + $layerXML.=' textoitem='.$TbMsg[10]; + $layerXML.='></ITEM>'; + + $layerXML.='</MENUCONTEXTUAL>'; + return($layerXML); +} +?> diff --git a/admin/WebConsole/varios/ejecutaritem.php b/admin/WebConsole/varios/ejecutaritem.php new file mode 100644 index 00000000..9c4b9c87 --- /dev/null +++ b/admin/WebConsole/varios/ejecutaritem.php @@ -0,0 +1,61 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2009 +// Fecha Última modificación: Octubre-2009 +// Nombre del fichero: menumliente.php +// Descripción : +// Pagina del menu del cliente. Éste la solicita a través de su browser local +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/constantes.php"); +include_once("../includes/opciones.php"); +include_once("../includes/TomaDato.php"); +//________________________________________________________________________________________________________ +$iph="0.0.0.0"; +$idt="0"; + +if (isset($_GET["iph"])) $iph=$_GET["iph"]; +if (isset($_GET["idt"])) $idt=$_GET["idt"]; +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +$rs=new Recordset; +$cmd->texto="SELECT acciones_menus.tipoaccion, acciones_menus.idtipoaccion, + procedimientos.descripcion as procedimiento, tareas.descripcion as tarea + FROM acciones_menus + LEFT OUTER JOIN procedimientos ON procedimientos.idprocedimiento=acciones_menus.idtipoaccion + LEFT OUTER JOIN tareas ON tareas.idtarea=acciones_menus.idtipoaccion + WHERE acciones_menus.idaccionmenu=".$idt; + +$rs->Comando=&$cmd; +$resul=$rs->Abrir(); +if (!$rs->Abrir()) die("NO SE HA PODIDO RECUPERAR EL ITEM PARA SER EJECUTADO"); +if ($rs->EOF) die("EL ITEM PARA SER EJECUTADO NO EXISTE"); + +$tipoaccion=$rs->campos["tipoaccion"]; +$idtipoaccion=$rs->campos["idtipoaccion"]; + +switch($tipoaccion){ + case $EJECUCION_PROCEDIMIENTO : + $ambito=$AMBITO_ORDENADORES; + $idambito=TomaDato($cmd,0,'ordenadores',$iph,'ip','idordenador',0); + $wurl="../gestores/gestor_ejecutaracciones.php"; + $prm="?swc=1&opcion=".$EJECUCION_PROCEDIMIENTO."&ambito=".$ambito."&idambito=".$idambito; + $prm.="&idprocedimiento=".$idtipoaccion."&descriprocedimiento=".UrlEncode($rs->campos["procedimiento"]); + Header('Location: '.$wurl.$prm); // Ejecución procedimiento + break; + case $EJECUCION_TAREA : + $wurl="../gestores/gestor_ejecutaracciones.php"; + $prm="?swc=1&opcion=".$EJECUCION_TAREA; + $prm.="&idtarea=".$idtipoaccion."&descritarea=".UrlEncode($rs->campos["tarea"]); + Header('Location: '.$wurl.$prm); // Ejecución procedimiento + break; +} +die("HA HABIDO ALGÚN ERROR AL PROCESAR EL ITEM"); +?> diff --git a/admin/WebConsole/varios/horareser_ventana.php b/admin/WebConsole/varios/horareser_ventana.php new file mode 100644 index 00000000..7e7f7fe3 --- /dev/null +++ b/admin/WebConsole/varios/horareser_ventana.php @@ -0,0 +1,105 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: horareser_ventana.php +// Descripción : +// Visualiza las horas del día para elegir una +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../idiomas/php/".$idioma."/clases/Calendario_".$idioma.".php"); + +$hora=""; +if (isset($_GET["hora"])) $hora=$_GET["hora"]; +if($hora=="") $hora="8:00"; +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="JavaScript"> + +var rojo="#cc3366" +var negro="#ffffff" +var verde="lightseagreen" +var gris="#bbbcb9" +var blanco="#eeeeee" +var azul= "#0000cc" +var fondooriginal="#EEEECC"; +var colororiginal="#003300"; + +var currentHora=null; + +//------------------------------------------------------------------- +function ItemSeleccionado(o){ + return(o.style.backgroundColor==azul) +} +//------------------------------------------------------------------- +function Resalta(o){ + o.style.color=blanco + o.style.backgroundColor=azul +} +//------------------------------------------------------------------- +function Desmarca(o){ + o.style.color=colororiginal + o.style.backgroundColor=fondooriginal + +} +//------------------------------------------------------------------- +function sobre(o){ + if (currentHora!=null) + Desmarca(currentHora) + Resalta(o); + currentHora=o; +} +//------------------------------------------------------------------- +function fuera(o){ + Desmarca(o); +} +//------------------------------------------------------------------- +function clic(o){ + window.opener.anade_hora(o.id) + self.close() +} +//_________________________________________________________ +function cerrar_ventana(){ + self.close() +} +//_________________________________________________________ +function borrar_fecha(){ + window.opener.anade_hora("") + self.close() +} +//_________________________________________________________ +</SCRIPT> +</HEAD> +<BODY> + <? +$micalendario=new Calendario("tabla_meses"); +echo '<DIV style="position:absolute;top:5px;left:10px">'; +echo '<img style="cursor:hand" SRC="../images/iconos/salir_on.gif" onclick="cerrar_ventana()">'; +echo '</DIV>'; + +echo '<DIV style="position:absolute;top:25px;left:5px">'; +echo '<FORM action="calendario_ventana.php" name="fdatos" method="post">'; +echo '<table align=center border=0>'; +echo '<tr>'; +echo '<td colspan=2 valign=top width=100>'.$micalendario->Horas_Completas().'</td>'; +echo '</tr>'; +echo '</table>'; +echo '</FORM>'; +echo '</DIV>'; + +echo '<SCRIPT language="JavaScript">'; +echo ' var o=document.getElementById("'.$hora.'");'; +echo ' if(o!=null) sobre(o);'; +echo '</SCRIPT>'; +?> + +</body> +</html> + + diff --git a/admin/WebConsole/varios/horario_ventana.php b/admin/WebConsole/varios/horario_ventana.php new file mode 100644 index 00000000..2ca7357d --- /dev/null +++ b/admin/WebConsole/varios/horario_ventana.php @@ -0,0 +1,95 @@ +<? +include_once("../includes/ctrlacc.php"); +include_once("../idiomas/php/".$idioma."/clases/Almanaque_".$idioma.".php"); +$hora=""; +if (isset($_GET["hora"])) $hora=$_GET["hora"]; +if($hora=="") $hora="8:00"; +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="JavaScript"> + +var rojo="#cc3366" +var negro="#ffffff" +var verde="lightseagreen" +var gris="#bbbcb9" +var blanco="#eeeeee" +var azul= "#0000cc" +var fondooriginal="#EEEECC"; +var colororiginal="#003300"; + +var currentHora=null; + +//------------------------------------------------------------------- +function ItemSeleccionado(o){ + return(o.style.backgroundColor==azul) +} +//------------------------------------------------------------------- +function Resalta(o){ + o.style.color=blanco + o.style.backgroundColor=azul +} +//------------------------------------------------------------------- +function Desmarca(o){ + o.style.color=colororiginal + o.style.backgroundColor=fondooriginal + +} +//------------------------------------------------------------------- +function sobre(o){ + if (currentHora!=null) + Desmarca(currentHora) + Resalta(o); + currentHora=o; +} +//------------------------------------------------------------------- +function fuera(o){ + Desmarca(o); +} +//------------------------------------------------------------------- +function clic(o){ + window.opener.anade_hora(o.id) + self.close() +} +//_________________________________________________________ +function cerrar_ventana(){ + self.close() +} +//_________________________________________________________ +function borrar_fecha(){ + window.opener.anade_hora("") + self.close() +} +//_________________________________________________________ +</SCRIPT> +</HEAD> +<BODY> + <? +$mialmanaque=new Almanaque("tabla_meses"); +echo '<DIV style="position:absolute;top:5px;left:10px">'; +echo '<img style="cursor:hand" SRC="../images/iconos/salir_on.gif" onclick="cerrar_ventana()">'; +echo '</DIV>'; + +echo '<DIV style="position:absolute;top:25px;left:5px">'; +echo '<FORM action="calendario_ventana.php" name="fdatos" method="post">'; +echo '<table align=center border=0>'; +echo '<tr>'; +echo '<td colspan=2 valign=top width=100>'.$mialmanaque->Horas_Completas().'</td>'; +echo '</tr>'; +echo '</table>'; +echo '</FORM>'; +echo '</DIV>'; + +echo '<SCRIPT language="JavaScript">'; +echo ' var o=document.getElementById("'.$hora.'");'; +echo ' if(o!=null) sobre(o);'; +echo '</SCRIPT>'; +?> + +</body> +</html> + + diff --git a/admin/WebConsole/varios/incluiracciones.php b/admin/WebConsole/varios/incluiracciones.php new file mode 100644 index 00000000..c9ed216d --- /dev/null +++ b/admin/WebConsole/varios/incluiracciones.php @@ -0,0 +1,265 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2003-2004 +// Fecha Última modificación: Febrero-2005 +// Nombre del fichero: accionmenu.php +// Descripción : +// Administra la inclusión de items en menus (procedimientos,tareas y trabajos de un determinado Centro) +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/opciones.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/HTMLSELECT.php"); +include_once("../includes/HTMLCTESELECT.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/accionmenu_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idtipoaccion=0; +$descripcionaccion=""; +$tipoaccion=0; + +$idmenu=0; +$descripcionmenu=""; + +if (isset($_GET["idtipoaccion"])) $idtipoaccion=$_GET["idtipoaccion"]; +if (isset($_GET["descripcionaccion"])) $descripcionaccion=$_GET["descripcionaccion"]; +if (isset($_GET["tipoaccion"])) $tipoaccion=$_GET["tipoaccion"]; + +if (isset($_GET["idmenu"])) $idmenu=$_GET["idmenu"]; +if (isset($_GET["descripcionmenu"])) $descripcionmenu=$_GET["descripcionmenu"]; + +if(empty($idmenu)) $op=1; else $op=2; // Viene de "acciones" o de "menus" +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexi�n con servidor B.D. +//________________________________________________________________________________________________________ +if($op==1){ // Viene de "acciones" + switch($tipoaccion){ + case $EJECUCION_PROCEDIMIENTO : + $urlimg='../images/iconos/procedimiento.gif'; + $litacion=$TbMsg[2]; + $litdescri=$descripcionaccion; + break; + case $EJECUCION_TAREA : + $urlimg='../images/iconos/tareas.gif'; + $litacion=$TbMsg[3]; + $litdescri=$descripcionaccion; + break; + } +} +else{ // Viene de menus + $urlimg='../images/iconos/menu.gif'; + $litacion=$TbMsg[4]; + $litdescri=$descripcionmenu; +} +//________________________________________________________________________________________________________ + ?> + <HTML> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/accionmenu.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/util.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/accionmenu_'.$idioma.'.js"></SCRIPT>'?> + </HEAD> + <BODY> + <FORM name="fdatos"> + <input type=hidden value="<? echo $idcentro?>" id=idcentro> + <input type=hidden value="<? echo $idtipoaccion?>" id=idtipoaccion> + <input type=hidden value="<? echo $tipoaccion?>" id=tipoaccion> + </FORM> + <P align=center class=cabeceras> + <? echo $litcabecera ?><br> + <span align=center class=subcabeceras><?echo $TbMsg[1]?></span> <img src="../images/iconos/menus.gif"><br><br> + <span align=center class=presentaciones> + <img src="<? echo $urlimg?>"> + <u><? echo $litacion?></u>: <? echo $litdescri?></span> + </P> + <DIV align=center id="Layer_items"> + <TABLE width="90%" class="tabla_listados" cellspacing=1 cellpadding=0 > + <TR id="TR_menus"> + <TH> </TH> + + <? + if($op==1) // Si viene desde "acciones" ... + echo '<TH>'.$TbMsg[9].'</TH>'; + else + echo '<TH align=center>'.$TbMsg[15].'</TH>'; + ?> + <TH><?echo $TbMsg[10]?></TH> + <TH><?echo $TbMsg[11]?></TH> + <TH><?echo $TbMsg[12]?></TH> + <TH><?echo $TbMsg[13]?></TH> + <? + if($op==2){ // Si viene desde "menus" ... + echo '<TH style="visibility:hidden"> </TH>'; + echo '<TH style="visibility:hidden"> </TH>'; + } + ?> + </TR> +<? +//________________________________________________________________________________________________________ + +if(!empty($idmenu)) // Viene de la página de menús +{ + $cmd->texto="SELECT menus.idmenu,menus.descripcion as descripcionmenu, + acciones_menus.idtipoaccion,acciones_menus.tipoaccion, + acciones_menus.tipoitem,acciones_menus.idurlimg, + acciones_menus.descripitem,acciones_menus.orden + FROM menus + INNER JOIN acciones_menus ON acciones_menus.idmenu=menus.idmenu + WHERE acciones_menus.idmenu=".$idmenu." + ORDER BY acciones_menus.tipoitem,menus.descripcion"; + + pintaMenus($cmd,$idmenu,0,2); +} +else +{ + $cmd->texto="SELECT menus.idmenu,menus.descripcion as descripcionmenu, + acciones_menus.idtipoaccion,acciones_menus.tipoaccion, + acciones_menus.tipoitem,acciones_menus.idurlimg, + acciones_menus.descripitem,acciones_menus.orden + FROM menus + INNER JOIN acciones_menus ON acciones_menus.idmenu=menus.idmenu + WHERE (acciones_menus.idtipoaccion=".$idtipoaccion." AND acciones_menus.tipoaccion=".$tipoaccion.") + ORDER BY menus.descripcion"; + + $idmenus=pintaMenus($cmd,$idtipoaccion,$tipoaccion,1)."0"; // Añade el identificador 0 + $cmd->texto="SELECT menus.idmenu,menus.descripcion as descripcionmenu, + 0 as idtipoaccion,0 as tipoaccion, + 0 as tipoitem,'' as idurlimg, + '' as descripitem,0 as orden + FROM menus + WHERE idmenu NOT IN (".$idmenus.") + ORDER BY menus.descripcion"; + + pintaMenus($cmd,$idtipoaccion,$tipoaccion,1); +} +//________________________________________________________________________________________________________ +?> + </TABLE> + </DIV> + <BR> +<TABLE align=center> + <TR> + <TD><A href="#botones"><IMG border=0 src="../images/boton_confirmar.gif" onclick="javascript:confirmar(<? echo $op?>)" ></A></TD> + </TR> +</TABLE> + <BR> + <DIV id="Layer_nota" align=center> + <SPAN align=center class=notas><I><? echo$TbMsg[14]?></I></SPAN> + </DIV> +</FORM> + + +</BODY> +</HTML> +<? +//________________________________________________________________________________________________________ +// Descripción: +// Muestra la tabla de items a incluir en menús +// Parámetros: +// $cmd: Objeto comando (Operativo) +// $identificador: Identificador de la acción si viene de acciones, identificador del menu si viene de "menus" +// $tipoaccion: Tipo de acción (Procedimiento o Tarea +// $op: Indica si esta página se ejecuta desde "acciones" o desde "menus" +// 1: desde acciones +// 2: desde menus +//________________________________________________________________________________________________________ + +function pintaMenus($cmd,$identificador,$tipoaccion,$op) +{ + global $TbMsg; + global $ITEM_PUBLICO; + global $ITEM_PRIVADO; + global $op_modificacion; + global $descripcionaccion; + global $EJECUCION_PROCEDIMIENTO; + global $EJECUCION_TAREA; + + // echo $cmd->texto; + $idmenus=""; // Identificadores de menus para segunda consulta + $litcabecera=$TbMsg[0]; + $rs=new Recordset; + $rs->Comando=&$cmd; + if(!$rs->Abrir()) + Header('Location: '.$pagerror.'?herror=3'); // Error de lectura + + while (!$rs->EOF){ + $idmenus.=$rs->campos["idmenu"].","; + echo '<TR>'; + /* Ckeckbox para incluir o eliminar items en el menú */ + echo '<TD align=center>'; + echo '<INPUT id='.$rs->campos["idmenu"].' type=checkbox '; + switch($op){ + case 1: // Se ejecuta desde "acciones" + if($rs->campos["idtipoaccion"]==$identificador && $rs->campos["tipoaccion"]==$tipoaccion) + echo ' value="1" checked '; + else + echo ' value="0"'; + break; + case 2: // Se ejecuta desde "menus" + if($rs->campos["idmenu"]==$identificador) + echo ' value="1" checked '; + else + echo ' value="0"'; + break; + } + echo '></INPUT></TD>'; + + /* Nombre del menú si viene de "acciones" o tipo de acción si viene desde "menus" */ + if($op==1) + echo '<TD align=center> '.$rs->campos["descripcionmenu"].'</TD>'; + else{ + switch($rs->campos["tipoaccion"]){ + case $EJECUCION_PROCEDIMIENTO : + $urlimg='../images/iconos/procedimiento.gif'; + break; + case $EJECUCION_TAREA : + $urlimg='../images/iconos/tareas.gif'; + break; + } + echo '<TD align=center><IMG src="'.$urlimg.'"></TD>'; + } + + /* Tipo de item */ + $parametros=$ITEM_PUBLICO."=".$TbMsg[5]."".chr(13); + $parametros.=$ITEM_PRIVADO."=".$TbMsg[6].""; + echo '<TD align=center>'.HTMLCTESELECT($parametros,"tipositems-".$rs->campos["idmenu"],"estilodesple","",$rs->campos["tipoitem"],70).'</TD>'; + + /* Imagen del item */ + echo '<TD align=center>'; + echo HTMLSELECT($cmd,0,'iconos',$rs->campos["idurlimg"],'idicono','descripcion',160,"","","idtipoicono=2"); + echo '</TD>'; + + /* Descripción del item */ + $descripitem=$rs->campos["descripitem"]; + if(empty($descripitem)) $descripitem=$descripcionaccion; + echo '<TD align=center><INPUT class="formulariodatos" id=descripitem-'.$rs->campos["idmenu"].' + style="WIDTH:300px" type=text value="'.$descripitem.'"></INPUT></TD>'; + // Orden del item del item + $orden=$rs->campos["orden"]; + if(empty($orden)) $orden=1; + echo '<TD align=center><INPUT class="formulariodatos" id=orden-'.$rs->campos["idmenu"].' + style="WIDTH:20px" type=text value="'.$orden.'"></INPUT></TD>'; + + if($op==2){ // Si viene desde "menus" ... + echo '<TD style="visibility:hidden" align=center>'.$rs->campos["idtipoaccion"].'</TD>'; + echo '<TD style="visibility:hidden" align=center>'.$rs->campos["tipoaccion"].'</TD>'; + } + echo '</TR>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($idmenus); // retorna identificadores de menus implicados en la consulta +} +?> + diff --git a/admin/WebConsole/varios/inclusionacciones.php b/admin/WebConsole/varios/inclusionacciones.php new file mode 100644 index 00000000..24d26517 --- /dev/null +++ b/admin/WebConsole/varios/inclusionacciones.php @@ -0,0 +1,288 @@ +<?
+//// ******************************************************************************************************
+// Aplicacin WEB: ogAdmWebCon
+// Autor: Jos Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creacin: Ao 2009-2010
+// Fecha ltima modificacin: Agosto-2010
+// Nombre del fichero: inclusionacciones.php
+// Descripcin :
+// Permite incorporar procedimientos y comandos a tareas y tareas ya existentes
+// *******************************************************************************************************
+include_once("../includes/ctrlacc.php");
+include_once("../clases/AdoPhp.php");
+include_once("../includes/CreaComando.php");
+include_once("../includes/constantes.php");
+include_once("../includes/comunes.php");
+include_once("../includes/TomaDato.php");
+include_once("../idiomas/php/".$idioma."/inclusionacciones_".$idioma.".php");
+//________________________________________________________________________________________________________
+
+$idtipoaccion=0;
+$tipoaccion=0;
+$descripcionaccion="";
+$ambito="";
+
+if (isset($_GET["idtipoaccion"])) $idtipoaccion=$_GET["idtipoaccion"];
+if (isset($_GET["tipoaccion"])) $tipoaccion=$_GET["tipoaccion"];
+if (isset($_GET["descripcionaccion"])) $descripcionaccion=$_GET["descripcionaccion"];
+if (isset($_GET["ambito"])) $ambito=$_GET["ambito"];
+
+//________________________________________________________________________________________________________
+
+$cmd=CreaComando($cadenaconexion); // Crea objeto comando
+if (!$cmd)
+ Header('Location: '.$pagerror.'?herror=2'); // Error de conexin con servidor B.D.
+
+$tbParametros=CreaTablaParametros($cmd); // Crea tabla en memmoria para acceder a detalles de comandos
+//________________________________________________________________________________________________________
+?>
+<HTML>
+ <HEAD>
+ <META http-equiv="Content-Type" content="text/html;charset=UTF-8">
+ <LINK rel="stylesheet" type="text/css" href="../estilos.css">
+ <SCRIPT language="javascript" src="../clases/jscripts/MenuContextual.js"></SCRIPT>
+ <SCRIPT language="javascript" src="../jscripts/inclusionacciones.js"></SCRIPT>
+ <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT>
+ <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT>
+ <SCRIPT language="javascript" src="../idiomas/javascripts/<? echo $idioma?>/inclusionacciones_<? echo $idioma?>.js"></SCRIPT>
+ </HEAD>
+ <BODY>
+ <?
+ switch($tipoaccion){
+ case $AMBITO_PROCEDIMIENTOS:
+ $urlimg="../images/iconos/procedimiento.gif";
+ $literal=$TbMsg[0];
+ $litcab=$TbMsg[2];
+ break;
+ case $AMBITO_TAREAS:
+ $urlimg="../images/iconos/tareas.gif";
+ $literal=$TbMsg[1];
+ $litcab=$TbMsg[3];
+ break;
+ }
+ ?>
+ <P align=center class=cabeceras><IMG src="../images/iconos/acciones.gif"> <?echo $literal?><BR>
+ <SPAN align=center class=subcabeceras><?echo $descripcionaccion?></SPAN> <IMG src="<? echo $urlimg?>"></P>
+
+ <TABLE align=center border=0>
+ <TR>
+ <?
+ $conTR=0; // Contador de lineas (Identificadores de las filas)
+ switch($tipoaccion){
+ case $AMBITO_PROCEDIMIENTOS:
+ $litmsg=$TbMsg[5];
+ listaProcedientos($cmd,$idtipoaccion);
+ break;
+ case $AMBITO_TAREAS:
+ $litmsg=$TbMsg[6];
+ listaTareas($cmd,$idtipoaccion,$ambito);
+ break;
+ }
+ ?>
+ </TR>
+ </TABLE>
+ <FORM name="fdatos">
+ <INPUT type="hidden" name="conTR" value="<?echo $conTR?>">
+ <INPUT type="hidden" name="tipoaccion" value="<?echo $tipoaccion?>">
+ <INPUT type="hidden" name="idtipoaccion" value="<?echo $idtipoaccion?>">
+ </FORM>
+ </BODY>
+</HTML>
+<?
+// *************************************************************************************************************************************************
+ function listaProcedientos($cmd,$idprocedimiento)
+ {
+ global $AMBITO_PROCEDIMIENTOS;
+ global $TbMsg;
+
+ $cmd->texto="SELECT procedimientos_acciones.idprocedimientoaccion as identificador,procedimientos_acciones.orden,
+ procedimientos_acciones.parametros,procedimientos_acciones.procedimientoid,
+ comandos.idcomando,comandos.descripcion as comando,
+ procedimientostemp.descripcion as procedimiento
+ FROM procedimientos
+ INNER JOIN procedimientos_acciones ON procedimientos_acciones.idprocedimiento=procedimientos.idprocedimiento
+ LEFT OUTER JOIN comandos ON comandos.idcomando=procedimientos_acciones.idcomando
+ LEFT OUTER JOIN procedimientos as procedimientostemp
+ ON procedimientostemp.idprocedimiento=procedimientos_acciones.procedimientoid
+ WHERE procedimientos.idprocedimiento=".$idprocedimiento."
+ ORDER by procedimientos_acciones.orden";
+
+ //echo $cmd->texto;
+
+ $idprocedimientos=escribeAcciones($cmd,$AMBITO_PROCEDIMIENTOS,true,7);
+
+ //$idprocedimientos.=$idprocedimiento; // Excluye a l mismo de la segunda ronda
+ $idprocedimientos=$idprocedimiento; // Excluye slo a l para evitar dead-lock
+ $cmd->texto="SELECT idprocedimiento as identificador, 0 as orden, 0 as idcomando,descripcion as procedimiento
+ FROM procedimientos
+ WHERE idprocedimiento NOT IN (".$idprocedimientos.")
+ ORDER BY descripcion";
+
+ escribeAcciones($cmd,$AMBITO_PROCEDIMIENTOS,false,8);
+ }
+// *************************************************************************************************************************************************
+ function listaTareas($cmd,$idtarea,$ambito)
+ {
+ global $AMBITO_PROCEDIMIENTOS;
+ global $AMBITO_TAREAS;
+ global $AMBITO_TAREAS;
+ global $TbMsg;
+
+ /* Contenido de tarea */
+ $cmd->texto="SELECT tareas.ambito,tareas.idambito,tareas_acciones.idtareaaccion as identificador,tareas_acciones.orden,
+ tareas_acciones.tareaid,procedimientos.idprocedimiento,procedimientos.descripcion as procedimiento,
+ tareastemp.descripcion as tarea
+ FROM tareas
+ INNER JOIN tareas_acciones ON tareas_acciones.idtarea=tareas.idtarea
+ LEFT OUTER JOIN procedimientos ON procedimientos.idprocedimiento=tareas_acciones.idprocedimiento
+ LEFT OUTER JOIN tareas as tareastemp
+ ON tareastemp.idtarea=tareas_acciones.tareaid
+ WHERE tareas.idtarea=".$idtarea."
+ ORDER by tareas_acciones.orden";
+
+ //echo $cmd->texto;
+ $idtareas=escribeAcciones($cmd,$AMBITO_TAREAS,true,7);
+
+ /* Procedimientos disponibles */
+ if(!empty($ambito)){
+ $cmd->texto="SELECT idprocedimiento as identificador, 0 as orden, 0 as idcomando,descripcion as procedimiento
+ FROM procedimientos
+ ORDER BY descripcion";
+
+ escribeAcciones($cmd,$AMBITO_PROCEDIMIENTOS,false,8);
+ }
+
+ /* Tareas disponibles */
+ //$idtareas.=$idtarea; // Excluye a ella misma de la segunda ronda
+ $idtareas=$idtarea; // Excluye slo a ella para evitar dead-lock
+ $cmd->texto="SELECT idtarea as identificador, 0 as orden, 0 as idprocedimiento, descripcion as tarea
+ FROM tareas
+ WHERE idtarea NOT IN (".$idtareas.")
+ ORDER BY descripcion";
+ escribeAcciones($cmd,$AMBITO_TAREAS,false,9);
+ }
+//________________________________________________________________________________________________________
+
+ function escribeAcciones($cmd,$tipoaccion,$sw,$imsg)
+ {
+ global $AMBITO_PROCEDIMIENTOS;
+ global $AMBITO_TAREAS;
+ global $AMBITO_COMANDOS;
+ global $conTR;
+ global $TbMsg;
+
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ if (!$rs->Abrir()) return("");
+
+ $idacciones="";
+
+ echo '<TD valign=top>';
+ if($rs->EOF && !sw){
+ echo '</P></TD>';
+ return;
+ }
+
+ echo '<P align=center><SPAN class=presentaciones><B>'.$TbMsg[$imsg].'</B></SPAN></BR>';
+ echo ' <TABLE align=center class="tabla_listados" cellspacing=1 cellpadding=0>';
+ escribeCabecera();
+ while (!$rs->EOF){
+ echo '<TR id="TR-'.$conTR.'" value="'.$rs->campos["identificador"].'">';
+ $conTR++;
+ echo '<TD align=center><INPUT type=checkbox';
+ if($sw)
+ echo ' value="1" checked '; // Lo marca como seleccionado (1. ronda)
+ else
+ echo ' value="0"';
+ echo '></TD>';
+ echo '<TD align=center ><INPUT class="formulariodatos" style="WIDTH:30px"
+ type="text" value="'.$rs->campos["orden"].'" id="'.$rs->campos["orden"].'"></TD>';
+
+ // Descripcion de la accin
+ switch($tipoaccion){
+ case $AMBITO_PROCEDIMIENTOS:
+ if(!empty($rs->campos["idcomando"])){
+ $urlimg="../images/iconos/comandos.gif";
+ $accion=$rs->campos["comando"];
+ $value=$AMBITO_COMANDOS;
+ }
+ else{
+ $urlimg="../images/iconos/procedimiento.gif";
+ $accion=$rs->campos["procedimiento"];
+ $idacciones.=$rs->campos["procedimientoid"].",";
+ $value=$AMBITO_PROCEDIMIENTOS;
+ }
+ break;
+ case $AMBITO_TAREAS:
+ if(!empty($rs->campos["idprocedimiento"])){
+ $urlimg="../images/iconos/procedimiento.gif";
+ $accion=$rs->campos["procedimiento"];
+ $value=$AMBITO_PROCEDIMIENTOS;
+ }
+ else{
+ $urlimg="../images/iconos/tareas.gif";
+ $accion=$rs->campos["tarea"];
+ $idacciones.=$rs->campos["tareaid"].",";
+ $value=$AMBITO_TAREAS;
+ }
+ break;
+ }
+ echo '<TD align=center><IMG style="cursor:pointer" src="'.$urlimg.'" value="'.$value.'"></TD>';
+ echo '<TD>'.$accion.'</TD>';
+ // Orden del item del item
+ echo '</TR>';
+
+ /* Muestra parmetros de los comandos (Se hace en Informacin)
+ if($tipoaccion==$AMBITO_PROCEDIMIENTOS){
+ if(!empty($rs->campos["idcomando"])){ // Se trata de un comando, se muestran parmetros)
+ $htmlprm=escribeParametros($rs->campos["parametros"]);
+ if(!empty($htmlprm)){
+ echo '<TR>';
+ echo '<TD> </TD>';
+ echo '<TD colspan=3>'.escribeParametros($rs->campos["parametros"]).'</TD>';
+ }
+ }
+ }
+ */
+ $rs->Siguiente();
+ }
+ echo '</TABLE>';
+ if($sw) escribePie();
+ echo '</P></TD>';
+ $rs->Cerrar();
+ $idacciones.="0"; // Para evitar el ltimo ";"
+ return($idacciones);
+ }
+//________________________________________________________________________________________________________
+
+ function escribeCabecera()
+ {
+ global $TbMsg;
+ global $litcab;
+
+ echo '<TR height=20>
+ <TH> </TH>
+ <TH> '.$TbMsg[4].' </TH>
+ <TH>T</TH>
+ <TH> '.$litcab.'</TH>
+ </TR>';
+ }
+//________________________________________________________________________________________________________
+
+ function escribePie()
+ {
+ global $litmsg;
+ global $op;
+
+ echo '<BR><TABLE align=center>
+ <TR>
+ <TD><A href="#botones"><IMG border=0 src="../images/boton_confirmar.gif"
+ onclick="javascript:confirmar('.$op.')"></A></TD>
+ </TR>
+ </TABLE>
+ <BR>
+ <DIV id="Layer_nota" align=center>
+ <SPAN align=center class=notas><I>'.$litmsg.'</I></SPAN>
+ </DIV>';
+ }
+?>
\ No newline at end of file diff --git a/admin/WebConsole/varios/incorporaordenadores.php b/admin/WebConsole/varios/incorporaordenadores.php new file mode 100644 index 00000000..3e2ae333 --- /dev/null +++ b/admin/WebConsole/varios/incorporaordenadores.php @@ -0,0 +1,183 @@ +<? +// ************************************************************************************************************************************************* +// 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: incorporaordenadores.php +// Descripción : +// Da de alta en la base de datos nuevos ordenadores desde un fichero de configuración dhcp +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/incorporaordenadores_".$idioma.".php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//___________________________________________________________________________________________________ +$swf=0; +$idaula=0; +$nombreaula=""; +$contenido=""; + +if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; +if (isset($_GET["nombreaula"])) $nombreaula=$_GET["nombreaula"]; + +if (isset($_POST["swf"])) $swf=$_POST["swf"]; // Recoge parametros +if (isset($_POST["contenido"])) $contenido=$_POST["contenido"]; +if (isset($_POST["idaula"])) $idaula=$_POST["idaula"]; +if (isset($_POST["nombreaula"])) $nombreaula=$_POST["nombreaula"]; + +$resul=0; +$ordDup=""; + +if(!empty($contenido)){ // Se ha introducido contenido en lugar de fichero + $resul=procesaLineas($cmd,$idaula,$contenido); +} +//___________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +</HEAD> +<BODY> +<FORM action="incorporaordenadores.php" method="post" name="fdatos"> + <INPUT type=hidden name=swf value=1> + <INPUT type=hidden name=idaula value=<?echo $idaula?>> + <INPUT type=hidden name=nombreaula value=<?echo $nombreaula?>> + <BR> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><IMG src="../images/iconos/aula.gif"> <?echo $TbMsg[1].":".$nombreaula ?></SPAN></P> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +<table align=center class=tabla_datos border="0" cellpadding="0" cellspacing="1"> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> + <tr> + <th> <? echo $TbMsg[2]?> </th> + <td><textarea class="cajatexto" name="contenido" cols="70" rows="18"></textarea></td></tr> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +</TABLE> + </FORM> +<TABLE align=center> + <TR> + <TD><IMG src="../images/boton_cancelar.gif" style="cursor:hand" onclick=""></TD> + <TD width=20></TD> + <TD><IMG src="../images/boton_confirmar.gif" style="cursor:hand" onclick="javascript:document.fdatos.submit();"></TD> + </TR> +</TABLE> +<? +//________________________________________________________________________________________________________ +// Mensaje con el resultado del proceso +echo '<SCRIPT LANGUAGE="javascript">'; +if (!empty($resul)) + echo " alert('".$TbMsg[$resul]."');"; +if (!empty($ordDup)) + echo " alert('".$TbMsg[5]."\\n".$ordDup."');"; +echo '</SCRIPT>'; +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function procesaLineas($cmd,$idaula,$buffer) +{ + $nombre=""; + $MAC=""; + $IP=""; + $sw=false; + $posa=-1; + + while($posa<strlen($buffer)){ + if ('host'==substr($buffer,$posa,4)){ + $posa=$posa+4; + $posb=$posa; + while( substr($buffer,$posb,1)!="{") $posb++; + $nombre=substr($buffer,$posa,$posb-$posa); + } + if ('hardware ethernet'==substr($buffer,$posa,17)){ + $posa=$posa+17; + $posb=$posa; + while( substr($buffer,$posb,1)!=";") $posb++; + $MAC=substr($buffer,$posa,$posb-$posa); + } + + if ('fixed-address'==substr($buffer,$posa,13)){ + $posa=$posa+13; + $posb=$posa; + while( substr($buffer,$posb,1)!=";") $posb++; + $IP=substr($buffer,$posa,$posb-$posa); + } + if(!empty($nombre) && !empty($MAC) && !empty($IP)){ + if(!Inserta($cmd,$idaula,$nombre,$MAC,$IP)) return(4); + $sw=true; + $nombre=""; + $MAC=""; + $IP=""; + $resul=true; + } + $posa++; + } + if($sw) + return(3); + else + return(4); + +} +//________________________________________________________________________________________________________ +function Inserta($cmd,$idaula,$nombre,$lamac,$laip) +{ + global $ordDup; + + $grupoid=0; + $nombreordenador=trim($nombre); + $ip=trim($laip); + $auxmac=trim($lamac); + $mac=""; + for($i=0;$i<strlen($auxmac);$i++) + if(substr($auxmac,$i,1)!=":") + $mac.=substr($auxmac,$i,1); + + if(existeOrdenador($cmd,$nombreordenador,$mac,$ip)){ + $ordDup.="Nombre=".$nombre.",Mac=".$mac.",Dirección ip=".$ip." \\n"; + return(true); + } + $idperfilhard=0; + $idrepositorio=0; + $idconfiguracion=0; + $cmd->CreaParametro("@grupoid",$grupoid,1); + $cmd->CreaParametro("@idaula",$idaula,1); + $cmd->CreaParametro("@nombreordenador",$nombreordenador,0); + $cmd->CreaParametro("@ip",$ip,0); + $cmd->CreaParametro("@mac",$mac,0); + $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); + $cmd->CreaParametro("@idrepositorio",$idrepositorio,1); + $cmd->CreaParametro("@idconfiguracion",$idconfiguracion,1); + + $cmd->texto="INSERT INTO ordenadores(nombreordenador,ip,mac,idperfilhard,idrepositorio,idaula,grupoid) VALUES (@nombreordenador,@ip,@mac,@idperfilhard,@idrepositorio,@idaula,@grupoid)"; + $resul=$cmd->Ejecutar(); + return($resul); +} +//________________________________________________________________________________________________________ +// Recupera los datos de un ordenador +// Parametros: +// - cmd: Una comando ya operativo (con conexión abierta) +// - ip: Dirección IP +//________________________________________________________________________________________________________ +function existeOrdenador($cmd,$nombre,$MAC,$IP){ + $rs=new Recordset; + $cmd->texto="SELECT * FROM ordenadores WHERE nombreordenador='".$nombre."' OR mac='".$MAC."' OR ip='".$IP."'"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $rs->Cerrar(); + return(true); + } + else + return(false); +} +?> diff --git a/admin/WebConsole/varios/incrementalcomponente_soft.php b/admin/WebConsole/varios/incrementalcomponente_soft.php new file mode 100644 index 00000000..8b38bfd8 --- /dev/null +++ b/admin/WebConsole/varios/incrementalcomponente_soft.php @@ -0,0 +1,105 @@ +<? +// ************************************************************************************************************************************************* +// 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: incrementalcomponente_soft.php +// Descripción : +// Administra los componentes software incluidos en un software incremental +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/incrementalcomponente_soft_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idsoftincremental=0; +$descripcionincremental=""; +if (isset($_GET["idsoftincremental"])) $idsoftincremental=$_GET["idsoftincremental"]; // Recoge parametros +if (isset($_GET["descripcionincremental"])) $descripcionincremental=$_GET["descripcionincremental"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="../jscripts/incrementalcomponente_soft.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/incrementalcomponente_soft_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <INPUT type=hidden value="<? echo $idcentro?>" id=idcentro> + <INPUT type=hidden value="<? echo $idsoftincremental?>" id=idsoftincremental> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confisoft.gif"></P> + <BR> + <DIV align=center id="Layer_componentes"> + <SPAN align=center class=presentaciones><B><U><?echo $TbMsg[2]?></U>: <? echo $descripcionincremental?></B></SPAN></P> + <TABLE width="100%" class="tabla_listados" cellspacing=1 cellpadding=0 > + <TR> + <TH> </TH> + <TH>T</TH> + <TH><?echo $TbMsg[3]?></TH> + </TR> + <? + $rs=new Recordset; + $cmd->texto='SELECT softwares.idsoftware,softwares.descripcion,tiposoftwares.descripcion as hdescripcion,tiposoftwares.urlimg FROM softwares INNER JOIN softincremental_softwares ON softwares.idsoftware=softincremental_softwares.idsoftware INNER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware WHERE softincremental_softwares.idsoftincremental='.$idsoftincremental.' ORDER BY tiposoftwares.idtiposoftware,softwares.descripcion'; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + $A_W=" WHERE "; + $strex=""; + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%" ><INPUT type=checkbox onclick="gestion_componente('.$rs->campos["idsoftware"].',this)" checked ></INPUT></TD>'; + echo '<TD align=center width="10%" ><img alt="'. $rs->campos["hdescripcion"].'"src="'.$rs->campos["urlimg"].'"></TD>'; + echo '<TD width="80%" > '.$rs->campos["descripcion"].'</TD>'; + echo '</TR>'; + $strex.= $A_W."softwares.idsoftware<>".$rs->campos["idsoftware"]; + $A_W=" AND "; + $rs->Siguiente(); + } + } + $rs->Cerrar(); + if(empty($strex)) + $strex="WHERE"; + else + $strex.= $A_W; +// Para que no salga la opción de elegir un sistema operativo +// $cmd->texto='SELECT softwares.idsoftware,softwares.descripcion,tiposoftwares.descripcion as hdescripcion,tiposoftwares.urlimg FROM softwares INNER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware '.$strex.' softwares.idtiposoftware<>1 AND softwares.idcentro='.$idcentro.' ORDER BY tiposoftwares.idtiposoftware,softwares.descripcion'; + +// Se deja elegir componente que sea un sistema operativo sólo para para incluir en el desplegable, en la creación de software incremental + $cmd->texto='SELECT softwares.idsoftware,softwares.descripcion,tiposoftwares.descripcion as hdescripcion,tiposoftwares.urlimg FROM softwares INNER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware '.$strex.' softwares.idcentro='.$idcentro.' ORDER BY tiposoftwares.idtiposoftware,softwares.descripcion'; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%" ><INPUT type=checkbox onclick="gestion_componente('.$rs->campos["idsoftware"].',this)" ></INPUT></TD>'; + echo '<TD align=center width="10%" ><img alt="'. $rs->campos["hdescripcion"].'"src="'.$rs->campos["urlimg"].'"></TD>'; + echo '<TD width="80%" > '.$rs->campos["descripcion"].'</TD>'; + echo '</TR>'; + $rs->Siguiente(); + } + } + $rs->Cerrar(); + ?> + </TABLE> + </DIV> + <DIV id="Layer_nota" align=center > + <BR> + <SPAN align=center class=notas><I><?echo $TbMsg[4]?></I></SPAN> + </DIV> +</FORM> +<? +//________________________________________________________________________________________________________ +include_once("../includes/iframecomun.php"); +//________________________________________________________________________________________________________ +?> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/informacion_acciones.php b/admin/WebConsole/varios/informacion_acciones.php new file mode 100644 index 00000000..a2d5949a --- /dev/null +++ b/admin/WebConsole/varios/informacion_acciones.php @@ -0,0 +1,218 @@ +<? +// ************************************************************************************************************************************************* +// 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: informacion_acciones.php +// Descripción : +// Muestra los comandos que forman parte de un procedimiento y sus valores +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/XmlPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/TomaDato.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/informacion_acciones_".$idioma.".php"); +//________________________________________________________________________________________________________ + +$tipoaccion=0; +$idtipoaccion=0; +$descripcionaccion=""; + +if (isset($_GET["tipoaccion"])) $tipoaccion=$_GET["tipoaccion"]; +if (isset($_GET["idtipoaccion"])) $idtipoaccion=$_GET["idtipoaccion"]; +if (isset($_GET["descripcionaccion"])) $descripcionaccion=$_GET["descripcionaccion"]; +//________________________________________________________________________________________________________ + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. + + +$tbParametros=CreaTablaParametros($cmd); // Crea tabla en memmoria para acceder a detalles de comandos +$cadenaXML=""; +CreaArbol($cmd,$tipoaccion,$idtipoaccion,$descripcionaccion); // Crea el arbol XML +//________________________________________________________________________________________________________ + +// Creación del árbol +$baseurlimg="../images/tsignos"; +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[5]; +$arbol=new ArbolVistaXml($cadenaXML,0,$baseurlimg,$clasedefault,1,20,130,1,$titulotabla); +//________________________________________________________________________________________________________ +?> +<HTML> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> +</HEAD> +<BODY> + <? + switch($tipoaccion){ + case $AMBITO_PROCEDIMIENTOS: + $urlimg="../images/iconos/procedimiento.gif"; + $litsub=$TbMsg[2]; + $litcab=$TbMsg[1]; + break; + case $AMBITO_TAREAS: + $urlimg="../images/iconos/tareas.gif"; + $litsub=$TbMsg[4]; + $litcab=$TbMsg[3]; + break; + } + ?> + <P align=center class=cabeceras><?echo $litcab?><BR> + <SPAN align=center class=subcabeceras><?echo $litsub?></SPAN> <IMG src="../images/iconos/acciones.gif"><BR> + <IMG src="<? echo $urlimg?>"><SPAN class=presentaciones> <?echo $descripcionaccion?></SPAN></P> + <?echo urldecode($arbol->CreaArbolVistaXml()); // Crea arbol de configuraciones?> +</BODY> +</HTML> +<? +/******************************************************************************************************** + Devuelve una cadena con formato XML de toda la Información de los procedimientos o tareas + softwares + Parametros: + - cmd: Un comando ya operativo ( con conexiónabierta) + - idperfil: El identificador del perfil software +________________________________________________________________________________________________________*/ + +function CreaArbol($cmd,$tipoaccion,$idtipoaccion,$descripcionaccion) +{ + global $AMBITO_PROCEDIMIENTOS; + global $AMBITO_TAREAS; + + switch($tipoaccion){ + case $AMBITO_PROCEDIMIENTOS: + SubarbolXML_procedimientos($cmd,$idtipoaccion); + break; + case $AMBITO_TAREAS: + SubarbolXML_Tareas($cmd,$idtipoaccion); + break; + } +} +//________________________________________________________________________________________________________ +function SubarbolXML_Tareas($cmd,$idtarea) +{ + global $cadenaXML; + + $cmd->texto="SELECT tareas.descripcion as descritarea,procedimientos.descripcion as descriprocedimiento, + tareas_acciones.orden,tareas_acciones.idprocedimiento,tareas_acciones.tareaid, + tareas.ambito,tareas.idambito,tareas.restrambito + FROM tareas + INNER JOIN tareas_acciones ON tareas_acciones.idtarea=tareas.idtarea + LEFT OUTER JOIN procedimientos ON procedimientos.idprocedimiento=tareas_acciones.idprocedimiento + WHERE tareas_acciones.idtarea=".$idtarea." + ORDER BY tareas_acciones.orden"; + //echo $cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $cadenaXML.='<TAREA'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/tareas.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descritarea"].'"'; + $cadenaXML.='>'; + while (!$rs->EOF){ + if($rs->campos["tareaid"]>0) // Tarea recursiva + SubarbolXML_Tareas($cmd,$rs->campos["tareaid"]); + else{ + SubarbolXML_procedimientos($cmd,$rs->campos["idprocedimiento"]); + } + $rs->Siguiente(); + } + $cadenaXML.='</TAREA>'; +} +//________________________________________________________________________________________________________ +function SubarbolXML_procedimientos($cmd,$idprocedimiento) +{ + global $cadenaXML; + + $cmd->texto="SELECT procedimientos.descripcion as descriprocedimiento,procedimientos_acciones.idcomando, + comandos.descripcion as descricomando,comandos.visuparametros,procedimientos_acciones.procedimientoid, + procedimientos_acciones.parametros + FROM procedimientos + INNER JOIN procedimientos_acciones ON procedimientos_acciones.idprocedimiento=procedimientos.idprocedimiento + LEFT OUTER JOIN comandos ON comandos.idcomando=procedimientos_acciones.idcomando + WHERE procedimientos.idprocedimiento=".$idprocedimiento." + ORDER BY orden"; + //echo $cmd->texto; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return; // Error al abrir recordset + $cadenaXML.='<PROCEDIMIENTO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/procedimiento.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descriprocedimiento"].'"'; + $cadenaXML.='>'; + while (!$rs->EOF){ + if($rs->campos["procedimientoid"]>0) // Procedimiento recursivo + SubarbolXML_procedimientos($cmd,$rs->campos["procedimientoid"]); + else{ + SubarbolXML_comandos($rs->campos["descricomando"],$rs->campos["parametros"],$rs->campos["visuparametros"]); + } + + $rs->Siguiente(); + } + $cadenaXML.='</PROCEDIMIENTO>'; +} +//________________________________________________________________________________________________________ +function SubarbolXML_comandos($descricomando,$parametros,$visuparametros) +{ + global $cadenaXML; + + $cadenaXML.='<COMANDO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/comandos.gif"'; + $cadenaXML.=' infonodo="'.$descricomando.'"'; + $cadenaXML.='>'; + escribeParametros($parametros,$visuparametros); + $cadenaXML.='</COMANDO>'; +} + //________________________________________________________________________________________________________ + + function escribeParametros($parametros,$visuparametros) + { + global $cmd; + global $cadenaXML; + + $tbParametrosValor=array(); + ParametrosValor($cmd,$parametros,&$tbParametrosValor); // Toma valores de cada parámetro + $visuprm=split(";",$visuparametros); + for($i=0;$i<sizeof($visuprm);$i++){ + $nemo=$visuprm[$i]; + if(isset($tbParametrosValor[$visuprm[$i]])){ + for($j=0;$j<sizeof($tbParametrosValor[$nemo])-1;$j++){ + $descripcion=$tbParametrosValor[$nemo]["descripcion"]; + $valor=$tbParametrosValor[$nemo][$j]["valor"]; + if(sizeof($tbParametrosValor[$nemo])>2) + $valor=$tbParametrosValor[$nemo][$j]["valor"]; + else + $valor=$tbParametrosValor[$nemo]["valor"]; + escribiendoParametros($descripcion,$valor); + } + } + } + } + //________________________________________________________________________________________________________ + + function escribiendoParametros($descripcion,$valor) + { + global $cadenaXML; + + $cadenaXML.='<PARAMETRO'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $litprm=$descripcion.': <B>'.$valor.'</B>'; + $cadenaXML.=' infonodo="'.urlencode($litprm).'"'; + $cadenaXML.='>'; + $cadenaXML.='</PARAMETRO>'; + } + +?>
\ No newline at end of file diff --git a/admin/WebConsole/varios/informacion_imagenes.php b/admin/WebConsole/varios/informacion_imagenes.php new file mode 100644 index 00000000..b8f49a64 --- /dev/null +++ b/admin/WebConsole/varios/informacion_imagenes.php @@ -0,0 +1,203 @@ +<? +// ************************************************************************************************************************************************* +// 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: informacion_imagenes.php +// Descripción : +// Muestra los perfiles que forman parte de una imagen y los ordenadores que tienen instalada dicha imagen +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/informacion_imagenes_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idimagen=0; +$descripcionimagen=""; +if (isset($_GET["idimagen"])) $idimagen=$_GET["idimagen"]; // Recoge parametros +if (isset($_GET["descripcionimagen"])) $descripcionimagen=$_GET["descripcionimagen"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idimagen); // Crea el arbol XML + +// Creación del árbol +$baseurlimg="../images/tsignos"; // Url de las imágenes de signo +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[3]; +$arbol=new ArbolVistaXml($arbolXML,0,$baseurlimg,$clasedefault,1,20,130,1,$titulotabla); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> +</HEAD> +<BODY> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/imagenes.gif"><BR><BR> + <IMG src="../images/iconos/imagen.gif"><SPAN class=presentaciones> <U><?echo $TbMsg[2]?></U>: <? echo $descripcionimagen?></SPAN></P> + <?echo $arbol->CreaArbolVistaXml(); // Crea arbol de configuraciones +?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Devuelve una cadena con formato XML de toda la información de las imagenes + Parametros: + - cmd:Una comando ya operativo ( con conexiónabierta) + - idimagen: El identificador del perfil hardware +________________________________________________________________________________________________________*/ +function CreaArbol($cmd,$idimagen){ + $cadenaXML=SubarbolXML_Imagenes($cmd,$idimagen); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Imagenes($cmd,$idimagen){ + global $TbMsg; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idimagen,descripcion,comentarios, idperfilsoft FROM imagenes WHERE idimagen=".$idimagen; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<IMAGEN'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagen.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_PerfilImagen($cmd,$rs->campos["idperfilsoft"]); + $cadenaXML.=SubarbolXML_Ordenadores($cmd,$rs->campos["idimagen"]); + $cadenaXML.='</IMAGEN>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_PerfilImagen($cmd,$idperfilsoft) +{ + global $TbMsg; + + $cadenaXML=""; + $gidperfilsoft=null; + + $cmd->texto="SELECT perfilessoft.idperfilsoft ,perfilessoft.descripcion as pdescripcion ,perfilessoft.comentarios, + softwares.idsoftware,softwares.descripcion as hdescripcion,tiposoftwares.urlimg + FROM perfilessoft "; + $cmd->texto.=" LEFT OUTER JOIN perfilessoft_softwares ON perfilessoft.idperfilsoft=perfilessoft_softwares.idperfilsoft"; + $cmd->texto.=" LEFT OUTER JOIN softwares ON softwares.idsoftware=perfilessoft_softwares.idsoftware"; + $cmd->texto.=" LEFT OUTER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware" ; + $cmd->texto.=" WHERE perfilessoft.idperfilsoft=".$idperfilsoft; + $cmd->texto.=" ORDER by perfilessoft.descripcion,tiposoftwares.idtiposoftware,softwares.descripcion"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->EOF) return($cadenaXML); + + $cadenaXML.='<CARPETAPERFILES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[6].'"'; + $cadenaXML.='>'; + + while (!$rs->EOF){ + if ($gidperfilsoft!=$rs->campos["idperfilsoft"]){ + if ($gidperfilsoft){ + $cadenaXML.='</COMPONENTES>'; + $cadenaXML.='</PERFILESSOFTWARES>'; + } + $gidperfilsoft=$rs->campos["idperfilsoft"]; + $cadenaXML.='<PERFILESSOFTWARES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/perfilsoftware.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["pdescripcion"].'"'; + $cadenaXML.='>'; + + if($rs->campos["comentarios"]>" "){ + $cadenaXML.='<PROPIEDAD'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[9].' :[/b] '.$rs->campos["comentarios"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPIEDAD>'; + } + + $cadenaXML.='<COMPONENTES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[4].'"'; + $cadenaXML.='>'; + } + if ($rs->campos["idsoftware"]){ + $cadenaXML.='<COMPONENTE'; + // Atributos + $cadenaXML.=' imagenodo='.$rs->campos["urlimg"]; + $cadenaXML.=' infonodo="'.$rs->campos["hdescripcion"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</COMPONENTE>'; + } + $rs->Siguiente(); + } + $cadenaXML.='</COMPONENTES>'; + $cadenaXML.='</PERFILESSOFTWARES>'; + $cadenaXML.='</CARPETAPERFILES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Ordenadores($cmd,$idimagen) +{ + global $TbMsg; + + $cadenaXML=""; + $gidaula=null; + $cmd->texto="SELECT DISTINCT aulas.idaula,aulas.nombreaula,ordenadores.idordenador,ordenadores.nombreordenador, + ordenadores_particiones.numpar,ordenadores.idperfilhard FROM ordenadores + INNER JOIN aulas ON ordenadores.idaula=aulas.idaula + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + WHERE ordenadores_particiones.idimagen=".$idimagen." ORDER BY aulas.idaula,ordenadores.nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->numeroderegistros>0){ + $cadenaXML.='<ORDENADORES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[7].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidaula!=$rs->campos["idaula"]){ + if ($gidaula) + $cadenaXML.='</AULA>'; + $cadenaXML.='<AULA '; + // Atributos + + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.='>'; + $gidaula=$rs->campos["idaula"]; + } + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $litpar="(Par:".$rs->campos["numpar"].")"; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].' '.$litpar.'"' ; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + if ($gidaula) + $cadenaXML.='</AULA>'; + if ($rs->numeroderegistros>0) + $cadenaXML.='</ORDENADORES>'; + $rs->Cerrar(); + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/varios/informacion_menus.php b/admin/WebConsole/varios/informacion_menus.php new file mode 100644 index 00000000..f70fc5ad --- /dev/null +++ b/admin/WebConsole/varios/informacion_menus.php @@ -0,0 +1,278 @@ +<? +// ****************************************************************************************************** +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creaciónn: Año 2009-2010 +// Fecha Última modificación: Agosto-2010 +// Nombre del fichero: informacion_menus.php +// Descripción : +// Muestra los items que forman parte de un menu y sus valores +// ***************************************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/informacion_menus_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idmenu=0; +$descripcionmenu=""; +if (isset($_GET["idmenu"])) $idmenu=$_GET["idmenu"]; // Recoge parametros +if (isset($_GET["descripcionmenu"])) $descripcionmenu=$_GET["descripcionmenu"]; // Recoge parametros + +$contitempub=0; // Contador de itemsp�blicos para dimensinar ventana +$contitempri=0; // Contador de itemsp�blicos para dimensinar ventana + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idmenu); // Crea el arbol XML + +// Creaciónn del �rbol +$baseurlimg="../images/tsignos"; +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[3]; +$arbol=new ArbolVistaXml($arbolXML,0,$baseurlimg,$clasedefault,1,20,130,1,$titulotabla); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/informacion_menus.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/comunes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/informacion_menus_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> + <FORM name=fdatos> + <input type=hidden value="<? echo $idmenu?>" id=idmenu> + <input type=hidden value="<? echo $contitempub?>" id=contitempub> + <input type=hidden value="<? echo $contitempri?>" id=contitempri> + </FORM> + <p align=center class=cabeceras><?echo $TbMsg[0]?><br> + <span align=center class=subcabeceras><?echo $TbMsg[1]?></span> <img src="../images/iconos/menus.gif"><br> + <img src="../images/iconos/menu.gif"><span class=presentaciones> <u><?echo $TbMsg[2]?></u>: <? echo $descripcionmenu?></span></p> + <? + echo $arbol->CreaArbolVistaXML(); // Crea arbol de configuraciones + ?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function CreaArbol($cmd,$idmenu){ + $cadenaXML=SubarbolXML_Menus($cmd,$idmenu); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Menus($cmd,$idmenu) +{ + global $TbMsg; + + $cadenaXML=""; + $cmd->texto="SELECT * FROM menus WHERE idmenu=".$idmenu; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<MENU'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/menu.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.='>'; + $cadenaXML.=SubarbolXML_Ordenadores($cmd,$idmenu); + $cadenaXML.=SubarbolXML_Items($cmd,$idmenu); + $cadenaXML.='</MENU>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Ordenadores($cmd,$idmenu) +{ + global $TbMsg; + + $cadenaXML=""; + $gidaula=null; + $cmd->texto="SELECT aulas.idaula,aulas.nombreaula,ordenadores. idordenador,ordenadores.nombreordenador + FROM ordenadores + INNER JOIN aulas ON ordenadores.idaula=aulas.idaula + WHERE ordenadores.idmenu=".$idmenu." ORDER BY aulas.idaula,ordenadores.nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->numeroderegistros>0){ + $cadenaXML.='<ORDENADORES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[21].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidaula!=$rs->campos["idaula"]){ + if ($gidaula) + $cadenaXML.='</AULA>'; + $cadenaXML.='<AULA '; + // Atributos + + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.='>'; + $gidaula=$rs->campos["idaula"]; + } + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].'"' ; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + if ($gidaula) + $cadenaXML.='</AULA>'; + if ($rs->numeroderegistros>0) + $cadenaXML.='</ORDENADORES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Items($cmd,$idmenu){ + global $TbMsg; + global $ITEM_PUBLICO; + global $ITEM_PRIVADO; + global $idcentro; + global $EJECUCION_PROCEDIMIENTO; + global $EJECUCION_TAREA; + global $contitempub; + global $contitempri; + + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT acciones_menus.*,iconos.urlicono as urlimg + FROM acciones_menus + LEFT OUTER JOIN iconos ON acciones_menus.idurlimg =iconos.idicono + WHERE acciones_menus.idmenu=".$idmenu." + ORDER BY acciones_menus.tipoitem,acciones_menus.orden"; + + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + $tbmodalidad[1]=$TbMsg[18]; + $tbmodalidad[2]=$TbMsg[19]; + + $swpub=false; + $swpriv=false; + + $cadenaXML.='<ITEMS'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[22].'"'; + $cadenaXML.='>'; + + while (!$rs->EOF){ + if ($rs->campos["tipoitem"]==$ITEM_PUBLICO){ + $contitempub++; + if (!$swpub) { + $cadenaXML.='<ITEMSPUBLICOS'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[13].'"'; + $cadenaXML.='>'; + $swpub=true; + } + } + if ($rs->campos["tipoitem"]==$ITEM_PRIVADO){ + $contitempri++; + if ($swpub) { + $cadenaXML.='</ITEMSPUBLICOS>'; + $swpub=false; + } + if (!$swpriv) { + $cadenaXML.='<ITEMSPRIVADOS'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[14].'"'; + $cadenaXML.='>'; + $swpriv=true; + } + } + switch($rs->campos["tipoaccion"]){ + case $EJECUCION_PROCEDIMIENTO : + $cmd->texto='SELECT procedimientos.descripcion FROM procedimientos + WHERE procedimientos.idprocedimiento='.$rs->campos["idtipoaccion"]; + $urlimg="procedimiento.gif"; + break; + case $EJECUCION_TAREA : + $cmd->texto='SELECT tareas.idtarea, tareas.descripcion FROM tareas + WHERE tareas.idtarea='.$rs->campos["idtipoaccion"]; + $urlimg="tareas.gif"; + break; + } + if(!empty($rs->campos["idtipoaccion"])) + $cadenaXML.= SubarbolXML_itemsmenus($cmd,$urlimg,$rs->campos); + $rs->Siguiente(); + } + if ($swpub) + $cadenaXML.='</ITEMSPUBLICOS>'; + if ($swpriv) + $cadenaXML.='</ITEMSPRIVADOS>'; + $cadenaXML.='</ITEMS>'; + $rs->Cerrar(); + return($cadenaXML); +} + +//________________________________________________________________________________________________________ +function SubarbolXML_itemsmenus($cmd,$urlimg,$campos){ + global $TbMsg; + global $ITEM_PUBLICO; + global $ITEM_PRIVADO; + global $idcentro; + + $cadenaXML=""; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<ITEM'; + $cadenaXML.=' imagenodo="../images/iconos/'.$urlimg.'"'; + $cadenaXML.=' infonodo="'.$campos["descripitem"].'"'; + $cadenaXML.='>'; + + $contprop=0; + + $cadenaXML.='<PROPMENU'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[20].':[/b] '.$campos["idaccionmenu"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPMENU>'; + + $cadenaXML.='<PROPMENU'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[15].':[/b] '.$campos["orden"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPMENU>'; + + $cadenaXML.='<PROPMENU'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[16].':[/b] '.$rs->campos["descripcion"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPMENU>'; + + if(!empty($campos["urlimg"])) { + $cadenaXML.='<PROPMENU'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[17].': [/b]'.$campos["urlimg"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPMENU>'; + } + $cadenaXML.='</ITEM>'; + $rs->Siguiente(); + } + return($cadenaXML); +} + +?> diff --git a/admin/WebConsole/varios/informacion_perfileshardware.php b/admin/WebConsole/varios/informacion_perfileshardware.php new file mode 100644 index 00000000..e23e31b0 --- /dev/null +++ b/admin/WebConsole/varios/informacion_perfileshardware.php @@ -0,0 +1,213 @@ +<? +// ************************************************************************************************************************************************* +// 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: informacion_perfileshard.php +// Descripción : +// Muestra los componentes hardware que forman parte de un perfil hardware y los perfiles softwares disponibles +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/informacion_perfileshard_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idperfil=0; +$descripcionperfil=""; +if (isset($_GET["idperfil"])) $idperfil=$_GET["idperfil"]; // Recoge parametros +if (isset($_GET["descripcionperfil"])) $descripcionperfil=$_GET["descripcionperfil"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idperfil); // Crea el arbol XML + +// Creación del árbol +$baseurlimg="../images/tsignos"; +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[3]; +$arbol=new ArbolVistaXml($arbolXML,0,$baseurlimg,$clasedefault,1,20,130,1,$titulotabla); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> +</HEAD> +<BODY> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confihard.gif"><BR><BR> + <IMG src="../images/iconos/perfilhardware.gif"><SPAN class=presentaciones> <U><?echo $TbMsg[2]?></U>: <? echo $descripcionperfil?></SPAN></P> + <?echo $arbol->CreaArbolVistaXml(); // Crea arbol de configuraciones?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Devuelve una cadena con formato XML de toda la Información de los perfiles hardwares + Parametros: + - cmd:Una comando ya operativo ( con conexiónabierta) + - idperfil: El identificador del perfil hardware +________________________________________________________________________________________________________*/ +function CreaArbol($cmd,$idperfil){ + $cadenaXML=SubarbolXML_PerfilesHardwares($cmd,$idperfil); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_PerfilesHardwares($cmd,$idperfilhard){ + global $TbMsg; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT tipohardwares.descripcion as tipohardware,perfileshard.idperfilhard , + perfileshard.descripcion as pdescripcion, perfileshard.comentarios, + hardwares.idhardware,hardwares.descripcion as hdescripcion,tipohardwares.urlimg + FROM perfileshard "; + $cmd->texto.=" LEFT OUTER JOIN perfileshard_hardwares ON perfileshard.idperfilhard=perfileshard_hardwares.idperfilhard"; + $cmd->texto.=" LEFT OUTER JOIN hardwares ON hardwares.idhardware=perfileshard_hardwares.idhardware"; + $cmd->texto.=" LEFT OUTER JOIN tipohardwares ON hardwares.idtipohardware=tipohardwares.idtipohardware" ; + $cmd->texto.=" WHERE perfileshard.idperfilhard=".$idperfilhard; + $cmd->texto.=" ORDER by tipohardwares.idtipohardware,hardwares.descripcion"; + $rs->Comando=&$cmd; + + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + $cadenaXML.='<PERFILESHARDWARES'; + // Atributos` + $cadenaXML.=' imagenodo="../images/iconos/perfilhardware.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["pdescripcion"].'"'; + $cadenaXML.='>'; + if($rs->campos["comentarios"]>" "){ + $cadenaXML.='<PROPIEDAD'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[8].' :[/b] '.$rs->campos["comentarios"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPIEDAD>'; + } + $swcompo=false; + while (!$rs->EOF){ + if ($rs->campos["idhardware"]){ + if (!$swcompo) { + $cadenaXML.='<COMPONENTES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[6].'"'; + $cadenaXML.='>'; + $swcompo=true; + } + + $cadenaXML.='<PERFILHARDWARE'; + // Atributos + $cadenaXML.=' imagenodo='.$rs->campos["urlimg"]; + $cadenaXML.=' infonodo="('.$rs->campos["tipohardware"].") ".$rs->campos["hdescripcion"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PERFILHARDWARE>'; + } + $rs->Siguiente(); + } + if ($swcompo) { + $cadenaXML.='</COMPONENTES>'; + } + $cadenaXML.=SubarbolXML_Ordenadores($cmd,$idperfilhard); + $cadenaXML.=SubarbolXML_ImagenesDisponibles($cmd,$idperfilhard); + $cadenaXML.='</PERFILESHARDWARES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Ordenadores($cmd,$idperfilhard) +{ + global $TbMsg; + + $cadenaXML=""; + $gidaula=0; + $cmd->texto="SELECT DISTINCT aulas.idaula,aulas.nombreaula,ordenadores.idordenador,ordenadores.nombreordenador + FROM ordenadores + INNER JOIN aulas ON ordenadores.idaula=aulas.idaula + WHERE ordenadores.idperfilhard=".$idperfilhard." ORDER BY aulas.idaula,ordenadores.nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->numeroderegistros>0){ + $cadenaXML.='<ORDENADORES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[7].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidaula!=$rs->campos["idaula"]){ + if (!empty($gidaula)) + $cadenaXML.='</AULA>'; + $cadenaXML.='<AULA '; + // Atributos + + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.='>'; + $gidaula=$rs->campos["idaula"]; + } + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].'"' ; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + if (!empty($gidaula)) + $cadenaXML.='</AULA>'; + if ($rs->numeroderegistros>0) + $cadenaXML.='</ORDENADORES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_ImagenesDisponibles($cmd,$idperfilhard) +{ + global $TbMsg; + + $cadenaXML=""; + $gidimagen=0; + + $cmd->texto="SELECT DISTINCT imagenes.* FROM imagenes + INNER JOIN perfilessoft ON perfilessoft.idperfilsoft=imagenes.idperfilsoft + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idperfilsoft=imagenes.idperfilsoft + INNER JOIN ordenadores ON ordenadores.idordenador=ordenadores_particiones.idordenador + INNER JOIN perfileshard ON perfileshard.idperfilhard=ordenadores.idperfilhard + WHERE perfileshard.idperfilhard=".$idperfilhard." + AND imagenes.codpar>0 + ORDER by imagenes.descripcion"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + if ($rs->numeroderegistros>0) { + $cadenaXML.='<DISPONIBLESIMAGENES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[4].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidimagen!=$rs->campos["idperfilsoft"]){ + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + } + $gidimagen=$rs->campos["idperfilsoft"]; + $cadenaXML.='<IMAGENES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.='>'; + } + $rs->Siguiente(); + } + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + $cadenaXML.='</DISPONIBLESIMAGENES>'; + } + $rs->Cerrar(); + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/varios/informacion_perfilessoftware.php b/admin/WebConsole/varios/informacion_perfilessoftware.php new file mode 100644 index 00000000..42f11b41 --- /dev/null +++ b/admin/WebConsole/varios/informacion_perfilessoftware.php @@ -0,0 +1,213 @@ +<? +// ************************************************************************************************************************************************* +// 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: informacion_perfilessoft.php +// Descripción : +// Muestra los componentes software que forman parte de un perfil software y los perfiles softwares disponibles +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/informacion_perfilessoft_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idperfil=0; +$descripcionperfil=""; +if (isset($_GET["idperfil"])) $idperfil=$_GET["idperfil"]; // Recoge parametros +if (isset($_GET["descripcionperfil"])) $descripcionperfil=$_GET["descripcionperfil"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idperfil); // Crea el arbol XML + +// Creación del árbol +$baseurlimg="../images/tsignos"; +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[3]; +$arbol=new ArbolVistaXml($arbolXML,0,$baseurlimg,$clasedefault,1,20,130,1,$titulotabla); +//________________________________________________________________________________________________________ +?> +<HTML> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> +</HEAD> +<BODY> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confisoft.gif"><BR><BR> + <IMG src="../images/iconos/perfilsoftware.gif"><SPAN class=presentaciones> <U><?echo $TbMsg[2]?></U>: <? echo $descripcionperfil?></SPAN></P> + <?echo $arbol->CreaArbolVistaXml(); // Crea arbol de configuraciones?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Devuelve una cadena con formato XML de toda la Información de los perfiles software + softwares + Parametros: + - cmd:Una comando ya operativo ( con conexiónabierta) + - idperfil: El identificador del perfil software +________________________________________________________________________________________________________*/ +function CreaArbol($cmd,$idperfil){ + $cadenaXML=SubarbolXML_PerfilesSoftwares($cmd,$idperfil); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_PerfilesSoftwares($cmd,$idperfilsoft) +{ + global $TbMsg; + + $cadenaXML=""; + + $cmd->texto="SELECT perfilessoft.idperfilsoft ,perfilessoft.descripcion as pdescripcion, perfilessoft.comentarios, + softwares.idsoftware,softwares.descripcion as hdescripcion,tiposoftwares.urlimg FROM perfilessoft + LEFT OUTER JOIN perfilessoft_softwares ON perfilessoft.idperfilsoft=perfilessoft_softwares.idperfilsoft + LEFT OUTER JOIN softwares ON softwares.idsoftware=perfilessoft_softwares.idsoftware + LEFT OUTER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware + WHERE perfilessoft.idperfilsoft=".$idperfilsoft." + ORDER by tiposoftwares.idtiposoftware,softwares.descripcion"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + $cadenaXML.='<PERFILESSOFTWARES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/perfilsoftware.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["pdescripcion"].'"'; + $cadenaXML.='>'; + if($rs->campos["comentarios"]>" "){ + $cadenaXML.='<PROPIEDAD'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[8].' :[/b] '.$rs->campos["comentarios"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPIEDAD>'; + } + $swcompo=false; + while (!$rs->EOF){ + if ($rs->campos["idsoftware"]){ + if (!$swcompo) { + $cadenaXML.='<COMPONENTES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[6].'"'; + $cadenaXML.='>'; + $swcompo=true; + } + $cadenaXML.='<PERFILSOFTWARE'; + // Atributos + $cadenaXML.=' imagenodo='.$rs->campos["urlimg"]; + $cadenaXML.=' infonodo="'.$rs->campos["hdescripcion"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PERFILSOFTWARE>'; + } + $rs->Siguiente(); + } + if ($swcompo) { + $cadenaXML.='</COMPONENTES>'; + } + $cadenaXML.=SubarbolXML_Ordenadores($cmd,$idperfilsoft); + $cadenaXML.=SubarbolXML_ImagenesDisponibles($cmd,$idperfilsoft); + $cadenaXML.='</PERFILESSOFTWARES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Ordenadores($cmd,$idperfilsoft) +{ + global $TbMsg; + + $cadenaXML=""; + $gidaula=0; + $cmd->texto="SELECT DISTINCT aulas.idaula,aulas.nombreaula,ordenadores.idordenador, + ordenadores.nombreordenador,ordenadores_particiones.numpar + FROM ordenadores + INNER JOIN aulas ON ordenadores.idaula=aulas.idaula + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + WHERE ordenadores_particiones.idperfilsoft=".$idperfilsoft." ORDER BY aulas.idaula,ordenadores.nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->numeroderegistros>0){ + $cadenaXML.='<ORDENADORES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[7].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidaula!=$rs->campos["idaula"]){ + if (!empty($gidaula)) + $cadenaXML.='</AULA>'; + $cadenaXML.='<AULA '; + // Atributos + + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.='>'; + $gidaula=$rs->campos["idaula"]; + } + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].'"' ; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + if (!empty($gidaula)) + $cadenaXML.='</AULA>'; + if ($rs->numeroderegistros>0) + $cadenaXML.='</ORDENADORES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_ImagenesDisponibles($cmd,$idperfilsoft) +{ + global $TbMsg; + + $cadenaXML=""; + $gidimagen=0; + + $cmd->texto="SELECT imagenes.* FROM imagenes + INNER JOIN perfilessoft ON perfilessoft.idperfilsoft=imagenes.idperfilsoft + WHERE perfilessoft.idperfilsoft=".$idperfilsoft." + AND imagenes.codpar>0 + ORDER by imagenes.descripcion"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + if ($rs->numeroderegistros>0) { + $cadenaXML.='<DISPONIBLESIMAGENES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[4].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidimagen!=$rs->campos["idperfilsoft"]){ + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + } + $gidimagen=$rs->campos["idperfilsoft"]; + $cadenaXML.='<IMAGENES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.='>'; + } + $rs->Siguiente(); + } + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + $cadenaXML.='</DISPONIBLESIMAGENES>'; + } + $rs->Cerrar(); + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/varios/informacion_procedimientos.php b/admin/WebConsole/varios/informacion_procedimientos.php new file mode 100644 index 00000000..6de1eb5d --- /dev/null +++ b/admin/WebConsole/varios/informacion_procedimientos.php @@ -0,0 +1,213 @@ +<? +// ************************************************************************************************************************************************* +// 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: informacion_procedimientos.php +// Descripción : +// Muestra los comandos que forman parte de un procedimiento y sus valores +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/informacion_procedimientos_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idprocedimiento=0; +$descripcionprocedimiento=""; +if (isset($_GET["idperfil"])) $idperfil=$_GET["idperfil"]; // Recoge parametros +if (isset($_GET["descripcionprocedimiento"])) $descripcionprocedimiento=$_GET["descripcionprocedimiento"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idperfil); // Crea el arbol XML + +// Creación del árbol +$baseurlimg="../images/tsignos"; +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[3]; +$arbol=new ArbolVistaXml($arbolXML,0,$baseurlimg,$clasedefault,1,20,130,1,$titulotabla); +//________________________________________________________________________________________________________ +?> +<HTML> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> +</HEAD> +<BODY> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confisoft.gif"><BR><BR> + <IMG src="../images/iconos/procedimiento.gif"><SPAN class=presentaciones> <U><?echo $TbMsg[2]?></U>: <? echo $descripcionperfil?></SPAN></P> + <?echo $arbol->CreaArbolVistaXml(); // Crea arbol de configuraciones?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Devuelve una cadena con formato XML de toda la Información de los perfiles software + softwares + Parametros: + - cmd:Una comando ya operativo ( con conexiónabierta) + - idperfil: El identificador del perfil software +________________________________________________________________________________________________________*/ +function CreaArbol($cmd,$idperfil){ + $cadenaXML=SubarbolXML_procedimientoswares($cmd,$idperfil); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_procedimientoswares($cmd,$idperfilsoft) +{ + global $TbMsg; + + $cadenaXML=""; + + $cmd->texto="SELECT procedimientos.idperfilsoft ,procedimientos.descripcion as pdescripcion, procedimientos.comentarios, + softwares.idsoftware,softwares.descripcion as hdescripcion,tiposoftwares.urlimg FROM procedimientos + LEFT OUTER JOIN procedimientos_softwares ON procedimientos.idperfilsoft=procedimientos_softwares.idperfilsoft + LEFT OUTER JOIN softwares ON softwares.idsoftware=procedimientos_softwares.idsoftware + LEFT OUTER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware + WHERE procedimientos.idperfilsoft=".$idperfilsoft." + ORDER by tiposoftwares.idtiposoftware,softwares.descripcion"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + $cadenaXML.='<procedimientosWARES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/procedimiento.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["pdescripcion"].'"'; + $cadenaXML.='>'; + if($rs->campos["comentarios"]>" "){ + $cadenaXML.='<PROPIEDAD'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[8].' :[/b] '.$rs->campos["comentarios"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPIEDAD>'; + } + $swcompo=false; + while (!$rs->EOF){ + if ($rs->campos["idsoftware"]){ + if (!$swcompo) { + $cadenaXML.='<COMPONENTES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[6].'"'; + $cadenaXML.='>'; + $swcompo=true; + } + $cadenaXML.='<procedimiento'; + // Atributos + $cadenaXML.=' imagenodo='.$rs->campos["urlimg"]; + $cadenaXML.=' infonodo="'.$rs->campos["hdescripcion"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</procedimiento>'; + } + $rs->Siguiente(); + } + if ($swcompo) { + $cadenaXML.='</COMPONENTES>'; + } + $cadenaXML.=SubarbolXML_Ordenadores($cmd,$idperfilsoft); + $cadenaXML.=SubarbolXML_ImagenesDisponibles($cmd,$idperfilsoft); + $cadenaXML.='</procedimientosWARES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Ordenadores($cmd,$idperfilsoft) +{ + global $TbMsg; + + $cadenaXML=""; + $gidaula=0; + $cmd->texto="SELECT DISTINCT aulas.idaula,aulas.nombreaula,ordenadores.idordenador, + ordenadores.nombreordenador,ordenadores_particiones.numpar + FROM ordenadores + INNER JOIN aulas ON ordenadores.idaula=aulas.idaula + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + WHERE ordenadores_particiones.idperfilsoft=".$idperfilsoft." ORDER BY aulas.idaula,ordenadores.nombreordenador"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->numeroderegistros>0){ + $cadenaXML.='<ORDENADORES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[7].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidaula!=$rs->campos["idaula"]){ + if (!empty($gidaula)) + $cadenaXML.='</AULA>'; + $cadenaXML.='<AULA '; + // Atributos + + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.='>'; + $gidaula=$rs->campos["idaula"]; + } + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].'"' ; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + if (!empty($gidaula)) + $cadenaXML.='</AULA>'; + if ($rs->numeroderegistros>0) + $cadenaXML.='</ORDENADORES>'; + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_ImagenesDisponibles($cmd,$idperfilsoft) +{ + global $TbMsg; + + $cadenaXML=""; + $gidimagen=0; + + $cmd->texto="SELECT imagenes.* FROM imagenes + INNER JOIN procedimientos ON procedimientos.idperfilsoft=imagenes.idperfilsoft + WHERE procedimientos.idperfilsoft=".$idperfilsoft." + AND imagenes.codpar>0 + ORDER by imagenes.descripcion"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + if ($rs->numeroderegistros>0) { + $cadenaXML.='<DISPONIBLESIMAGENES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[4].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidimagen!=$rs->campos["idperfilsoft"]){ + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + } + $gidimagen=$rs->campos["idperfilsoft"]; + $cadenaXML.='<IMAGENES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.='>'; + } + $rs->Siguiente(); + } + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + $cadenaXML.='</DISPONIBLESIMAGENES>'; + } + $rs->Cerrar(); + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/varios/informacion_repositorios.php b/admin/WebConsole/varios/informacion_repositorios.php new file mode 100644 index 00000000..22174c3d --- /dev/null +++ b/admin/WebConsole/varios/informacion_repositorios.php @@ -0,0 +1,184 @@ +<? +// ************************************************************************************************************************************************* +// 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: informacion_repositorios.php +// Descripción : +// Muestra los ordenadores que están gestionados por un repositorio +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../clases/XmlPhp.php"); +include_once("../clases/ArbolVistaXML.php"); +include_once("../idiomas/php/".$idioma."/informacion_repositorio_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idrepositorio=0; +$descripcionrepositorio=""; +if (isset($_GET["idrepositorio"])) $idrepositorio=$_GET["idrepositorio"]; // Recoge parametros +if (isset($_GET["descripcionrepositorio"])) $descripcionrepositorio=$_GET["descripcionrepositorio"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +else + $arbolXML=CreaArbol($cmd,$idrepositorio); // Crea el arbol XML + +// Creación del árbol +$baseurlimg="../images/tsignos"; +$clasedefault="tabla_listados_sin"; +$titulotabla=$TbMsg[3]; +$arbol=new ArbolVistaXml($arbolXML,0,$baseurlimg,$clasedefault,1,20,130,1,$titulotabla); +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../clases/jscripts/ArbolVistaXML.js"></SCRIPT> +</HEAD> +<BODY> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/repositorios.gif"><BR><BR> + <IMG src="../images/iconos/repositorio.gif"><SPAN class=presentaciones> + <U><?echo $TbMsg[2]?></U>:<? echo $descripcionrepositorio?></SPAN></P> + <?echo $arbol->CreaArbolVistaXml(); // Crea arbol de configuraciones?> +</BODY> +</HTML> +<? +/************************************************************************************************************************************************** + Devuelve una cadena con formato XML de toda la información de los repositorios + Parametros: + - cmd:Una comando ya operativo ( con conexión abierta) + - idrepositorio: El identificador del perfil repositorios +________________________________________________________________________________________________________*/ +function CreaArbol($cmd,$idrepositorio){ + $cadenaXML=SubarbolXML_Repositorios($cmd,$idrepositorio); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_Repositorios($cmd,$idrepositorio){ + global $TbMsg; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto="SELECT idrepositorio,nombrerepositorio,comentarios + FROM repositorios + WHERE idrepositorio=".$idrepositorio ; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='<REPOSITORIO'; + // Atributos + $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_Repositorio'" .')"'; + $cadenaXML.=' imagenodo="../images/iconos/repositorio.gif" '; + $cadenaXML.=' infonodo="'.$rs->campos["nombrerepositorio"].'"'; + $cadenaXML.='>'; + if($rs->campos["comentarios"]>" "){ + $cadenaXML.='<PROPIEDAD'; + $cadenaXML.=' imagenodo="../images/iconos/propiedad.gif"'; + $cadenaXML.=' infonodo="[b]'.$TbMsg[4].' :[/b] '.$rs->campos["comentarios"].'"'; + $cadenaXML.='>'; + $cadenaXML.='</PROPIEDAD>'; + } + $cadenaXML.=SubarbolXML_grupos_repositorios_ordenadores($cmd,$rs->campos["idrepositorio"]); + $cadenaXML.=SubarbolXML_ImagenesDisponibles($cmd,$idrepositorio); + $cadenaXML.='</REPOSITORIO>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//------------------------------------------------------------------------------------------------------------------------------------------- +function SubarbolXML_grupos_repositorios_ordenadores($cmd,$idrepositorio) +{ + global $TbMsg; + + $cadenaXML=""; + $gidaula=""; + $rs=new Recordset; + $cmd->texto="SELECT aulas.idaula,aulas.nombreaula,ordenadores. idordenador,ordenadores.nombreordenador + FROM ordenadores + INNER JOIN aulas ON ordenadores.idaula=aulas.idaula + WHERE ordenadores.idrepositorio=".$idrepositorio." + ORDER BY aulas.idaula,ordenadores.nombreordenador"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + if ($rs->numeroderegistros>0) { + $cadenaXML.='<AULASORDENADORES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[6].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidaula!=$rs->campos["idaula"]){ + if ($gidaula!="") + $cadenaXML.='</AULA>'; + $cadenaXML.='<AULA '; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/aula.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreaula"].'"'; + $cadenaXML.='>'; + $gidaula=$rs->campos["idaula"]; + } + // Visualiza los ordenadores de cada aula ( temporalmente desabilitado por rendimiento ) + $cadenaXML.='<ORDENADOR'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/ordenador.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["nombreordenador"].'"'; + $cadenaXML.='></ORDENADOR>'; + $rs->Siguiente(); + } + if ($gidaula!=""){ + $cadenaXML.='</AULA>'; + $cadenaXML.='</AULASORDENADORES>'; + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ +function SubarbolXML_ImagenesDisponibles($cmd,$idrepositorio) +{ + global $TbMsg; + + $cadenaXML=""; + $gidimagen=0; + + $cmd->texto="SELECT DISTINCT imagenes.* FROM imagenes + WHERE imagenes.idrepositorio=".$idrepositorio." + AND imagenes.codpar>0 + ORDER by imagenes.descripcion"; + $rs=new Recordset; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + if ($rs->numeroderegistros>0) { + $cadenaXML.='<DISPONIBLESIMAGENES'; + $cadenaXML.=' imagenodo="../images/iconos/carpeta.gif"'; + $cadenaXML.=' infonodo="'.$TbMsg[5].'"'; + $cadenaXML.='>'; + } + while (!$rs->EOF){ + if ($gidimagen!=$rs->campos["idperfilsoft"]){ + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + } + $gidimagen=$rs->campos["idperfilsoft"]; + $cadenaXML.='<IMAGENES'; + // Atributos + $cadenaXML.=' imagenodo="../images/iconos/imagenes.gif"'; + $cadenaXML.=' infonodo="'.$rs->campos["descripcion"].'"'; + $cadenaXML.='>'; + } + $rs->Siguiente(); + } + if ($gidimagen){ + $cadenaXML.='</IMAGENES>'; + $cadenaXML.='</DISPONIBLESIMAGENES>'; + } + $rs->Cerrar(); + return($cadenaXML); +} +?> diff --git a/admin/WebConsole/varios/informacion_tareas.php b/admin/WebConsole/varios/informacion_tareas.php new file mode 100644 index 00000000..19b88572 --- /dev/null +++ b/admin/WebConsole/varios/informacion_tareas.php @@ -0,0 +1,176 @@ +<? +// ************************************************************************************************************************************************* +// 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: informacion_tareas.php +// Descripción : +// Muestra los comandos que forman parte de una tarea y sus valores +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../idiomas/php/".$idioma."/informacion_tareas_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idtarea=""; +$descripcioncomando=""; + +if (isset($_GET["idtarea"])) $idtarea=$_GET["idtarea"]; +if (isset($_GET["descripciontarea"])) $descripciontarea=$_GET["descripciontarea"]; +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> +</HEAD> +<BODY> + <? + $cmd=CreaComando($cadenaconexion); + if ($cmd){ + $rs=new Recordset; + $cmd->texto="SELECT idtareacomando FROM tareas_comandos WHERE idtarea=".$idtarea. " ORDER BY orden"; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + echo '<br><p align=center><IMG src="../images/iconos/tareas.gif"> <U><span class=cabeceras>'.$TbMsg[0].'</span></U><br><span class=subcabeceras>'.$descripciontarea.'</span></p>'; + $tabla_parametros=""; // Tabla para localizar parametros + $cont_parametros=0; // Contador de la tabla + CreaTablaParametros($cmd); // Crea tabla especificaciones de parametros + while (!$rs->EOF){ + pintacomandos($cmd,$rs->campos["idtareacomando"]); + $rs->Siguiente(); + } + } + } + ?> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function pintacomandos($cmd,$idtareacomando){ + global $TbMsg; + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + global $tabla_parametros; + global $cont_parametros; + + $rs=new Recordset; + $cmd->texto="SELECT tareas_comandos.*, comandos.visuparametros FROM tareas_comandos "; + $cmd->texto.=" INNER JOIN comandos ON comandos.idcomando=tareas_comandos.idcomando"; + $cmd->texto.=" WHERE tareas_comandos.idtareacomando=".$idtareacomando; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + if ($rs->EOF) return(""); + + $HTMLparametros='<TABLE class="tabla_parametros" align=center border=0 cellspacing=1 cellpadding=0 width="90%">'.chr(13); + $HTMLparametros.='<TR>'.chr(13); + $HTMLparametros.= '<TH> '.$TbMsg[1].' </TH>'.chr(13); + $HTMLparametros.= '<TH> '.$TbMsg[2].'</TH> '.chr(13); + $HTMLparametros.= '</TR>'.chr(13); + + $textambito=""; + $urlimg=""; + + switch($rs->campos["ambito"]){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito="Center"; + $nombre=TomaDato($cmd,0,'centros',$rs->campos["idambito"],'idcentro','nombrecentro'); + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito="Group of labs"; + $nombre=TomaDato($cmd,0,'grupos',$rs->campos["idambito"],'idgrupo','nombregrupo'); + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito="Labs"; + $nombre=TomaDato($cmd,0,'aulas',$rs->campos["idambito"],'idaula','nombreaula'); + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito="Group of computers"; + $nombre=TomaDato($cmd,0,'gruposordenadores',$rs->campos["idambito"],'idgrupo','nombregrupoordenador'); + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito="Computers"; + $nombre=TomaDato($cmd,0,'ordenadores',$rs->campos["idambito"],'idordenador','nombreordenador'); + break; + } + $HTMLparametros.= '<TD> '.$TbMsg[3].' </TD>'.chr(13); + $HTMLparametros.= '<TD> '.$textambito.' '; + $HTMLparametros.= '<IMG src="'.$urlimg.'"> </TD>'.chr(13); + $HTMLparametros.= '</TR><TR>'; + $HTMLparametros.= '<TD> '.$TbMsg[4].' </TD>'.chr(13); + $HTMLparametros.= '<TD> '.$nombre.' </TD>'.chr(13); + $HTMLparametros.= '</TR>'; + + $auxVP=split(";",$rs->campos["visuparametros"]); // Parametros visualizables + $auxP=split(chr(13),$rs->campos["parametros"]); // Recorre parametros para visualizar los que así sean + for ($i=0;$i<sizeof($auxP);$i++){ + $dualparam=split("=",$auxP[$i]); + for ($k=0;$k<sizeof($auxVP);$k++){ + if($auxVP[$k]==$dualparam[0]){ + $posp=busca_indicebinariodual($dualparam[0],$tabla_parametros,$cont_parametros); // Busca datos del parámetro en la tabla cargada previamentre con todos los parámetros + if ($posp>=0){ + $auxtabla_parametros=$tabla_parametros[$posp][1]; + $HTMLparametros.='<TR>'.chr(13); + $HTMLparametros.= '<TD> '.$auxtabla_parametros["descripcion"].' </TD>'.chr(13); + if($auxtabla_parametros["tipopa"]==1){ + $valor=TomaDato($cmd,0,$auxtabla_parametros["nomtabla"],$dualparam[1],$auxtabla_parametros["nomidentificador"],$auxtabla_parametros["nomliteral"]); + }else + $valor=$dualparam[1]; + if($dualparam[0]!="iph") + $HTMLparametros.= '<TD> '.Urldecode($valor).' </TD>'.chr(13); + else{ + $tablaipes=PintaOrdenadores($cmd,$valor); + $HTMLparametros.= '<TD> '.$tablaipes.' </TD>'.chr(13); + } + $HTMLparametros.= '</TR>'.chr(13); + } + } + } + } + $HTMLparametros.= '</TABLE>'.chr(13); + $descripcioncomando=TomaDato($cmd,0,"comandos",$rs->campos["idcomando"],"idcomando","descripcion"); + echo '<br><p align=center><IMG src="../images/iconos/comandos.gif"> <span class=presentaciones>'.$descripcioncomando.'</span>'; + echo $HTMLparametros; + echo '</p>'; +} +//________________________________________________________________________________________________________ +function PintaOrdenadores($cmd,$cadenaip){ + $auxP=split(";",$cadenaip); + if(sizeof($auxP)<1) return(""); + $clauslaIN="'".$auxP[0]."'"; + for ($i=1;$i<sizeof($auxP);$i++) + $clauslaIN.=",'".$auxP[$i]."'"; + $rs=new Recordset; + $contor=0; + $maxord=7; // Máximos ordenadores por linea + $cmd->texto=" SELECT nombreordenador,ip FROM ordenadores INNER JOIN aulas ON aulas.idaula=ordenadores.idaula WHERE ip IN(".$clauslaIN.") ORDER by nombreaula,nombreordenador"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + $tablaHtml='<TABLE align=left border=0><TR>'; + while (!$rs->EOF){ + $contor++; + $tablaHtml.= '<TD align=center style="BACKGROUND-COLOR: #b5daad;FONT-FAMILY: Arial, Helvetica, sans-serif; BORDER-BOTTOM:#000000 none;FONT-SIZE: 8px"><IMG src="../images/iconos/ordenador.gif"><br><span style="FONT-SIZE:9px" >'.$rs->campos["nombreordenador"].'</TD>'; + if($contor>$maxord){ + $contor=0; + $tablaHtml.='</TR><TR>'; + } + $rs->Siguiente(); + } + $tablaHtml.='</TR>'; + $tablaHtml.= '</TR></TABLE>'; + return($tablaHtml); +} +?>
\ No newline at end of file diff --git a/admin/WebConsole/varios/menubrowser.php b/admin/WebConsole/varios/menubrowser.php new file mode 100644 index 00000000..543b85df --- /dev/null +++ b/admin/WebConsole/varios/menubrowser.php @@ -0,0 +1,82 @@ +<? +// ************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2009-2010 +// Fecha útima modificación: Marzo-2006 +// Nombre del fichero: menubrowser.php +// Descripción : +// Este fichero implementa el menu del browser de los clientes +// **************************************************************************** +// Recupera la IP del ordenador que solicita la página +$iph=tomaIP(); +if(!empty($iph)){ + Header("Location:../controlpostacceso.php?iph=".$iph); // Accede a la p�ina de menus + exit; +} +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="estilos.css"> +</HEAD> +<SCRIPT LANGUAGE="JAVASCRIPT"> +//________________________________________________________________________________________________________ +function confirmar(){ + if (comprobar_datos()) + document.fdatos.submit(); +} +//________________________________________________________________________________________________________ +function comprobar_datos(){ + if (document.fdatos.usu.value==""){ + alert("Debe introducir un nombre de Usuario") + document.fdatos.usu.focus() + return(false) + } + if (document.fdatos.pss.value==""){ + alert("Debe introducir una contraseña") + document.fdatos.pss.focus() + return(false) + } + return(true) +} +//______________________________________________________________________________________________________ +function PulsaEnter(oEvento){ + var iAscii; + if (oEvento.keyCode) + iAscii = oEvento.keyCode; + else{ + if (oEvento.which) + iAscii = oEvento.which; + else + return false; + } + if (iAscii == 13) confirmar(); + return true; +} +//________________________________________________________________________________________________________ +</SCRIPT> +</HEAD> +<BODY> +<DIV style="POSITION:absolute;top:20;left:150"> + <FORM action="controlacceso.php" name="fdatos" method="post"></FORM> +</DIV> +</BODY> +</HTML> +<? +//___________________________________________________________________________________________________ +// +// Redupera la ip del cliente web +//___________________________________________________________________________________________________ +function tomaIP(){ + // Se asegura que la pagina se solicita desde la IP que viene + global $HTTP_SERVER_VARS; + if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "") + $ipcliente = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; + else + $ipcliente = $HTTP_SERVER_VARS["REMOTE_ADDR"]; + + return($ipcliente); +} +?> diff --git a/admin/WebConsole/varios/menucliente.php b/admin/WebConsole/varios/menucliente.php new file mode 100644 index 00000000..0780aa71 --- /dev/null +++ b/admin/WebConsole/varios/menucliente.php @@ -0,0 +1,225 @@ +<? +// ************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2009-2010 +// Fecha útima modificación: Marzo-2006 +// Nombre del fichero: menubrowser.php +// Descripción : +// Muestra menu en el browser del cliente +// **************************************************************************** +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/TomaDato.php"); +include_once("../includes/CreaComando.php"); +//________________________________________________________________________________________________________ +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión servidor B.D. +//________________________________________________________________________________________________________ +$ITEMS_PUBLICOS=1; +$ITEMS_PRIVADOS=2; + +$tip=$ITEMS_PUBLICOS; // Tipo de items 1=Públicos 2=privados +if (isset($_GET["tip"])) $tip=$_GET["tip"]; + +$iph=tomaIP(); +if(empty($iph)) + die("***ATENCION.- Usted no esta accediendo desde un ordenador permitido: Dirección IP=".$iph); + +$UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url página +$UrlPagina=dirname($UrlPagina); +$UrlPaginaIconos=dirname($UrlPagina)."/images/iconos"; +//________________________________________________________________________________________________________ +$rsmenu=RecuperaMenu($cmd,$iph); // Recupera un recordset con los datos del m en +if(!empty($rsmenu)){ + switch($tip){ + case $ITEMS_PUBLICOS: + if(!empty($rsmenu->campos["htmlmenupub"])){ + $urlHtml=$rsmenu->campos["htmlmenupub"]; + if(strtoupper(substr($urlHtml,0,7)!="HTTP://")) $urlHtml="http://".$urlHtml; + Header('Location: '.$urlHtml); // Url del menu personalizado + } + else{ + $_SESSION["widcentro"]=$rsmenu->campos["idcentro"]; + $codeHtml=GeneraMenu($rsmenu,$ITEMS_PUBLICOS,$iph); // Genera men pblico + } + break; + + case $ITEMS_PRIVADOS: + if(!empty($rsmenu->campos["htmlmenupri"])){ + $urlHtml=$rsmenu->campos["htmlmenupri"]; + + if(strtoupper(substr($urlHtml,0,7)!="HTTP://")) $urlHtml="http://".$urlHtml; + Header('Location: '.$urlHtml); // Url del menu personalizado + } + else{ + $_SESSION["widcentro"]=$rsmenu->campos["idcentro"]; + $codeHtml=GeneraMenu($rsmenu,$ITEMS_PRIVADOS,$iph); // Genera men pblico + } + break; + } +} +else{ + $codeHtml='<P align=center>'; + $codeHtml.='<BR><BR><SPAN style="COLOR:#999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 16px;"> + NO SE HA DETECTADO NINGÚN MENÚ PARA ESTE CLIENTE</SPAN>'; + $codeHtml.='</P>'; +} +?> + <HTML> + <HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + </HEAD> + <? + + if(!empty($rsmenu->campos["idurlimg"])){ // Imagen de fondo + $urlimg=TomaDato($cmd,0,'iconos',$rsmenu->campos["idurlimg"],'idicono','urlicono'); + $urlimgfondo="../images/iconos/".$urlimg; + echo '<BODY bgcolor=white background="'.$urlimgfondo.'">'; + } + else{ + echo'<BODY bgcolor=white background="../images/iconos/fondo800x600.png">'; + echo '<P align=left><IMG border=0 src="../images/iconos/logoopengnsys.png"><P>'; + } + echo $codeHtml; + ?> + </BODY> + </HTML> +<? +//___________________________________________________________________________________________________ +// +// Recupera Men +//___________________________________________________________________________________________________ +function RecuperaMenu($cmd,$iph){ + $rs=new Recordset; + $cmd->texto="SELECT menus.idcentro,menus.resolucion,menus.titulo,menus.idurlimg,menus.coorx,menus.coory, + menus.modalidad,menus.scoorx,menus.scoory,menus.smodalidad,menus.htmlmenupub,menus.htmlmenupri, + acciones_menus.tipoaccion,acciones_menus.idaccionmenu,acciones_menus.idtipoaccion, + acciones_menus.tipoitem,acciones_menus.descripitem,iconos.urlicono + FROM ordenadores + INNER JOIN menus ON menus.idmenu = ordenadores.idmenu + LEFT OUTER JOIN acciones_menus ON acciones_menus.idmenu = menus.idmenu + LEFT OUTER JOIN iconos ON iconos.idicono=acciones_menus.idurlimg + WHERE ordenadores.ip='".$iph."' ORDER by acciones_menus.orden"; + + $rs->Comando=&$cmd; + $resul=$rs->Abrir(); + if (!$rs->Abrir()) return(false); + if ($rs->EOF) return(false); + return($rs); +} +//___________________________________________________________________________________________________ +// +// Muestra el menu pblico +//___________________________________________________________________________________________________ +function GeneraMenu($rs,$tipo,$iph){ + global $ITEMS_PUBLICOS; + global $ITEMS_PRIVADOS; + global $UrlPaginaIconos; + + $titulo=$rs->campos["titulo"]; + $coorx=$rs->campos["coorx"]; + $coory=$rs->campos["coory"]; + $modalidad=$rs->campos["modalidad"]; + $scoorx=$rs->campos["scoorx"]; + $scoory=$rs->campos["scoory"]; + $smodalidad=$rs->campos["smodalidad"]; + $scoory=$rs->campos["scoory"]; + $resolucion=$rs->campos["resolucion"]; + $htmlmenupub=$rs->campos["htmlmenupub"]; + $htmlmenupri=$rs->campos["htmlmenupri"]; + + if($tipo==$ITEMS_PRIVADOS) + $mod=$smodalidad; + else + $mod=$modalidad; + $codeHTML=""; + + // Genera HTML de la p�ina en funci� de las propiedades del Men del clioente + //$codeHTML.='<DIV style="POSITION:absolute;TOP:'.$coory."px;LEFT:".$coorx.'px">'; + $codeHTML.='<P align=center>'; + $codeHTML.='<SPAN style="COLOR: #999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE: 20px;"><U>'.$titulo.'</U></SPAN>'; + $codeHTML.='</BR>'; + + $codeHTML.='<TABLE cellspacing=4 cellpadding=0 align="center" border=0 >'; + $codeHTML.='<TR>'; + $codeHTML.='<TD colspan="'.(($mod*2)+1).'" > </TD>'; + $codeHTML.='</TR>'; + $codeHTML.='<TR>'; + + $c=0; // Contador de columnas + + while (!$rs->EOF){ // Recorre acciones del menu + $tipoitem=$rs->campos["tipoitem"]; + if($tipoitem==$tipo){ + $tipoaccion=$rs->campos["tipoaccion"]; + $idtipoaccion=$rs->campos["idtipoaccion"]; + $idaccionmenu=$rs->campos["idaccionmenu"]; + $descripitem=$rs->campos["descripitem"]; + $urlicono=$rs->campos["urlicono"]; + if(empty($urlicono)) + $urlicono="defaultitem.gif"; + + $codeHTML.='<TD align=center> + <A href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'"> + <IMG border=0 src="http://'.$UrlPaginaIconos.'/'.$urlicono.'" width=64></A></TD>'; + $codeHTML.='<TD style="font-family:Arial;color: #a71026;FONT-SIZE:14"> + <A style="text-decoration:none" href="ejecutaritem.php?iph='.$iph.'&idt='.$idaccionmenu.'"> + <span style="FONT-FAMILY: Verdana,Arial, Helvetica, sans-serif;FONT-SIZE: 12px;COLOR:#999999">'.$descripitem.'</span></A></TD>'; + if($mod>1){ + //separación de columnas + $codeHTML.='<TD width=10> </TD>'; + } + $c++; + if($c%$mod==0){ + $codeHTML.='</TR>'; + $codeHTML.='<TR>'; + } + } + $rs->Siguiente(); + } + $codeHTML.='</TR>'; + $rs->Cerrar(); + $codeHTML.='</TABLE>'; + $codeHTML.='</P>'; + $codeHTML.='<BR><BR>'; + $codeHTML.='<P align=center>'; + + switch($tipo){ + case $ITEMS_PUBLICOS: + $url.='acceso_operador.php'; + $lit="Administrar"; + break; + case $ITEMS_PRIVADOS: + $url.='menucliente.php'; + $lit="Volver"; + break; + } + $codeHTML.='<A style="text-decoration:none" href="'.$url.'?iph='.$iph.'">'; + $codeHTML.='<SPAN style=" + BORDER-BOTTOM: #999999 1px solid; + BORDER-LEFT: #999999 1px solid; + BORDER-RIGHT: #999999 1px solid; + BORDER-TOP: #999999 1px solid; + COLOR:#999999;FONT-FAMILY: Arial, Helvetica, sans-serif;FONT-SIZE:9px;"> '.$lit.' </SPAN></A>'; + + $codeHTML.='</P>'; + //$codeHTML.='</DIV>'; + return($codeHTML); +} +//___________________________________________________________________________________________________ +// +// Redupera la ip del cliente web +//___________________________________________________________________________________________________ +function tomaIP(){ + // Se asegura que la pagina se solicita desde la IP que viene + global $HTTP_SERVER_VARS; + if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "") + $ipcliente = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; + else + $ipcliente = $HTTP_SERVER_VARS["REMOTE_ADDR"]; + + return($ipcliente); +} +?> diff --git a/admin/WebConsole/varios/msgbrowser.php b/admin/WebConsole/varios/msgbrowser.php new file mode 100644 index 00000000..e2a28a90 --- /dev/null +++ b/admin/WebConsole/varios/msgbrowser.php @@ -0,0 +1,86 @@ +<? +// ************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla +// Fecha Creación: Año 2009-2010 +// Fecha útima modificación: Marzo-2006 +// Nombre del fichero: menubrowser.php +// Descripción : +// Muestra menu en el browser del cliente +// **************************************************************************** +$idioma="esp"; // Por defecto idoma español +include_once("../idiomas/php/".$idioma."/msgbrowser_".$idioma.".php"); + +$idx=""; +$msg=""; + +if (isset($_GET["msg"])) $msg=$_GET["msg"]; // Recoge indice del mensaje +if (isset($_GET["idx"])) $idx=$_GET["idx"]; // Recoge indice del mensaje + +if(!empty($msg)) + $mensaje=UrlDecode($msg); +else + $mensaje=$TbMsg[$idx]; +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript"> + + </SCRIPT> + <STYLE TYPE="text/css"> + + .deepsea, .deepsea TD, .deepsea TH + { + background-color:#026afe; + color:#FFFFFF; + font-family: sans-serif; + font-weight:600; + } + + .tdbarra{ + background: url('../images/iconos/barraven.png'); + color:#FFFFFF; + font-family: sans-serif; + font-size: 12px; + font-weight:300; + BORDER-BOTTOM: #000000 1px solid;
+ BORDER-LEFT: #FFFFFF 1px solid;
+ BORDER-RIGHT: #000000 1px solid;
+ BORDER-TOP: #FFFFFF 1px solid; + } + .tdclien{ + background: url('../images/iconos/clienven.png'); + color:#000000; + font-family: sans-serif; + font-size: 14px; + font-weight:300; + BORDER-BOTTOM: #999999 1px solid;
+ BORDER-LEFT: #FFFFFF 1px solid;
+ BORDER-RIGHT: #999999 1px solid;
+ BORDER-TOP: #FFFFFF 1px solid; + } + </STYLE> +</HEAD> +<BODY> +<? +if(empty($idx) && empty($msg)) { + echo '<BR><BR><BR><BR><BR>'; + echo '<TABLE cellspacing=0 cellpadding=2 align=center border=0>'; + echo '<TR><TD align=center><IMG border=0 src="../images/iconos/logoopengnsys.png"></TD></TR>'; + echo '<TR><TD align=center><SPAN style="COLOR: #999999;FONT-FAMILY: Arial;FONT-SIZE: 12px;">Iniciando...</TD></TR>'; + echo '</TR>'; + echo '</TABLE>'; +} +else{ + echo '<BR><BR><BR>'; + echo '<TABLE cellspacing=0 cellpadding=2 align=center border=0>'; + echo '<TR><TD align=center class="tdbarra">Opengnsys Browser Message</TD><TR>'; + echo '<TR><TD class="tdclien" valign=center > '.$mensaje.' </TD></TR>'; + echo '</TABLE>'; +} +?> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/perfilcomponente_hard.php b/admin/WebConsole/varios/perfilcomponente_hard.php new file mode 100644 index 00000000..97b05368 --- /dev/null +++ b/admin/WebConsole/varios/perfilcomponente_hard.php @@ -0,0 +1,95 @@ +<? +// ************************************************************************************************************************************************* +// 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: perfilcomponente_hard.php +// Descripción : +// Administra los componentes hardware incluidos en un perfil harware +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/perfilcomponente_hard_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idperfilhard=0; +$descripcionperfil=""; +if (isset($_GET["idperfilhard"])) $idperfilhard=$_GET["idperfilhard"]; // Recoge parametros +if (isset($_GET["descripcionperfil"])) $descripcionperfil=$_GET["descripcionperfil"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexióncon servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="../jscripts/perfilcomponente_hard.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/perfilcomponente_hard_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <INPUT type=hidden value="<? echo $idcentro?>" id=idcentro> + <INPUT type=hidden value="<? echo $idperfilhard?>" id=idperfilhard> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confihard.gif"></P> + <BR> + <DIV align=center id="Layer_componentes"> + <SPAN align=center class=presentaciones><B><U><?echo $TbMsg[2]?></U>: <? echo $descripcionperfil?></B></SPAN></P> + <TABLE width="100%" class="tabla_listados" cellspacing=1 cellpadding=0 > + <TR> + <TH> </TH> + <TH>T</TH> + <TH><?echo $TbMsg[3]?></TH> + </TR> + <? + $rs=new Recordset; + $cmd->texto='SELECT hardwares.idhardware,hardwares.descripcion,tipohardwares.descripcion as hdescripcion,tipohardwares.urlimg,tipohardwares.pci FROM hardwares INNER JOIN perfileshard_hardwares ON hardwares.idhardware=perfileshard_hardwares.idhardware INNER JOIN tipohardwares ON hardwares.idtipohardware=tipohardwares.idtipohardware WHERE perfileshard_hardwares.idperfilhard='.$idperfilhard.' ORDER BY tipohardwares.idtipohardware,hardwares.descripcion'; + $rs->Comando=&$cmd; + + if ($rs->Abrir()){ + $rs->Primero(); + $A_W=" WHERE "; + $strex=""; + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%" ><INPUT type=checkbox onclick="gestion_componente('.$rs->campos["idhardware"].',this)" checked ></INPUT></TD>'; + echo '<TD align=center width="10%" ><IMG alt="'. $rs->campos["hdescripcion"].'"src="'.$rs->campos["urlimg"].'"></TD>'; + echo '<TD width="80%" > '.$rs->campos["descripcion"].'</TD>'; + echo '</TR>'; + $strex.= $A_W."hardwares.idhardware<>".$rs->campos["idhardware"]; + $A_W=" AND "; + $rs->Siguiente(); + } + } + $rs->Cerrar(); + $cmd->texto='SELECT hardwares.idhardware,hardwares.descripcion,tipohardwares.descripcion as hdescripcion,tipohardwares.urlimg,tipohardwares.pci FROM hardwares INNER JOIN tipohardwares ON hardwares.idtipohardware=tipohardwares.idtipohardware '.$strex.' AND hardwares.idcentro='.$idcentro.' ORDER BY tipohardwares.idtipohardware,hardwares.descripcion'; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%" ><INPUT type=checkbox onclick="gestion_componente('.$rs->campos["idhardware"].',this)" ></INPUT></TD>'; + echo '<TD align=center width="10%" ><IMG alt="'. $rs->campos["hdescripcion"].'"src="'.$rs->campos["urlimg"].'"></TD>'; + + echo '<TD width="80%" > '.$rs->campos["descripcion"].'</TD>'; + echo '</TR>'; + $rs->Siguiente(); + } + } + $rs->Cerrar(); + ?> + </TABLE> + </DIV> + <DIV id="Layer_nota" align=center > + <BR> + <SPAN align=center class=notas><I><?echo $TbMsg[4]?></I></SPAN> + </DIV> +</FORM> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/perfilcomponente_soft.php b/admin/WebConsole/varios/perfilcomponente_soft.php new file mode 100644 index 00000000..9aa381b7 --- /dev/null +++ b/admin/WebConsole/varios/perfilcomponente_soft.php @@ -0,0 +1,93 @@ +<? +// ************************************************************************************************************************************************* +// 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: perfilcomponente_soft.php +// Descripción : +// Administra los componentes software incluidos en un perfil software +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/perfilcomponente_soft_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idperfilsoft=0; +$descripcionperfil=""; +if (isset($_GET["idperfilsoft"])) $idperfilsoft=$_GET["idperfilsoft"]; // Recoge parametros +if (isset($_GET["descripcionperfil"])) $descripcionperfil=$_GET["descripcionperfil"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="../jscripts/perfilcomponente_soft.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/perfilcomponente_soft_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <INPUT type=hidden value="<? echo $idcentro?>" id=idcentro> + <INPUT type=hidden value="<? echo $idperfilsoft?>" id=idperfilsoft> + <P align=center class=cabeceras><?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/confisoft.gif"></P> + <BR> + <DIV align=center id="Layer_componentes"> + <SPAN align=center class=presentaciones><B><U><?echo $TbMsg[2]?></U>: <? echo $descripcionperfil?></B></SPAN></P> + <TABLE width="100%" class="tabla_listados" cellspacing=1 cellpadding=0 > + <TR> + <TH> </TH> + <TH>T</TH> + <TH><?echo $TbMsg[3]?></TH> + </TR> + <? + $rs=new Recordset; + $cmd->texto='SELECT softwares.idsoftware,softwares.descripcion,tiposoftwares.descripcion as hdescripcion,tiposoftwares.urlimg FROM softwares INNER JOIN perfilessoft_softwares ON softwares.idsoftware=perfilessoft_softwares.idsoftware INNER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware WHERE perfilessoft_softwares.idperfilsoft='.$idperfilsoft.' ORDER BY tiposoftwares.idtiposoftware,softwares.descripcion'; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + $A_W=" WHERE "; + $strex=""; + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%" ><INPUT type=checkbox onclick="gestion_componente('.$rs->campos["idsoftware"].',this)" checked ></INPUT></TD>'; + echo '<TD align=center width="10%" ><img alt="'. $rs->campos["hdescripcion"].'"src="'.$rs->campos["urlimg"].'"></TD>'; + echo '<TD width="80%" > '.$rs->campos["descripcion"].'</TD>'; + echo '</TR>'; + $strex.= $A_W."softwares.idsoftware<>".$rs->campos["idsoftware"]; + $A_W=" AND "; + $rs->Siguiente(); + } + } + $rs->Cerrar(); + $cmd->texto='SELECT softwares.idsoftware,softwares.descripcion,tiposoftwares.descripcion as hdescripcion,tiposoftwares.urlimg FROM softwares INNER JOIN tiposoftwares ON softwares.idtiposoftware=tiposoftwares.idtiposoftware '.$strex.' AND softwares.idcentro='.$idcentro.' ORDER BY tiposoftwares.idtiposoftware,softwares.descripcion'; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + while (!$rs->EOF){ + echo '<TR>'; + echo '<TD align=center width="10%" ><INPUT type=checkbox onclick="gestion_componente('.$rs->campos["idsoftware"].',this)" ></INPUT></TD>'; + echo '<TD align=center width="10%" ><img alt="'. $rs->campos["hdescripcion"].'"src="'.$rs->campos["urlimg"].'"></TD>'; + echo '<TD width="80%" > '.$rs->campos["descripcion"].'</TD>'; + echo '</TR>'; + $rs->Siguiente(); + } + } + $rs->Cerrar(); + ?> + </TABLE> + </DIV> + <DIV id="Layer_nota" align=center > + <BR> + <SPAN align=center class=notas><I><?echo $TbMsg[4]?></I></SPAN> + </DIV> +</FORM> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/procedimientoscomandos.php b/admin/WebConsole/varios/procedimientoscomandos.php new file mode 100644 index 00000000..89ab0ea6 --- /dev/null +++ b/admin/WebConsole/varios/procedimientoscomandos.php @@ -0,0 +1,169 @@ +<? +// ************************************************************************************************************************************************* +// 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: procedimientoscomandos.php +// Descripción : +// Administra los comandos que forman parte de un procedimiento +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../idiomas/php/".$idioma."/procedimientoscomandos_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idprocedimiento=0; +$descripcionprocedimiento=""; +if (isset($_GET["idprocedimiento"])) $idprocedimiento=$_GET["idprocedimiento"]; // Recoge parametros +if (isset($_GET["descripcionprocedimiento"])) $descripcionprocedimiento=$_GET["descripcionprocedimiento"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="../jscripts/procedimientoscomandos.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/procedimientoscomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <INPUT type=hidden value="<? echo $idcentro?>" id=idcentro> + <P align=center class=cabeceras><IMG src="../images/iconos/procedimiento.gif"> <?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></span> <img src="../images/iconos/comandos.gif"><BR><BR> + <SPAN align=center class=presentaciones><B><?echo $TbMsg[2]?>: </B><? echo $descripcionprocedimiento?></SPAN></P> + <TABLE align=center class="tabla_listados" cellspacing=1 cellpadding=0 id="TABLACOMANDOS"> + <TR height=20> + <TH ><IMG src="../images/iconos/eliminar.gif"></TH> + <TH colspan=2 align=left> <?echo $TbMsg[3]?></TH> + <TH ><?echo $TbMsg[4]?></TH> + <TH >A</TH> + </TR> + <? + $rs=new Recordset; + $cmd->texto='SELECT procedimientos_acciones.*, comandos.descripcion,comandos.visuparametros + FROM procedimientos_acciones + INNER JOIN comandos ON procedimientos_acciones.idcomando = comandos.idcomando + WHERE procedimientos_acciones.idprocedimiento='.$idprocedimiento.' + ORDER BY procedimientos_acciones.orden'; + + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + $tabla_parametros=""; // Tabla para localizar parametros + $cont_parametros=0; // Contador de la tabla + CreaTablaParametros($cmd); // Crea tabla especificaciones de parametros + while (!$rs->EOF){ + echo '<TR height=20 id=TR-'.$rs->campos["idprocedimientocomando"].'>'; + echo '<TD align=center ><INPUT id=checkbox-'.$rs->campos["idprocedimientocomando"].' type=checkbox + onclick="gestion_comandos('.$rs->campos["idprocedimientocomando"].',this)" checked ></INPUT></TD>'; + // Descripcion de la comando + echo '<TD colspan=2> '.$rs->campos["descripcion"].'</TD>'; + // Orden del item del item + echo '<TD valign="meddle" align=center > <INPUT class="formulariodatos" id=orden-'.$rs->campos["idprocedimientocomando"].' + style="WIDTH:20px" type=text value="'.$rs->campos["orden"].'"></INPUT></TD>'; + echo '<TD align=center id="imgact-'.$rs->campos["idprocedimientocomando"].'"> + <IMG src="../images/iconos/actualizar.gif" onclick="ActualizarAccion('.$rs->campos["idprocedimientocomando"].')"></TD>'; + echo '</TR>'; + pintacomandos($cmd,$rs); + echo '<TR height=3><TD style="BACKGROUND-COLOR: #999999;" colspan=5></TD></TR>'.chr(13); + $rs->Siguiente(); + } + } + $rs->Cerrar(); + ?> + </TABLE> + <br> + <P align=center><span align=center class=notas><I><?echo $TbMsg[7]?>.</I></P> +</FORM> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function pintacomandos($cmd,$rs){ + global $TbMsg; + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + global $tabla_parametros; + global $cont_parametros; + + $HTMLparametros='<TR id="PAR-'.$rs->campos["idprocedimientocomando"].'" >'.chr(13); + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4; " >'.$TbMsg[5].'</TH>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;" >'.$TbMsg[6].'</TH>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;" > </TH>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;" > </TH>'.chr(13); + $HTMLparametros.= '</TR>'.chr(13); + + $urlimg=""; + $auxVP=split(";",$rs->campos["visuparametros"]); // Parametros visualizables + $auxP=split(chr(13),$rs->campos["parametros"]); // Recorre parametros para visualizar los que así sean + + for ($i=0;$i<sizeof($auxP);$i++){ // Por cada parametros del comando... + $dualparam=split("=",$auxP[$i]); + for ($k=0;$k<sizeof($auxVP);$k++){ + if($auxVP[$k]==$dualparam[0]){ + $posp=busca_indicebinariodual($dualparam[0],$tabla_parametros,$cont_parametros); // Busca datos del parámetro en la tabla cargada previamentre con todos los parámetros + if ($posp>=0){ + $auxtabla_parametros=$tabla_parametros[$posp][1]; + $HTMLparametros.='<TR id="PAR-'.$rs->campos["idprocedimientocomando"].'" >'.chr(13); + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$auxtabla_parametros["descripcion"].' </TD>'.chr(13); + if($auxtabla_parametros["tipopa"]==1){ + $valor=TomaDato($cmd,0,$auxtabla_parametros["nomtabla"],$dualparam[1],$auxtabla_parametros["nomidentificador"],$auxtabla_parametros["nomliteral"]); + }else + $valor=$dualparam[1]; + if($dualparam[0]!="iph") + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$valor.' </TD>'.chr(13); + else{ + $tablaipes=PintaOrdenadores($cmd,$valor); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$tablaipes.' </TD>'.chr(13); + } + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '</TR>'.chr(13); + } + } + } + } + echo $HTMLparametros; +} +//________________________________________________________________________________________________________ +function PintaOrdenadores($cmd,$cadenaip){ + $auxP=split(";",$cadenaip); + if(sizeof($auxP)<1) return(""); + $clauslaIN="'".$auxP[0]."'"; + for ($i=1;$i<sizeof($auxP);$i++) + $clauslaIN.=",'".$auxP[$i]."'"; + $rs=new Recordset; + $contor=0; + $maxord=7; // Máximos ordenadores por linea + $cmd->texto=" SELECT nombreordenador,ip FROM ordenadores INNER JOIN aulas ON aulas.idaula=ordenadores.idaula WHERE ip IN(".$clauslaIN.") ORDER by nombreaula,nombreordenador"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + $tablaHtml='<TABLE align=left border=0><TR>'; + while (!$rs->EOF){ + $contor++; + $tablaHtml.= '<TD align=center style="BACKGROUND-COLOR: #b5daad;FONT-FAMILY: Arial, Helvetica, sans-serif; BORDER-BOTTOM:#000000 none;FONT-SIZE: 8px"><IMG src="../images/iconos/ordenador.gif"><br><span style="FONT-SIZE:9px" >'.$rs->campos["nombreordenador"].'</TD>'; + if($contor>$maxord){ + $contor=0; + $tablaHtml.='</TR><TR>'; + } + $rs->Siguiente(); + } + $tablaHtml.='</TR>'; + $tablaHtml.= '</TR></TABLE>'; + return($tablaHtml); +} diff --git a/admin/WebConsole/varios/programaciones.php b/admin/WebConsole/varios/programaciones.php new file mode 100644 index 00000000..665ee222 --- /dev/null +++ b/admin/WebConsole/varios/programaciones.php @@ -0,0 +1,283 @@ +<? +// ************************************************************************************************************************************************* +// Aplicación WEB: ogAdmWebCon +// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla + +// Fecha Creación: Año 2003-2004 +// Fecha Última modificación: Noviembre-2005 +// Nombre del fichero: programaciones.php +// Descripción : +// Gestiona la programación de tareas , trabajos y reservas +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../idiomas/php/".$idioma."/clases/Almanaque_".$idioma.".php"); +include_once("../idiomas/php/".$idioma."/programaciones_".$idioma.".php"); +//________________________________________________________________________________________________________ +$idtarea=0; +$idcomando=0; +$sesion=0; +$idreserva=0; +$descripciontarea=""; +$descripcioncomando=""; +$descripcionreserva=""; +$tipoaccion=""; +$identificador=0; + +if (isset($_GET["idtarea"])) $idtarea=$_GET["idtarea"]; // Recoge parametros +if (isset($_GET["idcomando"])) $idcomando=$_GET["idcomando"]; // Recoge parametros +if (isset($_GET["sesion"])) $sesion=$_GET["sesion"]; // Recoge parametros +if (isset($_GET["idreserva"])) $idreserva=$_GET["idreserva"]; // Recoge parametros +if (isset($_GET["descripcioncomando"])) $descripcioncomando=$_GET["descripcioncomando"]; // Recoge parametros +if (isset($_GET["descripciontarea"])) $descripciontarea=$_GET["descripciontarea"]; // Recoge parametros +if (isset($_GET["descripcionreserva"])) $descripcionreserva=$_GET["descripcionreserva"]; // Recoge parametros +if (isset($_GET["tipoaccion"])) $tipoaccion=$_GET["tipoaccion"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +$rs=new Recordset; // Recupero acciones anidadas +$rs->Comando=&$cmd; +switch($tipoaccion){ + case $EJECUCION_TAREA : + $textoaccion=$LITEJECUCION_TAREA; + $urlimg='../images/iconos/tareas.gif'; + $identificador=$idtarea; + $descripcion=$descripciontarea; + $cmd->texto="SELECT * FROM programaciones WHERE identificador=".$identificador." AND tipoaccion=".$EJECUCION_TAREA; + break; +case $EJECUCION_COMANDO : + $textoaccion=$LITEJECUCION_COMANDO; + $urlimg='../images/iconos/comandos.gif'; + $identificador=$idcomando; + $descripcion=$descripcioncomando; + $cmd->texto="SELECT * FROM programaciones + WHERE identificador=".$identificador." AND sesion=".$sesion." AND tipoaccion=".$EJECUCION_COMANDO; + break; +case $EJECUCION_RESERVA : + $textoaccion=$LITEJECUCION_RESERVA; + $urlimg='../images/iconos/reservas.gif'; + $identificador=$idreserva; + $descripcion=$descripcionreserva; + $cmd->texto="SELECT * FROM programaciones WHERE identificador=".$identificador." AND tipoaccion=".$EJECUCION_RESERVA; + break; +} +$numreg=0; +if (!$rs->Abrir()){ + $numreg=0; + $wsw_sus=""; +} +else{ + $numreg=$rs->numeroderegistros; + if($rs->campos["suspendida"]==1) + $wsw_sus="checked"; + else + $wsw_sus=""; +} +$mialmanaque= new Almanaque("tabla_meses"); +//________________________________________________________________________________________________________ +?> +<HTML> +<TITLE>Administración web de aulas</TITLE> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> + <LINK rel="stylesheet" type="text/css" href="../estilos.css"> + <SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT> + <SCRIPT language="javascript" src="../jscripts/programaciones.js"></SCRIPT> + <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> + <? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/programaciones_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<P align=center class=cabeceras><?echo $TbMsg[0]?> <?=$textoaccion?> <img src="../images/iconos/reloj.gif"><br> +<IMG src=<?=$urlimg?>> <SPAN align=center class=subcabeceras><?=$descripcion?></SPAN> </p> +<FORM name="fprogramaciones" method="post"> +<INPUT type=hidden name=tipoaccion value="<? echo $tipoaccion?>"> +<CENTER> +<!-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> +<!-- Tabla Tabla con los tiempos y los bloques de programación --> +<TABLE align=center border=0 cellPadding=0 cellSpacing=0> + <TR> + <TD> + <!-- Tabla con los años dias y semanas --> + <TABLE border=0 cellPadding=0 cellSpacing=0 style="height: 27px"> + <TR> + <TD valign=top> + <!-- Tabla con la suspension y los años dias y semanas --> + <TABLE border=0 cellPadding=0 cellSpacing=0> + <TR class=opciones_ejecucion> + <TD colspan=6><INPUT id=sw_sus type="checkbox" <? echo $wsw_sus?> + onclick="suspender_programacion(<?=$identificador?>,<?=$tipoaccion?>,<?=$sesion?>))"> + <SPAN style="COLOR:#999999"><?echo $TbMsg[1]?></SPAN></TD> + </TR> + <TR> + <TD colspan=6> </TD> + </TR> + <TR> + <TD valign=top> + <? $annodesde=date("Y"); + echo $mialmanaque->Annos(($annodesde-4),($annodesde+4)); // Años?> + </TD> + <TD width=10> </TD> + <TD valign=top> + <? echo $mialmanaque->Meses(); // Meses del año?> + </TD> + <TD width=10> </TD> + <TD valign=top width="155"> + <TABLE id="fechassimples" style="visibility:visible" border=0 cellPadding=0 cellSpacing=0> + <TR> + <TD id=tbmesanno> + <? $tmarray=getdate(); + $anoactual=$tmarray["year"]; + $mesacutal=$tmarray["mon"]; + echo $mialmanaque->MesAnno($mesacutal,$anoactual); // Calendario del mes?> + </TD> + </TR> + </TABLE> + </TD> + <TD width=10> </TD> + </TR> + </TABLE> + </TD> + <TD> + <!-- Tabla Dias semenas y dias del mes --> + <TABLE id="fechasmultiples" style="visibility:hidden" border=0 cellPadding=0 cellSpacing=0 > + <TR> + <TD> + <? echo $mialmanaque->Dias(); // Dias de la semana?> + </TD> + </TR> + <TR> + <TD> + <? echo $mialmanaque->Semanas(); // Orden de la semanas?> + </TD> + </TR> + <TR> + <TD> + <? echo $mialmanaque->DiasMes(); // Días del mes?> + </TD> + </TR> + </TABLE> + </TD> + </TR> + </TABLE> + </TD> + </TR> + <TR> + <TD> + <!-- Tabla Horas--> + <TABLE border=0 cellPadding=0 cellSpacing=0 style="HEIGHT: 24px; WIDTH: 279px"> + <TR> + <TD> + <? echo "<BR>".$mialmanaque->Horas(); // Horas?> + <? if ($tipoaccion==$EJECUCION_RESERVA){ + echo $mialmanaque->HorasReserva("1","tabla_horasini","ampmini","minutosini"); // Horas desde; + echo $mialmanaque->HorasReserva("2","tabla_horasfin","ampmfin","minutosfin"); // Horas hasta; + } + ?> + <br> + </TD> + </TR> + </TABLE> + </TD> + </TR> + <TR> + <TD> + <!-- Tabla Bloques--> + <TABLE border=0 cellPadding=0 cellSpacing=0 > + <TR> + <TD valign=top > + <TABLE border=0 cellPadding=0 cellSpacing=0 > + <TR> + <TD > + <TABLE align=center class="tabla_meses" border=0 cellPadding=0 cellSpacing=2> + <TR> + <TH align=center> <?echo $TbMsg[2]?></TH> + </TR> + <TR> + <TD><input type=text class="cajatexto" id="nombrebloque" + style="width: 350; height: 20" size="20" ></TD> + </TR> + </TABLE> + </TD> + </TR> + <TR> + <TD> + <? + $HTMLSELECT=""; + $HTMLSELECT.='<SELECT onclick=consulta_programacion(); + class=estilodesple id="lista_programaciones" size=2 style="height:100; width: 350">' ; + if ($numreg>0){ + while (!$rs->EOF){ + $HTMLSELECT.='<OPTION value="'.$rs->campos["idprogramacion"].'"'; + $HTMLSELECT.= '>'.$rs->campos["nombrebloque"].'</OPTION>'; + $rs->Siguiente(); + } + } + $HTMLSELECT.= '</SELECT>'; + $rs->Cerrar(); + echo $HTMLSELECT; + ?> + </TD> + </TR> + </TABLE> + </TD> + <TD valign=top width=6> </TD> + <TD valign=top> + <TABLE border=0 class=tablaprogramacion border=0 cellPadding=1 cellSpacing=6 width="103"> + <TR> + <TD align=center class=botonprogramacion> + <SPAN id=bt_insertar style="cursor:pointer;visibility:visible;color:#bbbcb9" + onmouseover="sobreboton(this)" onmouseout="fueraboton(this)" + onclick="alta_programacion(<?=$identificador?>,<?=$tipoaccion?>,<?=$sesion?>)" + align=center height="17" width="83">Añadir</SPAN></TD> + </TR> + <TR> + <TD align=center class=botonprogramacion > + <SPAN id=bt_modificar style="cursor:pointer;visibility:visible;color:#bbbcb9" + onmouseover="sobreboton(this)" onmouseout="fueraboton(this)" + onclick="modifica_programacion(<?=$identificador?>,<?=$tipoaccion?>,<?=$sesion?>)" align=center height="17" width="83">Modificar</SPAN></TD> + </TR> + + <TD align=center class=botonprogramacion > + <SPAN id=bt_duplicar style="cursor:pointer;visibility:visible;color:#bbbcb9" + onmouseover="sobreboton(this)" onmouseout="fueraboton(this)" + onclick="duplicar_programacion()" align=center height="17" width="83">Duplicar</SPAN></TD> + </TR> + + <TR> + <TD align=center class=botonprogramacion > + <SPAN id=bt_eliminar style="cursor:pointer;color:#bbbcb9;visibility:visible" + onmouseover="sobreboton(this)" onmouseout="fueraboton(this)" + onclick="elimina_programacion()"align=center height="17" width="83">Eliminar</SPAN></TD> + </TR> + <TR> + <TD align=center class=botonprogramacion > + <SPAN id=bt_cancelar style="cursor:pointer;visibility:visible;color:#bbbcb9" + onmouseover="sobreboton(this)" onmouseout="fueraboton(this)" + onclick="cancela_programacion()" align=center height="17" width="83">Cancelar</SPAN></TD> + </TR> + </TABLE> + </TD> + </TR> + </TABLE> + </TD> + </TR> +</TABLE> +</FORM> +<SCRIPT language="javascript"> + var lista=document.getElementById("lista_programaciones"); + var numblo=lista.options.length + if(numblo>0){ + lista.selectedIndex=0; + consulta_programacion() + } + else{ + nuevo_bloque(); + } +</SCRIPT> +</BODY> +</HTML> diff --git a/admin/WebConsole/varios/tareascomandos.php b/admin/WebConsole/varios/tareascomandos.php new file mode 100644 index 00000000..878e7cbe --- /dev/null +++ b/admin/WebConsole/varios/tareascomandos.php @@ -0,0 +1,216 @@ +<? +// ************************************************************************************************************************************************* +// 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: tareascomandos.php +// Descripción : +// Administra los comandos que forman parte de una tarea +// ************************************************************************************************************************************************* +include_once("../includes/ctrlacc.php"); +include_once("../clases/AdoPhp.php"); +include_once("../includes/constantes.php"); +include_once("../includes/comunes.php"); +include_once("../includes/CreaComando.php"); +include_once("../includes/TomaDato.php"); +include_once("../idiomas/php/".$idioma."/tareascomandos_".$idioma.".php"); +//________________________________________________________________________________________________________ + +$idtarea=0; +$descripciontarea=""; +if (isset($_GET["idtarea"])) $idtarea=$_GET["idtarea"]; // Recoge parametros +if (isset($_GET["descripciontarea"])) $descripciontarea=$_GET["descripciontarea"]; // Recoge parametros + +$cmd=CreaComando($cadenaconexion); // Crea objeto comando +if (!$cmd) + Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D. +//________________________________________________________________________________________________________ +?> +<HTML> +<HEAD> + <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> +<LINK rel="stylesheet" type="text/css" href="../estilos.css"> +<SCRIPT language="javascript" src="../jscripts/tareascomandos.js"></SCRIPT> +<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT> +<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> +<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/tareascomandos_'.$idioma.'.js"></SCRIPT>'?> +</HEAD> +<BODY> +<FORM name="fdatos"> + <INPUT type=hidden value="<? echo $idcentro?>" id=idcentro> + <P align=center class=cabeceras><IMG src="../images/iconos/tareas.gif"> <?echo $TbMsg[0]?><BR> + <SPAN align=center class=subcabeceras><?echo $TbMsg[1]?></SPAN> <IMG src="../images/iconos/comandos.gif"><BR><BR> + <SPAN align=center class=presentaciones><B><?echo $TbMsg[2]?>: </B><? echo $descripciontarea?></SPAN></P> + <DIV align=center id="Layer_componentes"> + <TABLE class="tabla_listados" cellspacing=1 cellpadding=0 id="TABLACOMANDOS"> + <TR height=20> + <TH><IMG src="../images/iconos/eliminar.gif"></TH> + <TH align=left> <?echo $TbMsg[3]?></TH> + <TH><?echo $TbMsg[4]?></TH> + <TH>A</TH> + </TR> + <? + $rs=new Recordset; + $cmd->texto='SELECT tareas_acciones.*, comandos.descripcion,comandos.visuparametros + FROM tareas_acciones + INNER JOIN procedimientos ON tareas_acciones.idprocedimiento = procedimientos.idprocedimiento + INNER JOIN procedimientos_acciones ON procedimientos.idprocedimiento = procedimientos_acciones.idprocedimiento + INNER JOIN comandos ON procedimientos_acciones.idcomando = comandos.idcomando + WHERE tareas_acciones.idtarea='.$idtarea.' ORDER BY tareas_acciones.orden'; + $rs->Comando=&$cmd; + if ($rs->Abrir()){ + $rs->Primero(); + $tabla_parametros=""; // Tabla para localizar parametros + $cont_parametros=0; // Contador de la tabla + CreaTablaParametros($cmd); // Crea tabla especificaciones de parametros + while (!$rs->EOF){ + echo '<TR id=TR-'.$rs->campos["idtareacomando"].'>'; + echo '<TD align=center ><INPUT id=checkbox-'.$rs->campos["idtareacomando"].' type=checkbox + onclick="gestion_comandos('.$rs->campos["idtareacomando"].',this)" checked ></INPUT></TD>'; + // Descripcion de la comando + echo '<TD> '.$rs->campos["descripcion"].'</TD>'; + // Orden del item del item + echo '<TD align=center > <INPUT class="formulariodatos" id=orden-'.$rs->campos["idtareacomando"].' + style="WIDTH:20px" type=text value="'.$rs->campos["orden"].'"></INPUT></TD>'; + echo '<TD width="10%" align=center id="imgact-'.$rs->campos["idtareacomando"].'"> + <IMG src="../images/iconos/actualizar.gif" style="cursor:hand" onclick="ActualizarAccion('.$rs->campos["idtareacomando"].')"></TD>'; + echo '</TR>'; + pintacomandos($cmd,$rs); + echo '<TR height=3><TD style="BACKGROUND-COLOR: #999999;" colspan=5></TD></TR>'.chr(13); + $rs->Siguiente(); + } + } + $rs->Cerrar(); + ?> + </TABLE> + </DIV> + <DIV id="Layer_nota" align=center> + <br> + <span align=left class=notas><I><?echo $TbMsg[7]?>.</I></span> + </DIV> +</FORM> +</BODY> +</HTML> +<? +// ************************************************************************************************************************************************* +function pintacomandos($cmd,$rs){ + global $TbMsg; + global $AMBITO_CENTROS; + global $AMBITO_GRUPOSAULAS; + global $AMBITO_AULAS; + global $AMBITO_GRUPOSORDENADORES; + global $AMBITO_ORDENADORES; + global $tabla_parametros; + global $cont_parametros; + + $HTMLparametros='<TR id="PAR-'.$rs->campos["idtareacomando"].'">'.chr(13); + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4; " >'.$TbMsg[5].'</TH>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;" >'.$TbMsg[6].'</TH>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #D4D4D4;" > </TH>'.chr(13); + $HTMLparametros.= '</TR>'.chr(13); + + $textambito=""; + $urlimg=""; + $nombre=""; + switch($rs->campos["ambito"]){ + case $AMBITO_CENTROS : + $urlimg='../images/iconos/centros.gif'; + $textambito="Center"; + $nombre=TomaDato($cmd,0,'centros',$rs->campos["idambito"],'idcentro','nombrecentro'); + break; + case $AMBITO_GRUPOSAULAS : + $urlimg='../images/iconos/carpeta.gif'; + $textambito="Group of labs"; + $nombre=TomaDato($cmd,0,'grupos',$rs->campos["idambito"],'idgrupo','nombregrupo'); + break; + case $AMBITO_AULAS : + $urlimg='../images/iconos/aula.gif'; + $textambito="Labs"; + $nombre=TomaDato($cmd,0,'aulas',$rs->campos["idambito"],'idaula','nombreaula'); + break; + case $AMBITO_GRUPOSORDENADORES : + $urlimg='../images/iconos/carpeta.gif'; + $textambito="Group of computers"; + $nombre=TomaDato($cmd,0,'gruposordenadores',$rs->campos["idambito"],'idgrupo','nombregrupoordenador'); + break; + case $AMBITO_ORDENADORES : + $urlimg='../images/iconos/ordenador.gif'; + $textambito="Computers"; + $nombre=TomaDato($cmd,0,'ordenadores',$rs->campos["idambito"],'idordenador','nombreordenador'); + break; + } + $HTMLparametros.='<TR id="PAR-'.$rs->campos["idtareacomando"].'">'.chr(13); + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$TbMsg[8].' </TD>'.chr(13); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$textambito.' '; + $HTMLparametros.= '<IMG src="'.$urlimg.'"> </TD>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #b5daad;" > </TH>'.chr(13); + $HTMLparametros.= '</TR>'; + + $HTMLparametros.='<TR id="PAR-'.$rs->campos["idtareacomando"].'">'.chr(13); + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$TbMsg[9].' </TD>'.chr(13); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$nombre.' </TD>'.chr(13); + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #b5daad;" > </TH>'.chr(13); + $HTMLparametros.= '</TR>'; + + $auxVP=split(";",$rs->campos["visuparametros"]); // Parametros visualizables + $auxP=split(chr(13),$rs->campos["parametros"]); // Recorre parametros para visualizar los que así sean + for ($i=0;$i<sizeof($auxP);$i++){ + $dualparam=split("=",$auxP[$i]); + for ($k=0;$k<sizeof($auxVP);$k++){ + if($auxVP[$k]==$dualparam[0]){ + $posp=busca_indicebinariodual($dualparam[0],$tabla_parametros,$cont_parametros); // Busca datos del parámetro en la tabla cargada previamentre con todos los parámetros + if ($posp>=0){ + $auxtabla_parametros=$tabla_parametros[$posp][1]; + $HTMLparametros.='<TR id="PAR-'.$rs->campos["idtareacomando"].'">'.chr(13); + $HTMLparametros.= '<TD> </TD>'.chr(13); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$auxtabla_parametros["descripcion"].' </TD>'.chr(13); + if($auxtabla_parametros["tipopa"]==1){ + $valor=TomaDato($cmd,0,$auxtabla_parametros["nomtabla"],$dualparam[1],$auxtabla_parametros["nomidentificador"],$auxtabla_parametros["nomliteral"]); + }else + $valor=$dualparam[1]; + if($dualparam[0]!="iph") + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$valor.' </TD>'.chr(13); + else{ + $tablaipes=PintaOrdenadores($cmd,$valor); + $HTMLparametros.= '<TD style="BACKGROUND-COLOR: #b5daad;"> '.$tablaipes.' </TD>'.chr(13); + } + $HTMLparametros.= '<TH style="FONT-WEIGHT: 700;COLOR: #000000;BACKGROUND-COLOR: #b5daad;" > </TH>'.chr(13); + $HTMLparametros.= '</TR>'.chr(13); + } + } + } + } + echo $HTMLparametros; +} +//________________________________________________________________________________________________________ +function PintaOrdenadores($cmd,$cadenaip){ + $auxP=split(";",$cadenaip); + if(sizeof($auxP)<1) return(""); + $clauslaIN="'".$auxP[0]."'"; + for ($i=1;$i<sizeof($auxP);$i++) + $clauslaIN.=",'".$auxP[$i]."'"; + $rs=new Recordset; + $contor=0; + $maxord=7; // Máximos ordenadores por linea + $cmd->texto=" SELECT nombreordenador,ip FROM ordenadores INNER JOIN aulas ON aulas.idaula=ordenadores.idaula WHERE ip IN(".$clauslaIN.") ORDER by nombreaula,nombreordenador"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return(""); // Error al abrir recordset + $tablaHtml='<TABLE align=left border=0><TR>'; + while (!$rs->EOF){ + $contor++; + $tablaHtml.= '<TD align=center style="BACKGROUND-COLOR: #b5daad;FONT-FAMILY: Arial, Helvetica, sans-serif; BORDER-BOTTOM:#000000 none;FONT-SIZE: 8px"> + <IMG src="../images/iconos/ordenador.gif"><br><span style="FONT-SIZE:9px" >'.$rs->campos["nombreordenador"].'</TD>'; + if($contor>$maxord){ + $contor=0; + $tablaHtml.='</TR><TR>'; + } + $rs->Siguiente(); + } + $tablaHtml.='</TR>'; + $tablaHtml.= '</TR></TABLE>'; + return($tablaHtml); +} diff --git a/admin/WebConsole/varios/toma_mes.php b/admin/WebConsole/varios/toma_mes.php new file mode 100644 index 00000000..9ff73c64 --- /dev/null +++ b/admin/WebConsole/varios/toma_mes.php @@ -0,0 +1,26 @@ +<? +// ************************************************************************************************************************************************* +// 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: Noviembre-2005 +// Nombre del fichero: toma_mes.php +// Descripción : +// Crea la tabla del mes y el año elegidos +// ************************************************************************************************************************************************* + +include_once("../includes/ctrlacc.php"); +include_once("../idiomas/php/".$idioma."/clases/Almanaque_".$idioma.".php"); + +// Toma parametros +$pidmes=0; +$pidanno=0; +$pvitem=0; + +if (isset($_POST["idmes"])) $pidmes=$_POST["idmes"]; +if (isset($_POST["idanno"])) $pidanno=$_POST["idanno"]; + +$mialmanaque= new Almanaque("tabla_meses"); +$retorno=$mialmanaque->MesAnno($pidmes,$pidanno); +echo $retorno; +?>
\ No newline at end of file |