summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/clases/ArbolVistaXML.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/WebConsole/clases/ArbolVistaXML.php')
-rw-r--r--admin/WebConsole/clases/ArbolVistaXML.php272
1 files changed, 0 insertions, 272 deletions
diff --git a/admin/WebConsole/clases/ArbolVistaXML.php b/admin/WebConsole/clases/ArbolVistaXML.php
deleted file mode 100644
index c8529070..00000000
--- a/admin/WebConsole/clases/ArbolVistaXML.php
+++ /dev/null
@@ -1,272 +0,0 @@
-<?
-include_once("XmlPhp.php");
-/*===============================================================
-Esta clase implementa la apariencia y comportamiento de un treeview en código HTML y javascript.
-La clase utiliza la clase XmlPhp.php para acceder al documento XML.
-
- Parámetros del constructor:
- -fXML=Fichero XML
- -fileocade=Indica si el dato anterior es un fichero o una variable con el contenido del árbol
- 0: Es una cadena
- 1: Es un fichero
- -baseurlimg= Url base de las imágenes de los nodos de contracción-expansión
- -clasedefault=Clase por defecto de los literales de los nodos
- -nivelexp= Máximo nivel que aparecera expandido
- -x= Posición x donde aparecerá la tabla
- -y= Posición y donde aparecerá la tabla
-=================================================================*/
-class ArbolVistaXML{
- var $baseurlimg; // Base de la URL de las imágenes de los nodos de contracción-expansión
- var $clasedefault; // Clase por defecto de los literales de los nodos
- var $gXML; // Objeto gestor del documento XML
- var $nivelexp; // Nivel máximo que aprecerá visible
- var $x; // Posición x donde aparecerá la tabla
- var $y; // Posición y donde aparecerá la tabla
- var $c_imgnivel=array(); // Imagenes de expansión y contracción para los distintos niveles
- var $v_imgnivel=array(); // Valores de expansión y contracción para los distintos niveles
- var $nodos_count; // Contador de nodo
-
- Function ArbolVistaXML($fXML,$fileocade,$baseurlimg="/.images/",$clasedefault,$nivelexp=0,$x=0,$y=0,$tipotabla=0,$titulotabla=""){
- // Constructor
- $this->gXML=new XmlPhp($fXML,$fileocade);
- $this->baseurlimg=$baseurlimg;
- $this->clasedefault=$clasedefault;
- $this->nivelexp=$nivelexp;
- $this->x=$x;
- $this->y=$y;
- $this->tipotabla=$tipotabla;
- $this->titulotabla=$titulotabla;
-
- // Anchura de los distibtos tipos de tablas
- if($this->tipotabla>0){
- $this->anchoM=" width=100% ";
- $this->ancho=" width=100% ";
- }
- else{
- $this->anchoM=" width=1024 ";
- $this->ancho="";
- }
- for($i=0;$i<=5;$i++){ // Inicializar
- $this->c_imgnivel[$i]=$this->baseurlimg.'/nada.gif';
- $this->v_imgnivel[$i]="nada";
- }
- $this->nodos_count=0;
- }
- /*------------------------------------------------------------------------------------------------
- Esta función devuelve una cadena con el contenido de un treeview en código HTML
- ------------------------------------------------------------------------------------------------*/
- Function CreaArbolVistaXML(){
- if (!$this->gXML->NodoRaiz()) return; // No existe documento XML que analizar
- $arbol_total='<TABLE border=0 '.$this->anchoM.' class="'.$this->clasedefault. '" style="POSITION:absolute;TOP:'.$this->y.'px;LEFT:'.$this->x.'px" class=texto_arbol cellspacing=0 cellpadding=0 border=0>';
- if($this->tipotabla>0) $arbol_total.='<TR><TH>'. $this->titulotabla .'</TH></TR>';
- $arbol_total.='<TR style="display:block">';
- $arbol_total.='<TD>';
- $arbol_total.='<TABLE id=tablanivel-0 border=0 cellspacing=0 cellpadding="0">';
- $arbol_total.=$this->_arbolXmlrecur(0);
- $arbol_total.='</TABLE>';
- $arbol_total.='</TD>';
- $arbol_total.='</TR>';
- $arbol_total.='</TABLE>';
- return($arbol_total);
- }
- // -------------------------------------------------------------------------------------
- // Recorrido recursivo del arbol XML
- // Parámetros:
- // nivel: nivel del nodo
- // -------------------------------------------------------------------------------------
- function _arbolXmlrecur($nivel){
- $arbol_total="";
- if ($nivel+1>$this->nivelexp) $displai="none"; else $displai="block";
- do{
- $gnptr=$this->gXML->nptr;
- $arbol_total.='<TR style="display:block" id=TRNodo-'.$this->nodos_count.'>';
- $arbol_total.='<TD>';
- $arbol_total.=$this->_dibujo_nodo($this->gXML->Nodo(),$nivel,$this->gXML->NumerodeHijos(),$this->gXML->EsUltimoHermano());
- $arbol_total.='</TD>';
- $arbol_total.='</TR>';
- $this->nodos_count++;
- if ($this->gXML->PrimerNodoHijo()){
- $arbol_total.='<TR id="TRNodoHijo-'.$this->nodos_count.'" style="display:'.$displai.'">';
- $arbol_total.='<TD>';
- $arbol_total.='<TABLE id="tablanivel-'.($nivel+1).'" border=0 cellspacing=0 cellpadding=0>';
- $arbol_total.=$this->_arbolXmlrecur($nivel+1);
- $arbol_total.='</TABLE>';
- $arbol_total.='</TD>';
- $arbol_total.='</TR>';
- }
- $this->gXML->nptr=$gnptr;
- }while($this->gXML->SiguienteNodoHermano());
- return($arbol_total);
- }
- // -------------------------------------------------------------------------------------
- // Crea un nodo
- // Parámetros:
- // nivel: nivel del nodo
- // -------------------------------------------------------------------------------------
- function CreaNodo($nivel){
- $nodo=$this->_dibujo_nodo($this->gXML->Nodo(),$nivel,0,true);
- return($nodo);
- }
- /*------------------------------------------------------------------------------------------------
- Dibuja los nodos del árbol
- parámetros:
- nodo: La información del nodo
- nivel: Nivel del nodo
- nhijos: numero de hijos
- uhermano: Es true si el nodo es el último de sus hermanos
-
- Especificaciones:
- Los atributos de los nodos pueden ser HTML o especificos de
- esta aplicación. Lso atributos del nodo propios de ésta son:
-
- - clicksupimg: Función suplementaria de la imagen de signo
- - imagenid: Identificador de la imagen de signo
- - clickimg: La función que se ejecutará al hacer click sobre la imagen de nodo
- - downimg: La función que se ejecutará al pulsar el ratón sobre la imagen de nodo
- - clickcontextualimg: Función que se ejecutara al hacer click con el boton derecho sobre la imagen del nodo
- - imagenodo: Es la url de la imagen de nodo
- - infonodo: Es texto que se visualiza del nodo
- - mouseovernodo: La función a ejecutar cuando se posa el ratón sobre el literal del nodo
- - clicksupnodo: Función suplementaria del literal del nodo
- - clickcontextualnodo: Función que se ejecutara al hacer click con el boton derecho sobre el nodo
- - classnodo: Clase (style) a la que pertenece el nodo
- - nodoid: identificador del nodo
- - nodovalue: parametro value del nodo
- ------------------------------------------------------------------------------------------------*/
- function _dibujo_nodo($nodo,$nivel,$nhijos,$uhermano){
- // Comprobar descendencia y posición dentro de los hermanos
- $swu=false; // switch para saber si el nodo es el último hermano
- $swh=false; // switch para saber si el nodo tiene hijos
- if ($nhijos>0) $swh=true;
- $swu=$uhermano;
- if ($swh){ // Si tiene hijos ..
- if ($swu){ // Si es el último de sus hermanos ..
- if ($nivel<$this->nivelexp){
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/menos_c.gif';
- $this->v_imgnivel[$nivel]="menos_c";
- }
- else{
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/mas_c.gif';
- $this->v_imgnivel[$nivel]="mas_c";
- }
- }
- else{ // Si NO lo es ..
- if ($nivel<$this->nivelexp){
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/menos_t.gif';
- $this->v_imgnivel[$nivel]="menos_t";
- }
- else{
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/mas_t.gif';
- $this->v_imgnivel[$nivel]="mas_t";
- }
- }
- if ($nivel==0){
- if ($this->nivelexp>0)
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/menos_root.gif';
- else
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/mas_root.gif';
- }
- }
- else{ // Si NO tiene hijos ..
- if ($swu){ // Si es el último de sus hermanos ..
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada_c.gif';
- $this->v_imgnivel[$nivel]="nada_c";
- }
- else{ // Si no lo es ..
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada_t.gif';
- $this->v_imgnivel[$nivel]="nada_t";
- }
- }
- // Fin Comprobar descendencia y posición dentro de los hermanos
- if($this->tipotabla==0)
- $arbol='<TABLE border=0 cellspacing=0 cellpadding=0>';
- else
- $arbol='<TABLE style="BORDER-BOTTOM:#000000 1px solid;" border=0 cellspacing=0 cellpadding=0>';
- $arbol.='<TR height="16px">';
- $atributosHTML=" ";
- $atributosHTML=$this->gXML->Atributos($nodo);
- $colornodo="";
- $fondonodo="";
- $estilo="";
- $atributosHTML=$this->gXML->TomaAtributoEspecial("colornodo",$colornodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("fondonodo",$fondonodo,$atributosHTML);
- if ($colornodo!="" ) $colornodo=' COLOR:'.$colornodo.";";
- if ($fondonodo!="" ) $fondonodo=' BACKGROUND-COLOR:'.$fondonodo.";";
- $estilo=$colornodo || $fondonodo;
- if ($estilo!="" ) $estilo='style="'.$colornodo.$fondonodo.'"';
-
- for ($i=0;$i<$nivel;$i++){ // Niveles previos
- $arbol.='<TD '.$estilo.'width="3px"></TD>';
- $arbol.='<TD '.$estilo.' width="16px"><IMG src="'.$this->c_imgnivel[$i].'" width="16px" height="16px" ></TD>';
- }
- $arbol.='<TD '.$estilo.' width="3px"></TD>'; // Desplazamiento de la imagen
- $arbol.='<TD '.$estilo.' width="16px">';
-
- $imagenid="";
- $clicksupimg="";
- $atributosHTML=$this->gXML->TomaAtributoEspecial("imagenid",$imagenid,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("clicksupimg",$clicksupimg,$atributosHTML);
- if ($clicksupimg!="") $clicksupimg.=';';
- if ($swh){ // El nodo tiene hijos
- $arbol.='<A href="#nodo"><IMG border=0 '.$estilo.' id="'.$imagenid.'" onclick="clickImagenSigno(this,' ."'".$this->baseurlimg."'".','.$nivel.');'.$clicksupimg.'" src="'.$this->c_imgnivel[$nivel].'" width="16px" height="16px" value="'.$this->v_imgnivel[$nivel].'"></A></TD>';
- }
- else
- $arbol.='<SPAN><IMG '.$estilo.' id="'.$imagenid.'" src="'.$this->c_imgnivel[$nivel].'" width="16px" height="16px" value="'.$this->v_imgnivel[$nivel].'"></SPAN></TD>';
-
- $imagenodo="";
- $clickimg="";
- $downimg="";
- $clickcontextualimg="";
- $styleimg="";
-
- $atributosHTML=$this->gXML->TomaAtributoEspecial("imagenodo",$imagenodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("clickimg",$clickimg,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("downimg",$downimg,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("clickcontextualimg",$clickcontextualimg,$atributosHTML);
- if ($clickimg!="" ) $clickimg=' onclick="'.$clickimg.'" ';
- if ($downimg!="" ) $downimg=' onmousedown="'.$downimg.'" ';
- if ($clickcontextualimg!="" ) $clickcontextualimg=' oncontextmenu=" '.$clickcontextualimg.'" ';
-
- if ($clickimg!="" || $downimg!="" || $clickcontextualimg!="" ) $styleimg=' style="cursor:hand"';
-
- $arbol.='<TD '.$estilo.' width=16px><IMG '.$styleimg.' src="'.$imagenodo.'"'.$clickimg.$downimg.$clickcontextualimg.' width="16px" height="16px"></TD>';
- $arbol.='<TD '.$estilo.' width="4px"></TD>';
-
- $clicksupnodo="";
- $clickcontextualnodo="";
- $classnodo="";
- $nodoid="";
- $nodovalue="";
- $mouseovernodo="";
- $infonodo="";
-
- $atributosHTML=$this->gXML->TomaAtributoEspecial("clickcontextualnodo",$clickcontextualnodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("clicksupnodo",$clicksupnodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("classnodo",$classnodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("nodoid",$nodoid,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("nodovalue",$nodovalue,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("colornodo",$colornodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("fondonodo",$fondonodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("mouseovernodo",$mouseovernodo,$atributosHTML);
- $atributosHTML=$this->gXML->TomaAtributoEspecial("infonodo",$infonodo,$atributosHTML);
- if ($clickcontextualnodo!="" ) $clickcontextualnodo=' oncontextmenu="'.$clickcontextualnodo.'" ';
- if ($mouseovernodo!="" ) $mouseovernodo=' onmouseover="'.$mouseovernodo.'" ';
- if ($nodovalue!="" ) $nodovalue=' value="'.$nodovalue.'" ';
- if (!$classnodo) $classnodo=$this->clasedefault;
-
- $arbol.='<TD width="1024px" '.$estilo.' class="'.$classnodo.'">';
- $arbol.='<A href="#nodo" class="'.$this->clasedefault. '" style="text-decoration: none"><SPAN id="'.$nodoid.'" ';
- if($this->tipotabla<2){
- $arbol.=' onclick="clickLiteralNodo(this ,' ."'".$this->baseurlimg."'".');';
- $arbol.=" ".$clicksupnodo.'"'.$nodovalue.$mouseovernodo.$clickcontextualnodo;
- }
- $arbol.=' >'.$infonodo.'</SPAN></A></TD>';
- $arbol.='</TR>';
- $arbol.='</TABLE>';
- if ($swu)
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada.gif';
- else
- $this->c_imgnivel[$nivel]=$this->baseurlimg.'/nada_l.gif';
- return($arbol);
- }
-} // Fin de la clase \ No newline at end of file