-----------------------------------------------------------------------------*/
require_once 'HTML/Table.php';
-require_once 'HTML/Image.php';
+require_once 'MECON/HTML/Image.php';
-class HTML_Arbol extends HTML_Table
+class MECON_HTML_Arbol extends HTML_Table
{
var $datos;
var $titulo;
* @param string $titulo Título.
* @param int $raiz Nodo raíz (de donde empezar a dibujar el árbol).
*/
- function HTML_Arbol($datos, $titulo, $link_append = '')
+ function MECON_HTML_Arbol($datos, $titulo, $link_append = '')
{
parent::HTML_Table(array(
'width' => '132',
$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['activado']) && $e['activado'] != 0) $class = 'menu_activo';
+ if(isset($e['activo']) && $e['activo'] != 0) $class = 'menu_activo';
else $class = $classes[$n];
if(!is_null($e['link'])) {
$link = $e['link'];
$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 '<link rel="stylesheet" href="'.$this->getCSS().'">'.parent::toHTML();
+ return parent::toHTML();
}
function expandirArray($dat, $n, $filtrarActivos)
foreach ($dat as $e) {
// Si no tiene ID o esta activo y se filtran los activos, se
// continua con el proximo item.
- if (!@$e['id'] or $filtrarActivos and @$e['activado']) {
+ if (!@$e['id'] or $filtrarActivos and @$e['activo']) {
continue;
}
$array[$e['id']] = str_repeat(' ', $n) . $e['titulo'];
return $this->expandirArray($this->datos, 0, $filtrarActivos);
}
+ function expandirString($dat, $n, $filtrarActivos)
+ {
+ $str = '';
+ $tot = count($dat);
+ for ($i = 0; $i < $tot; $i++) {
+ $e = $dat[$i];
+ // Si no tiene ID o esta activo y se filtran los activos, se
+ // continua con el proximo item.
+ if (!@$e['id'] or $filtrarActivos and @$e['activo']) {
+ continue;
+ }
+ $indent = str_repeat('| ', $n);
+ if ($i == ($tot - 1)) {
+ $indent .= '`- ';
+ } else {
+ $indent .= '|- ';
+ }
+ $str .= $indent . $e['titulo'] . "\n";
+ if(@$e['sub']) {
+ $str .= $this->expandirString($e['sub'], $n + 1, $filtrarActivos);
+ }
+ }
+ return $str;
+ }
+
+ function toString($filtrarActivos = true)
+ {
+ return $this->expandirString($this->datos, 0, $filtrarActivos);
+ }
+
/**
* Activa un nodo del árbol.
*
* @param int $id Id del nodo a modificar.
- * @param bool $activado Nuevo valor, true si está activado, false si no.
+ * @param bool $activo Nuevo valor, true si está activo, false si no.
*
* @return bool True si se pudo modificar.
*/
- function setActivado($id, $activado = 1) {
- return $this->modificarNodo($this->datos, $id, 'activado', $activado);
+ function setActivo($id, $activo = 1) {
+ return $this->modificarNodo($this->datos, $id, 'activo', $activo);
}
/**