From f1846dc95510495937e3e559c13505642bd9be6d Mon Sep 17 00:00:00 2001 From: lonalore Date: Thu, 9 Jun 2016 10:18:41 +0200 Subject: [PATCH] Fix for datepicker(). Tested! --- e107_handlers/form_handler.php | 48 +++++++++++++++++----------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index b21bd4f32..cd42a3ade 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -966,29 +966,27 @@ class e_form */ function datepicker($name, $datestamp = false, $options = null) { - if(vartrue($options) && is_string($options)) { - parse_str($options,$options); - } - - $type = varset($options['type']) ? trim($options['type']) : "date"; // OR 'datetime' - $dateFormat = varset($options['format']) ? trim($options['format']) :e107::getPref('inputdate', '%Y-%m-%d'); - $ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false'; - $value = null; - $useUnix = (isset($options['return']) && ($options['return'] === 'string')) ? 'false' : 'true'; - + parse_str($options,$options); + } + + $type = varset($options['type']) ? trim($options['type']) : "date"; // OR 'datetime' + $dateFormat = varset($options['format']) ? trim($options['format']) :e107::getPref('inputdate', '%Y-%m-%d'); + $ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false'; + $value = null; + $hiddenValue = null; + $useUnix = (isset($options['return']) && ($options['return'] === 'string')) ? 'false' : 'true'; + $id = $this->name2id($name); + $classes = array('date' => 'e-date', 'datetime' => 'e-datetime'); + if($type == 'datetime' && !varset($options['format'])) { - $dateFormat .= " ".e107::getPref('inputtime', '%H:%M:%S'); + $dateFormat .= " ".e107::getPref('inputtime', '%H:%M:%S'); } $dformat = e107::getDate()->toMask($dateFormat); - $id = $this->name2id($name); - - $classes = array('date' => 'e-date', 'datetime' => 'e-datetime'); - // If default value is set. if ($datestamp) { @@ -997,22 +995,24 @@ class e_form $datestamp = strtotime($datestamp); } - // Convert date to proper (selected) format. - $value = e107::getDate()->convert_date($datestamp, $dformat); + // Convert date to proper (selected) format. + $hiddenValue = $value = e107::getDate()->convert_date($datestamp, $dformat); + + if ($useUnix === 'true') + { + $hiddenValue = $datestamp; + } } - - $text = ""; - // $text .= 'dformat='.$dformat.' defdisp='.$dateFormat; - + $class = (isset($classes[$type])) ? $classes[$type] : "tbox e-date"; $size = vartrue($options['size']) ? intval($options['size']) : 40; $required = vartrue($options['required']) ? "required" : ""; $firstDay = vartrue($options['firstDay']) ? $options['firstDay'] : 0; $xsize = (vartrue($options['size']) && !is_numeric($options['size'])) ? $options['size'] : 'xlarge'; $disabled = vartrue($options['disabled']) ? "disabled" : ""; - + if(vartrue($options['inline'])) { $text .= "
@@ -1020,11 +1020,11 @@ class e_form "; } else - { + { $text .= ""; $ftype = (!empty($options['debug'])) ? 'text' : 'hidden'; - $text .= ""; + $text .= ""; } // $text .= "ValueFormat: ".$dateFormat." Value: ".$value;