summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/WebConsole/includes/arbol.php154
-rw-r--r--admin/WebConsole/principal/acciones.php15
-rw-r--r--admin/WebConsole/principal/aulas.php23
-rw-r--r--admin/WebConsole/principal/hardwares.php25
-rw-r--r--admin/WebConsole/principal/imagenes.php6
-rw-r--r--admin/WebConsole/principal/menus.php9
-rw-r--r--admin/WebConsole/principal/repositorios.php12
-rw-r--r--admin/WebConsole/principal/softwares.php22
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);
?>