-<?php
-// vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker:
-// +--------------------------------------------------------------------+
-// | Ministerio de Economía |
-// | AI (Administrador de Intranet) |
-// +--------------------------------------------------------------------+
-// | This file is part of AI. |
-// | |
-// | AI is free software; you can redistribute it and/or modify |
-// | it under the terms of the GNU General Public License as published |
-// | by the Free Software Foundation; either version 2 of the License, |
-// | or (at your option) any later version. |
-// | |
-// | AI is distributed in the hope that it will be useful, but |
-// | WITHOUT ANY WARRANTY; without even the implied warranty of |
-// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
-// | General Public License for more details. |
-// | |
-// | You should have received a copy of the GNU General Public License |
-// | along with Hooks; if not, write to the Free Software Foundation, |
-// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
-// +--------------------------------------------------------------------+
-// | Creado: vie jun 27 17:08:18 ART 2003 |
-// | Autor: Leandro Lucarella <llucar@mecon.gov.ar> |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-
-// Requires. {{{
-require_once 'MECON/HTML/Arbol/ArbolDB.php';
-require_once 'AIForm.php';
-require_once 'Servicio.php';
-// }}}
-
-// Creo el árbol con los servicios. {{{
-$dbdata = array(
- 'db' => &$DB,
- 'tabla' => 'servicio',
- 'id' => 'servicio',
- 'nombre' => 'nombre',
- 'id_padre' => 'servicio_padre',
- 'prepend_link' => 'servicios?accion='.MODIFICACION.'&id='
-);
-$arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
-// }}}
-
-// Creo un servicio y seteo su id. {{{
-$servicio = new Servicio;
-$servicio->servicio = @$_REQUEST['id'];
-// }}}
-
-// Creo formulario. {{{
-$form =& new AIForm;
-// }}}
-
-// Verifico que la accion sea válida. {{{
-switch(@$_REQUEST['accion']) {
- case BAJA:
- case MODIFICACION:
- $accion = $_REQUEST['accion'];
- break;
- default:
- $accion = ALTA;
-}
-// }}}
-
-// Verifico si ya se envio el formulario. {{{
-$botones = $form->getSubmitValue('botones');
-if ($boton = @join('', array_keys($botones))) {
- $boton = $boton . '_' . strtolower($botones[$boton]);
-}
-switch ($boton) {
- case 'aceptar_agregar':
- $accion = ALTA;
- break;
- case 'modificar_borrar':
- // Viene de modificar, hay que confirmar primero.
- $a_confirmar = true;
- case 'aceptar_borrar':
- $accion = BAJA;
- $servicio->servicio = $form->getSubmitValue('servicio');
- break;
- case 'borrar_cancelar':
- // Indico que viene de un formulario cancelado.
- $cancelado = true;
- case 'aceptar_modificar':
- $accion = MODIFICACION;
- $servicio->servicio = $form->getSubmitValue('servicio');
- break;
-}
-// }}}
-
-// Inicio el formulario, cargando datos de ser necesario. {{{
-if ($accion & (BAJA | MODIFICACION)) {
- $err =& $servicio->cargar($DB);
- if (PEAR::isError($err)) {
- die($err->getMessage());
- }
- $form->iniciar($servicio, $accion);
-} else {
- $accion = ALTA;
- $form->iniciar($servicio);
-}
-// }}}
-
-// Freezo de ser necesario. {{{
-if (@$a_confirmar) {
- $form->freeze();
-}
-// }}}
-
-// Me fijo si se cargo un formulalrio y si es válido. {{{
-if ($form->validate()) {
- switch ($accion) {
- case ALTA:
- $form->llenarObjeto($servicio);
- $err =& $servicio->guardar($DB);
- if (PEAR::isError($err)) {
- die($err->getMessage());
- }
- header(sprintf('Location: servicios?accion=%d&id=%d',
- MODIFICACION, $servicio->servicio));
- exit;
- break;
- case BAJA:
- if (!@$a_confirmar) {
- $form->llenarObjeto($servicio);
- $err =& $servicio->borrar($DB);
- if (PEAR::isError($err)) {
- die($err->getMessage());
- }
- header('Location: servicios');
- exit;
- }
- break;
- case MODIFICACION:
- if (!@$cancelado) {
- $form->llenarObjeto($servicio);
- $err =& $servicio->guardar($DB);
- if (PEAR::isError($err)) {
- die($err->getMessage());
- }
- header(sprintf('Location: servicios?accion=%d&id=%d',
- MODIFICACION, $servicio->servicio));
- exit;
- }
- break;
- }
-}
-$body =& $form;
-// }}}
-
-// Dibujo. {{{
-$LAYOUT->setCellContents(0, 0, $arbol);
-$LAYOUT->setCellContents(0, 2, $body);
-$MARCO->addBody($LAYOUT);
-$MARCO->display();
-// }}}
-
-?>