diff options
-rw-r--r-- | admin/WebConsole/includes/arbol.php | 154 | ||||
-rw-r--r-- | admin/WebConsole/principal/acciones.php | 15 | ||||
-rw-r--r-- | admin/WebConsole/principal/aulas.php | 23 | ||||
-rw-r--r-- | admin/WebConsole/principal/hardwares.php | 25 | ||||
-rw-r--r-- | admin/WebConsole/principal/imagenes.php | 6 | ||||
-rw-r--r-- | admin/WebConsole/principal/menus.php | 9 | ||||
-rw-r--r-- | admin/WebConsole/principal/repositorios.php | 12 | ||||
-rw-r--r-- | admin/WebConsole/principal/softwares.php | 22 |
8 files changed, 178 insertions, 88 deletions
diff --git a/admin/WebConsole/includes/arbol.php b/admin/WebConsole/includes/arbol.php index 89166f17..d26dbc98 100644 --- a/admin/WebConsole/includes/arbol.php +++ b/admin/WebConsole/includes/arbol.php @@ -1,19 +1,21 @@ <?php -/* Funciones auxiliares para pintar árboles de nodos en el frame izquierdo */ - -// grupos(tipo_nodo) -// Descripción: Devuelve un array de grupos de imágenes. Ordenados por tipos de imágenes y grupo padre -// Parámetros: -// tipo_nodo: str tipo de elemento a mostrar en el árbol (aulas, imagenes, ...) -// devuelve: array de grupos. -// Nota: usamos la variable tipo por compatibilidad con grupos de imágenes. +/** @file includes/arbol.php + * Funciones auxiliares para pintar árboles de nodos en el frame izquierdo + */ +/** + * Devuelve un array de grupos de nodos. Ordenados por tipos de nodos y grupo + * @param[tipo_nodo] str tipo de elemento a mostrar en el árbol (aulas, imagenes, ...) + * @return array de grupos. + * @note usamos la variable tipo por compatibilidad con grupos de imágenes. + */ function grupos_arbol($tipo_nodo) { global $cmd; global $idcentro; $grupos_hijos=Array(); $sql=""; + $ambito=""; switch ($tipo_nodo){ case 'aulas': @@ -78,8 +80,8 @@ function grupos_arbol($tipo_nodo) { $rs=new Recordset; $cmd->texto=$sql; - echo "text: ".$cmd->texto; - echo "<br><br>"; + //echo "text: ".$cmd->texto; + //echo "<br><br>"; $rs->Comando=&$cmd; if (!$rs->Abrir()) return($grupos_hijos); @@ -111,6 +113,107 @@ function grupos_arbol($tipo_nodo) { return ($grupos_hijos); } + +/** + * Construye la parte del árbol correspondiente a un grupo de nodos: lista sus nodos y sus grupos hijos. + * + * @param[tipo_nodo] str tipo de elemento que muestra el árbol + * @param[idgrupo] int identificados del grupo que se está listando + * @param[nivel] int nivel de profundidad del árbol + * @param[orden] int orden dentro del nivel del árbol + * @param[nodos] array nodos + * @param[grupos] array grupos de nodos + * @return orden de la lista del último elemento listado + */ +function lista_grupo_arbol($tipo_nodo, $tipo, $idgrupo, $nivel, $orden, $nodos, $grupos){ + /* Al cargar la página sólo se muestra el primer nivel del árbol. */ + $class=($nivel==1)? "": 'class="interior"'; + $nivel=$nivel+1; + if ($tipo_nodo == "aulas") { + global $ordenadores; + global $grp_ordenadores; + global $idaulas; + } + echo "\n".' <ul '.$class." >\n"; + // si existen grupos hijos del actual creo la lista con la función listaGrupo. + if (isset ($grupos[$tipo][$idgrupo])){ + foreach ($grupos[$tipo][$idgrupo] as $hijo) { + $orden=$orden+1; + echo ' <li id="grupo_'.$hijo["id"].'" oncontextmenu="mostrar_menu(event,'. $tipo.', '.$hijo["id"].', \'menu-groups-'.$tipo_nodo.'\');return false;"><input type="checkbox" name="list" id="nivel'.$nivel.'-'.$orden.'"><label for="nivel'.$nivel.'-'.$orden.'"><img class="menu_icono" src="../images/iconos/carpeta.gif">'.$hijo["nombre"].'</label>'."\n"; + //echo ' <li oncontextmenu="mostrar_menu(event,'. $tipo.', '.$hijo["id"].', \'menu-groups\');return false;"><input type="checkbox" name="list" id="nivel'.$nivel.'-'.$hijo["id"].'"><label for="nivel'.$nivel.'-'.$hijo["id"].'"><img class="menu_icono" src="../images/iconos/carpeta.gif">'.$hijo["nombre"].'</label>'."\n"; + + $orden=lista_grupo_arbol($tipo_nodo, $tipo, $hijo["id"], $nivel, $orden, $nodos, $grupos); + } + echo " </li>"."\n"; + } + // creo la lista de las imágenes dentro del grupo (si existen). + if (isset ($nodos[$tipo][$idgrupo])){ + foreach ($nodos[$tipo][$idgrupo] as $nodo){ + if ($tipo_nodo == "aulas"){ + // Incluyo input para que se pueda abrir el nodo + echo ' <li id="'.$tipo_nodo.'_'.$nodo["id"].'" oncontextmenu="ocultar_menu(); mostrar_menu(event,'. $tipo.', '.$nodo["id"].', \'menu-'.$tipo_nodo.'\');return false;">'; + echo '<input type="checkbox" name="list" id="nivel'.$nivel.'-'.$orden.'"><label for="nivel'.$nivel.'-'.$orden.'">'; + echo '<img class="menu_icono" src="../images/iconos/imagen.gif"> '.$nodo["descripcion"]; + echo '</label>'."\n" ; + + // Listo grupo de ordenadores + lista_grupo_arbol("ordenadores",$nodo["id"],0, $nivel, $orden,$ordenadores,$grp_ordenadores); + } else { + echo ' <li id="'.$tipo_nodo.'_'.$nodo["id"].'" oncontextmenu="ocultar_menu(); mostrar_menu(event,'. $tipo.', '.$nodo["id"].', \'menu-'.$tipo_nodo.'\');return false;">'; + echo '<a href="#r">'; + echo '<img class="menu_icono" src="../images/iconos/imagen.gif"> '.$nodo["descripcion"]; + echo '</a>'; + } + echo " </li>"."\n"; + } + } + echo " </ul>"."\n"; + return($orden); +} + + +/** + * Devuelve un array de grupos de nodos. Ordenados por tipos de nodos y grupo + * @param[tipo_nodo] str tipo de elemento a mostrar en el árbol (aulas, imagenes, ...) + * @param[nodos] array nodos a mostrar + * @param[grupos] array grupos de nodos a mostrar + * @return Escribe la raíz del árbol de nodos y el primer nivel. + */ +function lista_raiz_arbol ($tipo_nodo, $nodos, $grupos){ + global $TbMsg; + global $NUM_TIPOS_IMAGENES; + $orden=0; + if ($tipo_nodo == "aulas") { + // Definimos variables para mostrar ordenadores + global $ordenadores; + global $grp_ordenadores; + $ordenadores=nodos_arbol("ordenadores"); + $grp_ordenadores=grupos_arbol("ordenadores"); + } + echo '<ul id="menu_arbol">'."\n"; + echo ' <li><input type="checkbox" name="list" id="nivel1-1"><label for="nivel1-1"><img class="menu-icono" src="../images/iconos/imagenes.gif">'.str_replace ('"','',$TbMsg[9]).'</label>'."\n"; + $keys=array_keys($nodos); + if (count($keys) == 1) { + lista_grupo_arbol($tipo_nodo, $keys[0], 0, 1, $orden, $nodos, $grupos); + } else { + foreach ($keys as $tipo) { + // Recorremos los grupos hijos desde el cero + echo ' <ul>'."\n"; + echo ' <li id="grupo_'.$tipo.'_0" oncontextmenu="mostrar_menu(event, '. $tipo.', 0, \'menu-tipes\');return false;">'."\n"; + //echo ' <input type="checkbox" name="list" id="nivel2-'.$tipo.'"><label for="nivel2-'.$tipo.'"><img class="menu-icono" src="../images/iconos/carpeta.gif"> '.$tipo.' '.str_replace ('"','',$TbMsg[10+$tipo]).'</label>'."\n"; + echo ' <input type="checkbox" name="list" id="nivel2-'.$tipo.'"><label for="nivel2-'.$tipo.'"><img class="menu-icono" src="../images/iconos/carpeta.gif"> Falta nombre del tipo: '.$tipo.'</label>'."\n"; + $orden=lista_grupo_arbol($tipo_nodo, $tipo, 0, 2, $orden, $nodos, $grupos); + $orden=$orden+1; + echo ' </li>'."\n"; + echo ' </ul>'."\n"; + } + } + echo " </li>"."\n"; + echo "</ul>"."\n"; +} + + + /* * Descripción: Devuelve un array de nodos ordenados por el grupo al que pertenecen. * Parámetros: @@ -126,7 +229,8 @@ function nodos_arbol($tipo_nodo){ switch ($tipo_nodo){ case 'aulas': - $sql="SELECT idaula AS id, nombreaula AS nombre, grupoid, '1' AS conjuntoid + global $AMBITO_GRUPOSAULAS; + $sql="SELECT idaula AS id, nombreaula AS nombre, grupoid, '$AMBITO_GRUPOSAULAS' AS conjuntoid FROM aulas WHERE idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; @@ -137,15 +241,17 @@ function nodos_arbol($tipo_nodo){ WHERE activo=1 ORDER BY conjuntoid, grupoid;"; break; case 'componenteshardware': + global $AMBITO_GRUPOSCOMPONENTESHARD; $sql="SELECT hardwares.idhardware AS id, hardwares.descripcion AS nombre, - tipohardwares.urlimg, '2' AS conjuntoid, grupoid + tipohardwares.urlimg, '$AMBITO_GRUPOSCOMPONENTESHARD' AS conjuntoid, grupoid FROM hardwares INNER JOIN tipohardwares WHERE hardwares.idtipohardware=tipohardwares.idtipohardware AND idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; case 'componentessoftware': + global $AMBITO_GRUPOSCOMPONENTESSOFT; $sql="SELECT softwares.idsoftware AS id, softwares.descripcion AS nombre, - tiposoftwares.urlimg, '2' AS conjuntoid, grupoid + tiposoftwares.urlimg, '$AMBITO_GRUPOSCOMPONENTESSOFT' AS conjuntoid, grupoid FROM softwares INNER JOIN tiposoftwares WHERE softwares.idtiposoftware=tiposoftwares.idtiposoftware AND idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; @@ -159,7 +265,8 @@ function nodos_arbol($tipo_nodo){ WHERE imagenes.idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; case 'menus': - $sql="SELECT idmenu AS id, descripcion AS nombre, '1' AS conjuntoid, grupoid + global $AMBITO_GRUPOSMENUS; + $sql="SELECT idmenu AS id, descripcion AS nombre, '$AMBITO_GRUPOSMENUS' AS conjuntoid, grupoid FROM menus WHERE idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; @@ -172,31 +279,36 @@ function nodos_arbol($tipo_nodo){ ORDER BY conjuntoid, grupoid;"; break; case 'perfileshardware': + global $AMBITO_GRUPOSPERFILESHARD; $sql="SELECT idperfilhard AS id, descripcion AS nombre, - '3' AS conjuntoid, grupoid + '$AMBITO_GRUPOSPERFILESHARD' AS conjuntoid, grupoid FROM perfileshard WHERE idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; case 'perfilessoftware': + global $AMBITO_GRUPOSPERFILESSOFT; $sql="SELECT idperfilsoft AS id, descripcion AS nombre, - '3' AS conjuntoid, grupoid + '$AMBITO_GRUPOSPERFILESSOFT' AS conjuntoid, grupoid FROM perfilessoft WHERE idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; case 'procedimientos': - $sql="SELECT idprocedimiento AS id, descripcion AS nombre, '2' AS conjuntoid, grupoid + global $AMBITO_GRUPOSPROCEDIMIENTOS; + $sql="SELECT idprocedimiento AS id, descripcion AS nombre, '$AMBITO_GRUPOSPROCEDIMIENTOS' AS conjuntoid, grupoid FROM procedimientos WHERE idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; case 'repositorios': - $sql="SELECT idrepositorio AS id, nombrerepositorio AS nombre, '1' AS conjuntoid, grupoid + global $AMBITO_GRUPOSREPOSITORIOS; + $sql="SELECT idrepositorio AS id, nombrerepositorio AS nombre, '$AMBITO_GRUPOSREPOSITORIOS' AS conjuntoid, grupoid FROM repositorios WHERE idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; case 'tareas': - $sql="SELECT idtarea AS id, descripcion AS nombre, ambito, '3' AS conjuntoid, grupoid + global $AMBITO_GRUPOSTAREAS; + $sql="SELECT idtarea AS id, descripcion AS nombre, ambito, '$AMBITO_GRUPOSTAREAS' AS conjuntoid, grupoid FROM tareas WHERE idcentro=$idcentro ORDER BY conjuntoid, grupoid;"; break; @@ -214,8 +326,8 @@ function nodos_arbol($tipo_nodo){ break; } -echo "sql: ".$sql; -echo "<br><br>"; +//echo "sql: ".$sql; +//echo "<br><br>"; $nodos=Array(); $grupos_hijos=Array(); $rs=new Recordset; diff --git a/admin/WebConsole/principal/acciones.php b/admin/WebConsole/principal/acciones.php index 6671b721..64394afe 100644 --- a/admin/WebConsole/principal/acciones.php +++ b/admin/WebConsole/principal/acciones.php @@ -691,17 +691,12 @@ echo "<br><br>"; $comandos=nodos_arbol("comandos"); $procedimientos=nodos_arbol("procedimientos"); $tareas=nodos_arbol("tareas"); +$grp_comandos[1]=Array (); $grp_procedimientos=grupos_arbol("procedimientos"); $grp_tareas=grupos_arbol("tareas"); -echo "<br><br>"; -print_r($comandos); -echo "<br><br>"; -print_r($procedimientos); -echo "<br><br>"; -print_r($tareas); -echo "<br><br>"; -print_r($grp_procedimientos); -echo "<br><br>"; -print_r($grp_tareas); +$nodos = $comandos + $procedimientos + $tareas; +$grupos = $grp_comandos + $grp_procedimientos + $grp_tareas; + +lista_raiz_arbol("software", $nodos, $grupos); ?> diff --git a/admin/WebConsole/principal/aulas.php b/admin/WebConsole/principal/aulas.php index 193a0c11..9700e35e 100644 --- a/admin/WebConsole/principal/aulas.php +++ b/admin/WebConsole/principal/aulas.php @@ -45,7 +45,8 @@ $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); // Crea e <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/aulas_'.$idioma.'.js"></SCRIPT>'?> </HEAD> -<BODY OnContextMenu="return false"> +<!-- BODY OnContextMenu="return false" --> +<BODY > <FORM name="fcomandos" action="" method="post" target="frame_contenidos"> <INPUT type="hidden" name="idcomando" value=""> <INPUT type="hidden" name="descricomando" value=""> @@ -112,9 +113,12 @@ $XMLcontextual=ContextualXMLAsistentes($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORE echo $flotante->CreaMenuContextual($XMLcontextual); +echo "<br><br><br>"; +echo "<br><br><br>"; //___________________________________________________________________________________________________ ?> + </BODY> </HTML> <?php @@ -1102,17 +1106,8 @@ function ContextualXMLNetBoot(){ return($layerXML); } -echo "<br><br>"; -echo "<br><br>"; -$aulas=nodos_arbol("aulas"); -$ordenadores=nodos_arbol("ordenadores"); -$grp_aulas=grupos_arbol("aulas"); -$grp_ordenadores=grupos_arbol("ordenadores"); -print_r($aulas); -echo "<br><br>"; -print_r($ordenadores); -echo "<br>gru aulas<br>"; -print_r($grp_aulas); -echo "<br><br>"; -print_r($grp_ordenadores); +$nodos=nodos_arbol("aulas"); +$grupos=grupos_arbol("aulas"); + +lista_raiz_arbol ("aulas",$nodos,$grupos); ?> diff --git a/admin/WebConsole/principal/hardwares.php b/admin/WebConsole/principal/hardwares.php index 465aeda0..4388082a 100644 --- a/admin/WebConsole/principal/hardwares.php +++ b/admin/WebConsole/principal/hardwares.php @@ -45,7 +45,8 @@ $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault,1,0,5); <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/hardwares_'.$idioma.'.js"></SCRIPT>'?> </HEAD> -<BODY OnContextMenu="return false"> +<!-- BODY OnContextMenu="return false" --> +<BODY> <?php //________________________________________________________________________________________________________ echo $arbol->CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML @@ -648,20 +649,14 @@ echo "<br><br>"; $tipos=nodos_arbol("tiposhardware"); $componentes=nodos_arbol("componenteshardware"); $perfiles=nodos_arbol("perfileshardware"); -$grp_tipos=grupos_arbol("tiposhardware"); +/* En la BD no existen grupos de tipos de software. + * Creo el grupo que 0 que es padre de los nodos sin grupo */ +$grp_tipos[1]=Array(); $grp_componentes=grupos_arbol("componenteshardware"); $grp_perfiles=grupos_arbol("perfileshardware"); -echo "<br><br>"; -print_r($tipos); -echo "<br><br>"; -print_r($componentes); -echo "<br><br>"; -print_r($perfiles); -echo "<br><br>"; -// No existen grupos de tipos de hardware, debe devolver array vacío. -print_r($grp_tipos); -echo "<br><br>"; -print_r($grp_componentes); -echo "<br><br>"; -print_r($grp_perfiles); + +$nodos=$tipos + $componentes + $perfiles; +$grupos=$grp_tipos + $grp_componentes + $grp_perfiles; + +lista_raiz_arbol("hardware", $nodos, $grupos); ?> diff --git a/admin/WebConsole/principal/imagenes.php b/admin/WebConsole/principal/imagenes.php index 4b226e35..29330aab 100644 --- a/admin/WebConsole/principal/imagenes.php +++ b/admin/WebConsole/principal/imagenes.php @@ -592,8 +592,8 @@ function listaGrupo($tipo,$idgrupo,$nivel,$orden,$imagenes,$grupos_hijos){ //$Repos=repos(); //$imagenes=img($Repos); //$grp_imagenes= grupos(); -$imagenes=nodos_arbol("imagenes"); -$grp_imagenes= grupos_arbol("imagenes"); -listaImg($imagenes,$grp_imagenes); +$nodos=nodos_arbol("imagenes"); +$grupos= grupos_arbol("imagenes"); +listaImg($nodos,$grupos); ?> diff --git a/admin/WebConsole/principal/menus.php b/admin/WebConsole/principal/menus.php index 2cc24552..eb78661f 100644 --- a/admin/WebConsole/principal/menus.php +++ b/admin/WebConsole/principal/menus.php @@ -307,9 +307,8 @@ function CreacontextualXMLMenu(){ echo "<br><br>"; echo "<br><br>"; -$menus=nodos_arbol("menus"); -$grp_menus=grupos_arbol("menus"); -print_r($menus); -echo "<br><br>"; -print_r($grp_menus); +$nodos=nodos_arbol("menus"); +$grupos=grupos_arbol("menus"); + +lista_raiz_arbol("software", $nodos, $grupos); ?> diff --git a/admin/WebConsole/principal/repositorios.php b/admin/WebConsole/principal/repositorios.php index 408c17ec..551edb5e 100644 --- a/admin/WebConsole/principal/repositorios.php +++ b/admin/WebConsole/principal/repositorios.php @@ -48,7 +48,8 @@ $XMLcontextual=ContextualXMLComandos($LITAMBITO_CENTROS,$AMBITO_CENTROS); <SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT> <?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comunes_'.$idioma.'.js"></SCRIPT>'?> </HEAD> -<BODY OnContextMenu="return false"> +<!-- BODY OnContextMenu="return false" --> +<BODY > <FORM name="fcomandos" action="" method="post" target="frame_contenidos"> <INPUT type="hidden" name="idcomando" value=""> <INPUT type="hidden" name="descricomando" value=""> @@ -362,9 +363,8 @@ function ContextualXMLComandos($litambito,$ambito){ } } echo "<br><br>"; -$repositorios=nodos_arbol("repositorios"); -$grp_repositorios=grupos_arbol("repositorios"); -print_r($repositorios); -echo "<br><br>"; -print_r($grp_repositorios); +$nodos=nodos_arbol("repositorios"); +$grupos=grupos_arbol("repositorios"); + +lista_raiz_arbol("repositorios", $nodos, $grupos); ?> diff --git a/admin/WebConsole/principal/softwares.php b/admin/WebConsole/principal/softwares.php index 7f587057..ecbd334f 100644 --- a/admin/WebConsole/principal/softwares.php +++ b/admin/WebConsole/principal/softwares.php @@ -802,20 +802,14 @@ echo "<br><br>"; $tipos=nodos_arbol("tipossoftware"); $componentes=nodos_arbol("componentessoftware"); $perfiles=nodos_arbol("perfilessoftware"); -$grp_tipos=grupos_arbol("tipossoftware"); +/* En la BD no existen grupos de tipos de hardware. + * Creo el grupo que 0 que es padre de los nodos sin grupo */ +$grp_tipo[1]=Array(); $grp_componentes=grupos_arbol("componentessoftware"); $grp_perfiles=grupos_arbol("perfilessoftware"); -echo "<br><br>"; -print_r($tipos); -echo "<br><br>"; -print_r($componentes); -echo "<br><br>"; -print_r($perfiles); -echo "<br><br>"; -// No existen grupos de tipos de hardware, debe devolver array vacío. -print_r($grp_tipos); -echo "<br><br>"; -print_r($grp_componentes); -echo "<br><br>"; -print_r($grp_perfiles); + +$nodos=$tipos + $componentes + $perfiles; +$grupos=$grp_componentes + $grp_perfiles; + +lista_raiz_arbol("software", $nodos, $grupos); ?> |