$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');
'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));
'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);
}
$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);
} // -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) {
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