------------------------------------------------------------------------------- $Id$ -----------------------------------------------------------------------------*/ require_once 'HTML/QuickForm.php'; require_once 'MECON/HTML/QuickForm/Renderer/Tabla.php'; require_once 'MECON/HTML/QuickForm/Renderer/Tabla_Servicios.php'; /** * QuickForm de uso general del MECON. */ class MECON_HTML_QuickForm extends HTML_QuickForm { var $_rendererOpts = array(); var $_renderer = 'MECON_HTML_QuickForm_Renderer_Tabla'; // var $_renderer = 'MECON_HTML_QuickForm_Renderer_Tabla()'; function MECON_HTML_QuickForm($formName='', $method='post', $action='', $target='_self', $attributes=null) { parent::HTML_QuickForm($formName, $method, $action, $target, $attributes); $this->registerElementType('mdate', 'MECON/HTML/QuickForm/mdate.php', 'HTML_QuickForm_mdate'); $this->registerRule('fecha', 'function', 'validate', 'HTML_QuickForm_mdate'); $this->setRequiredNote('* indica un campo obligatorio'); $this->setJsWarnings('Hay errores en el formulario:', 'Por favor corríjalos antes de continuar.'); } function addRule($element, $message, $type, $format='', $validation='client', $reset = false, $force = false) { parent::addRule($element, $message, $type, $format, $validation, $reset, $force); } function addGroupRule($group, $arg1, $type='', $format='', $howmany=0, $validation = 'client') { parent::addGroupRule($group, $arg1, $type, $format, $howmany, $validation); } function toHtml() { //AGREGADO por mmarre //TODO ver porque no puedo utilizar $this->_renderer en el new -> es lo //comentado switch ($this->_renderer) { case 'MECON_HTML_QuickForm_Renderer_Tabla': $renderer =& new MECON_HTML_QuickForm_Renderer_Tabla($this->_rendererOpts); break; case 'MECON_HTML_QuickForm_Renderer_Tabla_Servicios': $renderer =& new MECON_HTML_QuickForm_Renderer_Tabla_Servicios($this->_rendererOpts); break; } // $renderer =& new $this->_renderer ($this->_rendererOpts); $this->accept($renderer); return $renderer->toHtml(); } function setRendererOpts($opts) { $this->_rendererOpts = $opts; } function getRendererOpts($opts) { return $this->_rendererOpts;; } function updateRendererOpts($opts) { $this->_rendererOpts = array_merge($this->_rendererOpts, $opts); } //AGREGADO POR mmarre PARA PODER DECIDIR CUAL DE NUESTROS RENDERES UTILIZAR //Por defecto utiliza el renderer que deja las tablas como estaban en un //principio. function setRenderer($renderer = 'MECON_HTML_QuickForm_Renderer_Tabla') { $this->_renderer = $renderer; // $this->_renderer = $renderer.'()'; } } ?>