1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-01 20:30:39 +02:00

Issue #1222, Issue #1157, Issue #1455 datepicker() method now returns unix timestamp by default. To return a string (like previously) use 'return=string' in the options.

This commit is contained in:
Cameron
2016-05-13 09:09:31 -07:00
parent cb938e1442
commit 1fa7c95b25
2 changed files with 45 additions and 5 deletions

View File

@@ -949,7 +949,7 @@ class e_form
/** /**
* Date field with popup calendar // NEW in 0.8/2.0 * 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 string $name the name of the field
* @param integer $datestamp UNIX timestamp - default value of the field * @param integer $datestamp UNIX timestamp - default value of the field
* @param array or str * @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=datetime&inline=1');
* @example $frm->datepicker('my_field',time(),'type=date&format=yyyy-mm-dd'); * @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&format=MM, dd, yyyy hh:ii');
* @example $frm->datepicker('my_field',time(),'type=datetime&return=string');
* *
* @url http://trentrichardson.com/examples/timepicker/ * @url http://trentrichardson.com/examples/timepicker/
* @return string
*/ */
function datepicker($name, $datestamp = false, $options = null) 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'); $dateFormat = varset($options['format']) ? trim($options['format']) :e107::getPref('inputdate', '%Y-%m-%d');
$ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false'; $ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false';
$value = null; $value = null;
$useUnix = (isset($options['return']) && ($options['return'] === 'string')) ? 'false' : 'true';
if($type == 'datetime' && !varset($options['format'])) if($type == 'datetime' && !varset($options['format']))
{ {
@@ -1015,7 +1018,8 @@ class e_form
} }
else else
{ {
$text .= "<input class='{$class} input-".$xsize." form-control' type='text' size='{$size}' name='{$name}' id='{$id}' value='{$value}' data-date-format='{$dformat}' data-date-ampm='{$ampm}' data-date-language='".e_LAN."' data-date-firstday='{$firstDay}' {$required} {$disabled} />"; $text .= "<input class='{$class} input-".$xsize." form-control' type='text' size='{$size}' id='e-datepicker-{$id}' value='{$value}' data-date-unix ='{$useUnix}' data-date-format='{$dformat}' data-date-ampm='{$ampm}' data-date-language='".e_LAN."' data-date-firstday='{$firstDay}' {$required} {$disabled} />";
$text .= "<input type='hidden' name='{$name}' id='{$id}' value='{$datestamp}' />";
} }
// $text .= "ValueFormat: ".$dateFormat." Value: ".$value; // $text .= "ValueFormat: ".$dateFormat." Value: ".$value;
@@ -1040,7 +1044,25 @@ class e_form
format: $(this).attr("data-date-format"), format: $(this).attr("data-date-format"),
weekStart: $(this).attr("data-date-firstday"), weekStart: $(this).attr("data-date-firstday"),
language: $(this).attr("data-date-language") 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() { $("input.e-datetime").each(function() {
@@ -1050,7 +1072,25 @@ class e_form
weekStart: $(this).attr("data-date-firstday"), weekStart: $(this).attr("data-date-firstday"),
showMeridian: $(this).attr("data-date-ampm"), showMeridian: $(this).attr("data-date-ampm"),
language: $(this).attr("data-date-language") 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);
})
}); });
'); ');

View File

@@ -920,7 +920,7 @@ class e107_user_extended
$curval = ''; $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; break;
case EUF_LANGUAGE : // language case EUF_LANGUAGE : // language