mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Fix intenaldate parser
This commit is contained in:
parent
1de1ecc9c4
commit
7dc9441852
12 changed files with 199 additions and 184 deletions
|
|
@ -1138,7 +1138,8 @@ Utils.createMomentDate = function (oObject)
|
|||
|
||||
return ko.computed(function () {
|
||||
Globals.momentTrigger();
|
||||
return this.moment().fromNow();
|
||||
var oMoment = this.moment();
|
||||
return 1970 === oMoment.year() ? '' : oMoment.fromNow();
|
||||
}, oObject);
|
||||
};
|
||||
|
||||
|
|
@ -1156,7 +1157,11 @@ Utils.createMomentShortDate = function (oObject)
|
|||
sMomentDate = this.momentDate()
|
||||
;
|
||||
|
||||
if (4 >= oMomentNow.diff(oMoment, 'hours'))
|
||||
if (1970 === oMoment.year())
|
||||
{
|
||||
sResult = '';
|
||||
}
|
||||
else if (4 >= oMomentNow.diff(oMoment, 'hours'))
|
||||
{
|
||||
sResult = sMomentDate;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ function MessageModel()
|
|||
this.hasAttachments = ko.observable(false);
|
||||
this.attachmentsMainType = ko.observable('');
|
||||
|
||||
this.moment = ko.observable(moment());
|
||||
this.moment = ko.observable(moment(moment.unix(0)));
|
||||
|
||||
this.attachmentIconClass = ko.computed(function () {
|
||||
var sClass = '';
|
||||
|
|
@ -76,10 +76,6 @@ function MessageModel()
|
|||
return MessageModel.calculateFullFromatDateValue(this.dateTimeStampInUTC());
|
||||
}, this);
|
||||
|
||||
this.fullFormatDateValue = ko.computed(function () {
|
||||
return MessageModel.calculateFullFromatDateValue(this.dateTimeStampInUTC());
|
||||
}, this);
|
||||
|
||||
this.momentDate = Utils.createMomentDate(this);
|
||||
this.momentShortDate = Utils.createMomentShortDate(this);
|
||||
|
||||
|
|
@ -140,7 +136,7 @@ MessageModel.newInstanceFromJson = function (oJsonMessage)
|
|||
*/
|
||||
MessageModel.calculateFullFromatDateValue = function (iTimeStampInUTC)
|
||||
{
|
||||
return moment.unix(iTimeStampInUTC).format('LLL');
|
||||
return 0 < iTimeStampInUTC ? moment.unix(iTimeStampInUTC).format('LLL') : '';
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
"name": "RainLoop",
|
||||
"title": "RainLoop Webmail",
|
||||
"version": "1.6.8",
|
||||
"release": "151",
|
||||
"release": "153",
|
||||
"description": "Simple, modern & fast web-based email client",
|
||||
"homepage": "http://rainloop.net",
|
||||
"main": "gulpfile.js",
|
||||
|
|
|
|||
|
|
@ -55,7 +55,13 @@ class DateTimeHelper
|
|||
*/
|
||||
public static function ParseInternalDateString($sDateTime)
|
||||
{
|
||||
$oDateTime = \DateTime::createFromFormat('d-M-Y H:i:s O', \trim($sDateTime), \MailSo\Base\DateTimeHelper::GetUtcTimeZoneObject());
|
||||
$sDateTime = \trim($sDateTime);
|
||||
if (\preg_match('/^[a-z]{2,4}, /i', $sDateTime)) // RFC2822
|
||||
{
|
||||
return \MailSo\Base\DateTimeHelper::ParseRFC2822DateString($sDateTime);
|
||||
}
|
||||
|
||||
$oDateTime = \DateTime::createFromFormat('d-M-Y H:i:s O', $sDateTime, \MailSo\Base\DateTimeHelper::GetUtcTimeZoneObject());
|
||||
return $oDateTime ? $oDateTime->getTimestamp() : 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -179,7 +179,9 @@
|
|||
<span class="i18n uiLabel labelTo" data-i18n-text="MESSAGE/LABEL_TO"></span>:
|
||||
<span class="to" data-bind="html: viewToShort, title: viewTo"></span>
|
||||
</span>
|
||||
<span data-bind="visible: '' !== viewDate()">
|
||||
(<span class="date" data-bind="text: viewDate"></span>)
|
||||
</span>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
|
@ -205,7 +207,7 @@
|
|||
|
||||
<span class="bcc" data-bind="text: viewBcc, title: viewBcc"></span>
|
||||
</div>
|
||||
<div>
|
||||
<div data-bind="visible: '' !== viewDate()">
|
||||
<span class="i18n uiLabel labelBcc" data-i18n-text="MESSAGE/LABEL_DATE"></span>:
|
||||
|
||||
<span class="date" data-bind="text: viewDate"></span>
|
||||
|
|
|
|||
|
|
@ -1940,7 +1940,8 @@ Utils.createMomentDate = function (oObject)
|
|||
|
||||
return ko.computed(function () {
|
||||
Globals.momentTrigger();
|
||||
return this.moment().fromNow();
|
||||
var oMoment = this.moment();
|
||||
return 1970 === oMoment.year() ? '' : oMoment.fromNow();
|
||||
}, oObject);
|
||||
};
|
||||
|
||||
|
|
@ -1958,7 +1959,11 @@ Utils.createMomentShortDate = function (oObject)
|
|||
sMomentDate = this.momentDate()
|
||||
;
|
||||
|
||||
if (4 >= oMomentNow.diff(oMoment, 'hours'))
|
||||
if (1970 === oMoment.year())
|
||||
{
|
||||
sResult = '';
|
||||
}
|
||||
else if (4 >= oMomentNow.diff(oMoment, 'hours'))
|
||||
{
|
||||
sResult = sMomentDate;
|
||||
}
|
||||
|
|
|
|||
2
rainloop/v/0.0.0/static/js/admin.min.js
vendored
2
rainloop/v/0.0.0/static/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1943,7 +1943,8 @@ Utils.createMomentDate = function (oObject)
|
|||
|
||||
return ko.computed(function () {
|
||||
Globals.momentTrigger();
|
||||
return this.moment().fromNow();
|
||||
var oMoment = this.moment();
|
||||
return 1970 === oMoment.year() ? '' : oMoment.fromNow();
|
||||
}, oObject);
|
||||
};
|
||||
|
||||
|
|
@ -1961,7 +1962,11 @@ Utils.createMomentShortDate = function (oObject)
|
|||
sMomentDate = this.momentDate()
|
||||
;
|
||||
|
||||
if (4 >= oMomentNow.diff(oMoment, 'hours'))
|
||||
if (1970 === oMoment.year())
|
||||
{
|
||||
sResult = '';
|
||||
}
|
||||
else if (4 >= oMomentNow.diff(oMoment, 'hours'))
|
||||
{
|
||||
sResult = sMomentDate;
|
||||
}
|
||||
|
|
@ -6917,7 +6922,7 @@ function MessageModel()
|
|||
this.hasAttachments = ko.observable(false);
|
||||
this.attachmentsMainType = ko.observable('');
|
||||
|
||||
this.moment = ko.observable(moment());
|
||||
this.moment = ko.observable(moment(moment.unix(0)));
|
||||
|
||||
this.attachmentIconClass = ko.computed(function () {
|
||||
var sClass = '';
|
||||
|
|
@ -6947,10 +6952,6 @@ function MessageModel()
|
|||
return MessageModel.calculateFullFromatDateValue(this.dateTimeStampInUTC());
|
||||
}, this);
|
||||
|
||||
this.fullFormatDateValue = ko.computed(function () {
|
||||
return MessageModel.calculateFullFromatDateValue(this.dateTimeStampInUTC());
|
||||
}, this);
|
||||
|
||||
this.momentDate = Utils.createMomentDate(this);
|
||||
this.momentShortDate = Utils.createMomentShortDate(this);
|
||||
|
||||
|
|
@ -7011,7 +7012,7 @@ MessageModel.newInstanceFromJson = function (oJsonMessage)
|
|||
*/
|
||||
MessageModel.calculateFullFromatDateValue = function (iTimeStampInUTC)
|
||||
{
|
||||
return moment.unix(iTimeStampInUTC).format('LLL');
|
||||
return 0 < iTimeStampInUTC ? moment.unix(iTimeStampInUTC).format('LLL') : '';
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
20
rainloop/v/0.0.0/static/js/app.min.js
vendored
20
rainloop/v/0.0.0/static/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue