]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/QuickForm/mdate.php
BugFix.
[mecon/meconlib.git] / lib / MECON / HTML / QuickForm / mdate.php
index 7117db2389ec39d4cc2372eadf508f0749b9d3a8..3c28d14b434ced50c6ac7df895a1387762b82d74 100644 (file)
@@ -47,7 +47,7 @@ class MECON_HTML_QuickForm_mdate extends HTML_QuickForm_date {
      * @return    void
      */
     function MECON_HTML_QuickForm_mdate($elementName=null, $elementLabel=null, $options=array(), $attributes=null) {
      * @return    void
      */
     function MECON_HTML_QuickForm_mdate($elementName=null, $elementLabel=null, $options=array(), $attributes=null) {
-        $this->_locales = array ('es' => array (
+        $this->_locale = 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'),
                                            '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'),
@@ -63,31 +63,21 @@ class MECON_HTML_QuickForm_mdate extends HTML_QuickForm_date {
                                     $attributes);
     } //end constructor
 
                                     $attributes);
     } //end constructor
 
-    // }}}
-    // {{{ _createNumericOptionList()
-
-    /**
-     * Creates a numeric option list based on a start number and end number
-     *
-     * @param int $start The start number
-     * @param int $end The end number
-     *
-     * @access public
-     * @return array An array of numeric options.
-     */
-    function _createNumericOptionList($start, $end) {
-        $options = array();
-        //TODO
-        //Verificar que esto este funcionando bien.
-        $options[''] = '--';
-        //Hasta aca
-        for ($i = $start; $i <= $end; $i++) {
+   /**
+    * Creates an option list containing the numbers from the start number to the end, inclusive
+    *
+    * @param    int     The start number
+    * @param    int     The end number
+    * @param    int     Increment by this value
+    * @access   private
+    * @return   array   An array of numeric options.
+    */
+    function _createOptionList($start, $end, $step = 1) {
+        for ($i = $start, $options = array('' => '--'); $start > $end? $i >= $end: $i <= $end; $i += $step) {
             $options[$i] = sprintf('%02d', $i);
         }
             $options[$i] = sprintf('%02d', $i);
         }
-
         return $options;
         return $options;
-
-    } // end func _createNumericOptionList
+    } // end func _createOptionList
 
     /**
      * Devuelve un objeto date
 
     /**
      * Devuelve un objeto date
@@ -97,11 +87,14 @@ class MECON_HTML_QuickForm_mdate extends HTML_QuickForm_date {
      * @return object Date.
      */
     function &getValue() {
      * @return object Date.
      */
     function &getValue() {
-        if ($this->_selectedDate['Y']) {
+
+        $date = parent::getValue();
+    
+        if ($date['Y'][0]) {
             return new Date (@sprintf("%04d-%02d-%02d %02d:%02d:00",
             return new Date (@sprintf("%04d-%02d-%02d %02d:%02d:00",
-            $this->_selectedDate['Y'], $this->_selectedDate['F'],
-            $this->_selectedDate['d'], $this->_selectedDate['H'],
-            $this->_selectedDate['i']));
+            $date['Y'][0], $date['F'][0],
+            $date['d'][0], $date['H'][0],
+            $date['i'][0]));
         } else {
             return null;
         }
         } else {
             return null;
         }
@@ -117,7 +110,7 @@ class MECON_HTML_QuickForm_mdate extends HTML_QuickForm_date {
      * @return bool
      */
     function validate($valor, $nombre, $formato = '') {
      * @return bool
      */
     function validate($valor, $nombre, $formato = '') {
-        // Si viene completamente lleno, se valida con el paquete Validate.
+        // 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'));
         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'));