X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/cacc1525e7102dfef7964462a50e4ff13f02dcc6..e9a6b33cd9b4cce840ddf9f30ca41b09a0a60bc0:/lib/MECON/HTML/QuickForm/mdate.php?ds=sidebyside diff --git a/lib/MECON/HTML/QuickForm/mdate.php b/lib/MECON/HTML/QuickForm/mdate.php index de9c54b..6e47cb7 100644 --- a/lib/MECON/HTML/QuickForm/mdate.php +++ b/lib/MECON/HTML/QuickForm/mdate.php @@ -25,8 +25,6 @@ // $Rev$ // - - require_once 'HTML/QuickForm/date.php'; require_once 'Date.php'; require_once 'Validate.php'; @@ -53,14 +51,16 @@ class HTML_QuickForm_mdate extends HTML_QuickForm_date function HTML_QuickForm_mdate($elementName=null, $elementLabel=null, $options=array(), $attributes=null) { $this->_options = array ('es' => array ( - 'weekdays_short'=> array ('--' => '--', 'Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'), - 'weekdays_long' => array ('--' => '--', 'Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'), - 'months_short' => array ('--' => '--', 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'), - 'months_long' => array ('--' => '--', 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septimbre', 'Octubre', 'Noviembre', 'Diciembre') + 'weekdays_short'=> array ('' => '--', 'Dom', 'Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb'), + 'weekdays_long' => array ('' => '--', 'Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'), + 'months_short' => array ('' => '--', 'Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'), + 'months_long' => array ('' => '--', 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septimbre', 'Octubre', 'Noviembre', 'Diciembre') ) ); - parent::HTML_QuickForm_date($elementName, $elementLabel, $options, $attributes); + parent::HTML_QuickForm_date($elementName, $elementLabel, + array_merge(array('language'=>'es','format'=>'d F Y'), $options), + $attributes); } //end constructor // }}} @@ -80,7 +80,7 @@ class HTML_QuickForm_mdate extends HTML_QuickForm_date $options = array(); //TODO //Verificar que esto este funcionando bien. - $options['--'] = '--'; + $options[''] = '--'; //Hasta aca for ($i = $start; $i <= $end; $i++) { $options[$i] = sprintf('%02d', $i); @@ -99,7 +99,7 @@ class HTML_QuickForm_mdate extends HTML_QuickForm_date */ function &getValue() { - if ($this->_selectedDate['Y'] != 00) { + if ($this->_selectedDate['Y']) { return new Date (sprintf("%04d-%02d-%02d 00:00:00",$this->_selectedDate['Y'],$this->_selectedDate['F'],$this->_selectedDate['d'])); } else { @@ -118,10 +118,17 @@ class HTML_QuickForm_mdate extends HTML_QuickForm_date */ function validate($valor, $nombre, $formato = '') { - if ($valor['Y'] != '--' && $valor['d'] != '--' && $valor['F'] != '--') { - return Validate::date($valor['Y'].'-'.$valor['d'].'-'.$valor['F'], array('format' => '%Y-%m-%d')); + // Si viene completamente lleno, se valida con el paquete Validate. + if ($valor['Y'] and $valor['d'] and $valor['F']) { + $str = sprintf('%4d-%02d-%02d', $valor['Y'], $valor['F'], $valor['d']); + return Validate::date($str, array('format' => '%Y-%m-%d')); + // Si viene completamente vacio, es valido. + } elseif (!$valor['Y'] and !$valor['d'] and !$valor['F']) { + return true; + // Si viene a medio completar, es invalido. + } else { + return false; } - return true; } // end func validate } ?>