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
-
-