Skip to content

Commit

Permalink
Client check for browser version
Browse files Browse the repository at this point in the history
  • Loading branch information
pedrobmarin committed Jan 6, 2015
1 parent e50de25 commit 0679bd3
Show file tree
Hide file tree
Showing 5 changed files with 71 additions and 5 deletions.
2 changes: 2 additions & 0 deletions bbb-client-check/locale/en_US/resources.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ bbbsystemcheck.copyAllText = Copy all text
bbbsystemcheck.result.undefined = Undefined
bbbsystemcheck.result.javaEnabled.disabled = Java is disabled in your browser
bbbsystemcheck.result.javaEnabled.notDetected = No Java detected
bbbsystemcheck.result.browser.changeBrowser = Recommend you use Firefox or Chrome for better audio
bbbsystemcheck.result.browser.browserOutOfDate = Your browser is out-of-date. Recommend you update to latest version.
bbbsystemcheck.status.succeeded = Succeded
bbbsystemcheck.status.warning = Warning
bbbsystemcheck.status.failed = Failed
Expand Down
8 changes: 6 additions & 2 deletions bbb-client-check/resources/lib/api-bridge.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,12 @@
if ((ix = version.indexOf(' ')) != -1) version = version.substring(0, ix);
if ((ix = version.indexOf(')')) != -1) version = version.substring(0, ix);

browserInfo = browser + " " + version;
swfObj.browser(browserInfo);
var result = {
browser: browser,
version: version
};

swfObj.browser(result);
}

BBBClientCheck.screenSize = function(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ package org.bigbluebutton.clientcheck.model.test

private var _testSuccessfull:Boolean;
private var _testResult:String;
private var _testMessage:String = "";

private var _browserTestSuccessfullChangedSignal:ISignal=new Signal;

Expand All @@ -54,9 +55,35 @@ package org.bigbluebutton.clientcheck.model.test
_testResult=value;
}

public function get testMessage():String
{
return _testMessage;
}

public function set testMessage(value:String):void
{
_testMessage=value;
}

public function get browserTestSuccessfullChangedSignal():ISignal
{
return _browserTestSuccessfullChangedSignal;
}

public function isBrowserUpdated(thisVersion:String, latestVersion:String):Boolean
{
var tversion:Array = thisVersion.split(".");
var lversion:Array = latestVersion.split(".");

var size:int = (tversion.length <= lversion.length) ? tversion.length : lversion.length;

for (var i:int = 0; i < size; i++) {
if (Number(tversion[i]) < Number(lversion[i])) {
return false;
}
}

return true;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ package org.bigbluebutton.clientcheck.service
import flash.external.ExternalInterface;

import org.bigbluebutton.clientcheck.model.ISystemConfiguration;
import org.bigbluebutton.clientcheck.model.IXMLConfig;
import org.bigbluebutton.clientcheck.model.test.ITestable;

import mx.resources.ResourceManager;
Expand All @@ -31,6 +32,9 @@ package org.bigbluebutton.clientcheck.service
[Inject]
public var systemConfiguration:ISystemConfiguration;

[Inject]
public var config:IXMLConfig;

public function ExternalApiCallbacks()
{
if (ExternalInterface.available)
Expand Down Expand Up @@ -114,9 +118,31 @@ package org.bigbluebutton.clientcheck.service
checkResult(value, systemConfiguration.screenSize);
}

private function browserCallbackHandler(value:String):void
private function browserCallbackHandler(value:Object):void
{
checkResult(value, systemConfiguration.browser);
systemConfiguration.browser.testResult = value.browser + " " + value.version;

switch (value.browser) {
case "Chrome":
if (systemConfiguration.browser.isBrowserUpdated(value.version, config.getChromeLatestVersion())) {
systemConfiguration.browser.testSuccessfull = true;
} else {
systemConfiguration.browser.testMessage = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.result.browser.browserOutOfDate');
systemConfiguration.browser.testSuccessfull = false;
}
break;
case "Firefox":
if (systemConfiguration.browser.isBrowserUpdated(value.version, config.getFirefoxLatestVersion())) {
systemConfiguration.browser.testSuccessfull = true;
} else {
systemConfiguration.browser.testMessage = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.result.browser.browserOutOfDate');
systemConfiguration.browser.testSuccessfull = false;
}
break;
default:
systemConfiguration.browser.testMessage = ResourceManager.getInstance().getString('resources', 'bbbsystemcheck.result.browser.changeBrowser');
systemConfiguration.browser.testSuccessfull = false;
}
}

public function userAgentCallbackHandler(value:String):void
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ package org.bigbluebutton.clientcheck.view.mainview

import mx.collections.ArrayCollection;
import mx.resources.ResourceManager;
import mx.utils.ObjectUtil;

import org.bigbluebutton.clientcheck.command.GetConfigXMLDataSignal;
import org.bigbluebutton.clientcheck.command.RequestBandwidthInfoSignal;
Expand Down Expand Up @@ -300,7 +301,13 @@ package org.bigbluebutton.clientcheck.view.mainview

private function browserChangedHandler():void
{
var status:Object = (systemConfiguration.browser.testSuccessfull == true) ? StatusENUM.SUCCEED : StatusENUM.FAILED;
var status:Object;
if (systemConfiguration.browser.testSuccessfull == true) {
status = StatusENUM.SUCCEED;
} else {
status = ObjectUtil.clone(StatusENUM.WARNING);
status.StatusMessage = systemConfiguration.browser.testMessage;
}
dp.updateData({Item: BrowserTest.BROWSER, Result: systemConfiguration.browser.testResult}, status);
}

Expand Down

0 comments on commit 0679bd3

Please sign in to comment.