+// FIXME - Poner esto en algun lugar mejor.
+function arbol2array(&$db, $tabla, $actual, $id, $nombre, $padre, $order = '', $indent = ' ')
+{
+ // Para llevar el nivel de indentación
+ static $nivel = 0;
+ $nivel++;
+ $sql = "SELECT $id, $nombre
+ FROM $tabla";
+ if (!is_null($padre)) {
+ $sql .= " WHERE $padre = ".$db->quote($actual);
+ }
+ if ($order) {
+ $sql .= " ORDER BY $nombre $order";
+ }
+ $array = $db->getAssoc($sql);
+ if (DB::isError($array)) {
+ return $array;
+ }
+ $ret = array();
+ foreach ($array as $key => $val) {
+ $ret[$key] = str_repeat($indent, $nivel) . $val;
+ $ret += arbol2array($db, $tabla, $key, $id, $nombre, $padre, $order, $indent);
+ }
+ $nivel--;
+ return $ret;
+}
+