Email: Support multiple time zones

This commit is contained in:
2020-04-17 18:32:12 +02:00
parent e66ec08ab4
commit a33cda5f22
5 changed files with 10 additions and 6 deletions

View File

@@ -63,6 +63,7 @@ class Email extends PhpObject {
//Message
$this->oTemplate->setLanguage($asDest['language'], Spot::DEFAULT_LANG);
$this->oTemplate->setTimezone($asDest['timezone']);
//Unsubscribe Link
$sUnsubLink = $this->sServName.'?a=unsubscribe_email&id='.$asDest['id_user'];
@@ -71,6 +72,7 @@ class Email extends PhpObject {
$oPHPMailer->addCustomHeader('List-Unsubscribe-Post','List-Unsubscribe=One-Click');
//Email Content
$this->oTemplate->setTag('timezone', 'lang:city_time', self::getTimeZoneCity($asDest['timezone']));
$sHtmlMessage = $this->oTemplate->getMask();
$sPlainMessage = strip_tags(str_replace('<br />', "\n", $sHtmlMessage));
@@ -82,7 +84,7 @@ class Email extends PhpObject {
$oPHPMailer->Subject = $this->oTemplate->getTranslator()->getTranslation($this->sTemplateName.'_subject');
$oPHPMailer->Body = $sHtmlMessage;
$oPHPMailer->AltBody = $sPlainMessage;
try {
$oPHPMailer->send();
}
@@ -91,4 +93,8 @@ class Email extends PhpObject {
}
}
}
private static function getTimeZoneCity($sTimeZone) {
return (strpos($sTimeZone, '/')!==false)?str_replace('_', ' ', explode('/', $sTimeZone)[1]):'';
}
}

View File

@@ -186,7 +186,7 @@ class Spot extends Main
$asLastMessage = end($asMessages);
$asLastMessage['token'] = Settings::GEO_SERVER_TOKEN;
$oEmail->oTemplate->setTags($asLastMessage);
$oEmail->oTemplate->setTag('date_time', 'lang:date_time', array(date('d/m/Y', $asLastMessage['unix_time']), date('H:i', $asLastMessage['unix_time'])));
$oEmail->oTemplate->setTag('date_time', 'time:'.$asLastMessage['unix_time'], 'd/m/Y, H:i');
//Add latest news feed
$asNews = $this->getNewsFeed(0, true);

View File

@@ -16,7 +16,7 @@
<div style="background-color:#6dff58;color:#326526;border-radius:3px;padding:1rem;margin-top:1rem;display:inline-block;box-shadow: 2px 2px 3px 0px rgba(0,0,0,.5);">
<a href="[#]local_server[#]" target="_blank"><img style="border-radius:3px;" src="[#]geo_server[#]?a=tile&amp;id=static.marker&amp;z=13&amp;x=[#]longitude[#]&amp;y=[#]latitude[#]&amp;marker=[#]live_server[#]/images/footprint_mapbox.png&amp;token=[#]token[#]" alt="position" /></a>
<br />[#]lat_dms[#] [#]lon_dms[#]
<br />[#]date_time[#]
<br />[#]date_time[#] ([#]timezone[#])
</div>
</td>
</tr>

View File

@@ -13,7 +13,5 @@
* Reset zoom on image closing (lightbox)
* Fix video fullscreen button on ios
* Fix lightbox portrait mode: push text under
* Subscribe to message feed
* Add mail frequency slider
* Add Timezone to user table
* Replace Project Time Zone with browser Time Zone when uploading media?

View File

@@ -252,7 +252,7 @@ function setElem(aoAnchor, asPath, oValue)
}
function getTimeZoneDesc(sTimeZoneName) {
var sCity = sTimeZoneName.split('/')[1] || '';
var sCity = sTimeZoneName.split('/')[1].replace('_', ' ') || '';
return oSpot.lang('city_time', sCity);
}