From 0834f9eb09be614474da40ea6a62f13fc791e3fb Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Thu, 17 Jul 2003 22:43:33 +0000 Subject: [PATCH] =?utf8?q?Se=20hace=20el=20select=20lindo=20para=20elegir?= =?utf8?q?=20padre=20y=20para=20elegir=20antig=C3=BCedad=20de=20noticias.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- lib/AI/Form.php | 46 +++++++++++++++++++++++++++++++++++++------ sistema/www/index.php | 3 +-- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/lib/AI/Form.php b/lib/AI/Form.php index 582d704..75be294 100644 --- a/lib/AI/Form.php +++ b/lib/AI/Form.php @@ -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 = '   ') +{ + // 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 diff --git a/sistema/www/index.php b/sistema/www/index.php index ba761ef..3389553 100644 --- a/sistema/www/index.php +++ b/sistema/www/index.php @@ -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( -- 2.43.0