From 4f16237e29c9678f0edde0806ceb84050caa777d Mon Sep 17 00:00:00 2001 From: irinagomez Date: Fri, 20 Mar 2020 14:23:40 +0000 Subject: #969 node tree: Left frame shows node tree. Functions lista_raiz_arbol and lista_grupo_arbol are created and used in all left frames. --- admin/WebConsole/includes/arbol.php | 154 ++++++++++++++++++++++++---- admin/WebConsole/principal/acciones.php | 15 +-- admin/WebConsole/principal/aulas.php | 23 ++--- admin/WebConsole/principal/hardwares.php | 25 ++--- admin/WebConsole/principal/imagenes.php | 6 +- admin/WebConsole/principal/menus.php | 9 +- admin/WebConsole/principal/repositorios.php | 12 +-- 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 @@ texto=$sql; - echo "text: ".$cmd->texto; - echo "

"; + //echo "text: ".$cmd->texto; + //echo "

"; $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".' "."\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 '"."\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 "

"; +//echo "sql: ".$sql; +//echo "

"; $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 "

"; $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 "

"; -print_r($comandos); -echo "

"; -print_r($procedimientos); -echo "

"; -print_r($tareas); -echo "

"; -print_r($grp_procedimientos); -echo "

"; -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 '?> '?> - + +
@@ -112,9 +113,12 @@ $XMLcontextual=ContextualXMLAsistentes($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORE echo $flotante->CreaMenuContextual($XMLcontextual); +echo "


"; +echo "


"; //___________________________________________________________________________________________________ ?> +
"; -echo "

"; -$aulas=nodos_arbol("aulas"); -$ordenadores=nodos_arbol("ordenadores"); -$grp_aulas=grupos_arbol("aulas"); -$grp_ordenadores=grupos_arbol("ordenadores"); -print_r($aulas); -echo "

"; -print_r($ordenadores); -echo "
gru aulas
"; -print_r($grp_aulas); -echo "

"; -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); '?> '?> - + + CreaArbolVistaXML(); // Crea árbol (HTML) a partir del XML @@ -648,20 +649,14 @@ echo "

"; $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 "

"; -print_r($tipos); -echo "

"; -print_r($componentes); -echo "

"; -print_r($perfiles); -echo "

"; -// No existen grupos de tipos de hardware, debe devolver array vacío. -print_r($grp_tipos); -echo "

"; -print_r($grp_componentes); -echo "

"; -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 "

"; echo "

"; -$menus=nodos_arbol("menus"); -$grp_menus=grupos_arbol("menus"); -print_r($menus); -echo "

"; -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); '?> - + + @@ -362,9 +363,8 @@ function ContextualXMLComandos($litambito,$ambito){ } } echo "

"; -$repositorios=nodos_arbol("repositorios"); -$grp_repositorios=grupos_arbol("repositorios"); -print_r($repositorios); -echo "

"; -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 "

"; $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 "

"; -print_r($tipos); -echo "

"; -print_r($componentes); -echo "

"; -print_r($perfiles); -echo "

"; -// No existen grupos de tipos de hardware, debe devolver array vacío. -print_r($grp_tipos); -echo "

"; -print_r($grp_componentes); -echo "

"; -print_r($grp_perfiles); + +$nodos=$tipos + $componentes + $perfiles; +$grupos=$grp_componentes + $grp_perfiles; + +lista_raiz_arbol("software", $nodos, $grupos); ?> -- cgit v1.2.3-18-g5258