aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/assets/javascript/core.js
diff options
context:
space:
mode:
authorCallum Macrae <callum@lynxphp.com>2011-11-17 17:09:09 +0000
committerIgor Wiedler <igor@wiedler.ch>2012-03-31 02:09:21 +0200
commit8da463ac9e0048626bc5dd76073d31e9bc68fc2b (patch)
tree31d8a2422a2f9f19c59fe4dc51bae8fc2cf1d04e /phpBB/assets/javascript/core.js
parent885c2914db51f0ed8157d9e43333d89dcfdb0153 (diff)
downloadforums-8da463ac9e0048626bc5dd76073d31e9bc68fc2b.tar
forums-8da463ac9e0048626bc5dd76073d31e9bc68fc2b.tar.gz
forums-8da463ac9e0048626bc5dd76073d31e9bc68fc2b.tar.bz2
forums-8da463ac9e0048626bc5dd76073d31e9bc68fc2b.tar.xz
forums-8da463ac9e0048626bc5dd76073d31e9bc68fc2b.zip
[ticket/10270] Recoded some potentially buggy code in phpbb.confirm.
The code before could have removed event handlers defined by other code. PHPBB3-10270
Diffstat (limited to 'phpBB/assets/javascript/core.js')
-rw-r--r--phpBB/assets/javascript/core.js11
1 files changed, 6 insertions, 5 deletions
diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js
index a8ccad863f..f67e251b5d 100644
--- a/phpBB/assets/javascript/core.js
+++ b/phpBB/assets/javascript/core.js
@@ -124,21 +124,22 @@ phpbb.confirm = function(msg, callback, fadedark) {
e.stopPropagation();
return true;
});
- div.find('input[type="button"]').one('click', function() {
+
+ var click_handler = function() {
var res = this.className === 'button1';
var fade = (typeof fadedark !== 'undefined' && !fadedark && res) ? div : dark;
fade.fadeOut(phpbb.alert_time, function() {
div.hide();
});
- div.find('input[type="button"]').unbind('click');
+ div.find('input[type="button"]').unbind('click', click_handler);
callback(res);
return false;
- });
+ };
+ div.find('input[type="button"]').one('click', click_handler);
dark.one('click', function(e) {
div.find('.alert_close').unbind('click');
- var fade = (typeof fadedark !== 'undefined' && !fadedark && res) ? div : dark;
- fade.fadeOut(phpbb.alert_time, function() {
+ dark.fadeOut(phpbb.alert_time, function() {
div.hide();
});
callback(false);