meconlib
-------------------------------------------------------------------------------
This file is part of meconlib.
-
+
meconlib is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.
-
+
meconlib is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
* Modificado para que cumpla con los requisitos de mecon
*
*/
-class HTML_QuickForm_mdate extends HTML_QuickForm_date
-{
+class MECON_HTML_QuickForm_mdate extends HTML_QuickForm_date {
// {{{ constructor
/**
* @access public
* @return void
*/
- 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')
- )
- );
-
+ function MECON_HTML_QuickForm_mdate($elementName=null, $elementLabel=null, $options=array(), $attributes=null) {
+ $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'),
+ 'months_long' => array ('' => '--',
+ 'Enero', 'Febrero', 'Marzo',
+ 'Abril', 'Mayo', 'Junio',
+ 'Julio', 'Agosto', 'Septiembre',
+ 'Octubre', 'Noviembre', 'Diciembre')
+ )
+ );
parent::HTML_QuickForm_date($elementName, $elementLabel,
- array_merge(array('language'=>'es','format'=>'d F Y'), $options),
- $attributes);
+ array_merge(array('language'=>'es','format'=>'d F Y'), $options),
+ $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);
}
-
return $options;
-
- } // end func _createNumericOptionList
+ } // end func _createOptionList
/**
* Devuelve un objeto date
* @access public
* @return object Date.
*/
- function &getValue()
- {
- if ($this->_selectedDate['Y']) {
- return new Date (sprintf("%04d-%02d-%02d 00:00:00",$this->_selectedDate['Y'],$this->_selectedDate['F'],$this->_selectedDate['d']));
- }
- else {
+ function &getValue() {
+
+ $date = parent::getValue();
+
+ if ($date['Y']) {
+ return new Date (@sprintf("%04d-%02d-%02d %02d:%02d:00",
+ $date['Y'], $date['F'],
+ $date['d'], $date['H'],
+ $date['i']));
+ } else {
return null;
}
} // end func getValue
* @access public
* @return bool
*/
- function validate($valor, $nombre, $formato = '')
- {
+ function validate($valor, $nombre, $formato = '') {
// 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']) {
+ // 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 {
+ // Si viene a medio completar, es invalido.
+ }
+ else {
return false;
}
} // end func validate