texto="SELECT * FROM ordenadores WHERE idordenador=".$idordenador; $rs->Comando=&$cmd; if (!$rs->Abrir()) return(false); // Error al abrir recordset $rs->Primero(); if (!$rs->EOF){ $arranque=$rs->campos["arranque"]; $rs->Cerrar(); } } ######## AGP $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 ''; echo '
'; echo ' '; echo ''; echo ''; echo ' '; echo ''; echo ' '; echo ''; } ?> 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 $fotoordenador; global $grupoid; global $idordenador; global $nombreordenador; global $numserie; global $ip; global $mac; global $idaula; global $idperfilhard; global $idrepositorio; global $oglive; global $idmenu; global $idprocedimiento; global $netiface; global $netdriver; ######################## UHU global $validacion; global $paginalogin; global $paginavalidacion; ######################## Ramón global $arranque; global $idioma; global $op_alta; global $op_modificacion; global $op_eliminacion; global $op_movida; global $tablanodo; ####################### Irina global $datosduplicados; $cmd->CreaParametro("@grupoid",$grupoid,1); $cmd->CreaParametro("@idaula",$idaula,1); $cmd->CreaParametro("@idordenador",$idordenador,1); $cmd->CreaParametro("@nombreordenador",$nombreordenador,0); $cmd->CreaParametro("@numserie",$numserie,0); $cmd->CreaParametro("@ip",$ip,0); $cmd->CreaParametro("@mac",$mac,0); $cmd->CreaParametro("@idperfilhard",$idperfilhard,1); $cmd->CreaParametro("@idrepositorio",$idrepositorio,1); $cmd->CreaParametro("@oglivedir",$oglive,0); $cmd->CreaParametro("@idmenu",$idmenu,1); $cmd->CreaParametro("@idprocedimiento",$idprocedimiento,1); $cmd->CreaParametro("@netiface",$netiface,0); $cmd->CreaParametro("@netdriver",$netdriver,0); $cmd->CreaParametro("@fotoordenador",$fotoordenador,0); ######################################################### UHU $cmd->CreaParametro("@validacion",$validacion,0); $cmd->CreaParametro("@paginalogin",$paginalogin,0); $cmd->CreaParametro("@paginavalidacion",$paginavalidacion,0); ######################################################### UHU switch($opcion){ case $op_alta : // Comprueba que no existan duplicados $ipduplicada='no'; $nombreduplicado='no'; $macduplicada='no'; $cmd->texto="SELECT nombreordenador,ip,mac FROM ordenadores WHERE nombreordenador=@nombreordenador OR ip=@ip OR mac=@mac"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return(0); // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ if ( $nombreordenador == $rs->campos["nombreordenador"]) $datosduplicados ="nombre: $nombreordenador,"; if ( $ip == $rs->campos["ip"]) $datosduplicados .=" ip: $ip,"; if ( $mac == $rs->campos["mac"]) $datosduplicados .=" mac: $mac,"; $rs->Siguiente(); } $rs->Cerrar(); // quitamos última coma $datosduplicados = trim($datosduplicados, ','); // Si no hay datos duplicados insertamos el ordenador; if ( $datosduplicados == "" ) { //Insertar fotoord con Values @fotoordenador $cmd->texto="INSERT INTO ordenadores(nombreordenador,numserie,ip,mac,idperfilhard,idrepositorio,oglivedir, idmenu,idproautoexec,idaula,grupoid,netiface,netdriver,fotoord,validacion,paginalogin,paginavalidacion) VALUES (@nombreordenador,@numserie,@ip,@mac,@idperfilhard,@idrepositorio,@oglivedir, @idmenu,@idprocedimiento,@idaula,@grupoid,@netiface,@netdriver,@fotoordenador,@validacion,@paginalogin,@paginavalidacion)"; } $resul=$cmd->Ejecutar(); if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta $idordenador=$cmd->Autonumerico(); // Crear fichero TFTP/PXE por defecto para el nuevo ordenador. createBootMode ($cmd, "", $idordenador, $idioma); // Insertar datos en el árbol de configuración. $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,numserie=@numserie,ip=@ip,mac=@mac,idperfilhard=@idperfilhard, idrepositorio=@idrepositorio,oglivedir=@oglivedir,idmenu=@idmenu,idproautoexec=@idprocedimiento,netiface=@netiface,netdriver=@netdriver,fotoord=@fotoordenador,validacion=@validacion,paginalogin=@paginalogin,paginavalidacion=@paginavalidacion WHERE idordenador=@idordenador"; $resul=$cmd->Ejecutar(); // Actualizar fichero TFTP/PXE a partir de la plantilla asociada. createBootMode ($cmd, $arranque, $idordenador, $idioma); break; case $op_eliminacion : $resul=EliminaOrdenadores($cmd,$idordenador,"idordenador");// Eliminación en cascada // Borrar fichero PXE. deleteBootFile ($mac); break; case $op_movida : $cmd->texto="UPDATE ordenadores SET idaula=@idaula, grupoid=@grupoid WHERE idordenador=@idordenador"; $resul=$cmd->Ejecutar(); // Actualizar fichero TFTP/PXE a partir de la plantilla asociada. createBootMode ($cmd, $arranque, $idordenador, $idioma); break; default: break; } return($resul); } /*________________________________________________________________________________________________________ Crea un arbol XML para el nuevo nodo insertado ________________________________________________________________________________________________________*/ function SubarbolXML_ordenadores($idordenador,$nombreordenador){ global $LITAMBITO_ORDENADORES; $cadenaXML='