git-svn-id: https://opengnsys.es/svn/trunk@1314 a21b9725-9963-47de-94b9-378ad31fedc9
parent
550b680d17
commit
3ec149cb19
|
@ -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;
|
||||
|
|
@ -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);
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
poweroff
|
|
@ -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
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
chmod +x $1
|
||||
$1>$2 || exit $?
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
#_______________________________________________________________________________________________________________________________
|
||||
#
|
||||
# PARAMETROS RECIBIDOS DESDE EL CLIENTE:
|
||||
# $1 disco
|
||||
# $2 par=Número de particion
|
||||
# $3 Nombre canónico de la imagen
|
||||
# $4 Dirección del repositorio
|
||||
#_______________________________________________________________________________________________________________________________
|
||||
#createImage $1 $2 REPO $3
|
||||
exit 0
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
chmod +x $1
|
||||
$1 || exit $?
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
file=$(listHardwareInfo)
|
||||
cp $file $1
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
file=$(listSoftwareInfo $1 $2)
|
||||
cp $file $3
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
reboot
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
#_______________________________________________________________________________________________________________________________
|
||||
#
|
||||
# PARAMETROS RECIBIDOS DESDE EL CLIENTE:
|
||||
# $1 disco
|
||||
# $2 par=Número de particion
|
||||
# $3 Nombre canónico de la imagen
|
||||
# $4 Dirección del repositorio
|
||||
#_______________________________________________________________________________________________________________________________
|
||||
|
||||
#ogRestoreImage REPO $3 $1 $2 UNICAST
|
||||
exit 0
|
|
@ -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]);
|
||||
}
|
||||
|
||||
}'
|
||||
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
getIpAddress
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/bash
|
||||
initCache $1
|
|
@ -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"$@" "$<"
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
ServidorAdm=SERVERIP
|
||||
PUERTO=2008
|
||||
PATHINTERFACE=/opt/opengnsys/Interface
|
||||
UrlMenu=OPENGNSYSURL/varios/menubrowser.php
|
||||
UrlMsg=OPENGNSYSURL/varios/msgbrowser.php
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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);
|
||||
|
||||
|
||||
|
||||
|
|
@ -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<63>
|
||||
}
|
||||
|
||||
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<78>
|
||||
}
|
||||
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<78>
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
// ******************************************************************************************************
|
||||
// Aplicación HIDRA
|
||||
// Copyright 2004 Jos<6F>Manuel Alonso. Todos los derechos reservados.
|
||||
// Fichero: Database.h
|
||||
// Descripción:
|
||||
// Fichero de cabecera de la clase Database para implementar funciones de manipulaci<63>
|
||||
// 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
|
||||
};
|
File diff suppressed because it is too large
Load Diff
|
@ -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*);
|
||||
|
|
@ -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"$@" "$<"
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
ServidorAdm=SERVERIP
|
||||
PUERTO=2008
|
||||
USUARIO=usuog
|
||||
PASSWORD=passusuog
|
||||
datasource=localhost
|
||||
CATALOG=ogAdmBD
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
@ -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*);
|
||||
|
|
@ -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"$@" "$<"
|
||||
|
||||
|
|
@ -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
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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 );
|
|
@ -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"$@" "$<"
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
IPlocal=SERVERIP
|
||||
IPhidra=SERVERIP
|
||||
Puerto=2008
|
|
@ -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);
|
||||
}
|
|
@ -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*);
|
|
@ -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"$@" "$<"
|
||||
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
ServidorAdm=SERVERIP
|
||||
PUERTO=2008
|
||||
USUARIO=usuog
|
||||
PASSWORD=passusuog
|
||||
datasource=localhost
|
||||
CATALOG=ogAdmBD
|
File diff suppressed because it is too large
Load Diff
|
@ -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*);
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<?
|
||||
// ********************************************************************************************************
|
||||
// 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
|
||||
// ********************************************************************************************************
|
||||
if(isset($_SESSION)){ // Si existe algua sesión ...
|
||||
session_unset(); // Elimina variables
|
||||
session_destroy(); // Destruye sesión
|
||||
}
|
||||
|
||||
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 página de inicio en el idioma por defecto
|
||||
?>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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<EFBFBD>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<63> 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<63> la conexióncon el servidor pero la base de datos no responde",
|
||||
"003 : conexiónError - No se ha podido cerrar la actual conexi<78>",
|
||||
"004 : conexiónError - El objeto est<73>ocupado intentando establecer una conexiónanterior",
|
||||
"005 : conexiónError - La conexiónya est<73>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<EFBFBD>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<EFBFBD> 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<EFBFBD> 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<69>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<78>
|
||||
$this->error[$this->inderror++]=3;
|
||||
$this->ultimoerror=3;
|
||||
return(false);
|
||||
}
|
||||
break;
|
||||
case 2: // Actualmente est<73>objeto est<73>ocupado intentando establecer otra conexi<78>
|
||||
$this->error[$this->inderror++]=4;
|
||||
$this->ultimoerror=4;
|
||||
return(false);
|
||||
break;
|
||||
default : // No existe actualmente ninguna conexiónabierta, se abrir<69>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<EFBFBD> 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<73>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<78>
|
||||
$this->error[$this->inderror++]=3;
|
||||
$this->ultimoerror=3;
|
||||
return(false);
|
||||
}
|
||||
break;
|
||||
case 2: // Actualmente est<73>objeto est<73>ocupado intentando establecer otra conexi<78>
|
||||
$this->error[$this->inderror++]=4;
|
||||
$this->ultimoerror=4;
|
||||
return(false);
|
||||
break;
|
||||
|
||||
default : // Actualmente la conexiónest<73>ya cerrada
|
||||
$this->error[$this->inderror++]=5;
|
||||
$this->ultimoerror=5;
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------------------------------------------------------
|
||||
Establece una nueva conexi<EFBFBD>. Este m<EFBFBD>odo es privado y s<EFBFBD>o lo puede ejecutar la propia
|
||||
clase desde el m<EFBFBD>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<63>
|
||||
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<EFBFBD>odo es privado y s<EFBFBD>o lo ejecutan m<EFBFBD>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<EFBFBD>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<EFBFBD>etro
|
||||
tipo = tipo de parametro:
|
||||
0: El valor del par<EFBFBD>etro debe ir encerrado entre comillas simples
|
||||
1: El valor del par<EFBFBD>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<EFBFBD>etros que pueden ser sustituidos por el valor
|
||||
de los objetos par<EFBFBD>etro. Estos par<EFBFBD>etros tendr<EFBFBD> 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<78>",
|
||||
"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<EFBFBD>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<EFBFBD>de un par<EFBFBD>etro a la colecci<EFBFBD> de parametros. La matriz que implementa la colecci<EFBFBD>
|
||||
es una matriz asociativa cuyo indice asociativo es el nombre del par<EFBFBD>etro
|
||||
|
||||
Par<EFBFBD>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<EFBFBD>de un par<EFBFBD>etro a la colecci<EFBFBD> de parametros. La matriz que implementa la colecci<EFBFBD>
|
||||
es una matriz asociativa cuyo indice asociativo es el del par<EFBFBD>etro
|
||||
|
||||
Par<EFBFBD>etros de entrada:
|
||||
nombre: El nombre del par<EFBFBD>etro
|
||||
valor : El valor del par<EFBFBD>etro
|
||||
tipo = tipo de parametro:
|
||||
0: El valor del par<EFBFBD>etro debe ir encerrado entre comillas simples
|
||||
1: El valor del par<EFBFBD>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<EFBFBD>etro existente por otro
|
||||
Par<EFBFBD>etros de entrada:
|
||||
nombre: El nombre del par<EFBFBD>etro
|
||||
valor : El nuevo valor del par<EFBFBD>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<EFBFBD>para ejecutar las acciones pertinentes
|
||||
|
||||
Par<EFBFBD>etros de entrada:
|
||||
objconexion: Un objeto conexion
|
||||
---------------------------------------------------------------------------------------------*/
|
||||
function EstableceConexion($objconexion){
|
||||
$this->Conexion= $objconexion;
|
||||
}
|
||||
/* -------------------------------------------------------------------------------------------
|
||||
Establece la conexiónque se usar<EFBFBD>para ejecutar las acciones pertinentes
|
||||
|
||||
Par<EFBFBD>etros de entrada:
|
||||
textocomando: Un texto con la sentencia SQL (Puede contener par<EFBFBD>etros)
|
||||
---------------------------------------------------------------------------------------------*/
|
||||
function EstableceTexto($textocomando){
|
||||
$this->texto=$textocomando;
|
||||
}
|
||||
/* -------------------------------------------------------------------------------------------
|
||||
Sustituye el valor de los parametros en la expresi<EFBFBD> que forma el texto del Comando
|
||||
---------------------------------------------------------------------------------------------*/
|
||||
function Traduce(){
|
||||
$execomando=$this->texto;
|
||||
if (sizeof($this->parametros)>0){ // Hay par<61>etros que sustituir
|
||||
foreach($this->parametros as $parametro){
|
||||
if ($parametro["tipo"]==0) // Tipo alfanum<75>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<EFBFBD> recupera el ltimo nmero asignado a una clave autonum<EFBFBD>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<78>",
|
||||
"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<EFBFBD>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<EFBFBD>para ejecutar las consultas pertinentes
|
||||
|
||||
Par<EFBFBD>etros de entrada:
|
||||
objcomando: Un objeto comando con la sentencia SQL (Puede contener par<EFBFBD>etros)
|
||||
|
||||
Devuelve :
|
||||
true : Si el texto del comando contiene la clausula SELECT
|
||||
false: En caso contrario
|
||||
|
||||
En el caso de devolver false, la funci<EFBFBD> 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<EFBFBD> que forma el texto del Comando
|
||||
---------------------------------------------------------------------------------------------*/
|
||||
function Traduce(){
|
||||
$execomando=$this->Comando->texto;
|
||||
if (sizeof($this->Comando->parametros)>0){ // Hay par<61>etros que sustituir
|
||||
foreach($this->Comando->parametros as $parametro){
|
||||
if ($parametro["tipo"]==0) // Tipo alfanum<75>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 <20>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<63> 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<63> 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<EFBFBD>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<EFBFBD>n devuelve informaci<EFBFBD>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);
|
||||
}
|
||||
?>
|
|
@ -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
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
/*================================================================================
|
||||
Clase para encriptar y desencriptar cadenas
|
||||
================================================================================*/
|
||||
class EncripDescrip{
|
||||
var $cadena; // La cadena encriptada o desencriptada que ser<65>devuelta
|
||||
var $clave; // La clave de la cadena encriptada o desencriptada que ser<65>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);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -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<EFBFBD>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<61>
|
||||
var $timeout; // El tiempo de espera para la conexi<78>
|
||||
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<78>
|
||||
//________________________________________________________________________________________
|
||||
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<78>
|
||||
// - 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<78>
|
||||
// - 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);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -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 información 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 tamaño 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 información 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 información 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 información 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 número 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.
|
||||
Prámetros:
|
||||
Si se aporta el puntero del nodo se devolverán 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 información 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 través 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 información 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 información del nodo
|
||||
Parametros:
|
||||
- nombreatributo:El nombre del atributo
|
||||
- info: La información del Nodo
|
||||
------------------------------------------------------------------------------------------------*/
|
||||
function EliminaAtributo($nombreatributo,$info){
|
||||
$nada="";
|
||||
return($this->TomaAtributo($nombreatributo,&$nada,$info,true));
|
||||
}
|
||||
/*------------------------------------------------------------------------------------------------
|
||||
Recupera el valor del atributo y lo elimina de la información del nodo
|
||||
Parametros:
|
||||
- nombreatributo:El nombre del atributo
|
||||
- puntero: Referencia a la variable que contendrá el valor del atributo
|
||||
- info: La información 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 información del Nodo
|
||||
- sw: Si vale true el atributo se eliminará de la información 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 posición 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 información
|
||||
if ($doblescomillas==substr($valoratributo,0,1)) // Elimina las comillas
|
||||
$valoratributo=str_replace($doblescomillas,"",$valoratributo);
|
||||
$puntero=$valoratributo;
|
||||
return($info);
|
||||
}
|
||||
} // Fin de la clase
|
||||
?>
|
|
@ -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)
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
// ********************************************************************************
|
||||
// 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: consolaremota.php
|
||||
// Descripción : Clase para llamar páginas web usando metodología AJAX
|
||||
// ********************************************************************************
|
||||
var _url;
|
||||
var _fun;
|
||||
var oXMLHttpRequest;
|
||||
//____________________________________________________________________________
|
||||
//
|
||||
// LLama a la página
|
||||
//
|
||||
// Parámetros:
|
||||
//
|
||||
// url // Url de la página a la que se llama
|
||||
// fun // Función a la que se llama despues de descargarse la página
|
||||
//____________________________________________________________________________
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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"));
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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>
|
|
@ -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<C3B3> 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);
|
||||
}
|
||||
?>
|
|
@ -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>
|
||||
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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>
|
||||
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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>
|
|
@ -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"];
|
||||
?>
|
||||
|
|
@ -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?>">
|
||||
|
|
@ -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>
|
||||
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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())
|
||||
}
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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());
|
||||
}
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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())
|
||||
}
|
||||
|
|
@ -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]);
|
||||
}
|
|
@ -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
|
||||
//========================================================================================================
|
||||
?>
|
|
@ -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>
|
|
@ -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 línea la utilizaríamos si queremos listar todo lo que hay en el directorio
|
||||
//mostraría 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);
|
||||
}
|
||||
?>
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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>
|
|
@ -0,0 +1,145 @@
|
|||
<?
|
||||
// *************************************************************************************************************************************************
|
||||
// Aplicaci<63>n WEB: ogAdmWebCon
|
||||
// Autor: Jos<6F> 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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,175 @@
|
|||
<?
|
||||
// *********************************************************************************************************
|
||||
// Aplicaci<63>n WEB: ogAdmWebCon
|
||||
// Autor: Jos<6F> 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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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);
|
||||
}
|
||||
?>
|
|
@ -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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue