-----------------------------------------------------------------------------*/
require_once 'HTML/Table.php';
-require_once 'HTML/Image.php';
+require_once 'MECON/HTML/Image.php';
+/**
+ * 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;
/**
*
* @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 MECON_HTML_Arbol($datos, $titulo, $link_append = '')
{
$this->link_append = $link_append;
}
+ /**
+ * Devuelve el path del stylesheet de esta clase
+ *
+ * @retur string
+ * @access public
+ */
function getCSS() {
return '/MECON/css/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(
);
$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'];
+ $titulo = $e['titulo'];
if(isset($e['activo']) && $e['activo'] != 0) $class = 'menu_activo';
else $class = $classes[$n];
+ if(isset($e['bold'])) $class .= '_bold';
if(!is_null($e['link'])) {
$link = $e['link'];
if ($this->link_append and @$e['id']) {
}
$titulo = '<a href="'.$link.'" class="'.$class.'">'.$titulo.'</a>';
}
+ $titulo = '<table border=0 cellpadding=0 cellspacing=0 align="left"><tr><td valign="top">'.$margen.$imagen.'</td><td>'.$titulo.'</td></tr></table>';//TODO
$tabla->addRow(array($titulo), array('class' => $class));
if(isset($e['sub'])) {
$this->expandir($e['sub'], $n+1, $tabla);
}
}
+ /**
+ * Devuelve el html a imprimir
+ *
+ * @return string
+ * @access public
+ */
function toHTML()
{
$this->setRowCount(0);
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();
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 = '';
return $str;
}
+ /**
+ * DESC
+ *
+ * @param bool $filtrarActivos DESC
+ *
+ * @return string
+ * @access public
+ */
function toString($filtrarActivos = true)
{
return $this->expandirString($this->datos, 0, $filtrarActivos);
* @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);
* @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) {