'?> '?> '.$TbMsg[22].'
'.$TbMsg[24].'
'.$nombreambito.'

'; $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; RecorreCentro($cmd); break; case $LITAMBITO_GRUPOSAULAS : echo '

'.$TbMsg[22].'
'.$TbMsg[25].'
'.$nombreambito.'

'; $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE tipo=".$AMBITO_GRUPOSAULAS." AND idgrupo=".$idambito; RecorreGruposAulas($cmd); break; case $LITAMBITO_AULAS : $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito; RecorreAulas($cmd); break; case $LITAMBITO_GRUPOSORDENADORES : echo '

'.$TbMsg[22].'
'.$TbMsg[26].'
'.$nombreambito.'

'; $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idgrupo=".$idambito; RecorreGruposOrdenadores($cmd); pintaordenadores(); break; } $flotante=new MenuContextual(); // Crea objeto MenuContextual $XMLcontextual=ContextualXMLAulas(); // Crea contextual de aulas echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLOrdenadores(); // Crea contextual de ordenadores echo $flotante->CreaMenuContextual($XMLcontextual); // Crea contextual de los comandos para los distintos �bitos $XMLcontextual=ContextualXMLComandos($LITAMBITO_AULAS,$AMBITO_AULAS); echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLComandos($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORES); echo $flotante->CreaMenuContextual($XMLcontextual); // Crea submenu contextual de clas de acciones $XMLcontextual=ContextualXMLColasAcciones(); // Crea submenu contextual de acciones echo $flotante->CreaMenuContextual($XMLcontextual); //________________________________________________________________________________________________________ include_once("../includes/iframecomun.php"); //________________________________________________________________________________________________________ ?> Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); if(!$rs->EOF){ $idcentro=$rs->campos["idcentro"]; $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo "; RecorreGruposAulas($cmd); $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0 ORDER BY nombreaula"; RecorreAulas($cmd); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreGruposAulas($cmd){ global $AMBITO_GRUPOSAULAS; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idgrupo=$rs->campos["idgrupo"]; $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo." AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo"; RecorreGruposAulas($cmd); $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE grupoid=".$idgrupo." ORDER BY nombreaula"; RecorreAulas($cmd); $rs->Siguiente(); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreAulas($cmd){ global $idaula; global $nombreaula; global $k; // Indice de la Matriz global $cadenaip; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idaula=$rs->campos["idaula"]; $nombreaula=$rs->campos["nombreaula"]; $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE idaula=".$idaula; $k=0; $cadenaip=""; RecorreOrdenadores($cmd); pintaordenadores(); $rs->Siguiente(); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreGruposOrdenadores($cmd){ $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idgrupo=$rs->campos["idgrupo"]; $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE grupoid=".$idgrupo." ORDER BY nombregrupoordenador"; RecorreGruposOrdenadores($cmd); $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE grupoid=".$idgrupo; RecorreOrdenadores($cmd); $rs->Siguiente(); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreOrdenadores($cmd){ global $Midordenador; global $Mnombreordenador; global $MimgOrdenador; global $Mip; global $Mmac; global $k; // Indice de la Matriz global $cadenaip; global $idsrvrembo; global $idsrvdhcp; if (!empty($idsrvrembo)) $cmd->texto.=" AND idservidorrembo=".$idsrvrembo ; if (!empty($idsrvdhcp)) $cmd->texto.=" AND idservidordhcp=".$idsrvdhcp ; $cmd->texto.= " ORDER BY nombreordenador"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idordenador=$rs->campos["idordenador"]; $Midordenador[$k]=$rs->campos["idordenador"]; $Mnombreordenador[$k]=$rs->campos["nombreordenador"]; $MimgOrdenador[$k]="ordenador_OFF.gif"; $Mip[$k]=$rs->campos["ip"]; $Mmac[$k]=$rs->campos["mac"]; $cadenaip.=$rs->campos["ip"].";"; $k++; $rs->Siguiente(); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function pintaordenadores(){ global $AMBITO_AULAS; global $AMBITO_ORDENADORES; global $LITAMBITO_AULAS; global $LITAMBITO_ORDENADORES; global $LONCABECERA; global $Midordenador; global $Mnombreordenador; global $MimgOrdenador; global $Mip; global $Mmac; global $k; // Indice de la Matriz global $cadenaip; global $idaula; global $nombreaula; global $servidorhidra,$hidraport; global $TbMsg; $shidra=new SockHidra($servidorhidra,$hidraport); $parametros="1"; // Ejecutor $parametros.="nfn=Sondeo".chr(13); $parametros.="iph=".$cadenaip.chr(13); $resul=$shidra->conectar(); // Se ha establecido la conexióncon el servidor hidra if($resul){ $resul=$shidra->envia_comando($parametros); $trama=$shidra->recibe_respuesta(); $parametros=substr($trama,$LONCABECERA,strlen($trama)-$LONCABECERA); $ValorParametros=extrae_parametros($parametros,chr(13),'='); $trama_notificacion=$ValorParametros["tso"]; $shidra->desconectar(); } for($i=0;$i<$k;$i++){ // Vuelve a recorrer los datos de ordenadores para crear HTML $patron=$Mip[$i].'/'; $pos=EnCadena($trama_notificacion,$patron); if($pos>-1){ $tiposo=substr($trama_notificacion,$pos+strlen($patron),3); switch($tiposo){ case 'INI': $MimgOrdenador[$i]="ordenador_INI.gif"; // Cliente ocupado break; case 'BSY': $MimgOrdenador[$i]="ordenador_BSY.gif"; // Cliente ocupado break; case 'RMB': $MimgOrdenador[$i]="ordenador_RMB.gif"; // Cliente Rembo break; case 'WS2': $MimgOrdenador[$i]="ordenador_WS2.gif"; // Windows Server 2003 break; case 'W2K': $MimgOrdenador[$i]="ordenador_W2K.gif"; // Windows 2000 break; case 'WXP': $MimgOrdenador[$i]="ordenador_WXP.gif"; // Windows XP break; case 'WNT': $MimgOrdenador[$i]="ordenador_WNT.gif"; // Windows NT break; case 'W95': $MimgOrdenador[$i]="ordenador_W95.gif"; // Windows 95 break; case 'W98': $MimgOrdenador[$i]="ordenador_W98.gif"; // Windows 98 break; case 'WML': $MimgOrdenador[$i]="ordenador_WML.gif"; // Windows Millenium break; case 'LNX': $MimgOrdenador[$i]="ordenador_LNX.gif"; // Linux break; } } } $ntr=0; // Numero de ordenadores por fila if ($nombreaula!=""){ echo '
'; echo '

  '.$TbMsg[23].'
'.$nombreaula.'

'; } echo ''; for($i=0;$i<$k;$i++){ // Vuelve a recorrer los datos de ordenadores para crear HTML $ntr++; echo ''; if ($ntr>4){ $ntr=0; echo ''; } } echo '
'; echo ''; echo ''; echo ' '; echo ''; echo ''; echo ''; echo ''; echo '
'; echo ' '; echo '
'; echo ' '.$Mnombreordenador[$i].''; echo '
'; echo ' '; echo ' '.$Mip[$i].''; echo '
'; echo ' '.$Mmac[$i].''; echo '
'; echo '
'; if ($nombreaula!="") echo '
'; } //________________________________________________________________________________________________________ function ContextualXMLAulas(){ global $TbMsg; global $AMBITO_AULAS; global $LITAMBITO_AULAS; global $RESERVA_CONFIRMADA; global $OPERADOR; $layerXML='texto="SELECT idcomando,descripcion,interactivo FROM comandos WHERE activo=1 AND aplicambito & ".$ambito.">0 ORDER BY descripcion"; $rs->Comando=&$cmd; if ($rs->Abrir()){ $layerXML=""; $rs->Primero(); while (!$rs->EOF){ $layerXML.='campos["idcomando"].','.$rs->campos["interactivo" ]. ')"'; $layerXML.=' textoitem="'.$rs->campos["descripcion"].'"'; $layerXML.='>'; if($maxlongdescricampos["descripcion"])) // Toma la Descripción de mayor longitud $maxlongdescri=strlen($rs->campos["descripcion"]); $rs->Siguiente(); } $layerXML.=''; $prelayerXML='