summaryrefslogtreecommitdiff
path: root/indra/newview/lleventnotifier.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2022-02-28 21:54:21 +0200
committerAndrey Lihatskiy <alihatskiy@productengine.com>2022-02-28 21:54:21 +0200
commit73eec8913135127a1d31d3f1dc766f96908f984d (patch)
tree66ae3fec58046505fc80b15352957696d1ab4378 /indra/newview/lleventnotifier.cpp
parentce6dd53f9c364f46e30d0eedb1c6a701fbad8885 (diff)
parent6ca09a94554ec01f5c94ec60fffd01d7e33f3546 (diff)
Merge branch 'master' into DRTVWR-540-maint
# Conflicts: # autobuild.xml # indra/llcommon/llsys.cpp # indra/newview/app_settings/key_bindings.xml # indra/newview/llfloatereditextdaycycle.cpp
Diffstat (limited to 'indra/newview/lleventnotifier.cpp')
-rw-r--r--indra/newview/lleventnotifier.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/indra/newview/lleventnotifier.cpp b/indra/newview/lleventnotifier.cpp
index e3c17f9877..f1a44a68c9 100644
--- a/indra/newview/lleventnotifier.cpp
+++ b/indra/newview/lleventnotifier.cpp
@@ -36,6 +36,7 @@
#include "llfloaterevent.h"
#include "llagent.h"
#include "llcommandhandler.h" // secondlife:///app/... support
+#include "lltrans.h"
class LLEventHandler : public LLCommandHandler
{
@@ -218,8 +219,40 @@ void LLEventNotifier::load(const LLSD& event_options)
end = event_options.endArray(); resp_it != end; ++resp_it)
{
LLSD response = *resp_it;
-
- add(response["event_id"].asInteger(), response["event_date_ut"], response["event_date"].asString(), response["event_name"].asString());
+ LLDate date;
+ bool is_iso8601_date = false;
+
+ if (response["event_date"].isDate())
+ {
+ date = response["event_date"].asDate();
+ is_iso8601_date = true;
+ }
+ else if (date.fromString(response["event_date"].asString()))
+ {
+ is_iso8601_date = true;
+ }
+
+ if (is_iso8601_date)
+ {
+ std::string dateStr;
+
+ dateStr = "[" + LLTrans::getString("LTimeYear") + "]-["
+ + LLTrans::getString("LTimeMthNum") + "]-["
+ + LLTrans::getString("LTimeDay") + "] ["
+ + LLTrans::getString("LTimeHour") + "]:["
+ + LLTrans::getString("LTimeMin") + "]:["
+ + LLTrans::getString("LTimeSec") + "]";
+
+ LLSD substitution;
+ substitution["datetime"] = date;
+ LLStringUtil::format(dateStr, substitution);
+
+ add(response["event_id"].asInteger(), response["event_date_ut"], dateStr, response["event_name"].asString());
+ }
+ else
+ {
+ add(response["event_id"].asInteger(), response["event_date_ut"], response["event_date"].asString(), response["event_name"].asString());
+ }
}
}