require_once('HTML/QuickForm/date.php');
+require_once('Date.php');
+require_once('Validate.php');
/**
* Class to dynamically create HTML Select elements from a date
* @access public
* @return void
*/
- function HTML_QuickForm_date($elementName=null, $elementLabel=null, $options=array(), $attributes=null)
+ function HTML_QuickForm_mdate($elementName=null, $elementLabel=null, $options=array(), $attributes=null)
{
- foreach ($this->_options as $opts) {
- foreach ($opts as $opp) {
- array_push($op,'--');
- }
- }
+ $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')
+ )
+ );
+
parent::HTML_QuickForm_date($elementName, $elementLabel, $options, $attributes);
} //end constructor
function _createNumericOptionList($start, $end)
{
$options = array();
+ //TODO
+ //Verificar que esto este funcionando bien.
+ $options['--'] = '--';
+ //Hasta aca
for ($i = $start; $i <= $end; $i++) {
$options[$i] = sprintf('%02d', $i);
}
- array_push($options,'--');
+
return $options;
} // end func _createNumericOptionList
+
+ /**
+ * Devuelve un objeto date
+ *
+ *
+ * @access public
+ * @return object Date.
+ */
+ function &getValue()
+ {
+ if ($this->_selectedDate['Y'] != 00) {
+ return new Date (sprintf("%04d-%02d-%02d 00:00:00",$this->_selectedDate['Y'],$this->_selectedDate['F'],$this->_selectedDate['d']));
+ }
+ else {
+ return null;
+ }
+ } // end func getValue
+
+ /**
+ * Verifica que una fecha sea valida.
+ *
+ * Verifica que una fecha sea valida. El formato siempre debe ser
+ * '%Y-%m-%d'
+ *
+ * @access public
+ * @return bool
+ */
+ function validate($fecha)
+ {
+ return Validate::date($fecha, array('format' => '%Y-%m-%d'))
+ } // end func validate
+}
?>