diff options
author | Lynx Linden <lynx@lindenlab.com> | 2010-01-13 11:06:50 +0000 |
---|---|---|
committer | Lynx Linden <lynx@lindenlab.com> | 2010-01-13 11:06:50 +0000 |
commit | 3f07a635c877332ecd49efef4d83da1e856a4fc9 (patch) | |
tree | b35852e3b1ab9ec70bbc6f4341ced18c63e476af | |
parent | abc190525fd047b22f2e50b22a9fcd4d05f45e83 (diff) |
DEV-44861: Support a home_sidetray_url from login.cgi
The URL for the Home side tray is specified in settings.xml. It can
now be overriden on a grid-level via a "home_sidetray_url" token sent
by login.cgi.
I also updated the Home URL in settings.xml to pass through a bunch of
information to the web server as query params. These include:
p= : the authentication token from login.cgi
lang= : the user's current two-letter language setting
channel= : the viewer's channel name, e.g., "Second Life Beta",
"Second Life Release", "Snowglobe", etc.
version= : the viewer's version number, e.g., "2.0.0.200712"
major= : the viewer's major version number, e.g. "2"
minor= : the viewer's minor version number, e.g. "0"
-rw-r--r-- | indra/newview/app_settings/settings.xml | 2 | ||||
-rw-r--r-- | indra/newview/llviewerhome.cpp | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 382793a497..9250b427af 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3607,7 +3607,7 @@ <key>Type</key> <string>String</string> <key>Value</key> - <string>http://lecs.viewer-sidebar.secondlife.com.s3.amazonaws.com/sidebar.html</string> + <string>http://lecs.viewer-sidebar.secondlife.com.s3.amazonaws.com/sidebar.html?p=[AUTH_TOKEN]&lang=[LANGUAGE]&channel=[CHANNEL]&version=[VERSION]&major=[VERSION_MAJOR]&minor=[VERSION_MINOR]</string> </map> <key>SearchURL</key> <map> diff --git a/indra/newview/llviewerhome.cpp b/indra/newview/llviewerhome.cpp index 6299b4fabd..8fdbe0a4ae 100644 --- a/indra/newview/llviewerhome.cpp +++ b/indra/newview/llviewerhome.cpp @@ -50,9 +50,18 @@ std::string LLViewerHome::getHomeURL() LLSD substitution; substitution["AUTH_TOKEN"] = LLURI::escape(getAuthKey()); - // get the home URL and expand all of the substitutions - // (also adds things like [LANGUAGE], [VERSION], [OS], etc.) + // get the home URL from the settings.xml file std::string homeURL = gSavedSettings.getString("HomeSidePanelURL"); + + // support a grid-level override of the URL from login.cgi + LLSD grid_url = LLLoginInstance::getInstance()->getResponse("home_sidetray_url"); + if (! grid_url.asString().empty()) + { + homeURL = grid_url.asString(); + } + + // expand all substitution strings in the URL and return it + // (also adds things like [LANGUAGE], [VERSION], [OS], etc.) return LLWeb::expandURLSubstitutions(homeURL, substitution); } |