git-svn-id: https://opengnsys.es/svn/trunk@544 a21b9725-9963-47de-94b9-378ad31fedc9
parent
f258c77943
commit
ec016976c8
|
@ -505,7 +505,6 @@ CREATE TABLE IF NOT EXISTS `ordenadores` (
|
|||
`mac` varchar(12) default NULL,
|
||||
`idaula` int(11) default NULL,
|
||||
`idperfilhard` int(11) default NULL,
|
||||
`idperfilsoft` int(11) default NULL,
|
||||
`idservidordhcp` int(11) default NULL,
|
||||
`idservidorrembo` int(11) default NULL,
|
||||
`grupoid` int(11) default NULL,
|
||||
|
@ -538,6 +537,18 @@ CREATE TABLE IF NOT EXISTS `ordenador_imagen` (
|
|||
-- Volcar la base de datos para la tabla `ordenador_imagen`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Estructura de tabla para la tabla `ordenador_imagen`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `ordenador_perfilsoft`;
|
||||
REATE TABLE `ordenador_perfilsoft` (
|
||||
`idordenador` int(11) NOT NULL default '0',
|
||||
`particion` int(11) NOT NULL default '0',
|
||||
`idperfilsoft` int(11) NOT NULL default '0'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
//
|
||||
// Descripción:
|
||||
// Esta funcin registra los evento de errores en un fichero log
|
||||
// Parametros:
|
||||
// Parametros:
|
||||
// - msg : Mensage de error
|
||||
// - swerrno: Switch que indica que recupere literal de error del sistema
|
||||
// ________________________________________________________________________________________________________
|
||||
|
@ -339,6 +339,12 @@ void gestiona_comando(SOCKET s,TRAMA trama)
|
|||
RESPUESTA_TomaHardware(s,parametros);
|
||||
respuesta_cortesia(s);
|
||||
return;
|
||||
}
|
||||
resul=strcmp(nombrefuncion,"RESPUESTA_TomaSoftware");
|
||||
if(resul==0){
|
||||
RESPUESTA_TomaSoftware(s,parametros);
|
||||
respuesta_cortesia(s);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else{ // Debe ejecutar elcliente rembo
|
||||
|
@ -1351,7 +1357,7 @@ int actualiza_software(Database db, Table tbl,char* sft,char* par,char* ip,char*
|
|||
} // Fin for
|
||||
}
|
||||
// Comprueba existencia de perfil software y actualización de éste para el ordenador
|
||||
if(!CuestionPerfilSoftware(db, tbl,idcentro,ido,tbidsoftware,i,nombreordenador)){
|
||||
if(!CuestionPerfilSoftware(db, tbl,idcentro,ido,tbidsoftware,i,nombreordenador,par)){
|
||||
tbl.GetErrorErrStr(ErrStr); // error al acceder al registro
|
||||
pthread_mutex_unlock(&guardia);
|
||||
return(false);
|
||||
|
@ -1363,19 +1369,19 @@ int actualiza_software(Database db, Table tbl,char* sft,char* par,char* ip,char*
|
|||
// ________________________________________________________________________________________________________
|
||||
// Funcin: CuestionPerfilSoftware
|
||||
//________________________________________________________________________________________________________/
|
||||
int CuestionPerfilSoftware(Database db, Table tbl,int idcentro,char* ido,int *tbidsoftware,int i,char *nombreordenador){
|
||||
int CuestionPerfilSoftware(Database db, Table tbl,int idcentro,char* ido,int *tbidsoftware,int i,char *nombreordenador,char *particion){
|
||||
char sqlstr[1000],ErrStr[200];
|
||||
int tbidsoftwareperfil[MAXSOFTWARE];
|
||||
int j=0;
|
||||
int idperfilsoft;
|
||||
// Busca perfil soft del ordenador
|
||||
sprintf(sqlstr,"SELECT perfilessoft_softwares.idsoftware FROM ordenadores INNER JOIN perfilessoft ON ordenadores.idperfilsoft = perfilessoft.idperfilsoft INNER JOIN perfilessoft_softwares ON perfilessoft_softwares.idperfilsoft = perfilessoft.idperfilsoft WHERE ordenadores.idordenador =%s",ido);
|
||||
sprintf(sqlstr,"SELECT perfilessoft_softwares.idsoftware FROM ordenador_perfilsoft INNER JOIN perfilessoft ON ordenador_perfilsoft.idperfilsoft = perfilessoft.idperfilsoft INNER JOIN perfilessoft_softwares ON perfilessoft_softwares.idperfilsoft=perfilessoft.idperfilsoft WHERE ordenador_perfilsoft.idordenador =%s",ido);
|
||||
// EJecuta consulta
|
||||
if(!db.Execute(sqlstr,tbl)){ // Error al leer
|
||||
db.GetErrorErrStr(ErrStr);
|
||||
return(false);
|
||||
}
|
||||
while(!tbl.ISEOF()){ // Recorre acciones del menu
|
||||
while(!tbl.ISEOF()){ // Recorre software del perfils
|
||||
if(!tbl.Get("idsoftware",tbidsoftwareperfil[j++])){ // Toma dato
|
||||
tbl.GetErrorErrStr(ErrStr); // error al acceder al registro
|
||||
return(false);
|
||||
|
@ -1384,15 +1390,18 @@ int CuestionPerfilSoftware(Database db, Table tbl,int idcentro,char* ido,int *tb
|
|||
}
|
||||
// Comprueba si el perfil del ordenador contiene todo el software enviado
|
||||
int k,q,sw=false;
|
||||
for(k=0;k<i;k++){ // Elemento software
|
||||
for(q=0;q<j;q++){
|
||||
if(tbidsoftware[k]==tbidsoftwareperfil[q]){
|
||||
sw=true;
|
||||
break;
|
||||
if(i==j){ // Si son el mismo número de componenetes software ...
|
||||
for(k=0;k<i;k++){ // Elemento software
|
||||
for(q=0;q<j;q++){
|
||||
if(tbidsoftware[k]==tbidsoftwareperfil[q]){
|
||||
sw=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!sw) break;
|
||||
}
|
||||
if(!sw) break;
|
||||
}
|
||||
|
||||
// La variable sw contiene false si se ha encontrado algún software que no está en el perfil software del ordenador
|
||||
if(sw) return(true); // Todo el software está en el perfil actual
|
||||
|
||||
|
@ -1420,12 +1429,29 @@ int CuestionPerfilSoftware(Database db, Table tbl,int idcentro,char* ido,int *tb
|
|||
db.GetErrorErrStr(ErrStr);
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
sprintf(sqlstr,"UPDATE ordenadores SET idperfilsoft=%d WHERE idordenador=%s",idperfilsoft,ido);
|
||||
if(!db.Execute(sqlstr,tbl)){ // Error al insertar
|
||||
}
|
||||
// Busca si existe un perfil software para ese ordenador y esa partición
|
||||
sprintf(sqlstr,"SELECT idperfilsoft FROM ordenador_perfilsoft WHERE idordenador =%s AND particion=%s",ido,particion);
|
||||
// Ejecuta consulta
|
||||
if(!db.Execute(sqlstr,tbl)){ // Error al leer
|
||||
db.GetErrorErrStr(ErrStr);
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
if(!tbl.ISEOF()){ // existe un perfilsoft que se cambia al nuevo
|
||||
sprintf(sqlstr,"UPDATE ordenador_perfilsoft SET idperfilsoft=%d WHERE idordenador=%s AND particion=%s",idperfilsoft,ido,particion);
|
||||
if(!db.Execute(sqlstr,tbl)){ // Error al insertar
|
||||
db.GetErrorErrStr(ErrStr);
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
else{
|
||||
sprintf(sqlstr,"INSERT INTO ordenador_perfilsoft (idordenador,particion,idperfilsoft) VALUE (%s,%s,%d)",ido,particion,idperfilsoft);
|
||||
if(!db.Execute(sqlstr,tbl)){ // Error al insertar
|
||||
db.GetErrorErrStr(ErrStr);
|
||||
return(false);
|
||||
}
|
||||
|
||||
}
|
||||
return(true);
|
||||
}
|
||||
// ________________________________________________________________________________________________________
|
||||
|
|
|
@ -171,7 +171,7 @@ int actualiza_configuracion(Database , Table ,char* ,int,int ,char* );
|
|||
int actualiza_hardware(Database , Table ,char* ,char* ,char*);
|
||||
int actualiza_software(Database , Table ,char* ,char*,char* ,char*);
|
||||
int CuestionPerfilHardware(Database , Table ,int ,char* ,int *,int ,char*);
|
||||
int CuestionPerfilSoftware(Database, Table ,int ,char* ,int *,int,char *);
|
||||
int CuestionPerfilSoftware(Database, Table ,int ,char* ,int *,int,char *,char*);
|
||||
|
||||
void TomaParticiones(char*, char* ,int );
|
||||
int Toma_menu(Database,Table,char*,int,int);
|
||||
|
|
|
@ -75,7 +75,7 @@ switch($ambito){
|
|||
<TH align=center> </TH>
|
||||
<TH align=center> <? echo $TbMsg[8] ?> </TH>
|
||||
<TH align=center> <? echo $TbMsg[9] ?> </TH>
|
||||
<TH align=center> <? echo $TbMsg[10] ?> </TD></TR>
|
||||
</TR>
|
||||
<?
|
||||
echo tabla_configuraciones($cmd,$idambito);
|
||||
?>
|
||||
|
@ -121,7 +121,6 @@ function tabla_configuraciones($cmd,$idordenador){
|
|||
$tablaHtml.='<TD align=center> '.$particion.' </TD>'.chr(13);
|
||||
$tablaHtml.='<TD> '.$nombreso.' </TD>'.chr(13);
|
||||
$tiposo=$ValorParametros["tiposo"];
|
||||
$tablaHtml.='<TD></TD>';
|
||||
$tablaHtml.='</TR>'.chr(13);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,125 +1,125 @@
|
|||
<?
|
||||
// *************************************************************************************************************************************************
|
||||
// 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
|
||||
// *************************************************************************************************************************************************
|
||||
// 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
|
||||
// *************************************************************************************************************************************************
|
||||
if(isset($_SESSION)){ // Si existe algua sesión ...
|
||||
session_unset(); // Elimina variables
|
||||
session_destroy(); // Destruye sesión
|
||||
}
|
||||
session_start(); // Activa variables de sesión
|
||||
session_start(); // Activa variables de sesión
|
||||
|
||||
include_once("./clases/AdoPhp.php");
|
||||
|
||||
$usu="";
|
||||
$pss="";
|
||||
if (isset($_POST["usu"])) $usu=$_POST["usu"];
|
||||
if (isset($_POST["pss"])) $pss=$_POST["pss"];
|
||||
//========================================================================================================
|
||||
// Variables de sessión de configuración de servidor y base de datos( Modificar aquípara cambio global)
|
||||
$cnx="localhost;usuog;passusuog;ogBDAdmin;mysql"; // Cadena de conexión a la base de datos
|
||||
$ips="SERVERIP"; // IP del servidor de Administración
|
||||
|
||||
$usu="";
|
||||
$pss="";
|
||||
if (isset($_POST["usu"])) $usu=$_POST["usu"];
|
||||
if (isset($_POST["pss"])) $pss=$_POST["pss"];
|
||||
//========================================================================================================
|
||||
// Variables de sessión de configuración de servidor y base de datos( Modificar aquípara cambio global)
|
||||
$cnx="localhost;usuog;passusuog;ogBDAdmin;mysql"; // Cadena de conexión a la base de datos
|
||||
$ips="10.1.15.3"; // IP del servidor de Administración
|
||||
$prt="2008"; // Puerto de comunicación con el servidor
|
||||
$wer="OPENGNSYSURL/pagerror.php"; // Página de redireccionamiento de errores
|
||||
$wac="OPENGNSYSURL/acceso.php"; // Página de login de la aplicación
|
||||
//========================================================================================================
|
||||
$cmd=CreaComando($cnx); // Crea objeto comando
|
||||
$resul=false;
|
||||
$idc=0;
|
||||
$nmc="";
|
||||
$idi="";
|
||||
if ($cmd){
|
||||
$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.
|
||||
|
||||
$_SESSION["widcentro"]=$idc;
|
||||
$_SESSION["wnombrecentro"]=$nmc;
|
||||
$_SESSION["wusuario"]=$usu;
|
||||
$_SESSION["widtipousuario"]=$tsu;
|
||||
$_SESSION["widioma"]=$idi;
|
||||
$_SESSION["wcadenaconexion"]=$cnx;
|
||||
$_SESSION["wservidorhidra"]=$ips;
|
||||
$_SESSION["whidraport"]=$prt;
|
||||
$_SESSION["wpagerror"]=$wer;
|
||||
$_SESSION["wurlacceso"]=$wac;
|
||||
// *************************************************************************************************************************************************
|
||||
// Devuelve una objeto comando totalmente operativo (con la conexión abierta)
|
||||
// Parametros:
|
||||
// - cadenaconexion: Una cadena con los datos necesarios para la conexión: nombre del servidor
|
||||
// usuario,password,base de datos,etc separados por coma
|
||||
//________________________________________________________________________________________________________
|
||||
function CreaComando($cadenaconexion){
|
||||
$strcn=split(";",$cadenaconexion);
|
||||
$cn=new Conexion;
|
||||
$cmd=new Comando;
|
||||
$cn->CadenaConexion($strcn[0],$strcn[1],$strcn[2],$strcn[3],$strcn[4]);
|
||||
if (!$cn->Abrir()) return (false);
|
||||
$cmd->Conexion=&$cn;
|
||||
return($cmd);
|
||||
}
|
||||
//________________________________________________________________________________________________________
|
||||
// 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;
|
||||
|
||||
$cmd->texto="SELECT usuarios.idtipousuario,usuarios.idambito,centros.nombrecentro,idiomas.nemonico AS idioma FROM usuarios";
|
||||
$cmd->texto.=" LEFT OUTER JOIN centros ON usuarios.idambito=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."'";
|
||||
|
||||
$rs->Comando=&$cmd;
|
||||
$resul=false;
|
||||
if (!$rs->Abrir()) return($resul); // Error al abrir recordset
|
||||
$rs->Primero();
|
||||
if (!$rs->EOF){
|
||||
$idcentro=$rs->campos["idambito"];
|
||||
$nombrecentro=$rs->campos["nombrecentro"];
|
||||
$idtipousuario=$rs->campos["idtipousuario"];
|
||||
$idioma=$rs->campos["idioma"];
|
||||
return(true);
|
||||
}
|
||||
return($resul);
|
||||
}
|
||||
?>
|
||||
<HTML>
|
||||
<TITLE> Administración web de aulas</TITLE>
|
||||
$wer="http://localhost/WebConsole/pagerror.php"; // Página de redireccionamiento de errores
|
||||
$wac="http://localhost/WebConsole/acceso.php"; // Página de login de la aplicación
|
||||
//========================================================================================================
|
||||
$cmd=CreaComando($cnx); // Crea objeto comando
|
||||
$resul=false;
|
||||
$idc=0;
|
||||
$nmc="";
|
||||
$idi="";
|
||||
if ($cmd){
|
||||
$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.
|
||||
|
||||
$_SESSION["widcentro"]=$idc;
|
||||
$_SESSION["wnombrecentro"]=$nmc;
|
||||
$_SESSION["wusuario"]=$usu;
|
||||
$_SESSION["widtipousuario"]=$tsu;
|
||||
$_SESSION["widioma"]=$idi;
|
||||
$_SESSION["wcadenaconexion"]=$cnx;
|
||||
$_SESSION["wservidorhidra"]=$ips;
|
||||
$_SESSION["whidraport"]=$prt;
|
||||
$_SESSION["wpagerror"]=$wer;
|
||||
$_SESSION["wurlacceso"]=$wac;
|
||||
// *************************************************************************************************************************************************
|
||||
// Devuelve una objeto comando totalmente operativo (con la conexión abierta)
|
||||
// Parametros:
|
||||
// - cadenaconexion: Una cadena con los datos necesarios para la conexión: nombre del servidor
|
||||
// usuario,password,base de datos,etc separados por coma
|
||||
//________________________________________________________________________________________________________
|
||||
function CreaComando($cadenaconexion){
|
||||
$strcn=split(";",$cadenaconexion);
|
||||
$cn=new Conexion;
|
||||
$cmd=new Comando;
|
||||
$cn->CadenaConexion($strcn[0],$strcn[1],$strcn[2],$strcn[3],$strcn[4]);
|
||||
if (!$cn->Abrir()) return (false);
|
||||
$cmd->Conexion=&$cn;
|
||||
return($cmd);
|
||||
}
|
||||
//________________________________________________________________________________________________________
|
||||
// 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;
|
||||
|
||||
$cmd->texto="SELECT usuarios.idtipousuario,usuarios.idambito,centros.nombrecentro,idiomas.nemonico AS idioma FROM usuarios";
|
||||
$cmd->texto.=" LEFT OUTER JOIN centros ON usuarios.idambito=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."'";
|
||||
|
||||
$rs->Comando=&$cmd;
|
||||
$resul=false;
|
||||
if (!$rs->Abrir()) return($resul); // Error al abrir recordset
|
||||
$rs->Primero();
|
||||
if (!$rs->EOF){
|
||||
$idcentro=$rs->campos["idambito"];
|
||||
$nombrecentro=$rs->campos["nombrecentro"];
|
||||
$idtipousuario=$rs->campos["idtipousuario"];
|
||||
$idioma=$rs->campos["idioma"];
|
||||
return(true);
|
||||
}
|
||||
return($resul);
|
||||
}
|
||||
?>
|
||||
<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>
|
||||
<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>
|
||||
|
|
Loading…
Reference in New Issue