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"
master
Lynx Linden 2010-01-13 11:06:50 +00:00
parent abc190525f
commit 3f07a635c8
2 changed files with 12 additions and 3 deletions

View File

@ -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]&amp;lang=[LANGUAGE]&amp;channel=[CHANNEL]&amp;version=[VERSION]&amp;major=[VERSION_MAJOR]&amp;minor=[VERSION_MINOR]</string>
</map>
<key>SearchURL</key>
<map>

View File

@ -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);
}