Email: Support multiple time zones
This commit is contained in:
@@ -63,6 +63,7 @@ class Email extends PhpObject {
|
|||||||
|
|
||||||
//Message
|
//Message
|
||||||
$this->oTemplate->setLanguage($asDest['language'], Spot::DEFAULT_LANG);
|
$this->oTemplate->setLanguage($asDest['language'], Spot::DEFAULT_LANG);
|
||||||
|
$this->oTemplate->setTimezone($asDest['timezone']);
|
||||||
|
|
||||||
//Unsubscribe Link
|
//Unsubscribe Link
|
||||||
$sUnsubLink = $this->sServName.'?a=unsubscribe_email&id='.$asDest['id_user'];
|
$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');
|
$oPHPMailer->addCustomHeader('List-Unsubscribe-Post','List-Unsubscribe=One-Click');
|
||||||
|
|
||||||
//Email Content
|
//Email Content
|
||||||
|
$this->oTemplate->setTag('timezone', 'lang:city_time', self::getTimeZoneCity($asDest['timezone']));
|
||||||
$sHtmlMessage = $this->oTemplate->getMask();
|
$sHtmlMessage = $this->oTemplate->getMask();
|
||||||
$sPlainMessage = strip_tags(str_replace('<br />', "\n", $sHtmlMessage));
|
$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->Subject = $this->oTemplate->getTranslator()->getTranslation($this->sTemplateName.'_subject');
|
||||||
$oPHPMailer->Body = $sHtmlMessage;
|
$oPHPMailer->Body = $sHtmlMessage;
|
||||||
$oPHPMailer->AltBody = $sPlainMessage;
|
$oPHPMailer->AltBody = $sPlainMessage;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$oPHPMailer->send();
|
$oPHPMailer->send();
|
||||||
}
|
}
|
||||||
@@ -91,4 +93,8 @@ class Email extends PhpObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function getTimeZoneCity($sTimeZone) {
|
||||||
|
return (strpos($sTimeZone, '/')!==false)?str_replace('_', ' ', explode('/', $sTimeZone)[1]):'';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -186,7 +186,7 @@ class Spot extends Main
|
|||||||
$asLastMessage = end($asMessages);
|
$asLastMessage = end($asMessages);
|
||||||
$asLastMessage['token'] = Settings::GEO_SERVER_TOKEN;
|
$asLastMessage['token'] = Settings::GEO_SERVER_TOKEN;
|
||||||
$oEmail->oTemplate->setTags($asLastMessage);
|
$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
|
//Add latest news feed
|
||||||
$asNews = $this->getNewsFeed(0, true);
|
$asNews = $this->getNewsFeed(0, true);
|
||||||
|
|||||||
@@ -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);">
|
<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&id=static.marker&z=13&x=[#]longitude[#]&y=[#]latitude[#]&marker=[#]live_server[#]/images/footprint_mapbox.png&token=[#]token[#]" alt="position" /></a>
|
<a href="[#]local_server[#]" target="_blank"><img style="border-radius:3px;" src="[#]geo_server[#]?a=tile&id=static.marker&z=13&x=[#]longitude[#]&y=[#]latitude[#]&marker=[#]live_server[#]/images/footprint_mapbox.png&token=[#]token[#]" alt="position" /></a>
|
||||||
<br />[#]lat_dms[#] [#]lon_dms[#]
|
<br />[#]lat_dms[#] [#]lon_dms[#]
|
||||||
<br />[#]date_time[#]
|
<br />[#]date_time[#] ([#]timezone[#])
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -13,7 +13,5 @@
|
|||||||
* Reset zoom on image closing (lightbox)
|
* Reset zoom on image closing (lightbox)
|
||||||
* Fix video fullscreen button on ios
|
* Fix video fullscreen button on ios
|
||||||
* Fix lightbox portrait mode: push text under
|
* Fix lightbox portrait mode: push text under
|
||||||
* Subscribe to message feed
|
|
||||||
* Add mail frequency slider
|
* Add mail frequency slider
|
||||||
* Add Timezone to user table
|
|
||||||
* Replace Project Time Zone with browser Time Zone when uploading media?
|
* Replace Project Time Zone with browser Time Zone when uploading media?
|
||||||
@@ -252,7 +252,7 @@ function setElem(aoAnchor, asPath, oValue)
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getTimeZoneDesc(sTimeZoneName) {
|
function getTimeZoneDesc(sTimeZoneName) {
|
||||||
var sCity = sTimeZoneName.split('/')[1] || '';
|
var sCity = sTimeZoneName.split('/')[1].replace('_', ' ') || '';
|
||||||
return oSpot.lang('city_time', sCity);
|
return oSpot.lang('city_time', sCity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user