]> git.llucax.com Git - mecon/ai.git/commitdiff
Se hace el select lindo para elegir padre y para elegir antigüedad de
authorLeandro Lucarella <llucax@gmail.com>
Thu, 17 Jul 2003 22:43:33 +0000 (22:43 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Thu, 17 Jul 2003 22:43:33 +0000 (22:43 +0000)
noticias.

lib/AI/Form.php
sistema/www/index.php

index 582d704ef4416a5d95265574ff03cf023552f138..75be294ddd13f5efc473c049568d83e7318a2a14 100644 (file)
@@ -94,7 +94,11 @@ class AI_Form extends MECON_HTML_QuickForm {
             $fId->freeze();
         }
         if ($tipo == 'grupo' or $tipo == 'servicio') {
-            $fPadre  =& $this->addElement('text', $padre, 'Padre');
+            $tipos = array('' => '--', '0' => 'Página Principal') +
+                arbol2array(AI_DB::connect('../conf/DB.ini'),
+                ($tipo == 'grupo') ? 'grupo_secciones' : $tipo, 0, $tipo, 'nombre',
+                $tipo . '_padre');
+            $fPadre  =& $this->addElement('select', $padre, 'Padre', $tipos);
             $fNombre =& $this->addElement('text', 'nombre', 'Nombre');
             // Validación.
             $this->addRule('nombre', 'Debe ingresar un nombre.', 'required');
@@ -103,12 +107,13 @@ class AI_Form extends MECON_HTML_QuickForm {
                 'regex', '/^\d*$/');
             // Carga datos.
             if ($accion & (AI_BAJA | AI_MODIF)) {
-                $fPadre->setValue($obj->$padre);
+                $fPadre->setSelected($obj->$padre);
                 $fNombre->setValue($obj->nombre);
             }
         }
         if ($tipo == 'grupo') {
-            $fAntiguedad   =& $this->addElement('text', 'antiguedad', 'Antigüedad');
+            $fAntiguedad   =& $this->addElement('select', 'antiguedad', 'Antigüedad',
+                array(3 => '3 días', 1 => '1 día', 7 => '1 semana'));
             $fSecciones    =& $this->addElement('select', 'secciones', 'Secciones',
                 AI_GrupoSecciones::getSeccionesArray(),
                 array('multiple' => 'multiple', 'size' => 5));
@@ -118,7 +123,7 @@ class AI_Form extends MECON_HTML_QuickForm {
                 'regex', '/^\d*$/');
             // Carga datos.
             if ($accion & (AI_BAJA | AI_MODIF)) {
-                $fAntiguedad->setValue($obj->antiguedad);
+                $fAntiguedad->setSelected($obj->antiguedad);
                 $fSecciones->setSelected($obj->secciones);
                 $fMostrarHijos->setChecked($obj->mostrar_hijos);
             }
@@ -139,7 +144,7 @@ class AI_Form extends MECON_HTML_QuickForm {
             $fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
             //$fIcono     =& $this->addElement('text', 'icono', 'Ícono');
             $fIcono     =& $this->addElement('select', 'icono', 'Ícono',
-                listaImagenes('/var/www/sistemas/ai/sistema/www/images', $tipo . '_', '\.gif'));
+            listaImagenes('/var/www/sistemas/intranet/www/images', $tipo . '_', '\.gif'));
             // Carga datos.
             if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fLink->setValue($obj->link);
@@ -217,7 +222,9 @@ class AI_Form extends MECON_HTML_QuickForm {
 
 } // -X2C Class :AI_Form
 
-function listaImagenes($dir = '.', $prepend = '', $append = '') {
+// FIXME - Poner esto en algun lugar mejor.
+function listaImagenes($dir = '.', $prepend = '', $append = '')
+{
     $lista = array('' => '--');
     $d = dir($dir);
     while (($file = $d->read()) !== false) {
@@ -229,4 +236,31 @@ function listaImagenes($dir = '.', $prepend = '', $append = '') {
     return $lista;
 }
 
+// FIXME - Poner esto en algun lugar mejor.
+function arbol2array(&$db, $tabla, $actual, $id, $nombre, $padre, $order = '', $indent = '&nbsp;&nbsp;&nbsp;')
+{
+    // 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;
+}
+
 ?>
\ No newline at end of file
index ba761ef7da1750cc13447781457130eeaa0d1b58..3389553379da591f226e5a8f8ff56e74c41b1c2c 100644 (file)
@@ -211,11 +211,10 @@ if ($tipo) {
         'db'            => &$db,
         'tabla'         => $tabla,
         'id'            => $tipo,
-        'nombre'        => $tipo,
+        'nombre'        => 'nombre',
         'prepend_link'  => $tipo.'?accion='.AI_MODIF.'&id='
     );
     if ($tipo == 'grupo' or $tipo == 'servicio') {
-        $dbdata['nombre']   = 'nombre';
         $dbdata['id_padre'] = $tipo . '_padre';
     } elseif ($tipo == 'sistema') { // FIXME - horrible!!!
         $dbdata = array(