mirror of
https://github.com/e107inc/e107.git
synced 2025-04-20 20:51:53 +02:00
Closes #108, Issue #133 and may correct Issue #335 - Datepicker updated and should now be working with times also. eg. 7:30PM
This commit is contained in:
parent
8b21e8c9b0
commit
beca1115c5
@ -1306,7 +1306,7 @@ class admin_newspost
|
||||
|
||||
$ix = new news;
|
||||
// jQuery UI temporary date-time fix - inputdatetime -> inputdate
|
||||
$_POST['news_start'] = vartrue(e107::getDate()->convert($_POST['news_start'],'inputdate'), 0);
|
||||
$_POST['news_start'] = vartrue(e107::getDate()->convert($_POST['news_start'],'inputdatetime'), 0);
|
||||
|
||||
if($_POST['news_start'])
|
||||
{
|
||||
@ -1319,7 +1319,7 @@ class admin_newspost
|
||||
|
||||
if($_POST['news_end'])
|
||||
{
|
||||
$_POST['news_end'] = e107::getDate()->convert($_POST['news_end'],'inputdate');
|
||||
$_POST['news_end'] = e107::getDate()->convert($_POST['news_end'],'inputdatetime');
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1328,7 +1328,7 @@ class admin_newspost
|
||||
|
||||
if($_POST['news_datestamp'])
|
||||
{
|
||||
$_POST['news_datestamp'] = e107::getDate()->convert($_POST['news_datestamp'],'inputdate');
|
||||
$_POST['news_datestamp'] = e107::getDate()->convert($_POST['news_datestamp'],'inputdatetime');
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2427,7 +2427,7 @@ class admin_newspost
|
||||
<div class='field-spacer'>
|
||||
";
|
||||
|
||||
$text .= $frm->datepicker("news_datestamp",vartrue($_POST['news_datestamp']),"type=date"); //XXX should be 'datetime' when working correctly.
|
||||
$text .= $frm->datepicker("news_datestamp",vartrue($_POST['news_datestamp']),"type=datetime"); //XXX should be 'datetime' when working correctly.
|
||||
|
||||
$text .= "</div>";
|
||||
/*
|
||||
|
@ -1969,7 +1969,7 @@ class pluginBuilder
|
||||
switch ($type)
|
||||
{
|
||||
case 'date':
|
||||
$text = $frm->datepicker($name, time(), 'dateformat=yyyy-mm-dd'.$req);
|
||||
$text = $frm->datepicker($name, time(), 'format=yyyy-mm-dd'.$req);
|
||||
break;
|
||||
|
||||
case 'description':
|
||||
|
@ -634,7 +634,7 @@ TEMPLATE;
|
||||
switch ($type)
|
||||
{
|
||||
case 'date':
|
||||
$text = $frm->datepicker($name, time(), 'dateformat=yyyy-mm-dd'.$req);
|
||||
$text = $frm->datepicker($name, time(), 'format=yyyy-mm-dd'.$req);
|
||||
break;
|
||||
|
||||
case 'description':
|
||||
|
@ -123,17 +123,17 @@ class convert
|
||||
'%a' => 'D', // An abbreviated textual representation of the day
|
||||
'%b' => 'M', // Abbreviated month name, based on the locale
|
||||
'%h' => 'M', // Abbreviated month name, based on the locale (an alias of %b)
|
||||
'%I' => 'HH', // Two digit representation of the hour in 12-hour format
|
||||
'%l' => 'H', // 12 hour format - no leading zero
|
||||
|
||||
'%l' => 'h', // 12 hour format - no leading zero
|
||||
'%I' => 'hh', // 12 hour format - leading zero
|
||||
'%H' => 'hh', // 24 hour format - leading zero
|
||||
'%M' => 'mm',
|
||||
'%S' => 'ss',
|
||||
'%p' => 'TT', // %p UPPER-CASE 'AM' or 'PM' based on the given time
|
||||
'%P' => 'tt', // %P lower-case 'am' or 'pm' based on the given time
|
||||
'%M' => 'ii', // Two digit representation of the minute
|
||||
'%S' => 'ss', // Two digit representation of the second
|
||||
'%P' => 'p', // %P lower-case 'am' or 'pm' based on the given time
|
||||
'%p' => 'P', // %p UPPER-CASE 'AM' or 'PM' based on the given time
|
||||
|
||||
'%T' => 'hh:mm:ss',
|
||||
'%r' => "hh:mmm:ss TT" // 12 hour format
|
||||
|
||||
);
|
||||
|
||||
$s = array_keys($convert);
|
||||
|
@ -611,7 +611,7 @@ class e_form
|
||||
* @param array or str
|
||||
* @example $frm->datepicker('my_field',time(),'type=date');
|
||||
* @example $frm->datepicker('my_field',time(),'type=datetime&inline=1');
|
||||
* @example $frm->datepicker('my_field',time(),'type=date&dateformat=yyyy-mm-dd');
|
||||
* @example $frm->datepicker('my_field',time(),'type=date&format=yyyy-mm-dd');
|
||||
*
|
||||
* @url http://trentrichardson.com/examples/timepicker/
|
||||
*/
|
||||
@ -622,17 +622,23 @@ class e_form
|
||||
parse_str($options,$options);
|
||||
}
|
||||
|
||||
$dateFormat = varset($options['dateformat']) ? trim($options['dateformat']) :e107::getPref('inputdate', '%Y-%m-%d');
|
||||
$timeFormat = varset($options['timeformat']) ? trim($options['timeformat']) :e107::getPref('inputtime', '%H:%M:%S');
|
||||
|
||||
$type = varset($options['type']) ? trim($options['type']) : "date"; // 'datetime'
|
||||
$dateFormat = varset($options['format']) ? trim($options['format']) :e107::getPref('inputdate', '%Y-%m-%d');
|
||||
// $timeFormat = varset($options['timeformat']) ? trim($options['timeformat']) :e107::getPref('inputtime', '%H:%M:%S');
|
||||
|
||||
|
||||
|
||||
if($type == 'datetime' && !varset($options['format']))
|
||||
{
|
||||
$dateFormat .= " ".e107::getPref('inputtime', '%H:%M:%S');
|
||||
}
|
||||
|
||||
// echo "TYPE=".$type;
|
||||
|
||||
$ampm = (preg_match("/%l|%I|%p|%P/",$timeFormat)) ? 'true' : 'false';
|
||||
$ampm = (preg_match("/%l|%I|%p|%P/",$dateFormat)) ? 'true' : 'false';
|
||||
|
||||
$dformat = e107::getDate()->toMask($dateFormat);
|
||||
$tformat = e107::getDate()->toMask($timeFormat);
|
||||
// $tformat = e107::getDate()->toMask($timeFormat);
|
||||
|
||||
$id = $this->name2id($name);
|
||||
|
||||
@ -645,7 +651,7 @@ class e_form
|
||||
$def = array(
|
||||
'date' => $dateFormat,
|
||||
// 'time' => $timeFormat,
|
||||
'datetime' => $dateFormat." ".$timeFormat
|
||||
'datetime' => $dateFormat // ." ".$timeFormat
|
||||
);
|
||||
|
||||
$defdisp = (isset($def[$type])) ? $def[$type] : $def['date'];
|
||||
@ -665,7 +671,7 @@ class e_form
|
||||
|
||||
if(vartrue($options['inline']))
|
||||
{
|
||||
$text .= "<div class='{$class}' id='inline-{$id}' data-date-format='{$dformat}' data-time-format='{$tformat}' data-date-ampm='{$ampm}' data-date-firstday='{$firstDay}' ></div>
|
||||
$text .= "<div class='{$class}' id='inline-{$id}' data-date-format='{$dformat}' data-date-ampm='{$ampm}' data-date-firstday='{$firstDay}' ></div>
|
||||
<input type='hidden' name='{$name}' id='{$id}' value='{$value}' data-date-format='{$dformat}' data-time-format='{$tformat}' data-date-ampm='{$ampm}' data-date-firstday='{$firstDay}' />
|
||||
";
|
||||
}
|
||||
@ -684,10 +690,11 @@ class e_form
|
||||
*/
|
||||
|
||||
|
||||
$text .= "<input class='{$class}' type='text' size='{$size}' name='{$name}' id='{$id}' value='{$value}' data-date-format='{$dformat}' data-time-format='{$tformat}' data-date-ampm='{$ampm}' data-date-firstday='{$firstDay}' {$required} />";
|
||||
$text .= "<input class='{$class} input-xlarge' type='text' size='{$size}' name='{$name}' id='{$id}' value='{$value}' data-date-format='{$dformat}' data-date-ampm='{$ampm}' data-date-firstday='{$firstDay}' {$required} />";
|
||||
}
|
||||
|
||||
// $text .= " ({$dformat}) ".$value;
|
||||
// $text .= "ValueFormat: ".$defdisp." Value: ".$value;
|
||||
// $text .= " ({$dformat}) type:".$defdisp." ".$value;
|
||||
|
||||
return $text;
|
||||
|
||||
|
@ -1458,8 +1458,8 @@ class mailoutAdminClass extends e107MailManager
|
||||
|
||||
$options = array(
|
||||
'type' => 'datetime',
|
||||
'dateformat' => $dFormat,
|
||||
'timeformat' => $tFormat,
|
||||
'format' => $dFormat." ".$tFormat,
|
||||
// 'timeformat' => $tFormat,
|
||||
'firstDay' => 1, // 0 = Sunday.
|
||||
'size' => 12
|
||||
);
|
||||
|
@ -829,7 +829,7 @@ class e107_user_extended
|
||||
break;
|
||||
|
||||
case EUF_DATE : //date
|
||||
return e107::getForm()->datepicker($fname,$curval,'dateformat=yyyy-mm-dd');
|
||||
return e107::getForm()->datepicker($fname,$curval,'format=yyyy-mm-dd');
|
||||
break;
|
||||
|
||||
case EUF_LANGUAGE : // language
|
||||
|
@ -16,11 +16,11 @@ thead tr {
|
||||
min-height:50px;
|
||||
}
|
||||
|
||||
.datepicker {
|
||||
.datetimepicker {
|
||||
background-color: #191919;
|
||||
}
|
||||
|
||||
.datepicker thead tr:first-child th:hover, .datepicker tfoot tr:first-child th:hover {
|
||||
.datetimepicker thead tr:first-child th:hover, .datetimepicker tfoot tr:first-child th:hover {
|
||||
|
||||
background-color: #191919;
|
||||
}
|
||||
@ -31,7 +31,7 @@ min-height:50px;
|
||||
|
||||
tr.highlight-odd { background-color: #212121; }
|
||||
tr.highlight-even { background-color: #212121; }
|
||||
.datepicker table tr td.day:hover {
|
||||
.datetimepicker table tr td.day:hover {
|
||||
|
||||
color: black;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
.datetimepicker-dropdown:before {
|
||||
[class*=" datetimepicker-dropdown"]:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 7px solid transparent;
|
||||
@ -40,40 +40,64 @@
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown:after {
|
||||
[class*=" datetimepicker-dropdown"]:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
position: absolute;
|
||||
top: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.datetimepicker-dropdown-left:before {
|
||||
[class*=" datetimepicker-dropdown-top"]:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
border-top: 7px solid #ccc;
|
||||
border-top-color: rgba(0, 0, 0, 0.2);
|
||||
border-bottom: 0;
|
||||
}
|
||||
[class*=" datetimepicker-dropdown-top"]:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-top: 6px solid #ffffff;
|
||||
border-bottom: 0;
|
||||
}
|
||||
.datetimepicker-dropdown-bottom-right:before {
|
||||
top: -7px;
|
||||
right: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-left:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid #ffffff;
|
||||
position: absolute;
|
||||
.datetimepicker-dropdown-bottom-right:after {
|
||||
top: -6px;
|
||||
right: 7px;
|
||||
}
|
||||
.datetimepicker-dropdown-bottom-left:before {
|
||||
top: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-bottom-left:after {
|
||||
top: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-right:before {
|
||||
bottom: -7px;
|
||||
right: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-right:after {
|
||||
bottom: -6px;
|
||||
right: 7px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-left:before {
|
||||
bottom: -7px;
|
||||
left: 6px;
|
||||
}
|
||||
.datetimepicker-dropdown-top-left:after {
|
||||
bottom: -6px;
|
||||
left: 7px;
|
||||
}
|
||||
.datetimepicker > div {
|
||||
display: none;
|
||||
}
|
||||
|
File diff suppressed because one or more lines are too long
@ -156,12 +156,26 @@ $(document).ready(function()
|
||||
// https://github.com/smalot/bootstrap-datetimepicker
|
||||
|
||||
$("input.e-date").each(function() {
|
||||
$(this).datepicker({
|
||||
format: $(this).attr("data-date-format"),
|
||||
weekStart: $(this).attr("data-date-firstday")
|
||||
|
||||
$(this).datetimepicker({
|
||||
minView: 'month',
|
||||
maxView: 'decade',
|
||||
autoclose: true,
|
||||
format: $(this).attr("data-date-format"),
|
||||
weekStart: $(this).attr("data-date-firstday")
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
$("input.e-datetime").each(function() {
|
||||
$(this).datetimepicker({
|
||||
autoclose: true,
|
||||
format: $(this).attr("data-date-format"),
|
||||
weekStart: $(this).attr("data-date-firstday"),
|
||||
showMeridian: $(this).attr("data-date-ampm")
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
$("input.e-date").each(function() {
|
||||
$(this).datepicker({
|
||||
|
Loading…
x
Reference in New Issue
Block a user