From 3f07a635c877332ecd49efef4d83da1e856a4fc9 Mon Sep 17 00:00:00 2001 From: Lynx Linden Date: Wed, 13 Jan 2010 11:06:50 +0000 Subject: 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" --- indra/newview/app_settings/settings.xml | 2 +- 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 @@ Type String Value - http://lecs.viewer-sidebar.secondlife.com.s3.amazonaws.com/sidebar.html + 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] SearchURL 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); } -- cgit v1.2.3