Index: lams_flash/src/central/flash/lams_learner.fla =================================================================== diff -u -r12450cbea53946ad074ec52d10f5e94ae207e1f9 -r3fc9626d0692f03e5998d786766a82f45e640e03 Binary files differ Index: lams_flash/src/central/flash/main2.as =================================================================== diff -u -r7b65bab3de4ed5068c5631a245c30cb4eaa8f098 -r3fc9626d0692f03e5998d786766a82f45e640e03 --- lams_flash/src/central/flash/main2.as (.../main2.as) (revision 7b65bab3de4ed5068c5631a245c30cb4eaa8f098) +++ lams_flash/src/central/flash/main2.as (.../main2.as) (revision 3fc9626d0692f03e5998d786766a82f45e640e03) @@ -54,6 +54,11 @@ _root.langDate = "01-01-1970"; } +if(StringUtils.isEmpty(isIe)){ + _root.isIe = "false"; + Debugger.log('browser is not defined, using defualt:'+_root.isIe,Debugger.CRITICAL,'main','ROOT'); +} + Debugger.log("PRESENCE: connection info from controlFrame - " + userID + " " + firstName + " " + lastName + " " + presenceServerUrl, Debugger.MED,'main','ROOT'); //Set stage alignment to top left and prent scaling @@ -91,8 +96,15 @@ function sendUsersToFlash(users:Array){ Debugger.log('PRESENCE: ' + users, Debugger.MED, 'sendUsersToFlash', 'ROOT'); + + for (var i:Number = 0; i < users.length; i++) { + trace("1: " + users[i].nick); + users[i].nick = unescape(users[i].nick); + trace("2: " + users[i].nick); + } + app.getPresence().setupDataGrid(users); } //Make app listener for stage resize events -Stage.addListener(app); +Stage.addListener(app); \ No newline at end of file Index: lams_flash/src/central/flash/org/lamsfoundation/lams/learner/Presence.as =================================================================== diff -u -re067b86460735bebd9946535668f0482c5a577cc -r3fc9626d0692f03e5998d786766a82f45e640e03 --- lams_flash/src/central/flash/org/lamsfoundation/lams/learner/Presence.as (.../Presence.as) (revision e067b86460735bebd9946535668f0482c5a577cc) +++ lams_flash/src/central/flash/org/lamsfoundation/lams/learner/Presence.as (.../Presence.as) (revision 3fc9626d0692f03e5998d786766a82f45e640e03) @@ -136,15 +136,21 @@ // Attempts a connection with a given Jabber server public function attemptConnection():Void{ Debugger.log('PRESENCE: attempting to connect through Javascript',Debugger.MED,'attemptConnection','Presence'); - + var myDate = new Date(); var h = myDate.getHours().toString(), m = myDate.getMinutes().toString(), s = myDate.getSeconds().toString(); - var resource = "LAMSPRESENCE"+h+""+m+""+s; + var resource = "LAMSPRESENCE" + h + "" + m + "" + s; var nickName:String = _root.firstName + " " + _root.lastName; + // IE seems to urlEncode it's stuff automatically when calling getUrl, therefore urlEncode if any other browser + if(!StringUtils.stringToBool(_root.isIe)) { + Debugger.log('PRESENCE: escaping nickname for non-ie browsers',Debugger.MED,'attemptConnection','Presence'); + nickName = escape(nickName); + } + var roomName:String = _root.lessonID + _lessonModel.createDateTimeString; - nickName = StringUtils.correctPresenceName(nickName); roomName = StringUtils.correctPresenceRoomName(roomName); - Debugger.log("PRESENCE: with arguements - " + String(_root.presenceServerUrl) + " " + String(_root.userID) + " " + String(_root.userID) + " " + String(resource) + " " + roomName + " " + nickName + " " + "false" + " " + "true",Debugger.MED,'attemptConnection','Presence'); + Debugger.log("PRESENCE: with arguements - " + String(_root.presenceServerUrl) + " " + String(_root.userID) + " " + String(_root.userID) + " " + String(resource) + " " + roomName + " " + nickName + " " + "false" + " " + "true", Debugger.MED, 'attemptConnection', 'Presence'); + // Call the FlashJavascript proxy in root _root.proxy.call("doLogin", _root.presenceServerUrl, _root.userID, _root.userID, resource, roomName, nickName, false, true); } @@ -216,7 +222,7 @@ public function setupDataGrid(dataProvider:Array){ // If datagrid is not initialized, do so if(!dataGridInitialized) { - Debugger.log('PRESENCE: setting up dataGrid',Debugger.MED,'setLabels','Presence'); + Debugger.log('PRESENCE: setting up dataGrid',Debugger.MED,'setupDataGrid','Presence'); _users_dg.addEventListener("cellPress", Proxy.create(this, cellPress)); _users_dg.columnNames = ["nick"]; @@ -237,6 +243,9 @@ else { presenceTitle_lbl.text = Dictionary.getValue('pres_panel_lbl') + " (" + dataProvider.length + ")"; _users_dg.dataProvider = dataProvider; + for (var i:Number = 0; i < dataProvider.length; i++) { + Debugger.log(dataProvider[i].nick , Debugger.MED, 'setupDataGrid', 'Presence'); + } _users_dg.sortItemsBy("nick"); _users_dg.invalidate(); } Index: lams_flash/src/central/flash/preloader.fla =================================================================== diff -u -r6302ea176d59ceb6316c0e707dafd5d715303c8b -r3fc9626d0692f03e5998d786766a82f45e640e03 Binary files differ Index: lams_flash/src/common/flash/org/lamsfoundation/lams/common/util/StringUtils.as =================================================================== diff -u -re067b86460735bebd9946535668f0482c5a577cc -r3fc9626d0692f03e5998d786766a82f45e640e03 --- lams_flash/src/common/flash/org/lamsfoundation/lams/common/util/StringUtils.as (.../StringUtils.as) (revision e067b86460735bebd9946535668f0482c5a577cc) +++ lams_flash/src/common/flash/org/lamsfoundation/lams/common/util/StringUtils.as (.../StringUtils.as) (revision 3fc9626d0692f03e5998d786766a82f45e640e03) @@ -366,50 +366,50 @@ } } - public static function correctPresenceName(s:String):String { - var newNick:String = new String(""); + public static function removeAccents(s:String):String { + var newString:String = new String(""); for (var i:Number = 0; i < s.length; i++) { - Debugger.log("stringUtils isANumber char at " + i + ": " + s.charCodeAt(i), Debugger.MED, "isANumber", "StringUtils"); + //Debugger.log("stringUtils isANumber char at " + i + ": " + s.charCodeAt(i), Debugger.MED, "isANumber", "StringUtils"); var char:Number = s.charCodeAt(i); if (char >= 192 && char <= 197) - newNick += "A"; + newString += "A"; else if (char == 199) - newNick += "C"; + newString += "C"; else if (char >= 200 && char <= 203) - newNick += "E"; + newString += "E"; else if (char >= 204 && char <= 207) - newNick += "I"; + newString += "I"; else if (char == 209) - newNick += "N"; + newString += "N"; else if ((char >= 210 && char <= 214) || char == 216) - newNick += "O"; + newString += "O"; else if (char >= 217 && char <= 220) - newNick += "U"; + newString += "U"; else if (char == 221) - newNick += "Y"; + newString += "Y"; else if (char >= 224 && char <= 229) - newNick += "a"; + newString += "a"; else if (char == 231) - newNick += "c"; + newString += "c"; else if (char >= 232 && char <= 235) - newNick += "e"; + newString += "e"; else if (char >= 236 && char <= 239) - newNick += "i"; + newString += "i"; else if (char == 241) - newNick += "n"; + newString += "n"; else if ((char >= 242 && char <= 246) || char == 240 || char == 248) - newNick += "o"; + newString += "o"; else if (char >= 249 && char <= 252) - newNick += "u"; + newString += "u"; else if (char == 253 || char == 255) - newNick += "y"; + newString += "y"; else - newNick += s.charAt(i); + newString += s.charAt(i); } - Debugger.log("correctPresenceName originalNick: " + s + " correctedNick: " + newNick, Debugger.MED, "correctPresenceName", "StringUtils"); - return newNick; + //Debugger.log("originalString: " + s + " newString: " + newString, Debugger.MED, "correctPresenceName", "StringUtils"); + return newString; } public static function correctPresenceRoomName(s:String):String { Index: lams_learning/web/controlFrame.jsp =================================================================== diff -u -rea35ded530de15a69d1d00888c5602b809a5f596 -r3fc9626d0692f03e5998d786766a82f45e640e03 --- lams_learning/web/controlFrame.jsp (.../controlFrame.jsp) (revision ea35ded530de15a69d1d00888c5602b809a5f596) +++ lams_learning/web/controlFrame.jsp (.../controlFrame.jsp) (revision 3fc9626d0692f03e5998d786766a82f45e640e03) @@ -122,13 +122,9 @@ lams_learner.swf - -