diff --git a/bigbluebutton-client/resources/prod/BigBlueButton.html b/bigbluebutton-client/resources/prod/BigBlueButton.html index 5c6b3f68a54fbd296f8269d84ebcbbb46bfdff32..c0670b32c1774c62f023d3305faf4260898e7a47 100755 --- a/bigbluebutton-client/resources/prod/BigBlueButton.html +++ b/bigbluebutton-client/resources/prod/BigBlueButton.html @@ -62,7 +62,7 @@ }; //swfobject.registerObject("BigBlueButton", "11", "expressInstall.swf"); - var flashvars = {}; + var flashvars = {"origin":window.location.origin}; var params = {}; params.quality = "high"; params.bgcolor = "#FFFFFF"; @@ -98,7 +98,7 @@ var fillContent = function(){ var content = document.getElementById("content"); if (content) { - content.innerHTML = '<object type="application/x-shockwave-flash" id="BigBlueButton" name="BigBlueButton" tabindex="0" data="BigBlueButton.swf?v=VERSION" style="position: relative; top: 0.5px;" width="100%" height="100%" align="middle"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><param name="allowfullscreen" value="true"><param name="allowfullscreeninteractive" value="true"><param name="wmode" value="window"><param name="allowscriptaccess" value="always"><param name="seamlesstabbing" value="true"></object>'; + content.innerHTML = '<object type="application/x-shockwave-flash" id="BigBlueButton" name="BigBlueButton" tabindex="0" data="BigBlueButton.swf?v=VERSION" style="position: relative; top: 0.5px;" width="100%" height="100%" align="middle"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><param name="allowfullscreen" value="true"><param name="allowfullscreeninteractive" value="true"><param name="wmode" value="window"><param name="allowscriptaccess" value="always"><param name="seamlesstabbing" value="true"><param name="FlashVars" value="origin='+window.location.origin+'"/></object>'; } }; } else { diff --git a/bigbluebutton-client/src/BigBlueButton.mxml b/bigbluebutton-client/src/BigBlueButton.mxml index d8a87b7da1648488fab020a912f371b0e0d0eed9..423db01d26ae6ca5979021618ec8454f9fae34a4 100755 --- a/bigbluebutton-client/src/BigBlueButton.mxml +++ b/bigbluebutton-client/src/BigBlueButton.mxml @@ -45,20 +45,6 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. private function init():void { LogUtil.initLogging(true); } - - public function determineHtmlUrl():String { - var url:String = ""; - if (ExternalInterface.available) { - try { - url = String(ExternalInterface.call("window.location.href.toString")); - LOGGER.debug("HTML URL [{0}]", [url]); - } catch (s:Error) { - LOGGER.debug("Cannot determine HTML URL"); - } - } - - return url; - } ]]> </fx:Script> <views:BigBlueButtonMainContainer id="bbbShell"/> diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as b/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as index 279ff41b3b34e23cf11350279e44c309b761545e..5bf1f4953a785431460fe6316193cac546303763 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/BBB.as @@ -21,7 +21,6 @@ package org.bigbluebutton.core { import flash.system.Capabilities; import mx.core.FlexGlobals; - import mx.utils.URLUtil; import org.bigbluebutton.core.managers.ConfigManager2; import org.bigbluebutton.core.managers.ConnectionManager; @@ -127,10 +126,8 @@ package org.bigbluebutton.core { return logoutUrl; } - private static function getBaseURL():String { - var protocol:String = URLUtil.getProtocol(FlexGlobals.topLevelApplication.determineHtmlUrl()); - var serverName:String = URLUtil.getServerNameWithPort(FlexGlobals.topLevelApplication.determineHtmlUrl()); - return protocol + "://" + serverName; + public static function getBaseURL():String { + return FlexGlobals.topLevelApplication.loaderInfo.parameters.origin } } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as index 11ed5370ebff6626deb1ef504edb13821e3cb9aa..5daa3af64205f91f18a725b6541a45d401d0222e 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/managers/ConfigManager2.as @@ -26,12 +26,10 @@ package org.bigbluebutton.core.managers { import flash.net.URLVariables; import flash.utils.Dictionary; - import mx.core.FlexGlobals; - import mx.utils.URLUtil; - import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; import org.bigbluebutton.common.LogUtil; + import org.bigbluebutton.core.BBB; import org.bigbluebutton.core.model.Config; import org.bigbluebutton.main.events.ConfigLoadedEvent; import org.bigbluebutton.main.events.MeetingNotFoundEvent; @@ -57,7 +55,7 @@ package org.bigbluebutton.core.managers { urlLoader.addEventListener(Event.COMPLETE, handleComplete); var date:Date = new Date(); - var localeReqURL:String = buildRequestURL(); + var localeReqURL:String = BBB.getBaseURL() + "/" + CONFIG_XML;; trace("::loadConfig [{0}]", [localeReqURL]); trace(localeReqURL + " session=[" + sessionToken + "]"); @@ -69,13 +67,6 @@ package org.bigbluebutton.core.managers { urlLoader.load(request); } - private function buildRequestURL():String { - var swfURL:String = FlexGlobals.topLevelApplication.determineHtmlUrl(); - var protocol:String = URLUtil.getProtocol(swfURL); - var serverName:String = URLUtil.getServerNameWithPort(swfURL); - return protocol + "://" + serverName + "/" + CONFIG_XML; - } - private function handleComplete(e:Event):void { trace("handleComplete [{0}]", [new XML(e.target.data)]); diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml index e077f9b4d9a8025737f51a6331dee04054d6c76d..b9c06009e31877080f2e4c436bae34b42ed592a1 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml @@ -623,11 +623,8 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>. } else { mdiCanvas.removeAllPopUps(); removeToolBars(); - var serverURL:String = FlexGlobals.topLevelApplication.determineHtmlUrl(); - var pageHost:String = serverURL.split("/")[0]; - var pageURL:String = serverURL.split("/")[2]; - LOGGER.debug("SingOut to [{0}//{1}/bigbluebutton/api/signOut]", [pageHost, pageURL]); - var request:URLRequest = new URLRequest(pageHost + "//" + pageURL + "/bigbluebutton/api/signOut"); + LOGGER.debug("SingOut to [{0}/bigbluebutton/api/signOut]", [BBB.getBaseURL()]); + var request:URLRequest = new URLRequest(BBB.getBaseURL() + "/bigbluebutton/api/signOut"); var urlLoader:URLLoader = new URLLoader(); urlLoader.addEventListener(Event.COMPLETE, handleLogoutComplete); urlLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLogoutError); diff --git a/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as b/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as index 7325903ba6866114d6a67a49aa4ba7fdec21a3f7..43645e1802551fc381386ab54424efc88c670708 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as +++ b/bigbluebutton-client/src/org/bigbluebutton/util/browser/BrowserCheck.as @@ -23,6 +23,7 @@ package org.bigbluebutton.util.browser { import org.as3commons.lang.StringUtils; import org.as3commons.logging.api.ILogger; import org.as3commons.logging.api.getClassLogger; + import org.bigbluebutton.core.BBB; public class BrowserCheck { private static const LOGGER:ILogger = getClassLogger(BrowserCheck); @@ -87,9 +88,8 @@ package org.bigbluebutton.util.browser { } public static function isHttps():Boolean { - var url:String = ExternalInterface.call("window.location.href.toString"); var httpsPattern:RegExp = /^https/; - return httpsPattern.test(url); + return httpsPattern.test(BBB.getBaseURL()); } } } diff --git a/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as b/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as index a7e9d072f588272289f070caf9e13f9e9c97f8c6..b4ee9c68ab6b7aefd31bf831b230c096f5fa5ac1 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as +++ b/bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as @@ -48,7 +48,6 @@ package org.bigbluebutton.util.i18n private var inited:Boolean = false; private var dispatcher:Dispatcher = new Dispatcher(); - private static var BBB_RESOURCE_BUNDLE:String = 'bbbResources'; private static var MASTER_LOCALE:String = "en_US"; private static var DEFAULT_LOCALE_IDENTIFIER:String = "default"; diff --git a/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as b/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as index bfc516464bebe8da7026eb3e664790545cd90362..79f45306b74057d8b30ab23d107bbabcb6587f47 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as +++ b/bigbluebutton-client/src/org/bigbluebutton/util/logging/ServerLogTarget.as @@ -24,7 +24,6 @@ package org.bigbluebutton.util.logging import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLRequestMethod; - import flash.net.URLVariables; import flash.utils.Timer; import org.as3commons.lang.ArrayUtils;