X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/85d73a355f6ca393b1be0575338782a4502a073d..6e0df7b212f1a721cf8df887c629b67957871225:/sistema/www/index.php?ds=sidebyside diff --git a/sistema/www/index.php b/sistema/www/index.php index fd28d80..5b5c97e 100644 --- a/sistema/www/index.php +++ b/sistema/www/index.php @@ -27,9 +27,32 @@ // $Id$ // -// Requires generales. {{{ -require_once 'MECON/HTML/Arbol/ArbolDB.php'; -require_once 'AIForm.php'; +// Debug. {{{ +require_once 'PEAR.php'; +PEAR::setErrorHandling(PEAR_ERROR_TRIGGER); +// }}} + +// Creo el Marco. {{{ +require_once 'MECON/Marco.php'; +$marco = new Marco('../conf/Marco.php'); +// }}} + +// Agrego una barra al costado con el listado de objetos (XXX - va a ir en Marco). {{{ +require_once 'HTML/Table.php'; +$layout = new HTML_Table( + array( + 'width' => '100%', + 'align' => 'center', + 'valign' => 'top', + 'border' => 0, + 'cellspacing' => 0, + 'cellpadding' => 0, + ) +); +$layout->setAutoGrow(true); +$layout->setCellAttributes(0, 0, array('width' => '1')); +$layout->setCellAttributes(0, 1, array('width' => '10')); +$layout->setCellContents(0, 1, ' '); // }}} // Averiguo si estoy administrando algún tipo de objeto. {{{ @@ -37,58 +60,48 @@ $tipo = null; if (@$_SERVER['PATH_INFO']) { $tmp = ltrim($_SERVER['PATH_INFO'], '/'); if ($tmp == 'grupo') { - $tipo = $tmp; - $clase = 'GrupoSecciones'; - $tabla = 'grupo_secciones'; + $tipo = $tmp; + $clase = "AI_GrupoSecciones"; + $require = 'AI/GrupoSecciones.php'; + $tabla = 'grupo_secciones'; } elseif ($tmp == 'servicio') { - $tipo = $tmp; - $clase = 'Servicio'; - $tabla = $tipo; + $tipo = $tmp; + $clase = 'AI_Servicio'; + $require = 'AI/Servicio.php'; + $tabla = $tipo; } elseif ($tmp == 'sistema') { - $tipo = $tmp; - $clase = 'Sistema'; - $tabla = $tipo; + $tipo = $tmp; + $clase = 'AI_Sistema'; + $require = 'AI/Sistema.php'; + $tabla = $tipo; } else { // No hay un objeto válido para administrar. header('Location: '.$_SERVER['SCRIPT_NAME']); } } // }}} -// Si tiene una clase, estamos editando algo. {{{ +// Si tiene un tipo, estamos editando algo. {{{ if ($tipo) { - // Creo el árbol con los servicios. {{{ - $dbdata = array( - 'db' => &$DB, - 'tabla' => $tabla, - 'id' => $tipo, - 'nombre' => $tipo, - 'prepend_link' => $tipo . '?accion='.MODIFICACION.'&id=' - ); - if ($tipo == 'grupo' or $tipo == 'servicio') { - $dbdata['nombre'] = 'nombre'; - $dbdata['id_padre'] = $tipo . '_padre'; - } - $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif'); + + // Creo formulario. {{{ + require_once 'AI/Form.php'; + $form =& new AI_Form; // }}} // Creo un objeto y seteo su id. {{{ - require_once "$clase.php"; + require_once $require; $obj = new $clase; $obj->$tipo = @$_REQUEST['id']; // }}} - // Creo formulario. {{{ - $form =& new AIForm; - // }}} - // Verifico que la acción sea válida. {{{ switch(@$_REQUEST['accion']) { - case BAJA: - case MODIFICACION: + case AI_BAJA: + case AI_MODIF: $accion = $_REQUEST['accion']; break; default: - $accion = ALTA; + $accion = AI_ALTA; } // }}} @@ -99,34 +112,42 @@ if ($tipo) { } switch ($boton) { case 'aceptar_agregar': - $accion = ALTA; + $accion = AI_ALTA; break; case 'modificar_borrar': // Viene de modificar, hay que confirmar primero. $a_confirmar = true; case 'aceptar_borrar': - $accion = BAJA; + $accion = AI_BAJA; $obj->$tipo = $form->getSubmitValue($tipo); break; case 'borrar_cancelar': // Indico que viene de un formulario cancelado. $cancelado = true; case 'aceptar_modificar': - $accion = MODIFICACION; + $accion = AI_MODIF; $obj->$tipo = $form->getSubmitValue($tipo); break; } // }}} + // Creo la base de datos. {{{ + require_once 'AI/DB.php'; + $db =& AI_DB::connect('../conf/DB.ini'); + if (DB::isError($db)) { + die($db->getMessage()); + } + // }}} + // Inicio el formulario, cargando datos de ser necesario. {{{ - if ($accion & (BAJA | MODIFICACION)) { - $err =& $obj->cargar($DB); + if ($accion & (AI_BAJA | AI_MODIF)) { + $err =& $obj->cargar($db); if (PEAR::isError($err)) { die($err->getMessage()); } $form->iniciar($obj, $accion); } else { - $accion = ALTA; + $accion = AI_ALTA; $form->iniciar($obj); } // }}} @@ -137,24 +158,25 @@ if ($tipo) { } // }}} - // Me fijo si se cargo un formulalrio y si es válido. {{{ + // Me fijo si se cargo un formulalrio y si es válido hago el ABM. {{{ if ($form->validate()) { + switch ($accion) { - case ALTA: // {{{ + case AI_ALTA: // {{{ $form->llenarObjeto($obj); - $err =& $obj->guardar($DB); + $err =& $obj->guardar($db); if (PEAR::isError($err)) { die($err->getMessage()); } header(sprintf('Location: %s?accion=%d&id=%d', - $tipo, MODIFICACION, $obj->$tipo)); + $tipo, AI_MODIF, $obj->$tipo)); exit; break; // }}} - case BAJA: // {{{ + case AI_BAJA: // {{{ if (!@$a_confirmar) { $form->llenarObjeto($obj); - $err =& $obj->borrar($DB); + $err =& $obj->borrar($db); if (PEAR::isError($err)) { die($err->getMessage()); } @@ -163,15 +185,15 @@ if ($tipo) { } break; // }}} - case MODIFICACION: // {{{ + case AI_MODIF: // {{{ if (!@$cancelado) { $form->llenarObjeto($obj); - $err =& $obj->guardar($DB); + $err =& $obj->guardar($db); if (PEAR::isError($err)) { die($err->getMessage()); } header(sprintf('Location: %s?accion=%d&id=%d', - $tipo, MODIFICACION, $obj->$tipo)); + $tipo, AI_MODIF, $obj->$tipo)); exit; } break; @@ -180,23 +202,39 @@ if ($tipo) { } // }}} + // Creo el árbol con el tipo de objeto que manejo. {{{ + require_once 'MECON/HTML/Arbol/ArbolDB.php'; + $dbdata = array( + 'db' => &$db, + 'tabla' => $tabla, + 'id' => $tipo, + 'nombre' => $tipo, + 'prepend_link' => $tipo.'?accion='.AI_MODIF.'&id=' + ); + if ($tipo == 'grupo' or $tipo == 'servicio') { + $dbdata['nombre'] = 'nombre'; + $dbdata['id_padre'] = $tipo . '_padre'; + } + $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif'); + // }}} + // Agrego al cuerpo de la página las cosas que voy a dibujar. {{{ - $LAYOUT->setCellContents(0, 0, $arbol); - $LAYOUT->setCellContents(0, 2, $form); - $MARCO->addBody($LAYOUT); + $layout->setCellContents(0, 0, $arbol); + $layout->setCellContents(0, 2, $form); + $marco->addBody($layout); // }}} // }}} // No se está editando nada, agrego al cuerpo de la página la pantalla de entrada {{{ } else { require_once 'HTML/Image.php'; - $MARCO->setEspacios(false); - $MARCO->addBody(new HTML_Image('images/home', 'Adminitrador de Intranet')); + $marco->setEspacios(false); + $marco->addBody(new HTML_Image('images/home', 'Adminitrador de Intranet')); } // }}} // Dibujo. {{{ -$MARCO->display(); +$marco->display(); // }}} ?>