Conexion->SetUtf8(); //________________________________________________________________________________________________________ // Si entra por primera vez (criterios por defecto) if($ambito!="" && $idambito!="" && $nombreambito!="" && $tipocola!=""){ $wfechainicio=mktime(0, 0, 0, date("m") , date("d")-3, date("Y")); // Acciones desde un mes anterior $wfechafin=mktime(0, 0, 0, date("m") , date("d")+1, date("Y")); $fechainicio=date("d/m/Y",$wfechainicio); $fechafin=date("d/m/Y ",$wfechafin); // Tipos de acciones default switch($tipocola){ case 0: $wtiposacciones[0]=$EJECUCION_COMANDO; $wtiposacciones[1]=$EJECUCION_TAREA; $wtiposacciones[2]=$EJECUCION_TRABAJO; $tiposacciones=$EJECUCION_COMANDO."=".$LITEJECUCION_COMANDO.";"; $tiposacciones.=$EJECUCION_TAREA."=".$LITEJECUCION_TAREA.";"; $tiposacciones.=$EJECUCION_TRABAJO."=".$LITEJECUCION_TRABAJO.";"; break; case $EJECUCION_COMANDO: $wtiposacciones[0]=$EJECUCION_COMANDO; $tiposacciones=$EJECUCION_COMANDO."=".$LITEJECUCION_COMANDO.";"; break; case $EJECUCION_TAREA: $wtiposacciones[0]=$EJECUCION_TAREA; $tiposacciones=$EJECUCION_TAREA."=".$LITEJECUCION_TAREA.";"; break; case $EJECUCION_TRABAJO: $wtiposacciones[0]=$EJECUCION_TRABAJO; $tiposacciones=$EJECUCION_TRABAJO."=".$LITEJECUCION_TRABAJO.";"; break; } // Estados default $westados[0]=$ACCION_DETENIDA; $westados[1]=$ACCION_INICIADA; $westados[2]=$ACCION_FINALIZADA; $estados=$ACCION_DETENIDA."=".$LITACCION_DETENIDA.";"; $estados.=$ACCION_INICIADA."=".$LITACCION_INICIADA.";"; $estados.=$ACCION_FINALIZADA."=".$LITACCION_FINALIZADA.";"; // Resultados default $wresultados[0]=$ACCION_EXITOSA; $wresultados[1]=$ACCION_FALLIDA; //$resultados[2]=$ACCION_TERMINADA; //$resultados[3]=$ACCION_ABORTADA; $wresultados[2]=$ACCION_SINERRORES; $wresultados[3]=$ACCION_CONERRORES; $resultados=$ACCION_EXITOSA."=".$LITACCION_EXITOSA.";"; $resultados.=$ACCION_FALLIDA."=".$LITACCION_FALLIDA.";"; $resultados.=$ACCION_SINERRORES."=".$LITACCION_SINERRORES.";"; $resultados.=$ACCION_CONERRORES."=".$LITACCION_CONERRORES.";"; } if (isset($_POST["ambito"])) $ambito=$_POST["ambito"]; if (isset($_POST["idambito"])) $idambito=$_POST["idambito"]; if (isset($_POST["nombreambito"])) $nombreambito=$_POST["nombreambito"]; if (isset($_POST["fechainicio"])) $fechainicio=$_POST["fechainicio"]; if (isset($_POST["fechafin"])) $fechafin=$_POST["fechafin"]; if (isset($_POST["horainicio"])) $horainicio=$_POST["horainicio"]; if (isset($_POST["horafin"])) $horafin=$_POST["horafin"]; if (isset($_POST["tiposacciones"])) { $tiposacciones=$_POST["tiposacciones"]; $auxP=split(";",$tiposacciones); $cont=0; for ($i=0;$i Administración web de aulas '?> CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLTarea(); // Crea contextual de las acciones echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLTrabajo(); // Crea contextual de las acciones echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLNotificaciones(); // Crea contextual de las notificaciones echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLModifAcciones(); // Crea subcontextual de las notificaciones echo $flotante->CreaMenuContextual($XMLcontextual); switch($ambito){ case $AMBITO_CENTROS : $urlimg='../images/iconos/centros.gif'; $textambito=$TbMsg[24]; break; case $AMBITO_GRUPOSAULAS : $urlimg='../images/iconos/carpeta.gif'; $textambito=$TbMsg[25]; break; case $AMBITO_AULAS : $urlimg='../images/iconos/aula.gif'; $textambito=$TbMsg[26]; break; case $AMBITO_GRUPOSORDENADORES : $urlimg='../images/iconos/carpeta.gif'; $textambito=$TbMsg[27]; break; case $AMBITO_ORDENADORES : $urlimg='../images/iconos/ordenador.gif'; $textambito=$TbMsg[28]; break; } $tabla_ambitosacciones=""; // Tabla para localizar ambitos e identificadores con acciones sobre ellos $cont_ambitosacciones=0; // Contador de la tabla $tabla_parametros=""; // Tabla para localizar parametros $cont_parametros=0; // Contador de la tabla CreaTablaParametros($cmd); // Crea tabla especificaciones de lparametros en memoria echo '

 '.$TbMsg[0].' 

'; echo '
'.chr(13); // Campos ocultos echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // Parametros Tarea padre echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // Parametros Trabajo padre echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; //________________________________________________________________________________________________________ echo CriteriosBusquedas(); echo '
'.chr(13); echo '
'; if($accionid>0){ switch($TipoAccion){ case $EJECUCION_COMANDO : $textoaccion=$LITEJECUCION_COMANDO; $urlimg='../images/iconos/comandos.gif'; break; case $EJECUCION_TAREA : $textoaccion=$LITEJECUCION_TAREA; $urlimg='../images/iconos/tareas.gif'; break; case $EJECUCION_TRABAJO : $textoaccion=$LITEJECUCION_TRABAJO; $urlimg='../images/iconos/trabajos.gif'; break; } echo ''.$textoaccion.':'.$NombreTipoAccion.'     Volver >>'; } else{ echo ''.$TbMsg[11].':'.$textambito.', '.$nombreambito.'  '; } ?>

                       
'; echo ''; //________________________________________________________________________________________________________ include_once("../includes/iframecomun.php"); //________________________________________________________________________________________________________ ?> '.chr(13); echo ''.chr(13); echo ' '.chr(13); if($idcmdtskwrk=="" && $codtipoaccion=="" && $idambcmdtskwrk=="") // Sin filtro echo 'A'.chr(13); else echo 'A*'.chr(13); echo ' '.$TbMsg[18].' '.chr(13); echo ' '.$TbMsg[19].' '.chr(13); echo ' '.$TbMsg[20].' '.chr(13); echo ' '.$TbMsg[21].' '.chr(13); echo ' '.$TbMsg[22].' '.chr(13); echo ' '.chr(13); echo ' '.$TbMsg[23].' '.chr(13); echo 'S'.chr(13); echo '%'.chr(13); echo 'R'.chr(13); echo ''.chr(13); switch($ambito){ case $AMBITO_CENTROS : $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito; RecorreCentro($cmd); break; case $AMBITO_GRUPOSAULAS : $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS; RecorreGruposAulas($cmd); break; case $AMBITO_AULAS : $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito; RecorreAulas($cmd); break; case $AMBITO_GRUPOSORDENADORES : $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idgrupo=".$idambito; RecorreGruposOrdenadores($cmd); break; case $AMBITO_ORDENADORES : $cmd->texto="SELECT idordenador,nombreordenador FROM ordenadores WHERE idordenador=".$idambito; RecorreOrdenadores($cmd); break; } // Ordena $cont=$cont_ambitosacciones; $auxambitoaccion=""; for ($i=0;$i<$cont-1;$i++){ for ($j=$i+1;$j<$cont;$j++){ if($tabla_ambitosacciones[$i][0]>$tabla_ambitosacciones[$j][0]){ $auxambitoaccion=$tabla_ambitosacciones[$i][0]; $tabla_ambitosacciones[$i][0]=$tabla_ambitosacciones[$j][0]; $tabla_ambitosacciones[$j][0]=$auxambitoaccion; $auxtabla_ambitosacciones=$tabla_ambitosacciones[$i][1]; $tabla_ambitosacciones[$i][1]=$tabla_ambitosacciones[$j][1]; $tabla_ambitosacciones[$j][1]=$auxtabla_ambitosacciones; } } } ListandoAcciones($cmd); echo ''; } //________________________________________________________________________________________________________ function ListandoAcciones($cmd){ global $AMBITO_CENTROS; global $AMBITO_GRUPOSAULAS; global $AMBITO_AULAS; global $AMBITO_GRUPOSORDENADORES; global $AMBITO_ORDENADORES; global $EJECUCION_COMANDO; global $EJECUCION_TAREA; global $EJECUCION_TRABAJO; global $ACCION_EXITOSA; global $ACCION_FALLIDA; global $ACCION_TERMINADA; global $ACCION_ABORTADA; global $ACCION_SINERRORES; global $ACCION_CONERRORES; global $ACCION_DETENIDA; global $ACCION_INICIADA; global $ACCION_FINALIZADA; global $porcendesde; global $porcenhasta; global $tabla_ambitosacciones; global $cont_ambitosacciones; global $ClausulaWhere; global $mulaccion; global $PROCESOS; global $NOTIFICACIONES; // Selecciona acciones $rs=new Recordset; $cmd->texto="SELECT acciones.* FROM acciones"; if($ClausulaWhere!="") $cmd->texto.=" WHERE (".$ClausulaWhere.")"; $cmd->texto.=" ORDER BY acciones.idaccion desc "; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); // Recorre acciones while (!$rs->EOF){ $HTMLparametros=""; $HTMLnotificaciones=""; if($rs->campos["tipoaccion"]==$EJECUCION_TAREA || $rs->campos["tipoaccion"]==$EJECUCION_TRABAJO ){ $auxP=split(";",$rs->campos["ambitskwrk"]); // Recorre los ambitos de la tarea o trabajo $i=0; do{ $dualparam=split(":",$auxP[$i]); $datobinario=$dualparam[0]."-".$dualparam[1]; $posp=busca_indicebinariodual($datobinario,$tabla_ambitosacciones,$cont_ambitosacciones); // Busca ambito e id. $i++; }while($posp<0 && $icampos["ambito"]."-".$rs->campos["idambito"]; $posp=busca_indicebinariodual($datobinario,$tabla_ambitosacciones,$cont_ambitosacciones); // Busca datos en la tabla } if ($posp>=0){ $auxtabla_ambitosacciones=$tabla_ambitosacciones[$posp][1]; $ambito=$auxtabla_ambitosacciones["ambito"]; $nombreambito=$auxtabla_ambitosacciones["nombreambito"]; switch($ambito){ case $AMBITO_CENTROS : $urlimg='../images/iconos/centros.gif'; $textambito="Centros"; $bgcolor="#ff5566"; break; case $AMBITO_GRUPOSAULAS : $urlimg='../images/iconos/carpeta.gif'; $textambito="Grupos de aulas"; $bgcolor="#FFCC55"; break; case $AMBITO_AULAS : $urlimg='../images/iconos/aula.gif'; $textambito="Aulas"; $bgcolor="#D4D4D4"; break; case $AMBITO_GRUPOSORDENADORES : $urlimg='../images/iconos/carpeta.gif'; $textambito="Grupos de ordenadores"; $bgcolor="#FF00CC"; break; case $AMBITO_ORDENADORES : $urlimg='../images/iconos/ordenador.gif'; $bgcolor="#FFFF68"; $textambito="Ordenadores"; break; } $ipesnotificadas=""; // Almacena las ipes de los prdenadores que ya han notificado $HTMLnotificaciones=notificaciones($cmd,$rs->campos["idaccion"],&$numnot,$rs->campos["tipoaccion"], $rs->campos["parametros"],&$ipesnotificadas ); $nottotales=NotificacionesEsperadas($rs->campos["parametros"],$rs->campos["tipoaccion"]); if($nottotales>0) $porcen=round(($numnot/$nottotales)*100,1); else $porcen=0; if($porcen>=$porcendesde && $porcen<=$porcenhasta){ $mulaccion.=$rs->campos["idaccion"].":"; // Formato idaccion:estado:resultado; echo ''.chr(13); echo ''; echo ''; echo ''.chr(13); switch($rs->campos["tipoaccion"]){ case $EJECUCION_COMANDO : $nombreliterales[0]="descripcion"; $nombreliterales[1]="visuparametros"; $Datos=TomanDatos($cmd,"comandos",$rs->campos["idtipoaccion"],"idcomando",$nombreliterales); $nombreaccion=$Datos["descripcion"]; // Visualización de los parametros de un comando $HTMLparametros=infoparametros($cmd,$rs->campos["idaccion"],$rs->campos["parametros"],$Datos["visuparametros"],$ipesnotificadas); echo ''.chr(13); break; case $EJECUCION_TAREA : $HTMLparametros=infoparametrosTskWrk($cmd,$rs->campos["idaccion"],$rs->campos["parametros"]); $nombreaccion=TomaDato($cmd,0,'tareas',$rs->campos["idtipoaccion"],'idtarea','descripcion'); echo ''.chr(13); break; case $EJECUCION_TRABAJO : $HTMLparametros=infoparametrosTskWrk($cmd,$rs->campos["idaccion"],$rs->campos["parametros"]); $nombreaccion=TomaDato($cmd,0,'trabajos',$rs->campos["idtipoaccion"],'idtrabajo','descripcion'); echo ''.chr(13); break; } echo ' '.$nombreaccion.' '.chr(13); $fechahorareg=$rs->campos["fechahorafin"]; $wfecha=substr($fechahorareg,0,strpos($fechahorareg,' ')); $whora =substr (strrchr ($fechahorareg, " "), 1); $fecha=trim($wfecha); $hora=trim($whora); if ($fecha=="0000-00-00") $hora=""; echo ' '.InvFecha($fecha).' '.chr(13); echo ' '.$hora.' '.chr(13); $fechahorareg=$rs->campos["fechahorareg"]; $wfecha=substr($fechahorareg,0,strpos($fechahorareg,' ')); $whora =substr (strrchr ($fechahorareg, " "), 1); $fecha=trim($wfecha); $hora=trim($whora); if ($fecha=="0000-00-00") $hora=""; echo ' '.InvFecha($fecha).' '.chr(13); echo ' '.$hora.' '.chr(13); if($rs->campos["tipoaccion"]==$EJECUCION_TAREA || $rs->campos["tipoaccion"]==$EJECUCION_TRABAJO ){ echo ' '.chr(13); echo ' '.chr(13); } else{ echo ''.chr(13); echo ' '.$nombreambito.' '.chr(13); } $mulaccion.=$rs->campos["estado"].":"; // Formato idaccion:estado:resultado; switch($rs->campos["estado"]){ case $ACCION_DETENIDA: echo ''.chr(13); break; case $ACCION_INICIADA: echo ''.chr(13); break; case $ACCION_FINALIZADA: echo ''.chr(13); break; } echo ' '.$porcen.'% '; $mulaccion.=$rs->campos["resultado"].";"; // Formato idaccion:estado:resultado; switch($rs->campos["resultado"]){ case $ACCION_EXITOSA: echo ''.chr(13); break; case $ACCION_FALLIDA: echo ''.chr(13); break; case $ACCION_SINERRORES: echo ''.chr(13); break; case $ACCION_CONERRORES: echo ''.chr(13); break; case $ACCION_TERMINADA: echo ''.chr(13); break; case $ACCION_ABORTADA: echo ''.chr(13); break; default: echo ' '; } echo ''.chr(13); echo $HTMLparametros; echo $HTMLnotificaciones; } } $rs->Siguiente(); } $rs->Cerrar(); } /*________________________________________________________________________________________________________ Dibuja la tabla de parametros de una tarea o un trabajo ________________________________________________________________________________________________________*/ function infoparametrosTskWrk($cmd,$idaccion,$parametros){ global $dblock; $HTMLparametros=""; $HTMLparametros.=''.chr(13); $HTMLparametros.= ' '.chr(13); $HTMLparametros.= 'Nº'.chr(13); $HTMLparametros.= 'Acción'.chr(13); $HTMLparametros.= ''.chr(13); $rs=new Recordset; $rs->Comando=&$cmd; $dualparam=split("=",$parametros); $auxC=split(";",$dualparam[1]); // Recorre valores delimitado por comas for ($j=0;$jtexto="SELECT comandos.descripcion FROM comandos INNER JOIN tareas_comandos ON tareas_comandos.idcomando=comandos.idcomando WHERE tareas_comandos.idtareacomando=".$auxC[$j] ; else $cmd->texto="SELECT tareas.descripcion FROM tareas INNER JOIN trabajos_tareas ON trabajos_tareas.idtarea=tareas.idtarea WHERE trabajos_tareas.idtrabajotarea=".$auxC[$j] ; if (!$rs->Abrir()) return(""); // Error al abrir recordset if($rs->EOF) return(""); $valor=$rs->campos["descripcion"]; $rs->Cerrar(); $HTMLparametros.=''.chr(13); $HTMLparametros.= ' '.chr(13); $HTMLparametros.= ''.($j+1).''.chr(13); $HTMLparametros.= ''.$valor.''.chr(13); $HTMLparametros.= ''.chr(13); } return($HTMLparametros); } /*________________________________________________________________________________________________________ Dibuja la tabla de parametros de un comando ________________________________________________________________________________________________________*/ function infoparametros($cmd,$idaccion,$parametros,$visuparametros,$ipesnotificadas){ global $tabla_parametros; global $cont_parametros; global $MAXLONVISUSCRIPT; // longitud Maxima de visualización del script global $dblock; $HTMLparametros=""; $HTMLparametros.=''.chr(13); $HTMLparametros.= ' '.chr(13); $HTMLparametros.= 'Parameter'.chr(13); $HTMLparametros.= 'Value'.chr(13); $HTMLparametros.= ''.chr(13); $auxVP=split(";",$visuparametros); // Parametros visualizables $auxP=split(chr(13),$parametros); // Recorre parametros para visualizar los que así sean for ($i=0;$i=0){ $auxtabla_parametros=$tabla_parametros[$posp][1]; $HTMLparametros.=''.chr(13); $HTMLparametros.= ' '.chr(13); $HTMLparametros.= ' '.$auxtabla_parametros["descripcion"].''.chr(13); if($auxtabla_parametros["tipopa"]==1){ $valor=TomaDato($cmd,0,$auxtabla_parametros["nomtabla"],$dualparam[1],$auxtabla_parametros["nomidentificador"],$auxtabla_parametros["nomliteral"]); }else $valor=$dualparam[1]; switch($dualparam[0]){ case "iph": // Si el parametro es la s Ipes de los ordenadores se pintan $tablaipes=PintaOrdenadores($cmd,$valor,$ipesnotificadas,$idaccion); $HTMLparametros.= ''.$tablaipes.''.chr(13); break; default: $HTMLparametros.= ' '.Urldecode($valor).''.chr(13); } $HTMLparametros.= ''.chr(13); } } } } return($HTMLparametros); } /*________________________________________________________________________________________________________ Dibuja la tabla de notificaciones ________________________________________________________________________________________________________*/ function notificaciones($cmd,$idaccion,$numnot,$TipoAccion,$parametros,$ipesnotificadas){ global $TbMsg; global $EJECUCION_COMANDO; global $EJECUCION_TAREA; global $EJECUCION_TRABAJO; global $ACCION_EXITOSA; global $ACCION_FALLIDA; global $NOTIFICADOR_ORDENADOR; global $NOTIFICADOR_COMANDO; global $NOTIFICADOR_TAREA; global $dblock; $HTMLnotificaciones=""; $numnot=0; $rs=new Recordset; switch($TipoAccion){ case $EJECUCION_COMANDO : $TipoNotificador=$NOTIFICADOR_ORDENADOR; $urlimg='../images/iconos/comandos.gif'; $cmd->texto='SELECT notificaciones.*,ordenadores.idordenador as identificadornot,ordenadores.nombreordenador as nombreidentificadornot,ordenadores.ip FROM notificaciones'; $cmd->texto.=" INNER JOIN ordenadores ON notificaciones.idnotificador=ordenadores.idordenador"; $cmd->texto.=" WHERE notificaciones.accionid=".$idaccion." ORDER BY notificaciones.fechahorareg desc"; break; case $EJECUCION_TAREA : $TipoNotificador=$NOTIFICADOR_COMANDO; $urlimg='../images/iconos/tareas.gif'; $cmd->texto='SELECT notificaciones.*,tareas_comandos.idtareacomando as identificadornot,comandos.descripcion as nombreidentificadornot FROM notificaciones'; $cmd->texto.=" INNER JOIN tareas_comandos ON notificaciones.idnotificador=tareas_comandos.idtareacomando"; $cmd->texto.=" INNER JOIN comandos ON comandos.idcomando=tareas_comandos.idcomando"; $cmd->texto.=" WHERE notificaciones.accionid=".$idaccion." ORDER BY notificaciones.fechahorareg desc "; $urlimg= '../images/iconos/comandos.gif>'; break; case $EJECUCION_TRABAJO : $TipoNotificador=$NOTIFICADOR_TAREA; $urlimg='../images/iconos/trabajos.gif'; $cmd->texto='SELECT notificaciones.*,trabajos_tareas.idtrabajotarea as identificadornot,tareas.descripcion as nombreidentificadornot FROM notificaciones'; $cmd->texto.=" INNER JOIN trabajos_tareas ON notificaciones.idnotificador=trabajos_tareas.idtrabajotarea"; $cmd->texto.=" INNER JOIN tareas ON tareas.idtarea=trabajos_tareas.idtarea"; $cmd->texto.=" WHERE notificaciones.accionid=".$idaccion." ORDER BY notificaciones.fechahorareg desc"; $urlimg= '../images/iconos/tareas.gif>'; break; } $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $numreg=0; $rs->Primero(); while (!$rs->EOF){ $numnot++; if($numreg==0){ $HTMLnotificaciones.=''.chr(13); $HTMLnotificaciones.= ' '.chr(13); $HTMLnotificaciones.= ' '.chr(13); $HTMLnotificaciones.= ''.$TbMsg[23].''.chr(13); $HTMLnotificaciones.= ''.$TbMsg[19].''.chr(13); $HTMLnotificaciones.= ''.$TbMsg[20].''.chr(13); $HTMLnotificaciones.= ''.$TbMsg[57].''.chr(13); $HTMLnotificaciones.= 'R'.chr(13); $HTMLnotificaciones.= ''.chr(13); $numreg++; } if($TipoAccion==$EJECUCION_COMANDO){ switch($rs->campos["resultado"]){ case $ACCION_EXITOSA: $urlimg= '../images/iconos/ordenadornot_ok.gif>'; break; case $ACCION_FALLIDA: $urlimg= '../images/iconos/ordenadornot_ko.gif>'; break; } } $HTMLnotificaciones.=''.chr(13); $HTMLnotificaciones.=' '.chr(13); $HTMLnotificaciones.=''; $HTMLnotificaciones.=''.chr(13); $HTMLnotificaciones.= ''.$rs->campos["nombreidentificadornot"].''.chr(13); $fechahorareg=$rs->campos["fechahorareg"]; $wfecha=substr($fechahorareg,0,strpos($fechahorareg,' ')); $whora =substr (strrchr ($fechahorareg, " "), 1); $fecha=trim($wfecha); $hora=trim($whora); if ($fecha=="0000-00-00") $hora=""; $HTMLnotificaciones.= ' '.InvFecha($fecha).' '.chr(13); $HTMLnotificaciones.= ' '.$hora.' '.chr(13); $HTMLnotificaciones.= ''.$rs->campos["descrinotificacion"].' '.chr(13); switch($rs->campos["resultado"]){ case $ACCION_EXITOSA: $HTMLnotificaciones.= ''.chr(13); if($TipoNotificador==$NOTIFICADOR_ORDENADOR){ $ipesnotificadas.=$rs->campos["ip"]."=".$ACCION_EXITOSA."=".$rs->campos["idnotificacion"].";"; } break; case $ACCION_FALLIDA: $HTMLnotificaciones.= ''.chr(13); if($TipoNotificador==$NOTIFICADOR_ORDENADOR){ $ipesnotificadas.=$rs->campos["ip"]."=".$ACCION_FALLIDA."=".$rs->campos["idnotificacion"].";"; } break; } $HTMLnotificaciones.=''.chr(13); $rs->Siguiente(); } return($HTMLnotificaciones); } /*________________________________________________________________________________________________________ Recorrea loa distintod ambitos ________________________________________________________________________________________________________*/ function RecorreCentro($cmd){ global $AMBITO_CENTROS; global $AMBITO_GRUPOSAULAS; global $tabla_ambitosacciones; global $cont_ambitosacciones; $auxtabla_ambitosacciones=""; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); if(!$rs->EOF){ $idcentro=$rs->campos["idcentro"]; $tabla_ambitosacciones[$cont_ambitosacciones][0]=$AMBITO_CENTROS."-".$idcentro; $auxtabla_ambitosacciones["ambito"]=$AMBITO_CENTROS; $auxtabla_ambitosacciones["nombreambito"]=$rs->campos["nombrecentro"]; $tabla_ambitosacciones[$cont_ambitosacciones++][1]=$auxtabla_ambitosacciones; $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS; RecorreGruposAulas($cmd); $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0"; RecorreAulas($cmd); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreGruposAulas($cmd){ global $AMBITO_GRUPOSAULAS; global $tabla_ambitosacciones; global $cont_ambitosacciones; $auxtabla_ambitosacciones=""; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idgrupo=$rs->campos["idgrupo"]; $tabla_ambitosacciones[$cont_ambitosacciones][0]=$AMBITO_GRUPOSAULAS."-".$idgrupo; $auxtabla_ambitosacciones["ambito"]=$AMBITO_GRUPOSAULAS; $auxtabla_ambitosacciones["nombreambito"]=$rs->campos["nombregrupo"]; $tabla_ambitosacciones[$cont_ambitosacciones++][1]=$auxtabla_ambitosacciones; $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo ." AND tipo=".$AMBITO_GRUPOSAULAS; RecorreGruposAulas($cmd); $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE grupoid=".$idgrupo; RecorreAulas($cmd); $rs->Siguiente(); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreAulas($cmd){ global $AMBITO_AULAS; global $tabla_ambitosacciones; global $cont_ambitosacciones; $auxtabla_ambitosacciones=""; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idaula=$rs->campos["idaula"]; $tabla_ambitosacciones[$cont_ambitosacciones][0]=$AMBITO_AULAS."-".$idaula; $auxtabla_ambitosacciones["ambito"]=$AMBITO_AULAS; $auxtabla_ambitosacciones["nombreambito"]=$rs->campos["nombreaula"]; $tabla_ambitosacciones[$cont_ambitosacciones++][1]=$auxtabla_ambitosacciones; $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE idaula=".$idaula." AND grupoid=0"; RecorreGruposOrdenadores($cmd); $cmd->texto="SELECT idordenador,nombreordenador FROM ordenadores WHERE idaula=".$idaula." AND grupoid=0"; RecorreOrdenadores($cmd); $rs->Siguiente(); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreGruposOrdenadores($cmd){ global $AMBITO_GRUPOSORDENADORES; global $tabla_ambitosacciones; global $cont_ambitosacciones; $auxtabla_ambitosacciones=""; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idgrupo=$rs->campos["idgrupo"]; $tabla_ambitosacciones[$cont_ambitosacciones][0]=$AMBITO_GRUPOSORDENADORES."-".$idgrupo; $auxtabla_ambitosacciones["ambito"]=$AMBITO_GRUPOSORDENADORES; $auxtabla_ambitosacciones["nombreambito"]=$rs->campos["nombregrupoordenador"]; $tabla_ambitosacciones[$cont_ambitosacciones++][1]=$auxtabla_ambitosacciones; $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE grupoid=".$idgrupo; RecorreGruposOrdenadores($cmd); $cmd->texto="SELECT idordenador,nombreordenador FROM ordenadores WHERE grupoid=".$idgrupo; RecorreOrdenadores($cmd); $rs->Siguiente(); } $rs->Cerrar(); } //________________________________________________________________________________________________________ function RecorreOrdenadores($cmd){ global $AMBITO_ORDENADORES; global $tabla_ambitosacciones; global $cont_ambitosacciones; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ $idordenador=$rs->campos["idordenador"]; $tabla_ambitosacciones[$cont_ambitosacciones][0]=$AMBITO_ORDENADORES."-".$idordenador; $auxtabla_ambitosacciones["ambito"]=$AMBITO_ORDENADORES; $auxtabla_ambitosacciones["nombreambito"]=$rs->campos["nombreordenador"]; $tabla_ambitosacciones[$cont_ambitosacciones++][1]=$auxtabla_ambitosacciones; $rs->Siguiente(); } $rs->Cerrar(); } /*________________________________________________________________________________________________________ Cuenta el numero de ordenadores a los que afecta la acción ________________________________________________________________________________________________________*/ function NotificacionesEsperadas($parametros,$TipoAccion){ global $EJECUCION_COMANDO; global $EJECUCION_TAREA; global $EJECUCION_TRABAJO; switch($TipoAccion){ case $EJECUCION_COMANDO : $cadenanot=extrae_parametro($parametros,chr(13),'=',"iph"); break; case $EJECUCION_TAREA : $cadenanot=extrae_parametro($parametros,chr(13),'=',"cmd"); break; case $EJECUCION_TRABAJO : $cadenanot=extrae_parametro($parametros,chr(13),'=',"tsk"); break; } $cont=1; for($i=0;$i'.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); // Desplegable con los tipos de acciones $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=' '.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $parametros=$EJECUCION_COMANDO."=".$LITEJECUCION_COMANDO.chr(13); $parametros.=$EJECUCION_TAREA."=".$LITEJECUCION_TAREA.chr(13); $parametros.=$EJECUCION_TRABAJO."=".$LITEJECUCION_TRABAJO; $HTMLCriterios.=''; $HTMLCriterios.=''.chr(13); $HTMLCriterios.='
 '.$TbMsg[2].' 
'.HTMLCTEMULSELECT($parametros,"wtiposacciones",$wtiposacciones,"estilodesple","chgdespleacciones",100,3).'
'.chr(13); // Desplegable con los distintos estados $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=' '.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $parametros=$ACCION_DETENIDA."=".$LITACCION_DETENIDA.chr(13); $parametros.=$ACCION_INICIADA."=".$LITACCION_INICIADA.chr(13); $parametros.=$ACCION_FINALIZADA."=".$LITACCION_FINALIZADA; $HTMLCriterios.=''; $HTMLCriterios.=''.chr(13); $HTMLCriterios.='
 '.$TbMsg[4].' 
'.HTMLCTEMULSELECT($parametros,"westados",$westados,"estilodesple","chgdespleestados",100,3).'
'.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); // Desplegable con los distintos resultados $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=' '.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $parametros=$ACCION_EXITOSA."=".$LITACCION_EXITOSA.chr(13); $parametros.=$ACCION_FALLIDA."=".$LITACCION_FALLIDA.chr(13); $parametros.=$ACCION_TERMINADA."=".$LITACCION_TERMINADA.chr(13); $parametros.=$ACCION_ABORTADA."=".$LITACCION_ABORTADA.chr(13); $parametros.=$ACCION_SINERRORES."=".$LITACCION_SINERRORES.chr(13); $parametros.=$ACCION_CONERRORES."=".$LITACCION_CONERRORES; $HTMLCriterios.=''; $HTMLCriterios.=''.chr(13); // Porcentajes $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.='
 '.$TbMsg[3].' 
'.HTMLCTEMULSELECT($parametros,"wresultados",$wresultados,"estilodesple","chgdespleresultados",250,6).'
 '.$TbMsg[5].':  '.$TbMsg[6].': 
'.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); // Fechas $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.='
 '.$TbMsg[7].':  '.$TbMsg[8].':  
 '.$TbMsg[9].':  '.$TbMsg[10].':  
'.chr(13); // Fechas $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''; $HTMLCriterios.=''.chr(13); $HTMLCriterios.=''.chr(13); $HTMLCriterios.='
'; // Lupa $HTMLCriterios.='Buscar'; $HTMLCriterios.=''; $HTMLCriterios.='
'; return($HTMLCriterios); } /*________________________________________________________________________________________________________ Crea la tabla de ordenadores ( iconos pequeños ) ________________________________________________________________________________________________________*/ function PintaOrdenadores($cmd,$cadenaip,$ipesnotificadas,$idaccion){ global $ACCION_EXITOSA; global $ACCION_FALLIDA; if(!empty($ipesnotificadas)){ $ipesnotificadas=substr($ipesnotificadas,0,strlen($ipesnotificadas)-1); // Quita la coma $auxN=split(";",$ipesnotificadas); $cont=sizeof($auxN); $tbipes=""; $tbresipes=""; $tbnotif=""; for ($i=0;$i<$cont;$i++){ $dualvalor=split("=",$auxN[$i]); $tbipes[$i]=$dualvalor[0]; $tbresipes[$i]=$dualvalor[1]; $tbnotif[$i]=$dualvalor[2]; } $auxtbipes=""; $auxtbresipes=""; $auxtbnotif=""; // Ordena según la ip for ($i=0;$i<$cont-1;$i++){ for ($j=$i+1;$j<$cont;$j++){ if($tbipes[$i]>$tbipes[$j]){ $auxtbipes=$tbipes[$i]; $tbipes[$i]=$tbipes[$j]; $tbipes[$j]=$auxtbipes; $auxtbresipes=$tbresipes[$i]; $tbresipes[$i]=$tbresipes[$j]; $tbresipes[$j]=$auxtbresipes; $auxtbnotif=$tbnotif[$i]; $tbnotif[$i]=$tbnotif[$j]; $tbnotif[$j]=$auxtbnotif; } } } } $auxP=split(";",$cadenaip); if(sizeof($auxP)<1) return(""); $clauslaIN="'".$auxP[0]."'"; for ($i=1;$itexto=" SELECT nombreordenador,ip FROM ordenadores INNER JOIN aulas ON aulas.idaula=ordenadores.idaula WHERE ip IN(".$clauslaIN.") ORDER by nombreaula,nombreordenador"; $rs->Comando=&$cmd; if (!$rs->Abrir()) return(""); // Error al abrir recordset $tablaHtml=''; while (!$rs->EOF){ $contor++; $tablaHtml.= ''; if($contor>$maxord){ $contor=0; $tablaHtml.=''; } $rs->Siguiente(); } $tablaHtml.=''; $tablaHtml.= '
'; if(!empty($ipesnotificadas)){ $datobinario=$rs->campos["ip"]; $posp=busca_indicebinario($datobinario,$tbipes,$cont); // Busca ip } else $posp=-1; if ($posp>=0){ if($tbresipes[$posp]==$ACCION_EXITOSA) $tablaHtml.=''; else $tablaHtml.=''; } else // No ha notificado $tablaHtml.=''; $tablaHtml.='
'.$rs->campos["nombreordenador"].'
'; return($tablaHtml); } //________________________________________________________________________________________________________ function ContextualXMLComando(){ global $TbMsg; global $idcmdtskwrk; global $codtipoaccion; global $accionid; global $EJECUCION_TAREA; $layerXML='0){ $layerXML.=''; $layerXML.=''; $layerXML.='0){ $layerXML.='