From 57f65bfe56346f275e34529ef03a3894adf27489 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Fri, 27 Aug 2010 17:27:02 +0000 Subject: [PATCH 01/16] Created an option for the presenter to be able to share webcams only --- .../resources/config.xml.template | 1 + bigbluebutton-client/src/VideoconfModule.mxml | 5 +++ .../modules/videoconf/business/VideoProxy.as | 2 +- .../modules/videoconf/maps/VideoEventMap.mxml | 32 ++++++++++++++++--- .../videoconf/views/ToolbarButton.mxml | 10 ++++-- .../modules/videoconf/views/VideoWindow.mxml | 6 ++-- .../viewers/views/StatusItemRenderer.mxml | 13 +++----- 7 files changed, 50 insertions(+), 19 deletions(-) mode change 100644 => 100755 bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarButton.mxml diff --git a/bigbluebutton-client/resources/config.xml.template b/bigbluebutton-client/resources/config.xml.template index 7df8d4f17c..d6b8aed0ab 100755 --- a/bigbluebutton-client/resources/config.xml.template +++ b/bigbluebutton-client/resources/config.xml.template @@ -42,6 +42,7 @@ uri="rtmp://HOST/video" dependsOn="ViewersModule" videoQuality="70" + presenterShareOnly="false" /> @@ -150,4 +166,12 @@ + + + + + + + + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarButton.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarButton.mxml old mode 100644 new mode 100755 index 7ecc08a544..58cd9d2609 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarButton.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarButton.mxml @@ -20,14 +20,20 @@ $Id: $ --> - + + verticalScrollPolicy="off" horizontalScrollPolicy="off"> @@ -31,6 +30,8 @@ Date: Fri, 27 Aug 2010 18:46:41 +0000 Subject: [PATCH 02/16] Layout Issue fix for webcam windows overlaping. --- .../src/org/bigbluebutton/main/views/MainCanvas.mxml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainCanvas.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainCanvas.mxml index ebf7edba0e..25393729c9 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/views/MainCanvas.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/MainCanvas.mxml @@ -97,8 +97,10 @@ win.height = rightWindowHeight; break; case POPUP: - x = 200; - y = 200; + x = (Math.random() * this.width) - 250; + y = (Math.random() * this.height) - 250; + if (x < 250) x = 1; + if (y < 250) y = 1; break; case DESKTOP_SHARING_VIEW: x = 1; From d3b95257965e3a6f064ba511961ead3f8ed62860 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 30 Aug 2010 14:28:27 -0400 Subject: [PATCH 03/16] bbb-conf --conference/--salt/--setip print out now the current values instead of the whole help text --- bigbluebutton-config/bin/bbb-conf | 44 ++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index 63c958867e..df16149648 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -38,9 +38,6 @@ GENTOO=$(uname -r | grep gentoo | cut -d- -f2); TOMCAT="" -OLDEVENTIP=$(cat /opt/freeswitch/conf/autoload_configs/event_socket.conf.xml | grep 'name="listen-ip"' | cut -d\" -f4 | awk '{print $1}'); - - get_platform() { @@ -241,10 +238,10 @@ display_bigbluebutton_status () { /etc/init.d/${TOMCAT} status } -if [ $# -eq 0 ]; then - usage - exit 1 -fi +#if [ $# -eq 0 ]; then +# usage +# exit 1 +#fi # Parse the parameters while [ $# -gt 0 ]; do @@ -329,13 +326,18 @@ while [ $# -gt 0 ]; do # all other parameters requires at least 1 argument # - if [ $# -lt 2 ]; then - usage - exit 1 - fi + #if [ $# -lt 2 ]; then + #usage + # exit 1 + #fi if [ "$1" = "-setip" -o "$1" = "--setip" ]; then HOST="${2}" + if test -z "${2}"; then + echo "HOST IP=`ifconfig | grep -m 1 'inet addr:' | cut -d: -f2 | awk '{print $1}'`" + #echo "PORT=`echo ${2}|cut -d: -f2`" + fi + if echo $HOST|grep -q ":"; then HOST=`echo ${2}|cut -d: -f1` PORT=`echo ${2}|cut -d: -f2` @@ -346,18 +348,36 @@ while [ $# -gt 0 ]; do if [ "$1" = "--setup-dev" -o "$1" = "-setup-dev" ]; then SETUPDEV="${2}" + if test -z "${2}"; then + usage; + fi shift; shift continue fi if [ "$1" = "--conference" -o "$1" = "-conference" ]; then CONFERENCE="${2}" + confapp=`cat /usr/share/red5/webapps/bigbluebutton/WEB-INF/bigbluebutton.properties | grep 'asterisk.application' | cut -d= -f2`; + freeapp=`cat /usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml | grep " Date: Tue, 31 Aug 2010 09:48:54 -0400 Subject: [PATCH 04/16] Added cat /etc/lsb-release to bbb-conf --check --- bigbluebutton-config/bin/bbb-conf | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf index df16149648..f0e0e757a0 100755 --- a/bigbluebutton-config/bin/bbb-conf +++ b/bigbluebutton-config/bin/bbb-conf @@ -238,10 +238,10 @@ display_bigbluebutton_status () { /etc/init.d/${TOMCAT} status } -#if [ $# -eq 0 ]; then -# usage -# exit 1 -#fi +if [ $# -eq 0 ]; then + usage + exit 1 +fi # Parse the parameters while [ $# -gt 0 ]; do @@ -320,7 +320,7 @@ while [ $# -gt 0 ]; do fi shift; shift continue - fi + fi # # all other parameters requires at least 1 argument @@ -982,6 +982,10 @@ if [ $CHECK ]; then MEM=`free -m | grep Mem | awk '{ print $2}'` echo "Memory: $MEM MB" + if [ -e /etc/lsb-release ]; then + cat /etc/lsb-release; + fi + echo echo "/var/www/bigbluebutton/client/conf/config.xml:" IP=$(cat /var/www/bigbluebutton/client/conf/config.xml | sed -n '/porttest /{s/.*host="//;s/".*//;p}') From 8247a3bb4e1972f6d671b34ec55e6e2e7b88b02e Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Tue, 31 Aug 2010 19:03:44 +0000 Subject: [PATCH 05/16] Breakout Module, Initial commit --- bigbluebutton-client/.actionScriptProperties | 103 +++++++++--------- bigbluebutton-client/.flexProperties | 4 +- .../locale/bg_BG/bbbResources.properties | 12 +- .../resources/config.xml.template | 6 + .../bigbluebutton/main/model/users/BBBUser.as | 2 + 5 files changed, 68 insertions(+), 59 deletions(-) diff --git a/bigbluebutton-client/.actionScriptProperties b/bigbluebutton-client/.actionScriptProperties index 26368b92e2..93dd1e8ff9 100755 --- a/bigbluebutton-client/.actionScriptProperties +++ b/bigbluebutton-client/.actionScriptProperties @@ -1,51 +1,52 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bigbluebutton-client/.flexProperties b/bigbluebutton-client/.flexProperties index eb94363b6e..afb930671b 100755 --- a/bigbluebutton-client/.flexProperties +++ b/bigbluebutton-client/.flexProperties @@ -1,2 +1,2 @@ - - + + diff --git a/bigbluebutton-client/locale/bg_BG/bbbResources.properties b/bigbluebutton-client/locale/bg_BG/bbbResources.properties index 62706e06d7..058a04d24a 100755 --- a/bigbluebutton-client/locale/bg_BG/bbbResources.properties +++ b/bigbluebutton-client/locale/bg_BG/bbbResources.properties @@ -1,4 +1,4 @@ - + # BigBlueButton.mxml bbb.pageTitle = BigBlueButton @@ -8,13 +8,13 @@ bbb.mainshell.statusProgress.connecting = Свързване със сървър bbb.mainshell.statusProgress.loading = Зареждане на {0} модул/а bbb.mainshell.statusProgress.cannotConnectServer = Съжалявам, не мога да се свържа със сървърът. bbb.mainshell.copyrightLabel2 = (c) 2010, BigBlueButton build {0} - За повече информация вижте http://www.bigbluebutton.org/. -bbb.mainshell.logBtn.toolTip = Отвори Дневник Прозорцът +bbb.mainshell.logBtn.toolTip = Отвори Дневник Прозорецът bbb.mainshell.fullScreenBtn.toolTip = Премини на Цял Екран bbb.mainshell.resetLayoutBtn.toolTip = Презареди Изгледа # OldLocaleWarnWIndow.mxml bbb.oldlocalewindow.reminder1=Вие може да имате стар превод на BigBlueButton. -bbb.oldlocalewindow.reminder2=Моля изчистете кеша на браузера си и опитайте отново. +bbb.oldlocalewindow.reminder2=Моля изчистете кеша на браузъра си и опитайте отново. bbb.oldlocalewindow.windowTitle=Предупреждение: Стар превод на езика # LogWindow.mxml @@ -47,7 +47,7 @@ bbb.viewers.viewersGrid.statusItemRenderer = Състояние bbb.viewers.viewersGrid.statusItemRenderer.raiseHand.toolTip = Вдигната ръка на {0} bbb.viewers.viewersGrid.statusItemRenderer.streamIcon.toolTip = Натисни за да видиш. bbb.viewers.viewersGrid.statusItemRenderer.presIcon.toolTip = Презентатор -bbb.viewers.presentBtn.toolTip = Изберете кои уеб учстници да са презентатори. +bbb.viewers.presentBtn.toolTip = Изберете кои уеб участници да са презентатори. bbb.viewers.raiseHandBtn.toolTip = Натисни за да вдигнеш ръка. bbb.viewers.presentBtn.label = Смени Презентаторът bbb.viewers.kickUserBtn.toolTip = Изхвърли потребител @@ -62,7 +62,7 @@ bbb.presentation.slideNumLbl = bbb.presentation.forwardBtn.toolTip = Следваща страница bbb.presentation.resetZoomBtn.toolTip = Презареди Мащаба bbb.presentation.presenterNameLbl = {0} текущо презентират. -bbb.presentation.maximizeRestoreBtn.toolTip = Увелечете този прозорец +bbb.presentation.maximizeRestoreBtn.toolTip = Увеличете този прозорец bbb.presentation.maximizeRestoreBtn.toolTip2 = Възстановяване на предишният размер bbb.presentation.clickToUpload = Зареди презентация bbb.presentation.maxUploadFileExceededAlert = Грешка: Файлът е по-голям от позволеното. @@ -175,4 +175,4 @@ bbb.highlighter.toolbar.thickness = Смени дебелина # WhiteboardButton.mxml bbb.highlighter.button.toolTipShow = Покажи Дъската -bbb.highlighter.button.toolTipHide = Скрий Дъската \ No newline at end of file +bbb.highlighter.button.toolTipHide = Скрий Дъската diff --git a/bigbluebutton-client/resources/config.xml.template b/bigbluebutton-client/resources/config.xml.template index d6b8aed0ab..78986ee158 100755 --- a/bigbluebutton-client/resources/config.xml.template +++ b/bigbluebutton-client/resources/config.xml.template @@ -69,5 +69,11 @@ host="http://HOST" />--> + + diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as index e7a501ffd9..d2a93531a4 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as @@ -43,6 +43,8 @@ package org.bigbluebutton.main.model.users [Bindable] public var room:String = ""; [Bindable] public var authToken:String = ""; + [Bindable] public var selected:Boolean = false; + private var _status:StatusCollection = new StatusCollection(); public function get status():ArrayCollection { From e5a0aa4c5d2ddfb244effbe3e47218146f90bc9f Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Tue, 31 Aug 2010 19:04:30 +0000 Subject: [PATCH 06/16] Breakout Module, Initial commit --- bigbluebutton-client/src/BreakoutModule.mxml | 66 ++++++++ .../breakout/business/BreakoutProxy.as | 151 ++++++++++++++++++ .../breakout/events/CreateRoomEvent.as | 17 ++ .../breakout/events/StartBreakoutModule.as | 16 ++ .../breakout/managers/BreakoutManager.as | 27 ++++ .../modules/breakout/maps/BreakoutMap.mxml | 29 ++++ .../breakout/views/BreakoutButton.mxml | 24 +++ .../modules/breakout/views/BreakoutItem.mxml | 14 ++ .../breakout/views/BreakoutWindow.mxml | 55 +++++++ 9 files changed, 399 insertions(+) create mode 100755 bigbluebutton-client/src/BreakoutModule.mxml create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/events/CreateRoomEvent.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/events/StartBreakoutModule.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/managers/BreakoutManager.as create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/maps/BreakoutMap.mxml create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutButton.mxml create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutItem.mxml create mode 100755 bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutWindow.mxml diff --git a/bigbluebutton-client/src/BreakoutModule.mxml b/bigbluebutton-client/src/BreakoutModule.mxml new file mode 100755 index 0000000000..7ad36e3fb2 --- /dev/null +++ b/bigbluebutton-client/src/BreakoutModule.mxml @@ -0,0 +1,66 @@ + + + + + + + + + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as new file mode 100755 index 0000000000..dbd10a5893 --- /dev/null +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as @@ -0,0 +1,151 @@ +package org.bigbluebutton.modules.breakout.business +{ + import com.adobe.crypto.SHA1; + + import flash.events.Event; + import flash.events.NetStatusEvent; + import flash.events.SyncEvent; + import flash.net.NetConnection; + import flash.net.SharedObject; + import flash.net.URLLoader; + import flash.net.URLRequest; + import flash.net.URLRequestMethod; + import flash.net.navigateToURL; + + import mx.controls.Alert; + import mx.events.CloseEvent; + + public class BreakoutProxy + { + public static const API_URL:String = "http://192.168.0.225/bigbluebutton/api"; + public static const API_SALT:String = "1708e5ecf25b7142b06f2338b4ea3cf1"; + + private var urlLoader:URLLoader; + private var request:URLRequest; + private var meetingName:String; + private var attendeePW:String; + private var moderatorPW:String; + + private var host:String; + private var conference:String; + private var room:String; + private var userid:Number; + private var username:String; + private var userrole:String; + private var connection:NetConnection; + private var ncURL:String; + private var breakoutSO:SharedObject; + + private var usersList:Array; + private var kickUsers:Boolean; + + private var completeJoinUrl:String; + private var newWindow:String; + + public function BreakoutProxy() + { + urlLoader = new URLLoader(); + } + + public function connect(a:Object):void{ + host = a.host as String; + conference = a.conference as String; + room = a.room as String; + userid = a.userid as Number; + username = a.username as String; + userrole = a.userrole as String; + connection = a.connection; + ncURL = connection.uri; + + breakoutSO = SharedObject.getRemote("breakoutSO", ncURL, false); + breakoutSO.addEventListener(SyncEvent.SYNC, sharedObjectSyncHandler); + breakoutSO.addEventListener(NetStatusEvent.NET_STATUS, netStatusEventHandler); + breakoutSO.client = this; + breakoutSO.connect(connection); + } + + private function sharedObjectSyncHandler(e:SyncEvent):void{ + + } + + private function netStatusEventHandler(e:NetStatusEvent):void{ + + } + + public function createRoom(usersList:Array, kickUsers:Boolean):void{ + this.usersList = usersList; + this.kickUsers = kickUsers; + + meetingName = Math.random().toString(); + var createString:String = "create" + "name=" + meetingName + "&meetingID=" + meetingName + API_SALT; + var hash:String = SHA1.hash(createString); + + var completeUrl:String = API_URL + "/create?" + "name=" + meetingName + "&meetingID=" + meetingName + "&checksum=" + hash; + request = new URLRequest(completeUrl); + request.method = URLRequestMethod.GET; + urlLoader.addEventListener(Event.COMPLETE, handleMeetingCreated); + urlLoader.load(request); + } + + private function handleMeetingCreated(e:Event):void{ + //Alert.show("" + e.target.data); + //var returnString:String = '' + e.target.data; + var xml:XML = new XML(e.target.data); + + if (xml.returncode == "SUCCESS"){ + attendeePW = xml.attendeePW; + moderatorPW = xml.moderatorPW; + startRoom(); + } else if (xml.returncode == "FAILED"){ + Alert.show(xml.messageKey + ":" + xml.message); + } + urlLoader.removeEventListener(Event.COMPLETE, handleMeetingCreated); + } + + private function startRoom():void{ + breakoutSO.send("redirectUser", meetingName, moderatorPW, attendeePW, kickUsers, usersList); + } + + public function redirectUser(newMeetingName:String, newModeratorPW:String, newAttendeePW:String, kickUser:Boolean, userList:Array):void{ + if (!checkIfUserInList(userList)) return; + + var password:String; + if (userrole == "MODERATOR" ) password = newModeratorPW; + else password = newAttendeePW; + + var safeUsername:String = username.replace(" ", "+"); + + var joinString:String = "join" + "fullName=" + safeUsername + "&meetingID=" + newMeetingName + "&password=" + password + "&userID=" + userid + API_SALT; + var hash:String = SHA1.hash(joinString); + + completeJoinUrl = API_URL + "/join?" + "fullName=" + safeUsername + "&meetingID=" + newMeetingName + + "&password=" + password + "&userID=" + userid + "&checksum=" + hash; + + var logoutMessage:String; + if (kickUser){ + newWindow = "_self"; + logoutMessage = "You are being redirected to a new meeting. Click to continue"; + } + else if (!kickUser){ + newWindow = "_blank"; + logoutMessage = "A new meeting will open. Click to continue"; + } + + //Alert.show(completeJoinUrl); + + Alert.show(logoutMessage, "", 4, null, onAlertClose); + } + + private function onAlertClose(e:CloseEvent):void{ + request = new URLRequest(completeJoinUrl); + navigateToURL(request, newWindow); + } + + private function checkIfUserInList(list:Array):Boolean{ + for (var i:int = 0; i + + + + + + + + + + + + + + + + + + + + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutButton.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutButton.mxml new file mode 100755 index 0000000000..f1b7fc8038 --- /dev/null +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutButton.mxml @@ -0,0 +1,24 @@ + + + + + + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutItem.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutItem.mxml new file mode 100755 index 0000000000..558f91b13f --- /dev/null +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutItem.mxml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutWindow.mxml new file mode 100755 index 0000000000..e68dedb49d --- /dev/null +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/views/BreakoutWindow.mxml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + From 8bbe2db0d3bfe0eeeca2907823e722dbb94873b5 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Tue, 31 Aug 2010 20:05:57 +0000 Subject: [PATCH 07/16] Fixed error in Bulgarian translation that was preventing the client from compiling properly --- bigbluebutton-client/locale/bg_BG/bbbResources.properties | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bigbluebutton-client/locale/bg_BG/bbbResources.properties b/bigbluebutton-client/locale/bg_BG/bbbResources.properties index 058a04d24a..c25cdea344 100755 --- a/bigbluebutton-client/locale/bg_BG/bbbResources.properties +++ b/bigbluebutton-client/locale/bg_BG/bbbResources.properties @@ -1,5 +1,6 @@ - -# BigBlueButton.mxml +## BigBlueButton.mxml +bbb.pageTitle = BigBlueButton + bbb.pageTitle = BigBlueButton # MainApplicationShell.mxml From 3d45d68c6ef0799e21a8361e9a81ae088a5f1285 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Tue, 31 Aug 2010 20:43:24 +0000 Subject: [PATCH 08/16] Modified build.xml on the client to compile Breakout Module --- bigbluebutton-client/build.xml | 9 +++++++-- .../bigbluebutton/main/model/modules/ModuleManager.as | 1 - 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml index 6f07787524..546e3ec48f 100755 --- a/bigbluebutton-client/build.xml +++ b/bigbluebutton-client/build.xml @@ -25,6 +25,7 @@ + @@ -114,6 +115,10 @@ + + + + @@ -169,8 +174,8 @@ + depends="build-bbb-main, build-chat, build-viewers, build-listeners, build-present, build-breakout" + description="Compile main, chat, viewers, listeners, present, breakout modules"> diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModuleManager.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModuleManager.as index f0a30aa3b5..de3cb926cd 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModuleManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModuleManager.as @@ -34,7 +34,6 @@ package org.bigbluebutton.main.model.modules import org.bigbluebutton.common.LogUtil; import org.bigbluebutton.common.Role; import org.bigbluebutton.main.events.ModuleLoadEvent; - import org.bigbluebutton.main.events.UserServicesEvent; import org.bigbluebutton.main.model.ConferenceParameters; import org.bigbluebutton.main.model.ConfigParameters; From a673c32ce49d3dc73f4ca93a023b79f35c3edd95 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Tue, 31 Aug 2010 21:39:59 +0000 Subject: [PATCH 09/16] Externalized salt of BreakoutModule to config.xml --- .../resources/config.xml.template | 1 + .../breakout/business/BreakoutProxy.as | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/bigbluebutton-client/resources/config.xml.template b/bigbluebutton-client/resources/config.xml.template index 78986ee158..16de794786 100755 --- a/bigbluebutton-client/resources/config.xml.template +++ b/bigbluebutton-client/resources/config.xml.template @@ -73,6 +73,7 @@ uri="rtmp://192.168.0.225/bigbluebutton" host="http://192.168.0.225" dependsOn="ViewersModule" + salt="1708e5ecf25b7142b06f2338b4ea3cf1" />--> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as index dbd10a5893..54045e8fa3 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as @@ -16,10 +16,7 @@ package org.bigbluebutton.modules.breakout.business import mx.events.CloseEvent; public class BreakoutProxy - { - public static const API_URL:String = "http://192.168.0.225/bigbluebutton/api"; - public static const API_SALT:String = "1708e5ecf25b7142b06f2338b4ea3cf1"; - + { private var urlLoader:URLLoader; private var request:URLRequest; private var meetingName:String; @@ -39,6 +36,9 @@ package org.bigbluebutton.modules.breakout.business private var usersList:Array; private var kickUsers:Boolean; + private var api_url:String; + private var api_salt:String; + private var completeJoinUrl:String; private var newWindow:String; @@ -57,6 +57,9 @@ package org.bigbluebutton.modules.breakout.business connection = a.connection; ncURL = connection.uri; + api_url = host + "/bigbluebutton/api"; + api_salt = a.salt; + breakoutSO = SharedObject.getRemote("breakoutSO", ncURL, false); breakoutSO.addEventListener(SyncEvent.SYNC, sharedObjectSyncHandler); breakoutSO.addEventListener(NetStatusEvent.NET_STATUS, netStatusEventHandler); @@ -77,10 +80,10 @@ package org.bigbluebutton.modules.breakout.business this.kickUsers = kickUsers; meetingName = Math.random().toString(); - var createString:String = "create" + "name=" + meetingName + "&meetingID=" + meetingName + API_SALT; + var createString:String = "create" + "name=" + meetingName + "&meetingID=" + meetingName + api_salt; var hash:String = SHA1.hash(createString); - var completeUrl:String = API_URL + "/create?" + "name=" + meetingName + "&meetingID=" + meetingName + "&checksum=" + hash; + var completeUrl:String = api_url + "/create?" + "name=" + meetingName + "&meetingID=" + meetingName + "&checksum=" + hash; request = new URLRequest(completeUrl); request.method = URLRequestMethod.GET; urlLoader.addEventListener(Event.COMPLETE, handleMeetingCreated); @@ -115,10 +118,10 @@ package org.bigbluebutton.modules.breakout.business var safeUsername:String = username.replace(" ", "+"); - var joinString:String = "join" + "fullName=" + safeUsername + "&meetingID=" + newMeetingName + "&password=" + password + "&userID=" + userid + API_SALT; + var joinString:String = "join" + "fullName=" + safeUsername + "&meetingID=" + newMeetingName + "&password=" + password + "&userID=" + userid + api_salt; var hash:String = SHA1.hash(joinString); - completeJoinUrl = API_URL + "/join?" + "fullName=" + safeUsername + "&meetingID=" + newMeetingName + + completeJoinUrl = api_url + "/join?" + "fullName=" + safeUsername + "&meetingID=" + newMeetingName + "&password=" + password + "&userID=" + userid + "&checksum=" + hash; var logoutMessage:String; From 7185999371ce47b7718355cc8dd3831d87b15575 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Wed, 1 Sep 2010 01:06:25 +0000 Subject: [PATCH 10/16] Minor changes to the client's build.xml --- bigbluebutton-client/build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml index 546e3ec48f..af785a072d 100755 --- a/bigbluebutton-client/build.xml +++ b/bigbluebutton-client/build.xml @@ -328,7 +328,7 @@ description="Build BBB client skipping compiling of locales"/> - From c8f583d71808bab1135df3d1624f521833c89f63 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Wed, 1 Sep 2010 01:07:57 +0000 Subject: [PATCH 11/16] Removed redundant directory src/tests from bbb-client --- bigbluebutton-client/tests/integration/.gitignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bigbluebutton-client/tests/integration/.gitignore diff --git a/bigbluebutton-client/tests/integration/.gitignore b/bigbluebutton-client/tests/integration/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 From 663952367c0f691ab545f4670f5a042cd8b3c337 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Wed, 1 Sep 2010 16:03:45 +0000 Subject: [PATCH 12/16] Small UI tweeks. Removed .actionScriptProperties and .flexProperties from bbb-client/.gitignore --- bigbluebutton-client/.gitignore | 2 -- .../org/bigbluebutton/main/model/users/BBBUser.as | 4 ++++ .../modules/breakout/business/BreakoutProxy.as | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) mode change 100644 => 100755 bigbluebutton-client/.gitignore diff --git a/bigbluebutton-client/.gitignore b/bigbluebutton-client/.gitignore old mode 100644 new mode 100755 index 03136ca017..6ca8f89113 --- a/bigbluebutton-client/.gitignore +++ b/bigbluebutton-client/.gitignore @@ -1,5 +1,3 @@ -.actionScriptProperties -.flexProperties linker-report.xml bin client diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as index d2a93531a4..787e1d5473 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as @@ -32,6 +32,10 @@ package org.bigbluebutton.main.model.users public class BBBUser { + public static const MODERATOR:String = "MODERATOR"; + public static const VIEWER:String = "VIEWER"; + public static const PRESENTER:String = "PRESENTER"; + [Bindable] public var me:Boolean = false; [Bindable] public var userid:Number; [Bindable] public var name:String; diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as index 54045e8fa3..278ffdcef8 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/breakout/business/BreakoutProxy.as @@ -14,6 +14,10 @@ package org.bigbluebutton.modules.breakout.business import mx.controls.Alert; import mx.events.CloseEvent; + + import org.bigbluebutton.main.api.UserManager; + import org.bigbluebutton.main.model.users.BBBUser; + import org.bigbluebutton.main.model.users.Conference; public class BreakoutProxy { @@ -106,6 +110,7 @@ package org.bigbluebutton.modules.breakout.business } private function startRoom():void{ + if (! newRoomHasModerator(usersList)) attendeePW = moderatorPW; //If there is no moderator assigned in the new room, assign everyone as Moderator; breakoutSO.send("redirectUser", meetingName, moderatorPW, attendeePW, kickUsers, usersList); } @@ -150,5 +155,14 @@ package org.bigbluebutton.modules.breakout.business } return false; } + + private function newRoomHasModerator(list:Array):Boolean{ + var conference:Conference = UserManager.getInstance().getConference(); + for (var i:int = 0; i Date: Wed, 1 Sep 2010 13:41:53 -0400 Subject: [PATCH 13/16] Fixed a bug in the create meeting call to create a meeting with meetingName, and not with userName --- bbb-api-examples/PHP/bbb_api.php | 75 +++++++++++++++++++------------- 1 file changed, 44 insertions(+), 31 deletions(-) diff --git a/bbb-api-examples/PHP/bbb_api.php b/bbb-api-examples/PHP/bbb_api.php index c80aa0d0c0..ee8d4af2fb 100755 --- a/bbb-api-examples/PHP/bbb_api.php +++ b/bbb-api-examples/PHP/bbb_api.php @@ -1,9 +1,31 @@ returncode == 'SUCCESS' && $xml->messageKey == null){//The meetings were returned - return array('returncode' => $xml->returncode, 'message' => $xml->message, 'messageKey' => $xml->messageKey ); - } - else if($xml && $xml->returncode == 'SUCCESS'){ //If there were meetings already created - return array( 'meetingID' => $xml->meetingID, 'moderatorPW' => $xml->moderatorPW, 'attendeePW' => $xml->attendeePW, 'hasBeenForciblyEnded' => $xml->hasBeenForciblyEnded, 'running' => $xml->running, 'startTime' => $xml->startTime, 'endTime' => $xml->endTime, 'participantCount' => $xml->participantCount, 'moderatorCount' => $xml->moderatorCount, 'attendees' => $xml->attendees ); - } - else if( $xml ) { //If the xml packet returned failure it displays the message to the user - - return array('returncode' => $xml->returncode, 'message' => $xml->message, 'messageKey' => $xml->messageKey); - } - else { //If the server is unreachable, then prompts the user of the necessary action - return null; - } + return array('returncode' => $xml->returncode, 'message' => $xml->message, 'messageKey' => $xml->messageKey ); + } + else if($xml && $xml->returncode == 'SUCCESS'){ //If there were meetings already created + return array( 'meetingID' => $xml->meetingID, 'moderatorPW' => $xml->moderatorPW, 'attendeePW' => $xml->attendeePW, 'hasBeenForciblyEnded' => $xml->hasBeenForciblyEnded, 'running' => $xml->running, 'startTime' => $xml->startTime, 'endTime' => $xml->endTime, 'participantCount' => $xml->participantCount, 'moderatorCount' => $xml->moderatorCount, 'attendees' => $xml->attendees ); + } + else if( $xml ) { //If the xml packet returned failure it displays the message to the user + return array('returncode' => $xml->returncode, 'message' => $xml->message, 'messageKey' => $xml->messageKey); + } + else { //If the server is unreachable, then prompts the user of the necessary action + return null; + } } From d2257b46c9c01a115a636e66bb1102ea307ab263 Mon Sep 17 00:00:00 2001 From: BigBlueButton Date: Thu, 2 Sep 2010 03:42:44 +0000 Subject: [PATCH 14/16] Found a way to dynamically update localization strings in flexlib MDIWindow --- .../modules/chat/views/components/ChatWindow.mxml | 8 +++++++- .../deskshare/view/components/DesktopPublishWindow.mxml | 5 +++++ .../deskshare/view/components/DesktopViewWindow.mxml | 5 +++++ .../modules/listeners/views/ListenersWindow.mxml | 8 ++++++++ .../modules/present/views/PresentationWindow.mxml | 5 +++++ .../modules/videoconf/views/PublishWindow.mxml | 8 +++++++- .../modules/viewers/views/ViewersWindow.mxml | 7 ++++++- 7 files changed, 43 insertions(+), 3 deletions(-) diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml index 83f59070d9..3196caed31 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml @@ -36,6 +36,7 @@ import mx.core.Application; import org.bigbluebutton.main.views.MainCanvas; + import org.bigbluebutton.util.i18n.ResourceUtil; private var _xPosition:int; private var _yPosition:int; @@ -63,7 +64,12 @@ chatView.txtMsg.enabled = true; chatView.sendBtn.enabled = true; } - } + } + + override protected function resourcesChanged():void{ + super.resourcesChanged(); + this.title = ResourceUtil.getInstance().getString("bbb.chat.title"); + } ]]> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml index 581c001e1c..3421bbd96e 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml @@ -236,6 +236,11 @@ closeWindow(); } + override protected function resourcesChanged():void{ + super.resourcesChanged(); + this.title = ResourceUtil.getInstance().getString('bbb.desktopPublish.title'); + } + ]]> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml index 5fb0d49899..62651b5aac 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml @@ -296,6 +296,11 @@ dispatchEvent(new ViewWindowEvent(ViewWindowEvent.CLOSE)); } + override protected function resourcesChanged():void{ + super.resourcesChanged(); + this.title = ResourceUtil.getInstance().getString('bbb.desktopView.title'); + } + ]]> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/listeners/views/ListenersWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/listeners/views/ListenersWindow.mxml index e491dea2b8..0d00d4feb3 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/listeners/views/ListenersWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/listeners/views/ListenersWindow.mxml @@ -160,6 +160,14 @@ moderator = e.moderator; showCloseButton = false; } + + override protected function resourcesChanged():void{ + super.resourcesChanged(); + if (listeners.length > 4) + windowTitle = ResourceUtil.getInstance().getString('bbb.listeners.title', [":", listeners.length]) ; + else + windowTitle = ResourceUtil.getInstance().getString('bbb.listeners.title', ["", ""]) ; + } ]]> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/PublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/PublishWindow.mxml index 8e96f8afcc..3706c03d62 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/PublishWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/PublishWindow.mxml @@ -25,7 +25,7 @@ implements="org.bigbluebutton.common.IBbbModuleWindow" creationComplete="init()" width="{camWidth + 6}" height="{camHeight + 73}" - title="Stream webcam" + title="{ResourceUtil.getInstance().getString('bbb.publishVideo.title')}" backgroundImage="{bbbLogo}" resizable="false" xmlns:mate="http://mate.asfusion.com/"> @@ -42,6 +42,7 @@ import org.bigbluebutton.modules.videoconf.events.CloseAllWindowsEvent; import org.bigbluebutton.modules.videoconf.events.StartBroadcastEvent; import org.bigbluebutton.modules.videoconf.events.StopBroadcastEvent; + import org.bigbluebutton.util.i18n.ResourceUtil; private var images:Images = new Images(); [Bindable] public var camIcon:Class = images.control_play; @@ -159,6 +160,11 @@ } } + override protected function resourcesChanged():void{ + super.resourcesChanged(); + this.title = ResourceUtil.getInstance().getString('bbb.publishVideo.title'); + } + ]]> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml index 661ede9f0b..d5f8eeea37 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/viewers/views/ViewersWindow.mxml @@ -54,7 +54,7 @@ import org.bigbluebutton.util.i18n.ResourceUtil; [Bindable] - private var windowTitle:String = ResourceUtil.getInstance().getString('bbb.viewers.title',["", ""]) ; + private var windowTitle:String = ResourceUtil.getInstance().getString('bbb.viewers.title',["", ""]); [Bindable] public var participants:ArrayCollection = new ArrayCollection(); @@ -138,6 +138,11 @@ dispatchEvent(new KickUserEvent(viewersGrid.selectedItem.userid)); } } + + override protected function resourcesChanged():void{ + super.resourcesChanged(); + this.title = ResourceUtil.getInstance().getString('bbb.viewers.title',["", ""]); + } ]]> From e8442f34ed5bbcdce3828a734ccd44a961426644 Mon Sep 17 00:00:00 2001 From: BigBlueButton Date: Thu, 2 Sep 2010 04:00:28 +0000 Subject: [PATCH 15/16] Updated japanese translation ja_JP for bbb-client --- .../locale/ja_JP/bbbResources.properties | 360 +++++++++--------- 1 file changed, 177 insertions(+), 183 deletions(-) diff --git a/bigbluebutton-client/locale/ja_JP/bbbResources.properties b/bigbluebutton-client/locale/ja_JP/bbbResources.properties index 0388e83896..ba59bf461e 100755 --- a/bigbluebutton-client/locale/ja_JP/bbbResources.properties +++ b/bigbluebutton-client/locale/ja_JP/bbbResources.properties @@ -1,183 +1,177 @@ - -# BigBlueButton.mxml -bbb.pageTitle =BigBlueButton - -# MainApplicationShell.mxml -bbb.mainshell.locale.version=0.7 -bbb.mainshell.statusInfo =しばらくお待ちください。{0} モジュールを読み込み中・・・ -bbb.mainshell.statusInfo.loaded ={0}読み込み完了 -bbb.mainshell.statusInfo.testRTMPConnection =しばらくお待ちください。サーバへのコネクションをテスト中です。 -bbb.mainshell.statusInfo2 =ご注意:もし読み込みがストップした場合、ご使用のブラウザのキャッシュを削除した後、再度実行してみてください。 -bbb.mainshell.statusProgress.testRTMPConnection =RTMP://{0}:1935/{1}への接続 -bbb.mainshell.statusProgress.testRTMPTConnection =RTMP://{0}:80/{1}への接続 -bbb.mainshell.statusProgress.loading =読み込み中... -bbb.mainshell.statusProgress.loaded =読み込み中・・・ {0} {1}% が読み込まれました。 -bbb.mainshell.statusProgress.cannotConnectServer =申し訳ありません。サーバーに接続できません。 -bbb.mainshell.copyrightLabel2 =(c) 2010, BigBlueButton build {0} - 詳細につきましては、http://www.bigbluebutton.org/をご覧ください。 -bbb.mainshell.logBtn.toolTip =ログウィンドウを開く -bbb.mainshell.fullScreenBtn.toolTip =フルスクリーンで見る -bbb.mainshell.resetLayoutBtn.toolTip =レイアウトをリセット - -# OldLocaleWarnWIndow.mxml -bbb.oldlocalewindow.reminder1=BigBlueButtonの古い言語翻訳を使用しているようです。 -bbb.oldlocalewindow.reminder2=ご使用のブラウザのキャッシュを削除した後、再度実行してみてください。 -bbb.oldlocalewindow.windowTitle=警告:古い言語翻訳 - -# LogWindow.mxml -bbb.logwindow.title =ログウィンドウ -bbb.logwindow.highlight =ハイライト: -bbb.logwindow.turnLoggingOff =ログ作業オフ -bbb.logwindow.clearBtn =クリア -bbb.logwindow.refreshBtn =更新 - -# JoinFailedWindow.mxml -bbb.joinFailedWindow.title =参加に失敗しました -bbb.joinFailedWindow.okBtn =OK -bbb.joinFailedWindow.failedInfo =有効なセッションがありません。[OK]をクリックしてログインしてください。 - -# MainToolbar.mxml -bbb.mainToolbar.loggedInUserLbl ={1}: ダイヤル: 613-520-7610 85115 -bbb.mainToolbar.helpBtn =ヘルプ -bbb.mainToolbar.logoutBtn =ログアウト -bbb.mainToolbar.logoutBtn.toolTip =ログアウト - - -###### modules ###### - -# ViewersWindow.mxml -bbb.viewers.title =ユーザー{0} {1} -bbb.viewers.viewersGrid.nameItemRenderer =名前 -bbb.viewers.viewersGrid.nameItemRenderer.nameLabel.toolTip =あなたはこのユーザーとしてログインしています。 -bbb.viewers.viewersGrid.roleItemRenderer =役割 -bbb.viewers.viewersGrid.statusItemRenderer =ステータス -bbb.viewers.viewersGrid.statusItemRenderer.raiseHand.toolTip =挙手件数 {0} -bbb.viewers.viewersGrid.statusItemRenderer.streamIcon.toolTip =クリックして閲覧 -bbb.viewers.viewersGrid.statusItemRenderer.presIcon.toolTip =プレゼンター -bbb.viewers.presentBtn.toolTip =Web参加者をプレゼンターとして選択 -bbb.viewers.raiseHandBtn.toolTip =クリックして挙手。 -bbb.viewers.presentBtn.label =プレゼンターをスイッチ - -# Presentation -## PresentationWindow.mxml -bbb.presentation.title =プレゼンテーション -bbb.presentation.uploadPresBtn =プレゼンテーションのドキュメントをアップロード。 -bbb.presentation.uploadPresBtn.toolTip =プレゼンテーションのドキュメントをアップロード。 -bbb.presentation.backBtn.toolTip =前のスライド。 -bbb.presentation.slideNumLbl = -bbb.presentation.forwardBtn.toolTip =次のスライド -bbb.presentation.resetZoomBtn.toolTip =ズームをリセット -bbb.presentation.presenterNameLbl ={0} が、現在プレゼン中。 -bbb.presentation.maximizeRestoreBtn.toolTip =このウィンドウを最大化 -bbb.presentation.maximizeRestoreBtn.toolTip2 =前のサイズに戻す -bbb.presentation.clickToUpload =ロードプレゼンテーションをアップロード -bbb.presentation.maxUploadFileExceededAlert =エラー:このファイルは許可サイズより大きすぎます。 - -## PresentationWindowMediator.as -bbb.presentation.presenting ={0} が、現在プレゼン中。 -bbb.presentation.pages ={0} / {1} - -## FileUploadWindowMediator.as -bbb.presentation.uploadcomplete =アップロードが完了しました。文書を変換し終わるまで、しばらくお待ちください。 -bbb.presentation.uploadsuccessful =アップロードに成功 -bbb.presentation.uploaded =アップロードされました。 -bbb.presentation.document.supported =アップロードしたドキュメントはサポートされています。変換を開始... -bbb.presentation.document.converted =正常にオフィス文書に変換されました。 -bbb.presentation.error.document.convert.failed =エラー:オフィス文書への変換に失敗しました。 -bbb.presentation.error.io =IOエラー:管理者に連絡してください。 -bbb.presentation.error.security =セキュリティエラー:管理者に連絡してください。 -bbb.presentation.error.convert.format =エラー:アップロードされたファイルが有効な拡張子かどうか、ご確認ください。 -bbb.presentation.error.convert.notsupported =エラー:アップロードしたドキュメントはサポートされていません。利用可能なファイルをアップロードしてください。 -bbb.presentation.error.convert.soffice =エラー:アップロードしたドキュメントを変換に失敗しました。 -bbb.presentation.error.convert.nbpage =エラー:アップロードしたドキュメントのページ数が特定できません。 -bbb.presentation.error.convert.maxnbpagereach =エラー:アップロードしたドキュメントのページが多すぎます。 -bbb.presentation.error.convert.swf =エラー:アップロードファイルの変換時。管理者にお問い合わせください。 -bbb.presentation.error.convert.swfimage =画像ファイルをSWFファイルに変換時にエラー:画像が破損していないかどうか、またJPG/PNGフォーマットかどうか、ご確認ください。 -bbb.presentation.error.convert.swfpdf =PDFファイルをSWFファイルに変換時にエラー:PDFファイルが破損していないかどうか、ご確認ください。 -bbb.presentation.error.convert.thumbnail =サムネイル作成時にエラー。管理者にお問い合わせください。 -bbb.presentation.converted ={1} 中、{0} スライドを変換しました。 -bbb.presentation.extracting =スライドの抽出、{1} 中、{0} スライドを抽出しました。 -bbb.presentation.ok =OK -bbb.presentation.uploadwindow.presentationfile =プレゼンテーションファイル -bbb.presentation.uploadwindow.pdf =PDF -bbb.presentation.uploadwindow.word =WORD -bbb.presentation.uploadwindow.excel =エクセル -bbb.presentation.uploadwindow.powerpoint =パワーポイント -bbb.presentation.uploadwindow.image =画像 - -## FileUploadWindow.mxml -bbb.fileupload.title =プレゼンテーションをアップロード -bbb.fileupload.fileLbl =ファイル: -bbb.fileupload.selectBtn.toolTip =ファイルを閲覧 -bbb.fileupload.uploadBtn =アップロード -bbb.fileupload.uploadBtn.toolTip =ファイルをアップロード -bbb.fileupload.presentationNamesLbl =プレゼンテーションのアップロード: -bbb.fileupload.deleteBtn.toolTip =プレゼンテーションを削除 -bbb.fileupload.showBtn =表示 -bbb.fileupload.showBtn.toolTip =プレゼンテーションを表示 -bbb.fileupload.okCancelBtn =キャンセル -bbb.fileupload.progressLbl.uploadSuccessful =アップロードが完了しました。文書を変換し終わるまで、しばらくお待ちください。 -bbb.fileupload.progressBar.uploadSuccessful =アップロード成功 -bbb.fileupload.progressLbl.uploading ={0}% がアップロードされました。 -bbb.fileupload.progressBar.uploading ={0}% がアップロードされました。 -bbb.fileupload.progressLbl.converting ={1} 中、{0} スライドを変換しました。 -bbb.fileupload.progressBar.converting ={1} 中、{0} スライドを変換しました。 -bbb.fileupload.progressLbl.extracting =スライドの抽出、{1} 中、{0} スライドを抽出しました。 -bbb.fileupload.progressBar.extracting =スライドの抽出、{1} 中、{0} スライドを抽出しました。 -bbb.fileupload.genThumbText =サムネイルの生成.. -bbb.fileupload.progBarLbl =進捗: - -# ChatWindow.mxml -bbb.chat.title =チャット -bbb.chat.cmpColorPicker.toolTip =テキスト色 -bbb.chat.sendBtn =送信 -bbb.chat.sendBtn.toolTip =メッセージを送信 -bbb.chat.publicChatUsername =すべて -bbb.chat.publicMsgAwaiting =公開メッセージ待機中 -bbb.chat.publicMsgAwaiting2 =*公開メッセージ待機中* -bbb.chat.privateMsgAwaiting =プライベートメッセージ待機中 -bbb.chat.privateMsgAwaiting2 =*プライベートメッセージ待機中* -bbb.chat.privateChatSelect =プライベートにチャットする個人を選択 -bbb.chat.chatOptions =チャットオプション -bbb.chat.fontSize =フォントサイズ - -# ListenersWindow.mxml -bbb.listeners.title =リスナー{0} {1} -bbb.listeners.muteAllBtn.toolTip =ミュートすべて -bbb.listeners.unmuteAllBtn.toolTip =ミュート解除すべて -bbb.listeners.ejectBtn.toolTip =締め出す音声参加者を選択。 -bbb.listeners.ejectTooltip =クリックしてユーザを締め出す。 - -# ListenerItem.mxml -bbb.listenerItem.nameLbl.toolTip =このユーザーを選択し、クリックしてミュートあるいは、ミュート解除。 -bbb.listenerItem.talkImg.toolTip =会話中 -bbb.listenerItem.lockImg.toolTip =クリックしてミュートまたはミュート解除を維持 -bbb.listenerItem.muteUnmute.toolTip =このリスナーをミュートまたはミュート解除 - -# PublishWindow.mxml -bbb.publishVideo.title =ウェブカメラをストリーム -bbb.publishVideo.startPublishBtn.toolTip =ストリーミングを開始 - - -# DesktopPublishWindow.mxml -bbb.desktopPublish.title =デスクトップの共有:プレゼンタのプレビュー -bbb.desktopView.title =デスクトップの共有 -bbb.desktopView.fitToWindow =ウィンドウに合わせる -bbb.desktopView.actualSize =実サイズで表示 - -# ToolbarButton.mxml -bbb.toolbar.phone.toolTip =マイクを起動 -bbb.toolbar.deskshare.toolTip =デスクトップを共有 -bbb.toolbar.video.toolTip =カメラを起動 - -# HighlighterToolbar.mxml -bbb.highlighter.toolbar.pencil =蛍光ペン -bbb.highlighter.toolbar.ellipse =円形 -bbb.highlighter.toolbar.rectangle =四角形 -bbb.highlighter.toolbar.clear =ページをクリア -bbb.highlighter.toolbar.undo =元に戻す -bbb.highlighter.toolbar.color =色を選択 -bbb.highlighter.toolbar.thickness =太さを変更 - -# WhiteboardButton.mxml -bbb.highlighter.button.toolTipShow =ホワイトボードを表示 -bbb.highlighter.button.toolTipHide =ホワイトボードを非表示 +# BigBlueButton.mxml +bbb.pageTitle = BigBlueButton + +# MainApplicationShell.mxml +bbb.mainshell.locale.version=0.7 +bbb.mainshell.statusProgress.connecting = サーバーに接続中 +bbb.mainshell.statusProgress.loading = {0} つのモジュールをロード中 +bbb.mainshell.statusProgress.cannotConnectServer = サーバーに接続することができません。 +bbb.mainshell.copyrightLabel2 = (c) 2010, BigBlueButton build {0} - For more information see http://www.bigbluebutton.org/. +bbb.mainshell.logBtn.toolTip = ログのウィンドウ +bbb.mainshell.fullScreenBtn.toolTip = フルスクリーン +bbb.mainshell.resetLayoutBtn.toolTip = レイアウトを戻す + +# OldLocaleWarnWIndow.mxml +bbb.oldlocalewindow.reminder1=あなたはBigBlueButtonの古い翻訳を持つことができます。 +bbb.oldlocalewindow.reminder2=ブラウザのキャッシュを削除してからもう一度試してください。 +bbb.oldlocalewindow.windowTitle=Warning: 古い翻訳です。 + +# LogWindow.mxml +bbb.logwindow.title = ログウィンドウ +bbb.logwindow.highlight = Highlight: +bbb.logwindow.turnLoggingOff = ログをオフにします。 +bbb.logwindow.clearBtn = 削除 +bbb.logwindow.refreshBtn = 最新の情報に更新 + +# JoinFailedWindow.mxml +bbb.joinFailedWindow.title = 接続に失敗しました。 +bbb.joinFailedWindow.okBtn = OK +bbb.joinFailedWindow.failedInfo = 有効なセッションがありません。 ログインするためにOKにクリックしてください。 + +# MainToolbar.mxml +bbb.mainToolbar.loggedInUserLbl = {1}: Dial: 613-520-7610 85115 +bbb.mainToolbar.helpBtn = ヘルプ +bbb.mainToolbar.logoutBtn = ログアウト +bbb.mainToolbar.logoutBtn.toolTip = ログアウト + + +###### modules ###### + +# ViewersWindow.mxml +bbb.viewers.title = ユーザー数{0} {1} +bbb.viewers.viewersGrid.nameItemRenderer = 名前 +bbb.viewers.viewersGrid.nameItemRenderer.nameLabel.toolTip = あなたはこのユーザとしてログインします。 +bbb.viewers.viewersGrid.roleItemRenderer = 権限 +bbb.viewers.viewersGrid.statusItemRenderer = 状態 +bbb.viewers.viewersGrid.statusItemRenderer.raiseHand.toolTip = 挙手数 {0} +bbb.viewers.viewersGrid.statusItemRenderer.streamIcon.toolTip = 視点にクリックしてください。 +bbb.viewers.viewersGrid.statusItemRenderer.presIcon.toolTip = プレゼンター +bbb.viewers.presentBtn.toolTip = プレセンターを選択してください。 +bbb.viewers.raiseHandBtn.toolTip = クリックして、手を上げてください。 +bbb.viewers.presentBtn.label = プレセンターを変える +bbb.viewers.kickUserBtn.toolTip = 退席させる + +# Presentation +## PresentationWindow.mxml +bbb.presentation.title = プレゼンテーション +bbb.presentation.uploadPresBtn = 資料アップロード +bbb.presentation.uploadPresBtn.toolTip = 資料をアップロードします。 +bbb.presentation.backBtn.toolTip = 前に戻ります。 +bbb.presentation.slideNumLbl = +bbb.presentation.forwardBtn.toolTip = 次に進みます。 +bbb.presentation.resetZoomBtn.toolTip = ズームを戻します。 +bbb.presentation.presenterNameLbl = {0} がプレゼン中です。 +bbb.presentation.maximizeRestoreBtn.toolTip = 最大化 +bbb.presentation.maximizeRestoreBtn.toolTip2 = 元に戻す +bbb.presentation.clickToUpload = 資料をアップロード +bbb.presentation.maxUploadFileExceededAlert = エラー: このファイルは許可されているサイズを超えています。 + +## PresentationWindowMediator.as +bbb.presentation.presenting = {0} がプレゼン中です。 +bbb.presentation.pages = {0} / {1} + +## FileUploadWindowMediator.as +bbb.presentation.uploadcomplete = アップロードが終了しました。ファイルを変換中です。もうしばらくお待ち下さい。 +bbb.presentation.uploadsuccessful = アップロードは成功しました。 +bbb.presentation.uploaded = アップロードされた。 +bbb.presentation.document.supported = アップロードされた資料は対応しています。 変換を始めます。 +bbb.presentation.document.converted = オフィスドキュメントの変換に成功しました。 +bbb.presentation.error.document.convert.failed = エラー: オフィスドキュメントの変換に失敗しました。 +bbb.presentation.error.io = IO エラー: システム管理者に連絡してください。 +bbb.presentation.error.security = セキュリティ エラー: システム管理者に連絡してください。 +bbb.presentation.error.convert.format = エラー: アップロードされたファイルの拡張子を確認してください。 +bbb.presentation.error.convert.notsupported = エラー: アップロードされたドキュメントは対応していません。 対応しているファイルをアップロードしてください。 +bbb.presentation.error.convert.soffice = エラー: アップロードされた資料の変換に失敗しました。 +bbb.presentation.error.convert.nbpage = エラー: アップロードされた資料のページ数の測定に、失敗します。 +bbb.presentation.error.convert.maxnbpagereach = エラー: アップロードされた資料のページ数が多すぎます。 +bbb.presentation.error.convert.swf = アップロードされたファイルを変換中にエラーが起こりました。システム管理者に連絡してください。 +bbb.presentation.error.convert.swfimage = 画像をフラッシュ形式に変換中にエラーが起きました。: 画像ファイルが壊れていないのを確認するか、JPG・PNG形式でアップロードしてください。 +bbb.presentation.error.convert.swfpdf = PDFファイルをフラッシュ形式に変換中にエラーが起きました。: PDFファイルが壊れていないか確認してください。 +bbb.presentation.error.convert.thumbnail = サムネイル画像を作成中にエラーが起きました。システム管理者に連絡してください。 +bbb.presentation.converted = {1} 枚中 {0} のスライドを変換しました。 +bbb.presentation.extracting = {1} 枚中 {0} のスライドを抽出中。 +bbb.presentation.ok = OK +bbb.presentation.uploadwindow.presentationfile = 資料 +bbb.presentation.uploadwindow.pdf = PDF +bbb.presentation.uploadwindow.word = WORD +bbb.presentation.uploadwindow.excel = EXCEL +bbb.presentation.uploadwindow.powerpoint = POWERPOINT +bbb.presentation.uploadwindow.image = 画像 + +## FileUploadWindow.mxml +bbb.fileupload.title = 資料アップロード +bbb.fileupload.fileLbl = ファイル: +bbb.fileupload.selectBtn.toolTip = ファイルの場所 +bbb.fileupload.uploadBtn = アップロード +bbb.fileupload.uploadBtn.toolTip = 資料アップロード +bbb.fileupload.presentationNamesLbl = アップロードされた資料: +bbb.fileupload.deleteBtn.toolTip = 資料を削除 +bbb.fileupload.showBtn = 表示 +bbb.fileupload.showBtn.toolTip = 選択した資料を表示します。 +bbb.fileupload.okCancelBtn = キャンセル +bbb.fileupload.progressLbl.uploadSuccessful = アップロードは終了しました。ファイルを変換しますのでもうしばらくお待ち下さい。 +bbb.fileupload.progressBar.uploadSuccessful = アップロードは成功しました。 +bbb.fileupload.progressLbl.uploading = {0}% アップロードされました。 +bbb.fileupload.progressBar.uploading = {0}% アップロードされました。間下このみ +bbb.fileupload.progressLbl.converting = {1} 枚中 {0} のスライドを変換しました。 +bbb.fileupload.progressBar.converting = {1} 枚中 {0} のスライドを変換しました。 +bbb.fileupload.progressLbl.extracting = {1} 枚中 {0} のスライドを抽出中。 +bbb.fileupload.progressBar.extracting = {1} 枚中 {0} のスライドを抽出中。 +bbb.fileupload.genThumbText = サムネイルを作っています.. +bbb.fileupload.progBarLbl = 進行状況: + +# ChatWindow.mxml +bbb.chat.title = チャット +bbb.chat.cmpColorPicker.toolTip = カラーを選択 +bbb.chat.sendBtn = 送信 +bbb.chat.sendBtn.toolTip = チャットメッセージを送信します。 +bbb.chat.publicChatUsername = 全員に +bbb.chat.publicMsgAwaiting = 全員向けメッセージを待っています。 +bbb.chat.publicMsgAwaiting2 = * 全員向けメッセージを待っています * +bbb.chat.privateMsgAwaiting = 個人的メッセージを待っています。 +bbb.chat.privateMsgAwaiting2 = * 個人的メッセージを待っています * +bbb.chat.privateChatSelect = 個人的にチャットする人を選んでください。 +bbb.chat.chatOptions = チャットオプション +bbb.chat.fontSize = フォントサイズ + +# ListenersWindow.mxml +bbb.listeners.title = リスナー{0} {1} +bbb.listeners.muteAllBtn.toolTip = 全てをミュート +bbb.listeners.unmuteAllBtn.toolTip = 全てミュート解除 +bbb.listeners.ejectBtn.toolTip = 外す音声のユーザーを選択してください。 +bbb.listeners.ejectTooltip = リスナーを外します。 + +# ListenerItem.mxml +bbb.listenerItem.nameLbl.toolTip = このユーザーを選択してクリックでミュート・ミュート解除できます。 +bbb.listenerItem.talkImg.toolTip = 話します。 +bbb.listenerItem.lockImg.toolTip = ミュート・ミュート解除を保持します。 +bbb.listenerItem.muteUnmute.toolTip = このリスナーをミュート・ミュート解除します。 + +# PublishWindow.mxml +bbb.publishVideo.title = ウェブカメラ中継 +bbb.publishVideo.startPublishBtn.toolTip = 中継スタート + + +# DesktopPublishWindow.mxml +bbb.desktopPublish.title = デスクトップ共有: プレゼンターのプレビュー +bbb.desktopView.title = デスクトップ共有 +bbb.desktopView.fitToWindow = ウィンドウに合わせる +bbb.desktopView.actualSize = 実際のサイズで表示 + +# ToolbarButton.mxml +bbb.toolbar.phone.toolTip = マイクを使う +bbb.toolbar.deskshare.toolTip = デスクトップを共有する +bbb.toolbar.video.toolTip = カメラを使う + +# HighlighterToolbar.mxml +bbb.highlighter.toolbar.pencil = ペン +bbb.highlighter.toolbar.ellipse = 円形 +bbb.highlighter.toolbar.rectangle = 長方形 +bbb.highlighter.toolbar.clear = ページをクリア +bbb.highlighter.toolbar.undo = 元に戻す +bbb.highlighter.toolbar.color = 色を選ぶ +bbb.highlighter.toolbar.thickness = 線の太さ + +# WhiteboardButton.mxml +bbb.highlighter.button.toolTipShow = 描画ツールを表示 +bbb.highlighter.button.toolTipHide = 描画ツールを隠す \ No newline at end of file From 8e30508ed2d934e814f19933d665c4d41c715ed4 Mon Sep 17 00:00:00 2001 From: deniszgonjanin Date: Thu, 2 Sep 2010 05:57:43 +0000 Subject: [PATCH 16/16] Fix for the localization problem of truncation showing 'null' instead of '...' --- bigbluebutton-client/build.xml | 2 + .../org/bigbluebutton/common/LabelTruncate.as | 46 ------------------- .../views/components/ChatMessageRenderer.mxml | 2 +- .../chat/views/components/ChatWindow.mxml | 7 +++ 4 files changed, 10 insertions(+), 47 deletions(-) delete mode 100755 bigbluebutton-client/src/org/bigbluebutton/common/LabelTruncate.as diff --git a/bigbluebutton-client/build.xml b/bigbluebutton-client/build.xml index af785a072d..925e7ee920 100755 --- a/bigbluebutton-client/build.xml +++ b/bigbluebutton-client/build.xml @@ -101,6 +101,8 @@ 10.0.0 bbbResources + core + controls diff --git a/bigbluebutton-client/src/org/bigbluebutton/common/LabelTruncate.as b/bigbluebutton-client/src/org/bigbluebutton/common/LabelTruncate.as deleted file mode 100755 index 8fcc7bafdc..0000000000 --- a/bigbluebutton-client/src/org/bigbluebutton/common/LabelTruncate.as +++ /dev/null @@ -1,46 +0,0 @@ -package org.bigbluebutton.common -{ - import mx.controls.Label; - - /** - * An extension for mx.controls.Label to truncate the text and show - * a tooltip with the full-length content. This sub-class is meant to be - * used when the regular truncateToFit does result in a "null" appendix - * on the string instead of the "...". In order for this to work, I used - * the following parameters in my mxml: - * - * - truncateToFit = false - * - maxWidth = set - * - width = set - * - * - * @author Tomi Niittumäki // Feijk Industries 2010 - * @NOTE: Feel free to use! :) - */ - public class LabelTruncate extends Label{ - - // define the truncation indicator eg. ...(more) etc. - private const TRUNCATION_INDICATOR:String = new String("..."); - - /** - * Constructor - */ - public function LabelTruncate(){ - super(); - } - - /** - * The overriding method, which forces the textField to truncate - * its content with the method truncateToFit(truncationIndicator:String) - * and then supers the tooltip to be the original full-length text. - */ - override protected function updateDisplayList(unscaledWidth:Number, - unscaledHeight:Number):void{ - super.updateDisplayList(unscaledWidth, unscaledHeight); - //trace("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!: "+textField.text); - textField.truncateToFit(TRUNCATION_INDICATOR); - super.toolTip = text; - } - - } -} \ No newline at end of file diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatMessageRenderer.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatMessageRenderer.mxml index cd633c04d8..45b87212e6 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatMessageRenderer.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatMessageRenderer.mxml @@ -38,7 +38,7 @@ ]]> - + diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml index 3196caed31..bcaf97db50 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml @@ -34,6 +34,8 @@ import mx.controls.Alert; import mx.core.Application; + import mx.resources.ResourceBundle; + import mx.resources.ResourceManager; import org.bigbluebutton.main.views.MainCanvas; import org.bigbluebutton.util.i18n.ResourceUtil; @@ -51,6 +53,11 @@ /* Set up full screen handler. */ Application.application.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler); dispState = Application.application.stage.displayState; + + /*var r:ResourceBundle = new ResourceBundle("fr_FR", "core"); + r.content["truncationIndicator"] = '...'; + resourceManager.addResourceBundle(r); + resourceManager.update();*/ } private function fullScreenHandler(evt:FullScreenEvent):void {