diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php
index be0b679cc..ce03d37f1 100644
--- a/e107_handlers/form_handler.php
+++ b/e107_handlers/form_handler.php
@@ -949,7 +949,7 @@ class e_form
/**
* Date field with popup calendar // NEW in 0.8/2.0
- *
+ * on Submit returns unix timestamp or string value.
* @param string $name the name of the field
* @param integer $datestamp UNIX timestamp - default value of the field
* @param array or str
@@ -957,8 +957,10 @@ class e_form
* @example $frm->datepicker('my_field',time(),'type=datetime&inline=1');
* @example $frm->datepicker('my_field',time(),'type=date&format=yyyy-mm-dd');
* @example $frm->datepicker('my_field',time(),'type=datetime&format=MM, dd, yyyy hh:ii');
+ * @example $frm->datepicker('my_field',time(),'type=datetime&return=string');
*
* @url http://trentrichardson.com/examples/timepicker/
+ * @return string
*/
function datepicker($name, $datestamp = false, $options = null)
{
@@ -972,6 +974,7 @@ class e_form
$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';
if($type == 'datetime' && !varset($options['format']))
{
@@ -1015,7 +1018,8 @@ class e_form
}
else
{
- $text .= "";
+ $text .= "";
+ $text .= "";
}
// $text .= "ValueFormat: ".$dateFormat." Value: ".$value;
@@ -1040,7 +1044,25 @@ class e_form
format: $(this).attr("data-date-format"),
weekStart: $(this).attr("data-date-firstday"),
language: $(this).attr("data-date-language")
- });
+ }).on("changeDate", function(ev){
+
+ var useUnix = $(this).attr("data-date-unix");
+ var newValue = "";
+
+ var newTarget = "#"+ ev.target.id.replace("e-datepicker-","");
+
+ if(useUnix === "true")
+ {
+ newValue = parseInt(ev.date.getTime() / 1000);
+ }
+ else
+ {
+ newValue = $("#"+ ev.target.id).val();
+ }
+
+ $(newTarget).val(newValue);
+
+ })
});
$("input.e-datetime").each(function() {
@@ -1050,7 +1072,25 @@ class e_form
weekStart: $(this).attr("data-date-firstday"),
showMeridian: $(this).attr("data-date-ampm"),
language: $(this).attr("data-date-language")
- });
+ }).on("changeDate", function(ev){
+
+ var useUnix = $(this).attr("data-date-unix");
+ var newValue = "";
+
+ var newTarget = "#"+ ev.target.id.replace("e-datepicker-","");
+
+ if(useUnix === "true")
+ {
+ newValue = parseInt(ev.date.getTime() / 1000);
+ }
+ else
+ {
+ newValue = $("#"+ ev.target.id).val();
+ }
+
+ $(newTarget).val(newValue);
+
+ })
});
');
diff --git a/e107_handlers/user_extended_class.php b/e107_handlers/user_extended_class.php
index 077a9cba6..3f997681a 100644
--- a/e107_handlers/user_extended_class.php
+++ b/e107_handlers/user_extended_class.php
@@ -920,7 +920,7 @@ class e107_user_extended
$curval = '';
}
- return e107::getForm()->datepicker($fname,$curval,'format=yyyy-mm-dd');
+ return e107::getForm()->datepicker($fname,$curval,array('format'=>'yyyy-mm-dd','return'=>'string'));
break;
case EUF_LANGUAGE : // language