void FSPanelLogin::loadLoginPage() { if (!sInstance) return; LLURI login_page = LLURI(LLGridManager::getInstance()->getLoginPage()); LLSD params(login_page.queryMap()); LL_DEBUGS("AppInit") << "login_page: " << login_page << LL_ENDL; // Language params["lang"] = LLUI::getLanguage(); // First Login? if (gSavedSettings.getBOOL("FirstLoginThisInstall")) { params["firstlogin"] = "******"; // not bool: server expects string TRUE } // Channel and Version params["version"] = llformat("%s (%d)", LLVersionInfo::getShortVersion().c_str(), LLVersionInfo::getBuild()); params["channel"] = LLVersionInfo::getChannel(); // Grid params["grid"] = LLGridManager::getInstance()->getGridId(); // add OS info params["os"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple(); // sourceid params["sourceid"] = gSavedSettings.getString("sourceid"); // Make an LLURI with this augmented info LLURI login_uri(LLURI::buildHTTP(login_page.authority(), login_page.path(), params)); LLMediaCtrl* web_browser = sInstance->getChild<LLMediaCtrl>("login_html"); if (web_browser->getCurrentNavUrl() != login_uri.asString()) { LL_DEBUGS("AppInit") << "loading: " << login_uri << LL_ENDL; web_browser->navigateTo( login_uri.asString(), HTTP_CONTENT_TEXT_HTML ); } }
void LLPanelLogin::loadLoginPage() { if (!sInstance) return; sInstance->updateGridCombo(); std::string login_page_str = gHippoGridManager->getCurrentGrid()->getLoginPage(); if (login_page_str.empty()) { sInstance->setSiteIsAlive(false); return; } // Use the right delimeter depending on how LLURI parses the URL LLURI login_page = LLURI(login_page_str); LLSD params(login_page.queryMap()); LL_DEBUGS("AppInit") << "login_page: " << login_page << LL_ENDL; // Language params["lang"] = LLUI::getLanguage(); // First Login? if (gSavedSettings.getBOOL("FirstLoginThisInstall")) { params["firstlogin"] = "******"; // not bool: server expects string TRUE } params["version"]= llformat("%d.%d.%d (%d)", gVersionMajor, gVersionMinor, gVersionPatch, gVersionBuild); params["channel"] = gVersionChannel; // Grid if (gHippoGridManager->getCurrentGrid()->isSecondLife()) { // find second life grid from login URI // yes, this is heuristic, but hey, it is just to get the right login page... std::string tmp = gHippoGridManager->getCurrentGrid()->getLoginUri(); int i = tmp.find(".lindenlab.com"); if (i != std::string::npos) { tmp = tmp.substr(0, i); i = tmp.rfind('.'); if (i == std::string::npos) i = tmp.rfind('/'); if (i != std::string::npos) { tmp = tmp.substr(i+1); params["grid"] = tmp; } } } else if (gHippoGridManager->getCurrentGrid()->isOpenSimulator()) { params["grid"] = gHippoGridManager->getCurrentGrid()->getGridNick(); } else if (gHippoGridManager->getCurrentGrid()->getPlatform() == HippoGridInfo::PLATFORM_AURORA) { params["grid"] = LLViewerLogin::getInstance()->getGridLabel(); } // add OS info params["os"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple(); // Make an LLURI with this augmented info LLURI login_uri(LLURI::buildHTTP(login_page.authority(), login_page.path(), params)); gViewerWindow->setMenuBackgroundColor(false, !LLViewerLogin::getInstance()->isInProductionGrid()); gLoginMenuBarView->setBackgroundColor(gMenuBarView->getBackgroundColor()); std::string singularity_splash_uri = gSavedSettings.getString("SingularitySplashPagePrefix"); if (!singularity_splash_uri.empty()) { params["original_page"] = login_uri.asString(); login_uri = LLURI::buildHTTP(singularity_splash_uri, gSavedSettings.getString("SingularitySplashPagePath"), params); } LLMediaCtrl* web_browser = sInstance->getChild<LLMediaCtrl>("login_html"); if (web_browser->getCurrentNavUrl() != login_uri.asString()) { LL_DEBUGS("AppInit") << "loading: " << login_uri << LL_ENDL; web_browser->navigateTo( login_uri.asString(), "text/html" ); } }