From f7af4eb2e98a70cce267d01828437e205527e47f Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 10 Jan 2013 11:11:30 +0100 Subject: [ticket/11314] Use return variable instead of overusing the return keyword Use a return variable and modify it to our needs. PHPBB3-11314 --- phpBB/styles/prosilver/template/ajax.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'phpBB/styles/prosilver/template') diff --git a/phpBB/styles/prosilver/template/ajax.js b/phpBB/styles/prosilver/template/ajax.js index 8583fb565c..771981b3e3 100644 --- a/phpBB/styles/prosilver/template/ajax.js +++ b/phpBB/styles/prosilver/template/ajax.js @@ -173,18 +173,19 @@ phpbb.ajaxify({ refresh: true, filter: function (data) { var action = $('#quick-mod-select').val(); + var ret = false; if (action === 'make_normal') { - return $(this).find('select option[value="make_global"]').length > 0; + ret = $(this).find('select option[value="make_global"]').length > 0; } else if (action === 'lock' || action === 'unlock') { - return true; + ret = true; } if (action === 'delete_topic' || action === 'make_sticky' || action === 'make_announce' || action === 'make_global') { - return true; + ret = true; } - return false; + return ret; } }); -- cgit v1.2.1 From c31f489cce8fd5d60eb484928221bef0666f3c06 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 10 Jan 2013 11:14:07 +0100 Subject: [ticket/11314] Add missing "use strict" to timezone.js files PHPBB3-11314 --- phpBB/styles/prosilver/template/timezone.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'phpBB/styles/prosilver/template') diff --git a/phpBB/styles/prosilver/template/timezone.js b/phpBB/styles/prosilver/template/timezone.js index af8206d12d..b0e8a38366 100644 --- a/phpBB/styles/prosilver/template/timezone.js +++ b/phpBB/styles/prosilver/template/timezone.js @@ -1,5 +1,7 @@ (function($) { // Avoid conflicts with other libraries +"use strict"; + $('#tz_date').change(function() { phpbb.timezoneSwitchDate(false); }); -- cgit v1.2.1 From 2f6b072bb13ce9d7c7784136bedec651b73ae11b Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Sun, 13 Jan 2013 23:00:48 +0100 Subject: [ticket/11314] Add missing radix parameters PHPBB3-11314 --- phpBB/styles/prosilver/template/editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/styles/prosilver/template') diff --git a/phpBB/styles/prosilver/template/editor.js b/phpBB/styles/prosilver/template/editor.js index c16b0ef703..c099466005 100644 --- a/phpBB/styles/prosilver/template/editor.js +++ b/phpBB/styles/prosilver/template/editor.js @@ -11,7 +11,7 @@ var bbcodeEnabled = true; // Check for Browser & Platform for PC & IE specific bits // More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html var clientPC = navigator.userAgent.toLowerCase(); // Get client info -var clientVer = parseInt(navigator.appVersion); // Get browser version +var clientVer = parseInt(navigator.appVersion, 10); // Get browser version var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1)); var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1)); -- cgit v1.2.1 From 36168b311e5f12937977ffd1040ca4a39f70a0e8 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Wed, 27 Feb 2013 23:12:34 +0100 Subject: [ticket/11314] Fix issues mentioned in jshint report Additionally, the editor.js files are now the same file in both subsilver2, prosilver, and the acp. PHPBB3-11314 --- phpBB/styles/prosilver/template/ajax.js | 6 +- phpBB/styles/prosilver/template/editor.js | 92 +++++++++++----------- phpBB/styles/prosilver/template/forum_fn.js | 114 ++++++++++++++++------------ phpBB/styles/prosilver/template/timezone.js | 2 +- 4 files changed, 119 insertions(+), 95 deletions(-) (limited to 'phpBB/styles/prosilver/template') diff --git a/phpBB/styles/prosilver/template/ajax.js b/phpBB/styles/prosilver/template/ajax.js index e38e3d4cb2..8c61be5942 100644 --- a/phpBB/styles/prosilver/template/ajax.js +++ b/phpBB/styles/prosilver/template/ajax.js @@ -39,7 +39,7 @@ phpbb.addAjaxCallback('mark_forums_read', function(res) { // Mark topics read if we are watching a category and showing active topics if ($('#active_topics').length) { - phpbb.ajaxCallbacks['mark_topics_read'].call(this, res, false); + phpbb.ajaxCallbacks.mark_topics_read.call(this, res, false); } // Update mark forums read links @@ -75,7 +75,7 @@ phpbb.addAjaxCallback('mark_topics_read', function(res, update_topic_links) { $.each(iconsArray, function(unreadClass, readClass) { $.each(iconsState, function(key, value) { // Only topics can be hot - if ((value == '_hot' || value == '_hot_mine') && unreadClass != 'topic_unread') { + if ((value === '_hot' || value === '_hot_mine') && unreadClass !== 'topic_unread') { return true; } classMap[unreadClass + value] = readClass + value; @@ -218,7 +218,7 @@ $('#quick-mod-select').change(function () { */ $('#member_search').click(function () { $('#memberlist_search').slideToggle('fast'); - phpbb.ajax_callbacks['alt_text'].call(this); + phpbb.ajax_callbacks.alt_text.call(this); // Focus on the username textbox if it's available and displayed if ($('#memberlist_search').is(':visible')) { $('#username').focus(); diff --git a/phpBB/styles/prosilver/template/editor.js b/phpBB/styles/prosilver/template/editor.js index c099466005..13e9ca3c66 100644 --- a/phpBB/styles/prosilver/template/editor.js +++ b/phpBB/styles/prosilver/template/editor.js @@ -6,15 +6,15 @@ // Startup variables var imageTag = false; var theSelection = false; - var bbcodeEnabled = true; + // Check for Browser & Platform for PC & IE specific bits // More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html var clientPC = navigator.userAgent.toLowerCase(); // Get client info var clientVer = parseInt(navigator.appVersion, 10); // Get browser version -var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1)); -var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1)); +var is_ie = ((clientPC.indexOf('msie') !== -1) && (clientPC.indexOf('opera') === -1)); +var is_win = ((clientPC.indexOf('win') !== -1) || (clientPC.indexOf('16bit') !== -1)); var baseHeight; /** @@ -29,7 +29,7 @@ function helpline(help) * Fix a bug involving the TextRange object. From * http://www.frostjedi.com/terra/scripts/demo/caretBug.html */ -function initInsertions() +function initInsertions() { var doc; @@ -37,14 +37,14 @@ function initInsertions() { doc = document; } - else + else { doc = opener.document; } var textarea = doc.forms[form_name].elements[text_name]; - if (is_ie && typeof(baseHeight) != 'number') + if (is_ie && typeof(baseHeight) !== 'number') { textarea.focus(); baseHeight = doc.selection.createRange().duplicate().boundingHeight; @@ -60,12 +60,12 @@ function initInsertions() * bbstyle */ function bbstyle(bbnumber) -{ - if (bbnumber != -1) +{ + if (bbnumber !== -1) { bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]); - } - else + } + else { insert_text('[*]'); document.forms[form_name].elements[text_name].focus(); @@ -104,10 +104,10 @@ function bbfontstyle(bbopen, bbclose) theSelection = ''; return; } - + //The new position for the cursor after adding the bbcode var caret_pos = getCaretPosition(textarea).start; - var new_pos = caret_pos + bbopen.length; + var new_pos = caret_pos + bbopen.length; // Open tag insert_text(bbopen + bbclose); @@ -118,7 +118,7 @@ function bbfontstyle(bbopen, bbclose) { textarea.selectionStart = new_pos; textarea.selectionEnd = new_pos; - } + } // IE else if (document.selection) { @@ -138,16 +138,17 @@ function bbfontstyle(bbopen, bbclose) function insert_text(text, spaces, popup) { var textarea; - - if (!popup) + + if (!popup) { textarea = document.forms[form_name].elements[text_name]; - } - else + } + else { textarea = opener.document.forms[form_name].elements[text_name]; } - if (spaces) + + if (spaces) { text = ' ' + text + ' '; } @@ -165,20 +166,21 @@ function insert_text(text, spaces, popup) } else if (textarea.createTextRange && textarea.caretPos) { - if (baseHeight != textarea.caretPos.boundingHeight) + if (baseHeight !== textarea.caretPos.boundingHeight) { textarea.focus(); storeCaret(textarea); } var caret_pos = textarea.caretPos; - caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text; + caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) === ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text; } else { textarea.value = textarea.value + text; } - if (!popup) + + if (!popup) { textarea.focus(); } @@ -201,6 +203,7 @@ function addquote(post_id, username, l_wrote) var message_name = 'message_' + post_id; var theSelection = ''; var divarea = false; + var i; if (l_wrote === undefined) { @@ -232,7 +235,7 @@ function addquote(post_id, username, l_wrote) theSelection = document.selection.createRange().text; } - if (theSelection == '' || typeof theSelection == 'undefined' || theSelection == null) + if (theSelection === '' || typeof theSelection === 'undefined' || theSelection === null) { if (divarea.innerHTML) { @@ -282,6 +285,8 @@ function split_lines(text) var lines = text.split('\n'); var splitLines = new Array(); var j = 0; + var i; + for(i = 0; i < lines.length; i++) { if (lines[i].length <= 80) @@ -292,11 +297,12 @@ function split_lines(text) else { var line = lines[i]; + var splitAt; do { - var splitAt = line.indexOf(' ', 80); - - if (splitAt == -1) + splitAt = line.indexOf(' ', 80); + + if (splitAt === -1) { splitLines[j] = line; j++; @@ -308,22 +314,23 @@ function split_lines(text) j++; } } - while(splitAt != -1); + while(splitAt !== -1); } } return splitLines; } + /** * From http://www.massless.org/mozedit/ */ function mozWrap(txtarea, open, close) { - var selLength = (typeof(txtarea.textLength) == 'undefined') ? txtarea.value.length : txtarea.textLength; + var selLength = (typeof(txtarea.textLength) === 'undefined') ? txtarea.value.length : txtarea.textLength; var selStart = txtarea.selectionStart; var selEnd = txtarea.selectionEnd; var scrollTop = txtarea.scrollTop; - if (selEnd == 1 || selEnd == 2) + if (selEnd === 1 || selEnd === 2) { selEnd = selLength; } @@ -372,18 +379,18 @@ function colorPalette(dir, width, height) for (r = 0; r < 5; r++) { - if (dir == 'h') + if (dir === 'h') { document.writeln(''); } for (g = 0; g < 5; g++) { - if (dir == 'v') + if (dir === 'v') { document.writeln(''); } - + for (b = 0; b < 5; b++) { color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]); @@ -392,13 +399,13 @@ function colorPalette(dir, width, height) document.writeln(''); } - if (dir == 'v') + if (dir === 'v') { document.writeln(''); } } - if (dir == 'h') + if (dir === 'h') { document.writeln(''); } @@ -406,7 +413,6 @@ function colorPalette(dir, width, height) document.writeln(''); } - /** * Caret Position object */ @@ -416,43 +422,41 @@ function caretPosition() var end = null; } - /** * Get the caret position in an textarea */ function getCaretPosition(txtarea) { var caretPos = new caretPosition(); - + // simple Gecko/Opera way - if(txtarea.selectionStart || txtarea.selectionStart == 0) + if (txtarea.selectionStart || txtarea.selectionStart === 0) { caretPos.start = txtarea.selectionStart; caretPos.end = txtarea.selectionEnd; } // dirty and slow IE way - else if(document.selection) + else if (document.selection) { - // get current selection var range = document.selection.createRange(); // a new selection of the whole textarea var range_all = document.body.createTextRange(); range_all.moveToElementText(txtarea); - + // calculate selection start point by moving beginning of range_all to beginning of range var sel_start; for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++) - { + { range_all.moveStart('character', 1); } - + txtarea.sel_start = sel_start; - + // we ignore the end value for IE, this is already dirty enough and we don't need it caretPos.start = txtarea.sel_start; - caretPos.end = txtarea.sel_start; + caretPos.end = txtarea.sel_start; } return caretPos; diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js index 995b4b0ab7..677e9274c4 100644 --- a/phpBB/styles/prosilver/template/forum_fn.js +++ b/phpBB/styles/prosilver/template/forum_fn.js @@ -23,9 +23,9 @@ function jumpto() { var page = prompt(jump_page, on_page); - if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0) + if (page !== null && !isNaN(page) && page === Math.floor(page) && page > 0) { - if (base_url.indexOf('?') == -1) + if (base_url.indexOf('?') === -1) { document.location.href = base_url + '?start=' + ((page - 1) * per_page); } @@ -53,7 +53,7 @@ function marklist(id, name, state) for (var r = 0; r < rb.length; r++) { - if (rb[r].name.substr(0, name.length) == name) + if (rb[r].name.substr(0, name.length) === name) { rb[r].checked = state; } @@ -66,7 +66,10 @@ function marklist(id, name, state) */ function viewableArea(e, itself) { - if (!e) return; + if (!e) { + return; + } + if (!itself) { e = e.parentNode; @@ -106,9 +109,9 @@ function dE(n, s, type) var e = document.getElementById(n); if (!s) { - s = (e.style.display == '' || e.style.display == type) ? -1 : 1; + s = (e.style.display === '' || e.style.display === type) ? -1 : 1; } - e.style.display = (s == 1) ? type : 'none'; + e.style.display = (s === 1) ? type : 'none'; } /** @@ -118,7 +121,7 @@ function subPanels(p) { var i, e, t; - if (typeof(p) == 'string') + if (typeof(p) === 'string') { show_panel = p; } @@ -130,7 +133,7 @@ function subPanels(p) if (e) { - if (panels[i] == show_panel) + if (panels[i] === show_panel) { e.style.display = 'block'; if (t) @@ -173,7 +176,7 @@ function printPage() */ function displayBlocks(c, e, t) { - var s = (e.checked == true) ? 1 : -1; + var s = (e.checked === true) ? 1 : -1; if (t) { @@ -184,9 +187,9 @@ function displayBlocks(c, e, t) for (var d = 0; d < divs.length; d++) { - if (divs[d].className.indexOf(c) == 0) + if (divs[d].className.indexOf(c) === 0) { - divs[d].style.display = (s == 1) ? 'none' : 'block'; + divs[d].style.display = (s === 1) ? 'none' : 'block'; } } } @@ -195,11 +198,12 @@ function selectCode(a) { // Get ID of code block var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0]; + var s, r; // Not IE and IE9+ if (window.getSelection) { - var s = window.getSelection(); + s = window.getSelection(); // Safari if (s.setBaseAndExtent) { @@ -209,12 +213,12 @@ function selectCode(a) else { // workaround for bug # 42885 - if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) == '
') + if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) === '
') { e.innerHTML = e.innerHTML + ' '; } - var r = document.createRange(); + r = document.createRange(); r.selectNodeContents(e); s.removeAllRanges(); s.addRange(r); @@ -223,8 +227,8 @@ function selectCode(a) // Some older browsers else if (document.getSelection) { - var s = document.getSelection(); - var r = document.createRange(); + s = document.getSelection(); + r = document.createRange(); r.selectNodeContents(e); s.removeAllRanges(); s.addRange(r); @@ -232,7 +236,7 @@ function selectCode(a) // IE else if (document.selection) { - var r = document.body.createTextRange(); + r = document.body.createTextRange(); r.moveToElementText(e); r.select(); } @@ -245,22 +249,23 @@ function selectCode(a) function play_qt_file(obj) { var rectangle = obj.GetRectangle(); + var width, height; if (rectangle) { rectangle = rectangle.split(','); - var x1 = parseInt(rectangle[0]); - var x2 = parseInt(rectangle[2]); - var y1 = parseInt(rectangle[1]); - var y2 = parseInt(rectangle[3]); + var x1 = parseInt(rectangle[0], 10); + var x2 = parseInt(rectangle[2], 10); + var y1 = parseInt(rectangle[1], 10); + var y2 = parseInt(rectangle[3], 10); - var width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1; - var height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1; + width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1; + height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1; } else { - var width = 200; - var height = 0; + width = 200; + height = 0; } obj.width = width; @@ -276,7 +281,7 @@ function play_qt_file(obj) */ function is_node_name(elem, name) { - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); } /** @@ -285,10 +290,12 @@ function is_node_name(elem, name) */ function is_in_array(elem, array) { - for (var i = 0, length = array.length; i < length; i++) + for (var i = 0, length = array.length; i < length; i++) { // === is correct (IE) - if (array[i] === elem) + if (array[i] === elem) { return i; + } + } return -1; } @@ -304,17 +311,22 @@ function find_in_tree(node, tag, type, class_name) for (element = node.childNodes[0]; i < length; element = node.childNodes[++i]) { - if (!element || element.nodeType != 1) continue; + if (!element || element.nodeType !== 1) { + continue; + } - if ((!tag || is_node_name(element, tag)) && (!type || element.type == type) && (!class_name || is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1)) + if ((!tag || is_node_name(element, tag)) && (!type || element.type === type) && (!class_name || is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1)) { return element; } - if (element.childNodes.length) + if (element.childNodes.length) { result = find_in_tree(element, tag, type, class_name); + } - if (result) return result; + if (result) { + return result; + } } } @@ -327,14 +339,15 @@ var last_key_entered = ''; function phpbb_check_key(event) { // Keycode is array down or up? - if (event.keyCode && (event.keyCode == 40 || event.keyCode == 38)) + if (event.keyCode && (event.keyCode === 40 || event.keyCode === 38)) { in_autocomplete = true; + } // Make sure we are not within an "autocompletion" field if (in_autocomplete) { // If return pressed and key changed we reset the autocompletion - if (!last_key_entered || last_key_entered == event.which) + if (!last_key_entered || last_key_entered === event.which) { in_autocompletion = false; return true; @@ -342,7 +355,7 @@ function phpbb_check_key(event) } // Keycode is not return, then return. ;) - if (event.which != 13) + if (event.which !== 13) { last_key_entered = event.which; return true; @@ -357,17 +370,20 @@ function phpbb_check_key(event) function submit_default_button(event, selector, class_name) { // Add which for key events - if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode)) + if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode)) { event.which = event.charCode || event.keyCode; + } - if (phpbb_check_key(event)) + if (phpbb_check_key(event)) { return true; + } - var current = selector['parentNode']; + var current = selector.parentNode; // Search parent form element - while (current && (!current.nodeName || current.nodeType != 1 || !is_node_name(current, 'form')) && current != document) - current = current['parentNode']; + while (current && (!current.nodeName || current.nodeType !== 1 || !is_node_name(current, 'form')) && current !== document) { + current = current.parentNode; + } // Find the input submit button with the class name //current = find_in_tree(current, 'input', 'submit', class_name); @@ -376,12 +392,14 @@ function submit_default_button(event, selector, class_name) for (var i = 0, element = input_tags[0]; i < input_tags.length; element = input_tags[++i]) { - if (element.type == 'submit' && is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1) + if (element.type === 'submit' && is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1) { current = element; + } } - if (!current) + if (!current) { return true; + } // Submit form current.focus(); @@ -403,13 +421,15 @@ function apply_onkeypress_event() { var default_button = jQuery(this).parents('form').find('input[type=submit].default-submit-action'); - if (!default_button || default_button.length <= 0) + if (!default_button || default_button.length <= 0) { return true; + } - if (phpbb_check_key(e)) + if (phpbb_check_key(e)) { return true; + } - if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) + if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) { default_button.click(); return false; @@ -425,7 +445,7 @@ function apply_onkeypress_event() for (var i = 0, element = input_tags[0]; i < input_tags.length ; element = input_tags[++i]) { - if (element.type == 'text' || element.type == 'password') + if (element.type === 'text' || element.type === 'password') { // onkeydown is possible too element.onkeypress = function (evt) { submit_default_button((evt || window.event), this, 'default-submit-action'); }; @@ -436,4 +456,4 @@ function apply_onkeypress_event() /** * Detect JQuery existance. We currently do not deliver it, but some styles do, so why not benefit from it. ;) */ -var jquery_present = typeof jQuery == 'function'; +var jquery_present = typeof jQuery === 'function'; diff --git a/phpBB/styles/prosilver/template/timezone.js b/phpBB/styles/prosilver/template/timezone.js index b0e8a38366..ed7cf0e051 100644 --- a/phpBB/styles/prosilver/template/timezone.js +++ b/phpBB/styles/prosilver/template/timezone.js @@ -15,7 +15,7 @@ $(document).ready( ); $(document).ready( - phpbb.timezonePreselectSelect($('#tz_select_date_suggest').attr('data-is-registration') == 'true') + phpbb.timezonePreselectSelect($('#tz_select_date_suggest').attr('data-is-registration') === 'true') ); })(jQuery); // Avoid conflicts with other libraries -- cgit v1.2.1 From f0b0978538a1b1e25b688cce1794c764f2d363f0 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Tue, 26 Mar 2013 13:13:33 +0100 Subject: [ticket/11314] Modify files to comply with coding standards PHPBB3-11314 --- phpBB/styles/prosilver/template/ajax.js | 9 +- phpBB/styles/prosilver/template/editor.js | 211 +++++++++------------------- phpBB/styles/prosilver/template/forum_fn.js | 193 +++++++++---------------- 3 files changed, 135 insertions(+), 278 deletions(-) (limited to 'phpBB/styles/prosilver/template') diff --git a/phpBB/styles/prosilver/template/ajax.js b/phpBB/styles/prosilver/template/ajax.js index 8c61be5942..8dd1f58c97 100644 --- a/phpBB/styles/prosilver/template/ajax.js +++ b/phpBB/styles/prosilver/template/ajax.js @@ -189,19 +189,18 @@ phpbb.ajaxify({ refresh: true, filter: function (data) { var action = $('#quick-mod-select').val(); - var ret = false; if (action === 'make_normal') { - ret = $(this).find('select option[value="make_global"]').length > 0; + return $(this).find('select option[value="make_global"]').length > 0; } else if (action === 'lock' || action === 'unlock') { - ret = true; + return true; } if (action === 'delete_topic' || action === 'make_sticky' || action === 'make_announce' || action === 'make_global') { - ret = true; + return true; } - return ret; + return false; } }); diff --git a/phpBB/styles/prosilver/template/editor.js b/phpBB/styles/prosilver/template/editor.js index 13e9ca3c66..93506b8d4a 100644 --- a/phpBB/styles/prosilver/template/editor.js +++ b/phpBB/styles/prosilver/template/editor.js @@ -20,8 +20,7 @@ var baseHeight; /** * Shows the help messages in the helpline window */ -function helpline(help) -{ +function helpline(help) { document.forms[form_name].helpbox.value = help_line[help]; } @@ -29,28 +28,22 @@ function helpline(help) * Fix a bug involving the TextRange object. From * http://www.frostjedi.com/terra/scripts/demo/caretBug.html */ -function initInsertions() -{ +function initInsertions() { var doc; - if (document.forms[form_name]) - { + if (document.forms[form_name]) { doc = document; - } - else - { + } else { doc = opener.document; } var textarea = doc.forms[form_name].elements[text_name]; - if (is_ie && typeof(baseHeight) !== 'number') - { + if (is_ie && typeof(baseHeight) !== 'number') { textarea.focus(); baseHeight = doc.selection.createRange().duplicate().boundingHeight; - if (!document.forms[form_name]) - { + if (!document.forms[form_name]) { document.body.focus(); } } @@ -59,14 +52,10 @@ function initInsertions() /** * bbstyle */ -function bbstyle(bbnumber) -{ - if (bbnumber !== -1) - { +function bbstyle(bbnumber) { + if (bbnumber !== -1) { bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]); - } - else - { + } else { insert_text('[*]'); document.forms[form_name].elements[text_name].focus(); } @@ -75,30 +64,26 @@ function bbstyle(bbnumber) /** * Apply bbcodes */ -function bbfontstyle(bbopen, bbclose) -{ +function bbfontstyle(bbopen, bbclose) { theSelection = false; var textarea = document.forms[form_name].elements[text_name]; textarea.focus(); - if ((clientVer >= 4) && is_ie && is_win) - { + if ((clientVer >= 4) && is_ie && is_win) { // Get text selection theSelection = document.selection.createRange().text; - if (theSelection) - { + if (theSelection) { // Add tags around selection document.selection.createRange().text = bbopen + theSelection + bbclose; document.forms[form_name].elements[text_name].focus(); theSelection = ''; return; } - } - else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0)) - { + } else if (document.forms[form_name].elements[text_name].selectionEnd + && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0)) { mozWrap(document.forms[form_name].elements[text_name], bbopen, bbclose); document.forms[form_name].elements[text_name].focus(); theSelection = ''; @@ -114,14 +99,12 @@ function bbfontstyle(bbopen, bbclose) // Center the cursor when we don't have a selection // Gecko and proper browsers - if (!isNaN(textarea.selectionStart)) - { + if (!isNaN(textarea.selectionStart)) { textarea.selectionStart = new_pos; textarea.selectionEnd = new_pos; } // IE - else if (document.selection) - { + else if (document.selection) { var range = textarea.createTextRange(); range.move("character", new_pos); range.select(); @@ -135,53 +118,41 @@ function bbfontstyle(bbopen, bbclose) /** * Insert text at position */ -function insert_text(text, spaces, popup) -{ +function insert_text(text, spaces, popup) { var textarea; - if (!popup) - { + if (!popup) { textarea = document.forms[form_name].elements[text_name]; - } - else - { + } else { textarea = opener.document.forms[form_name].elements[text_name]; } - if (spaces) - { + if (spaces) { text = ' ' + text + ' '; } // Since IE9, IE also has textarea.selectionStart, but it still needs to be treated the old way. // Therefore we simply add a !is_ie here until IE fixes the text-selection completely. - if (!isNaN(textarea.selectionStart) && !is_ie) - { + if (!isNaN(textarea.selectionStart) && !is_ie) { var sel_start = textarea.selectionStart; var sel_end = textarea.selectionEnd; mozWrap(textarea, text, ''); textarea.selectionStart = sel_start + text.length; textarea.selectionEnd = sel_end + text.length; - } - else if (textarea.createTextRange && textarea.caretPos) - { - if (baseHeight !== textarea.caretPos.boundingHeight) - { + } else if (textarea.createTextRange && textarea.caretPos) { + if (baseHeight !== textarea.caretPos.boundingHeight) { textarea.focus(); storeCaret(textarea); } var caret_pos = textarea.caretPos; caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) === ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text; - } - else - { + } else { textarea.value = textarea.value + text; } - if (!popup) - { + if (!popup) { textarea.focus(); } } @@ -189,8 +160,7 @@ function insert_text(text, spaces, popup) /** * Add inline attachment at position */ -function attach_inline(index, filename) -{ +function attach_inline(index, filename) { insert_text('[attachment=' + index + ']' + filename + '[/attachment]'); document.forms[form_name].elements[text_name].focus(); } @@ -198,80 +168,57 @@ function attach_inline(index, filename) /** * Add quote text to message */ -function addquote(post_id, username, l_wrote) -{ +function addquote(post_id, username, l_wrote) { var message_name = 'message_' + post_id; var theSelection = ''; var divarea = false; var i; - if (l_wrote === undefined) - { + if (l_wrote === undefined) { // Backwards compatibility l_wrote = 'wrote'; } - if (document.all) - { + if (document.all) { divarea = document.all[message_name]; - } - else - { + } else { divarea = document.getElementById(message_name); } // Get text selection - not only the post content :( // IE9 must use the document.selection method but has the *.getSelection so we just force no IE - if (window.getSelection && !is_ie && !window.opera) - { + if (window.getSelection && !is_ie && !window.opera) { theSelection = window.getSelection().toString(); - } - else if (document.getSelection && !is_ie) - { + } else if (document.getSelection && !is_ie) { theSelection = document.getSelection(); - } - else if (document.selection) - { + } else if (document.selection) { theSelection = document.selection.createRange().text; } - if (theSelection === '' || typeof theSelection === 'undefined' || theSelection === null) - { - if (divarea.innerHTML) - { + if (theSelection === '' || typeof theSelection === 'undefined' || theSelection === null) { + if (divarea.innerHTML) { theSelection = divarea.innerHTML.replace(/
/ig, '\n'); theSelection = theSelection.replace(//ig, '\n'); theSelection = theSelection.replace(/<\;/ig, '<'); theSelection = theSelection.replace(/>\;/ig, '>'); theSelection = theSelection.replace(/&\;/ig, '&'); theSelection = theSelection.replace(/ \;/ig, ' '); - } - else if (document.all) - { + } else if (document.all) { theSelection = divarea.innerText; - } - else if (divarea.textContent) - { + } else if (divarea.textContent) { theSelection = divarea.textContent; - } - else if (divarea.firstChild.nodeValue) - { + } else if (divarea.firstChild.nodeValue) { theSelection = divarea.firstChild.nodeValue; } } - if (theSelection) - { - if (bbcodeEnabled) - { + if (theSelection) { + if (bbcodeEnabled) { insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); - } - else - { + } else { insert_text(username + ' ' + l_wrote + ':' + '\n'); var lines = split_lines(theSelection); - for (i = 0; i < lines.length; i++) - { + for (i = 0; i < lines.length; i++) { insert_text('> ' + lines[i] + '\n'); } } @@ -280,35 +227,26 @@ function addquote(post_id, username, l_wrote) return; } -function split_lines(text) -{ +function split_lines(text) { var lines = text.split('\n'); var splitLines = new Array(); var j = 0; var i; - for(i = 0; i < lines.length; i++) - { - if (lines[i].length <= 80) - { + for(i = 0; i < lines.length; i++) { + if (lines[i].length <= 80) { splitLines[j] = lines[i]; j++; - } - else - { + } else { var line = lines[i]; var splitAt; - do - { + do { splitAt = line.indexOf(' ', 80); - if (splitAt === -1) - { + if (splitAt === -1) { splitLines[j] = line; j++; - } - else - { + } else { splitLines[j] = line.substring(0, splitAt); line = line.substring(splitAt); j++; @@ -323,15 +261,13 @@ function split_lines(text) /** * From http://www.massless.org/mozedit/ */ -function mozWrap(txtarea, open, close) -{ +function mozWrap(txtarea, open, close) { var selLength = (typeof(txtarea.textLength) === 'undefined') ? txtarea.value.length : txtarea.textLength; var selStart = txtarea.selectionStart; var selEnd = txtarea.selectionEnd; var scrollTop = txtarea.scrollTop; - if (selEnd === 1 || selEnd === 2) - { + if (selEnd === 1 || selEnd === 2) { selEnd = selLength; } @@ -352,10 +288,8 @@ function mozWrap(txtarea, open, close) * Insert at Caret position. Code from * http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 */ -function storeCaret(textEl) -{ - if (textEl.createTextRange) - { +function storeCaret(textEl) { + if (textEl.createTextRange) { textEl.caretPos = document.selection.createRange().duplicate(); } } @@ -363,8 +297,7 @@ function storeCaret(textEl) /** * Color pallette */ -function colorPalette(dir, width, height) -{ +function colorPalette(dir, width, height) { var r = 0, g = 0, b = 0; var numberList = new Array(6); var color = ''; @@ -377,36 +310,29 @@ function colorPalette(dir, width, height) document.writeln(''); - for (r = 0; r < 5; r++) - { - if (dir === 'h') - { + for (r = 0; r < 5; r++) { + if (dir === 'h') { document.writeln(''); } - for (g = 0; g < 5; g++) - { - if (dir === 'v') - { + for (g = 0; g < 5; g++) { + if (dir === 'v') { document.writeln(''); } - for (b = 0; b < 5; b++) - { + for (b = 0; b < 5; b++) { color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]); document.write(''); } - if (dir === 'v') - { + if (dir === 'v') { document.writeln(''); } } - if (dir === 'h') - { + if (dir === 'h') { document.writeln(''); } } @@ -416,8 +342,7 @@ function colorPalette(dir, width, height) /** * Caret Position object */ -function caretPosition() -{ +function caretPosition() { var start = null; var end = null; } @@ -425,19 +350,16 @@ function caretPosition() /** * Get the caret position in an textarea */ -function getCaretPosition(txtarea) -{ +function getCaretPosition(txtarea) { var caretPos = new caretPosition(); // simple Gecko/Opera way - if (txtarea.selectionStart || txtarea.selectionStart === 0) - { + if (txtarea.selectionStart || txtarea.selectionStart === 0) { caretPos.start = txtarea.selectionStart; caretPos.end = txtarea.selectionEnd; } // dirty and slow IE way - else if (document.selection) - { + else if (document.selection) { // get current selection var range = document.selection.createRange(); @@ -447,8 +369,7 @@ function getCaretPosition(txtarea) // calculate selection start point by moving beginning of range_all to beginning of range var sel_start; - for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++) - { + for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++) { range_all.moveStart('character', 1); } diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js index 677e9274c4..19fe5ca4d2 100644 --- a/phpBB/styles/prosilver/template/forum_fn.js +++ b/phpBB/styles/prosilver/template/forum_fn.js @@ -5,10 +5,8 @@ /** * Window popup */ -function popup(url, width, height, name) -{ - if (!name) - { +function popup(url, width, height, name) { + if (!name) { name = '_popup'; } @@ -19,18 +17,13 @@ function popup(url, width, height, name) /** * Jump to page */ -function jumpto() -{ +function jumpto() { var page = prompt(jump_page, on_page); - if (page !== null && !isNaN(page) && page === Math.floor(page) && page > 0) - { - if (base_url.indexOf('?') === -1) - { + if (page !== null && !isNaN(page) && page === Math.floor(page) && page > 0) { + if (base_url.indexOf('?') === -1) { document.location.href = base_url + '?start=' + ((page - 1) * per_page); - } - else - { + } else { document.location.href = base_url.replace(/&/g, '&') + '&start=' + ((page - 1) * per_page); } } @@ -40,21 +33,17 @@ function jumpto() * Mark/unmark checklist * id = ID of parent container, name = name prefix, state = state [true/false] */ -function marklist(id, name, state) -{ +function marklist(id, name, state) { var parent = document.getElementById(id) || document[id]; - if (!parent) - { + if (!parent) { return; } var rb = parent.getElementsByTagName('input'); - - for (var r = 0; r < rb.length; r++) - { - if (rb[r].name.substr(0, name.length) === name) - { + + for (var r = 0; r < rb.length; r++) { + if (rb[r].name.substr(0, name.length) === name) { rb[r].checked = state; } } @@ -64,28 +53,23 @@ function marklist(id, name, state) * Resize viewable area for attached image or topic review panel (possibly others to come) * e = element */ -function viewableArea(e, itself) -{ +function viewableArea(e, itself) { if (!e) { return; } - if (!itself) - { + if (!itself) { e = e.parentNode; } - - if (!e.vaHeight) - { + + if (!e.vaHeight) { // Store viewable area height before changing style to auto e.vaHeight = e.offsetHeight; e.vaMaxHeight = e.style.maxHeight; e.style.height = 'auto'; e.style.maxHeight = 'none'; e.style.overflow = 'visible'; - } - else - { + } else { // Restore viewable area height to the default e.style.height = e.vaHeight + 'px'; e.style.overflow = 'auto'; @@ -99,16 +83,13 @@ function viewableArea(e, itself) * s[-1,0,1] = hide,toggle display,show * type = string: inline, block, inline-block or other CSS "display" type */ -function dE(n, s, type) -{ - if (!type) - { +function dE(n, s, type) { + if (!type) { type = 'block'; } var e = document.getElementById(n); - if (!s) - { + if (!s) { s = (e.style.display === '' || e.style.display === type) ? -1 : 1; } e.style.display = (s === 1) ? type : 'none'; @@ -117,35 +98,26 @@ function dE(n, s, type) /** * Alternate display of subPanels */ -function subPanels(p) -{ +function subPanels(p) { var i, e, t; - if (typeof(p) === 'string') - { + if (typeof(p) === 'string') { show_panel = p; } - for (i = 0; i < panels.length; i++) - { + for (i = 0; i < panels.length; i++) { e = document.getElementById(panels[i]); t = document.getElementById(panels[i] + '-tab'); - if (e) - { - if (panels[i] === show_panel) - { + if (e) { + if (panels[i] === show_panel) { e.style.display = 'block'; - if (t) - { + if (t) { t.className = 'activetab'; } - } - else - { + } else { e.style.display = 'none'; - if (t) - { + if (t) { t.className = ''; } } @@ -156,14 +128,10 @@ function subPanels(p) /** * Call print preview */ -function printPage() -{ - if (is_ie) - { +function printPage() { + if (is_ie) { printPreview(); - } - else - { + } else { window.print(); } } @@ -172,49 +140,40 @@ function printPage() * Show/hide groups of blocks * c = CSS style name * e = checkbox element -* t = toggle dispay state (used to show 'grip-show' image in the profile block when hiding the profiles) +* t = toggle dispay state (used to show 'grip-show' image in the profile block when hiding the profiles) */ -function displayBlocks(c, e, t) -{ +function displayBlocks(c, e, t) { var s = (e.checked === true) ? 1 : -1; - if (t) - { + if (t) { s *= -1; } var divs = document.getElementsByTagName("DIV"); - for (var d = 0; d < divs.length; d++) - { - if (divs[d].className.indexOf(c) === 0) - { + for (var d = 0; d < divs.length; d++) { + if (divs[d].className.indexOf(c) === 0) { divs[d].style.display = (s === 1) ? 'none' : 'block'; } } } -function selectCode(a) -{ +function selectCode(a) { // Get ID of code block var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0]; var s, r; // Not IE and IE9+ - if (window.getSelection) - { + if (window.getSelection) { s = window.getSelection(); // Safari - if (s.setBaseAndExtent) - { + if (s.setBaseAndExtent) { s.setBaseAndExtent(e, 0, e, e.innerText.length - 1); } // Firefox and Opera - else - { + else { // workaround for bug # 42885 - if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) === '
') - { + if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) === '
') { e.innerHTML = e.innerHTML + ' '; } @@ -225,8 +184,7 @@ function selectCode(a) } } // Some older browsers - else if (document.getSelection) - { + else if (document.getSelection) { s = document.getSelection(); r = document.createRange(); r.selectNodeContents(e); @@ -234,8 +192,7 @@ function selectCode(a) s.addRange(r); } // IE - else if (document.selection) - { + else if (document.selection) { r = document.body.createTextRange(); r.moveToElementText(e); r.select(); @@ -246,13 +203,11 @@ function selectCode(a) * Play quicktime file by determining it's width/height * from the displayed rectangle area */ -function play_qt_file(obj) -{ +function play_qt_file(obj) { var rectangle = obj.GetRectangle(); var width, height; - if (rectangle) - { + if (rectangle) { rectangle = rectangle.split(','); var x1 = parseInt(rectangle[0], 10); var x2 = parseInt(rectangle[2], 10); @@ -261,9 +216,7 @@ function play_qt_file(obj) width = (x1 < 0) ? (x1 * -1) + x2 : x2 - x1; height = (y1 < 0) ? (y1 * -1) + y2 : y2 - y1; - } - else - { + } else { width = 200; height = 0; } @@ -279,8 +232,7 @@ function play_qt_file(obj) * Check if the nodeName of elem is name * @author jQuery */ -function is_node_name(elem, name) -{ +function is_node_name(elem, name) { return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); } @@ -288,8 +240,7 @@ function is_node_name(elem, name) * Check if elem is in array, return position * @author jQuery */ -function is_in_array(elem, array) -{ +function is_in_array(elem, array) { for (var i = 0, length = array.length; i < length; i++) { // === is correct (IE) if (array[i] === elem) { @@ -305,18 +256,16 @@ function is_in_array(elem, array) * Not used, but may come in handy for those not using JQuery * @author jQuery.find, Meik Sievertsen */ -function find_in_tree(node, tag, type, class_name) -{ +function find_in_tree(node, tag, type, class_name) { var result, element, i = 0, length = node.childNodes.length; - for (element = node.childNodes[0]; i < length; element = node.childNodes[++i]) - { + for (element = node.childNodes[0]; i < length; element = node.childNodes[++i]) { if (!element || element.nodeType !== 1) { continue; } - if ((!tag || is_node_name(element, tag)) && (!type || element.type === type) && (!class_name || is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1)) - { + if ((!tag || is_node_name(element, tag)) && (!type || element.type === type) + && (!class_name || is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1)) { return element; } @@ -336,27 +285,23 @@ var last_key_entered = ''; /** * Check event key */ -function phpbb_check_key(event) -{ +function phpbb_check_key(event) { // Keycode is array down or up? if (event.keyCode && (event.keyCode === 40 || event.keyCode === 38)) { in_autocomplete = true; } // Make sure we are not within an "autocompletion" field - if (in_autocomplete) - { + if (in_autocomplete) { // If return pressed and key changed we reset the autocompletion - if (!last_key_entered || last_key_entered === event.which) - { + if (!last_key_entered || last_key_entered === event.which) { in_autocompletion = false; return true; } } // Keycode is not return, then return. ;) - if (event.which !== 13) - { + if (event.which !== 13) { last_key_entered = event.which; return true; } @@ -367,8 +312,7 @@ function phpbb_check_key(event) /** * Usually used for onkeypress event, to submit a form on enter */ -function submit_default_button(event, selector, class_name) -{ +function submit_default_button(event, selector, class_name) { // Add which for key events if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode)) { event.which = event.charCode || event.keyCode; @@ -390,8 +334,7 @@ function submit_default_button(event, selector, class_name) var input_tags = current.getElementsByTagName('input'); current = false; - for (var i = 0, element = input_tags[0]; i < input_tags.length; element = input_tags[++i]) - { + for (var i = 0, element = input_tags[0]; i < input_tags.length; element = input_tags[++i]) { if (element.type === 'submit' && is_in_array(class_name, (element.className || element).toString().split(/\s+/)) > -1) { current = element; } @@ -412,15 +355,12 @@ function submit_default_button(event, selector, class_name) * The jQuery snippet used is based on http://greatwebguy.com/programming/dom/default-html-button-submit-on-enter-with-jquery/ * The non-jQuery code is a mimick of the jQuery code ;) */ -function apply_onkeypress_event() -{ +function apply_onkeypress_event() { // jQuery code in case jQuery is used - if (jquery_present) - { - jQuery('form input[type=text], form input[type=password]').live('keypress', function (e) - { + if (jquery_present) { + jQuery('form input[type=text], form input[type=password]').live('keypress', function (e) { var default_button = jQuery(this).parents('form').find('input[type=submit].default-submit-action'); - + if (!default_button || default_button.length <= 0) { return true; } @@ -429,24 +369,21 @@ function apply_onkeypress_event() return true; } - if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) - { + if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) { default_button.click(); return false; } return true; }); - + return; } var input_tags = document.getElementsByTagName('input'); - for (var i = 0, element = input_tags[0]; i < input_tags.length ; element = input_tags[++i]) - { - if (element.type === 'text' || element.type === 'password') - { + for (var i = 0, element = input_tags[0]; i < input_tags.length ; element = input_tags[++i]) { + if (element.type === 'text' || element.type === 'password') { // onkeydown is possible too element.onkeypress = function (evt) { submit_default_button((evt || window.event), this, 'default-submit-action'); }; } -- cgit v1.2.1
'); document.write('#' + color + ''); document.writeln('