X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/24fd3e0f15c00f9048fc2b5ad2be287f50eb2824..2952acdb7919c6e17bcd4c45ecd3c4e71861afe7:/lib/MECON/HTML/Arbol.php diff --git a/lib/MECON/HTML/Arbol.php b/lib/MECON/HTML/Arbol.php index d86c49e..7c39ca2 100644 --- a/lib/MECON/HTML/Arbol.php +++ b/lib/MECON/HTML/Arbol.php @@ -26,12 +26,38 @@ $Id$ -----------------------------------------------------------------------------*/ require_once 'HTML/Table.php'; -require_once 'HTML/Image.php'; +require_once 'MECON/HTML/Image.php'; -class HTML_Arbol extends HTML_Table +/** + * DESC + * + * @access public + */ +class MECON_HTML_Arbol extends HTML_Table { + + /** + * DESC + * + * @var TIPO $datos + * @access public + */ var $datos; + + /** + * DESC + * + * @var TIPO $titulo + * @access public + */ var $titulo; + + /** + * DESC + * + * @var string $link_append + * @access public + */ var $link_append; /** @@ -39,9 +65,12 @@ class HTML_Arbol extends HTML_Table * * @param array $datos Datos con los cuales construir el árbol. * @param string $titulo Título. - * @param int $raiz Nodo raíz (de donde empezar a dibujar el árbol). + * @param string $link_append DESC. + * + * @return void + * @access public */ - function HTML_Arbol($datos, $titulo, $link_append = '') + function MECON_HTML_Arbol($datos, $titulo, $link_append = '') { parent::HTML_Table(array( 'width' => '132', @@ -54,10 +83,26 @@ class HTML_Arbol extends HTML_Table $this->link_append = $link_append; } + /** + * Devuelve el path del stylesheet de esta clase + * + * @retur string + * @access public + */ function getCSS() { - return '/MECON/css/arbol'; + return '/MECON/css/html/arbol'; } + /** + * DESC + * + * @param TIPO $dat DESC + * @param TIPO $n DESC + * @param TIPO &$tabla DESC + * + * @return TIPO + * @access public + */ function expandir($dat, $n, &$tabla) { $bullets = array( @@ -72,27 +117,29 @@ class HTML_Arbol extends HTML_Table '-', '·' ); - $classes = array('menu', 'menu1', 'menu1', 'menu2'); + $classes = array('mecon_html_arbol_menu', 'mecon_html_arbol_menu1', + 'mecon_html_arbol_menu1', 'mecon_html_arbol_menu2'); $tabulados = 7; $atr = array( 'border' => '0', 'width' => $n * $tabulados, - 'height' => '10' + 'height' => '1' ); $margen = ' '; if ($n) { - $margen = new HTML_Image('/MECON/images/blanco.gif', str_repeat('  ', $n), $atr); + $margen = new MECON_HTML_Image('/MECON/images/blanco.gif', str_repeat('  ', $n), $atr); $margen = $margen->toHtml(); } $imagen = ''; if (@$bullets[$n]) { - $imagen = new HTML_Image($bullets[$n], @$alts[$n]); + $imagen = new MECON_HTML_Image($bullets[$n], @$alts[$n]); $imagen = $imagen->toHtml(); } foreach ($dat as $e) { - $titulo = $margen.$imagen.$e['titulo']; - if(isset($e['activo']) && $e['activo'] != 0) $class = 'menu_activo'; - else $class = $classes[$n]; + $titulo = $e['titulo']; + if(isset($e['activo']) && $e['activo'] != 0) $class = 'mecon_html_arbol_menu_activo'; + else $class = @$classes[$n] ? $classes[$n] : end($classes); + if(isset($e['bold'])) $class .= '_bold'; if(!is_null($e['link'])) { $link = $e['link']; if ($this->link_append and @$e['id']) { @@ -100,6 +147,7 @@ class HTML_Arbol extends HTML_Table } $titulo = ''.$titulo.''; } + $titulo = '
'.$margen.$imagen.''.$titulo.'
';//TODO $tabla->addRow(array($titulo), array('class' => $class)); if(isset($e['sub'])) { $this->expandir($e['sub'], $n+1, $tabla); @@ -107,6 +155,12 @@ class HTML_Arbol extends HTML_Table } } + /** + * Devuelve el html a imprimir + * + * @return string + * @access public + */ function toHTML() { $this->setRowCount(0); @@ -115,7 +169,7 @@ class HTML_Arbol extends HTML_Table 'border' => '0', 'cellspacing' => '2', 'cellpadding' => '0', - 'class' => 'bodytext')); + 'class' => 'mecon_html_arbol_bodytext')); $titulo = new HTML_Table(array( 'width' => '132', 'height' => '26', @@ -126,14 +180,23 @@ class HTML_Arbol extends HTML_Table 'background' => '/MECON/images/arbol_titulo.gif')); $titulo->addRow(array($this->titulo), array( 'align' => 'center', - 'class' => 'arboltitulo')); + 'class' => 'mecon_html_arbol_titulo')); $this->addRow(array($titulo), array('bgcolor' => '#FFFFFF')); $this->expandir($this->datos, 0, $t_interna); $this->addRow(array($t_interna->toHTML())); - // FIXME - sacar la style sheet de aca. - return ''.parent::toHTML(); + return parent::toHTML(); } + /** + * DESC + * + * @param TIPO $dat DESC + * @param TIPO $n DESC + * @param TIPO $filtarActivos DESC + * + * @return array + * @access public + */ function expandirArray($dat, $n, $filtrarActivos) { $array = array(); @@ -151,11 +214,29 @@ class HTML_Arbol extends HTML_Table return $array; } + /** + * DESC + * + * @param bool $filtrarActivos DESC + * + * @return array + * @access public + */ function toArray($filtrarActivos = true) { return $this->expandirArray($this->datos, 0, $filtrarActivos); } + /** + * DESC + * + * @param TIPO $dat DESC + * @param TIPO $n DESC + * @param TIPO $filtarActivos DESC + * + * @return string + * @access public + */ function expandirString($dat, $n, $filtrarActivos) { $str = ''; @@ -181,6 +262,14 @@ class HTML_Arbol extends HTML_Table return $str; } + /** + * DESC + * + * @param bool $filtrarActivos DESC + * + * @return string + * @access public + */ function toString($filtrarActivos = true) { return $this->expandirString($this->datos, 0, $filtrarActivos); @@ -193,6 +282,7 @@ class HTML_Arbol extends HTML_Table * @param bool $activo Nuevo valor, true si está activo, false si no. * * @return bool True si se pudo modificar. + * @access public */ function setActivo($id, $activo = 1) { return $this->modificarNodo($this->datos, $id, 'activo', $activo); @@ -207,6 +297,7 @@ class HTML_Arbol extends HTML_Table * @param mixed $val Nuevo valor. * * @return bool True si se pudo modificar. + * @access public */ function modificarNodo(&$datos, $id, $key, $val) { foreach (array_keys($datos) as $k) {