--- a/jpoker/js/jquery.jpoker.js Mon Aug 18 12:32:43 2008 +0000
+++ b/jpoker/js/jquery.jpoker.js Mon Aug 18 14:55:37 2008 +0000
@@ -542,6 +542,15 @@
this.queues = {};
this.delays = {};
this.session = 'name=' + jpoker.url2hash(this.url);
+ if (this.urls === undefined) {
+ this.urls = {};
+ }
+ if (this.urls.avatar === undefined) {
+ this.urls.avatar = this.url.substr(0, this.url.lastIndexOf('/')+1) + 'AVATAR';
+ }
+ if (this.urls.upload === undefined) {
+ this.urls.upload = this.url.substr(0, this.url.lastIndexOf('/')+1) + 'UPLOAD';
+ }
this.reset();
},
@@ -2681,15 +2690,15 @@
avatar_element.removeClass().addClass('jpoker_avatar jpoker_ptable_player_seat' + seat + '_avatar jpoker_avatar_default_' + avatar);
avatar_element.show();
}
- var avatar_url = '/AVATAR/'+serial;
+ var avatar_url = server.urls.avatar+'/'+serial;
server.ajax({url: avatar_url,
type: 'GET',
global: false,
success: function(data, status) {
avatar_element.css({
'background-image': 'url("' + avatar_url + '")',
- 'display': 'block'
- });
+ 'display': 'block'
+ });
}
});
var timeout_element = $('#player_seat' + seat + '_timeout' + id);
@@ -3227,7 +3236,7 @@
if (packet.set_account) {
$('.jpoker_user_info_feedback', element).text(_("Updated"));
}
- var avatar_url = '/AVATAR/'+server.serial;
+ var avatar_url = server.urls.avatar+'/'+server.serial;
var avatar_preview = $('.jpoker_user_info_avatar_preview', element);
avatar_preview.css({
'background-image': 'url("' + avatar_url + '")',
@@ -3285,14 +3294,16 @@
'birthdate_title' : _("Birthdate"),
'submit_title': _("Update personal info")
}, packet)));
+ var server = jpoker.getServer(url);
html.push(t.avatar.supplant({'hash': jpoker.url2hash(url),
+ 'upload_url' : server.urls.upload,
'upload': _("Upload avatar")}));
return html.join('\n');
};
jpoker.plugins.userInfo.templates = {
info: '<table><tr><td>{name_title}</td><td><div class=\'jpoker_user_info_name\'>{name}</div></input></td></tr><tr><td>{password_title}</td><td><input type=\'password\' name=\'password\' value=\'{password}\'></input></td></tr><tr><td>{toggle_password_title}</td><td><input type=\'checkbox\' name=\'toggle_password\'></input></td></tr><tr><td>{email_title}</td><td><input type=\'text\' name=\'email\' value=\'{email}\'></input></td></tr><tr><td>{phone_title}</td><td><input type=\'text\' name=\'phone\' value=\'{phone}\'></input></td></tr><tr><td>{firstname_title}</td><td><input type=\'text\' name=\'firstname\' value=\'{firstname}\'></input></td></tr><tr><td>{lastname_title}</td><td><input type=\'text\' name=\'lastname\' value=\'{lastname}\'></input></td></tr><tr><td>{addr_street_title}</td><td><input type=\'text\' name=\'addr_street\' value=\'{addr_street}\'></input></td></tr><tr><td>{addr_street2_title}</td><td><input type=\'text\' name=\'addr_street2\' value=\'{addr_street2}\'></input></td></tr><tr><td>{addr_zip_title}</td><td><input type=\'text\' name=\'addr_zip\' value=\'{addr_zip}\'></input></td></tr><tr><td>{addr_town_title}</td><td><input type=\'text\' name=\'addr_town\' value=\'{addr_town}\'></input></td></tr><tr><td>{addr_state_title}</td><td><input type=\'text\' name=\'addr_state\' value=\'{addr_state}\'></input></td></tr><tr><td>{addr_country_title}</td><td><input type=\'text\' name=\'addr_country\' value=\'{addr_country}\'></input></td></tr><tr><td>{gender_title}</td><td><input type=\'text\' name=\'gender\' value=\'{gender}\'></input></td></tr><tr><td>{birthdate_title}</td><td><input type=\'text\' name=\'birthdate\' value=\'{birthdate}\'></input></td></tr><tr><td><input class=\'jpoker_user_info_submit\' type=\'submit\' value=\'{submit_title}\'></input></td><td><div class=\'jpoker_user_info_feedback\'></div></td></tr></table>',
- avatar: '<div class=\'jpoker_user_info_avatar_preview\'></div><form class=\'jpoker_user_info_avatar_upload\' action=\'/UPLOAD?name={hash}\' method=\'post\' enctype=\'multipart/form-data\'><input type=\'file\' name=\'filename\'></input><input type=\'submit\' value=\'{upload}\'></input></form><div class=\'jpoker_user_info_avatar_upload_feedback\'></div>'
+ avatar: '<div class=\'jpoker_user_info_avatar_preview\'></div><form class=\'jpoker_user_info_avatar_upload\' action=\'{upload_url}?name={hash}\' method=\'post\' enctype=\'multipart/form-data\'><input type=\'file\' name=\'filename\'></input><input type=\'submit\' value=\'{upload}\'></input></form><div class=\'jpoker_user_info_avatar_upload_feedback\'></div>'
};
jpoker.plugins.muck = {
--- a/jpoker/js/test-jpoker.js Mon Aug 18 12:32:43 2008 +0000
+++ b/jpoker/js/test-jpoker.js Mon Aug 18 14:55:37 2008 +0000
@@ -1203,6 +1203,25 @@
server.setState(undefined);
});
+test("jpoker.server.urls", function() {
+ expect(8);
+ var server = jpoker.serverCreate({ url: 'http://host/POKER_REST' });
+ equals(server.urls.avatar, 'http://host/AVATAR');
+ equals(server.urls.upload, 'http://host/UPLOAD');
+
+ server = jpoker.serverCreate({ url: '/POKER_REST' });
+ equals(server.urls.avatar, '/AVATAR');
+ equals(server.urls.upload, '/UPLOAD');
+
+ server = jpoker.serverCreate({ url: 'url' });
+ equals(server.urls.avatar, 'AVATAR');
+ equals(server.urls.upload, 'UPLOAD');
+
+ server = jpoker.serverCreate({ url: 'url', urls: {avatar: 'avatar', upload: 'upload'}});
+ equals(server.urls.avatar, 'avatar');
+ equals(server.urls.upload, 'upload');
+ });
+
//
// jpoker.connection
//
@@ -3287,11 +3306,11 @@
start_and_cleanup();
});
-test("jpoker.plugins.player: /AVATAR", function(){
- expect(1);
- stop();
-
- var server = jpoker.serverCreate({ url: 'url' });
+test("jpoker.plugins.player: avatar", function(){
+ expect(1);
+ stop();
+
+ var server = jpoker.serverCreate({ url: 'url', urls : {avatar : 'http://avatar-server/'}});
var place = $("#main");
var id = 'jpoker' + jpoker.serial;
var game_id = 100;
@@ -3310,9 +3329,8 @@
options.success('data', 'status');
};
table.handler(server, game_id, { type: 'PacketPokerPlayerArrive', seat: player_seat, serial: player_serial, game_id: game_id });
- var player = server.tables[game_id].serial2player[player_serial];
var background = $("#player_seat2_avatar" + id).css('background-image');
- ok(background.indexOf("AVATAR/1") >= 0, "AVATAR serial");
+ ok(background.indexOf('/1') >= 0, 'avatar');
jpoker.plugins.muck.sendAutoMuck = send_auto_muck;
start_and_cleanup();
});
@@ -3864,7 +3882,7 @@
test("jpoker.plugins.userInfo", function(){
- expect(24);
+ expect(22);
stop();
var server = jpoker.serverCreate({ url: 'url' });
@@ -3914,8 +3932,6 @@
equals($('input[name=gender]', element).val(), 'Male');
equals($('input[name=birthdate]', element).val(), '01/01/1970');
equals($('input[type=submit]').length, 2, 'user info submit');
- equals($('.jpoker_user_info_avatar_preview').length, 1, 'user info avatar preview');
- ok($('.jpoker_user_info_avatar_preview').css('background-image').indexOf('/AVATAR/42') >= 0, 'user info avatar preview');
equals($('.jpoker_user_info_avatar_upload input[type=submit]').length, 1, 'user info avatar submit');
$('#' + id).remove();
}
@@ -3997,12 +4013,10 @@
});
test("jpoker.plugins.userInfo avatar upload succeed", function(){
- expect(5);
- stop();
-
- var server = jpoker.serverCreate({ url: 'url' });
- jpoker.serverDestroy('url');
- server = jpoker.serverCreate({ url: 'url' });
+ expect(8);
+ stop();
+
+ var server = jpoker.serverCreate({ url: 'url', urls: {avatar: 'http://avatar-server/'}});
server.connectionState = 'connected';
server.serial = 42;
@@ -4020,7 +4034,7 @@
$(".jpoker_user_info_avatar_preview", element).css("background-image", "none");
options.success('<pre>image uploaded</pre>');
equals($(".jpoker_user_info_avatar_upload_feedback", element).text(), "Uploaded");
- ok($(".jpoker_user_info_avatar_preview", element).css("background-image").indexOf("/AVATAR/42") >= 0, "avatar preview updated");
+ ok($(".jpoker_user_info_avatar_preview", element).css("background-image").indexOf("/42") >= 0, "avatar preview updated");
start_and_cleanup();
};
};
@@ -4029,8 +4043,11 @@
var element = $('#' + id);
if(element.length > 0) {
ok($(".jpoker_user_info_avatar_upload", element).attr("action").indexOf(jpoker.url2hash('url')) >= 0, 'session hash');
+ ok($(".jpoker_user_info_avatar_upload", element).attr("action").indexOf(server.urls.upload) >= 0, 'upload url');
equals($(".jpoker_user_info_avatar_upload_feedback", element).text(), '');
- ajaxFormCallback();
+ equals($('.jpoker_user_info_avatar_preview').length, 1, 'user info avatar preview');
+ ok($('.jpoker_user_info_avatar_preview').css('background-image').indexOf('42') >= 0, 'user info avatar preview');
+ ajaxFormCallback();
return false;
}
});
@@ -4043,9 +4060,7 @@
expect(1);
stop();
- var server = jpoker.serverCreate({ url: 'url' });
- jpoker.serverDestroy('url');
- server = jpoker.serverCreate({ url: 'url' });
+ var server = jpoker.serverCreate({ url: 'url', urls: {avatar: 'http://avatar-server/'}});
server.connectionState = 'connected';
server.serial = 42;