]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/HTML/QuickForm.php
3f952e3629fd18194604e71fc2afd09b4a2b9993
[mecon/meconlib.git] / lib / MECON / HTML / QuickForm.php
1 <?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
2 -------------------------------------------------------------------------------
3                              Ministerio de Economía
4                                     meconlib
5 -------------------------------------------------------------------------------
6 This file is part of meconlib.
7
8 meconlib is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 2 of the License, or (at your option)
11 any later version.
12
13 meconlib is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16  
17 You should have received a copy of the GNU General Public License; if not,
18 write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
19 Boston, MA  02111-1307  USA
20 -------------------------------------------------------------------------------
21 Creado: mié jun 18 15:08:05 ART 2003
22 Autor:  Leandro Lucarella <llucar@mecon.gov.ar>
23 -------------------------------------------------------------------------------
24 $Id$
25 -----------------------------------------------------------------------------*/
26
27 require_once 'HTML/QuickForm.php';
28 require_once 'MECON/HTML/QuickForm/Renderer/Tabla.php';
29 require_once 'MECON/HTML/QuickForm/Renderer/Tabla_Servicios.php';
30
31 /**
32  * QuickForm de uso general del MECON.
33  */
34 class MECON_HTML_QuickForm extends HTML_QuickForm {
35     var $_rendererOpts = array();
36     var $_renderer = 'MECON_HTML_QuickForm_Renderer_Tabla()';
37     function MECON_HTML_QuickForm($formName='', $method='post', $action='', $target='_self', $attributes=null)
38     {
39         parent::HTML_QuickForm($formName, $method, $action, $target, $attributes);
40         $this->registerElementType('mdate', 'MECON/HTML/QuickForm/mdate.php', 'HTML_QuickForm_mdate');
41         $this->registerRule('fecha', 'function', 'validate', 'HTML_QuickForm_mdate');
42         $this->setRequiredNote('<FONT color="red">*</FONT> indica un campo obligatorio');
43         $this->setJsWarnings('Hay errores en el formulario:', 'Por favor corríjalos antes de continuar.');
44     }
45     function addRule($element, $message, $type, $format='', $validation='client', $reset = false, $force = false)
46     {
47         parent::addRule($element, $message, $type, $format, $validation, $reset, $force);
48     }
49     function addGroupRule($group, $arg1, $type='', $format='', $howmany=0, $validation = 'client')
50     {
51         parent::addGroupRule($group, $arg1, $type, $format, $howmany, $validation);
52     }
53     function toHtml() {
54
55         //AGREGADO por mmarre
56         $renderer =& new $this->_renderer ($this->_rendererOpts);
57        
58         $this->accept($renderer);
59         return $renderer->toHtml();
60     }
61     function setRendererOpts($opts) {
62         $this->_rendererOpts = $opts;
63     }
64     function getRendererOpts($opts) {
65         return $this->_rendererOpts;;
66     }
67     function updateRendererOpts($opts) {
68         $this->_rendererOpts = array_merge($this->_rendererOpts, $opts);
69     }
70     
71     //AGREGADO POR mmarre PARA PODER DECIDIR CUAL DE NUESTROS RENDERES UTILIZAR
72     //Por defecto utiliza el renderer que deja las tablas como estaban en un
73     //principio.
74     function setRenderer($renderer = 'MECON_HTML_QuickForm_Renderer_Tabla') {
75         $this->_renderer = $renderer.'()';
76     }
77
78 }
79
80 ?>