]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/QuickForm/mdate.php
Se cambia el constructor para sobreescribir primero las opciones usadas más frecuente...
[mecon/meconlib.git] / lib / MECON / HTML / QuickForm / mdate.php
index b1fb915a5246ea47f22324e20b7defe4eda45dba..6e47cb7b06fed72ef973119bb0132b16e2b88655 100644 (file)
@@ -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,12 +118,17 @@ class HTML_QuickForm_mdate extends HTML_QuickForm_date
      */
     function validate($valor, $nombre, $formato = '')
     {
-        $str = sprintf ("%4d-%02d-%02d",$valor['Y'],$valor['F'],$valor['d']);
-   
-        if (($valor['Y'] != '--' && $valor['d'] != '--' && $valor['F'] != '--') && ($valor['Y'] != '' && $valor['d'] != '' && $valor['F'] != '')) {
+        // 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
 }
 ?>