setCSSClass('date'); } public function parseInput($input, $parent) { if(trim($input) == "") return NULL; $format = $parent->getFormat(FormBase::FMT_DATE); $input = \DateTime::createFromFormat($format, $input); if($input instanceof \DateTime) $input = new \Mammut\Date\Date($input->format('Y-m-d 00:00:00')); return $input; } public function generate($parent) { $id = $this->getID(); $name = $this->getName(); $css = $this->getCSSClass(); $system = \MCMS\System::getInstance(); $size = $this->getParam('size', 10); $maxsize = $this->getParam('maxsize', 10); $value = $this->getValue(); if($value !== false) if($value instanceof \DateTime || $value instanceof \Mammut\Date\Date) { $value->setTimezone($system->getActiveTimezone()); $value = $value->format($parent->getFormat(FormBase::FMT_DATE)); } $js_import = array(); $js_submit = ''; $html = ' 0) $html .= 'size="' . $size . '" '; if($maxsize > 0) $html .= 'maxlength="' . $maxsize . '" '; if($value !== false) $html .= 'value="' . self::escapeString((string) $value) . '" '; if($this->isRequired()) { $html .= ' onblur="validate(\'' . self::escapeString($id) . '\',\'^.+$\',\'' . $css . '\',\'' . $css . '_error\',true);" '; $js_import[] = 'jscript/form/validate.js'; $js_submit .= ''; } $html .= '/>'; $js_import[] = JQUERY_JS_LIB; if(defined('DEBUG')) { $js_import[] = JQUERY_UI_BASE_URL . 'jquery.ui.core.js'; $js_import[] = JQUERY_UI_BASE_URL . 'jquery.ui.widget.js'; $js_import[] = JQUERY_UI_BASE_URL . 'jquery.ui.datepicker.js'; } else { $js_import[] = JQUERY_UI_BASE_URL . 'jquery.ui.core.min.js'; $js_import[] = JQUERY_UI_BASE_URL . 'jquery.ui.widget.min.js'; $js_import[] = JQUERY_UI_BASE_URL . 'jquery.ui.datepicker.min.js'; } $jsformat = str_replace(array('d','D','m','M','y','Y'), array('dd','d','mm','m','y','yy'), $parent->getFormat(FormBase::FMT_DATE)); $js_end = "\t" . '$(function() { $( "#' . self::escapeString($id) . '" ).datepicker({ dateFormat: \'' . $jsformat . '\' });});' . "\n"; return array( 'html' => $html,'js_import' => $js_import,'js_submit' => $js_submit, 'js_end' => $js_end); } }