diff options
Diffstat (limited to 'phpBB/adm/style/permissions.js')
| -rw-r--r-- | phpBB/adm/style/permissions.js | 195 | 
1 files changed, 68 insertions, 127 deletions
diff --git a/phpBB/adm/style/permissions.js b/phpBB/adm/style/permissions.js index adc8995c23..9178adab50 100644 --- a/phpBB/adm/style/permissions.js +++ b/phpBB/adm/style/permissions.js @@ -2,35 +2,27 @@  * Hide and show all checkboxes  * status = true (show boxes), false (hide boxes)  */ -function display_checkboxes(status)  -{ +function display_checkboxes(status) {  	var form = document.getElementById('set-permissions');  	var cb = document.getElementsByTagName('input');  	var display;  	//show -	if (status) -	{ +	if (status) {  		display = 'inline';  	}  	//hide -	else -	{ +	else {  		display = 'none';  	} -	 -	for (var i = 0; i < cb.length; i++ ) -	{ -		if (cb[i].className == 'permissions-checkbox') -		{ + +	for (var i = 0; i < cb.length; i++ ) { +		if (cb[i].className === 'permissions-checkbox') {  			cb[i].style.display = display;  		} -		 -	}	 -	 +	}  } -  /**  * Change opacity of element  * e = element @@ -38,7 +30,7 @@ function display_checkboxes(status)  */  function set_opacity(e, value) {  	e.style.opacity = value/10; -	 +  	//IE opacity currently turned off, because of its astronomical stupidity  	//e.style.filter = 'alpha(opacity=' + value*10 + ')';  } @@ -50,13 +42,10 @@ function set_opacity(e, value) {  function toggle_opacity(block_id) {  	var cb = document.getElementById('checkbox' + block_id);  	var fs = document.getElementById('perm' + block_id); -	 -	if (cb.checked)  -	{ + +	if (cb.checked) {  		set_opacity(fs, 5); -	}  -	else  -	{ +	} else {  		set_opacity(fs, 10);  	}  } @@ -71,21 +60,17 @@ function reset_opacity(status, except_id) {  	var fs = perm.getElementsByTagName('fieldset');  	var opacity = 5; -	if (status) -	{ -		opacity = 10;	 +	if (status) { +		opacity = 10;  	} -	 -	for (var i = 0; i < fs.length; i++ ) -	{ -		if (fs[i].className != 'quick') -		{ + +	for (var i = 0; i < fs.length; i++ ) { +		if (fs[i].className !== 'quick') {  			set_opacity(fs[i], opacity);  		}  	} -	if (typeof(except_id) != 'undefined') -	{ +	if (typeof(except_id) !== 'undefined') {  		set_opacity(document.getElementById('perm' + except_id), 10);  	} @@ -93,20 +78,15 @@ function reset_opacity(status, except_id) {  	marklist('set-permissions', 'inherit', !status);  } -  /**  * Check whether we have a full radiobutton row of true  * index = offset for the row of inputs (0 == first row, 1 == second, 2 == third),  * rb = array of radiobuttons  */ -function get_radio_status(index, rb)  -{ -	for (var i = index; i < rb.length; i = i + 3 ) -	{ -		if (rb[i].checked != true) -		{ -			if (i > index) -			{ +function get_radio_status(index, rb) { +	for (var i = index; i < rb.length; i = i + 3 ) { +		if (rb[i].checked !== true) { +			if (i > index) {  				//at least one is true, but not all (custom)  				return 2;  			} @@ -121,17 +101,15 @@ function get_radio_status(index, rb)  /**  * Set tab colours -* id = panel the tab needs to be set for,  -* init = initialising on open,  +* id = panel the tab needs to be set for, +* init = initialising on open,  * quick = If no calculation needed, this contains the colour  */ -function set_colours(id, init, quick) -{ +function set_colours(id, init, quick) {  	var table = document.getElementById('table' + id);  	var tab = document.getElementById('tab' + id); -	if (typeof(quick) != 'undefined')  -	{ +	if (typeof(quick) !== 'undefined') {  		tab.className = 'permissions-preset-' + quick + ' activetab';  		return;  	} @@ -141,37 +119,27 @@ function set_colours(id, init, quick)  	var status = get_radio_status(0, rb); -	if (status == 1) -	{ +	if (status === 1) {  		colour = 'yes'; -	} -	else if (status == 0)  -	{ +	} else if (status === 0) {  		// We move on to No  		status = get_radio_status(1, rb); -		if (status == 1) -		{ +		if (status === 1) {  			colour = 'no'; -		} -		else if (status == 0)  -		{ +		} else if (status === 0) {  			// We move on to Never  			status = get_radio_status(2, rb); -			if (status == 1) -			{ +			if (status === 1) {  				colour = 'never';  			}  		}  	} -	if (init) -	{ +	if (init) {  		tab.className = 'permissions-preset-' + colour; -	} -	else -	{ +	} else {  		tab.className = 'permissions-preset-' + colour + ' activetab';  	}  } @@ -180,16 +148,13 @@ function set_colours(id, init, quick)  * Initialise advanced tab colours on first load  * block_id = block that is opened  */ -function init_colours(block_id) -{	 +function init_colours(block_id) {  	var block = document.getElementById('advanced' + block_id);  	var panels = block.getElementsByTagName('div');  	var tab = document.getElementById('tab' + id); -	for (var i = 0; i < panels.length; i++) -	{ -		if(panels[i].className == 'permissions-panel') -		{ +	for (var i = 0; i < panels.length; i++) { +		if (panels[i].className === 'permissions-panel') {  			set_colours(panels[i].id.replace(/options/, ''), true);  		}  	} @@ -203,38 +168,32 @@ function init_colours(block_id)  * adv = we are opening advanced permissions  * view = called from view permissions  */ -function swap_options(pmask, fmask, cat, adv, view) -{ +function swap_options(pmask, fmask, cat, adv, view) {  	id = pmask + fmask + cat;  	active_option = active_pmask + active_fmask + active_cat; -	var	old_tab = document.getElementById('tab' + active_option);	 +	var	old_tab = document.getElementById('tab' + active_option);  	var new_tab = document.getElementById('tab' + id);  	var adv_block = document.getElementById('advanced' + pmask + fmask); -	if (adv_block.style.display == 'block' && adv == true) -	{ -		dE('advanced' + pmask + fmask, -1); +	if (adv_block.style.display === 'block' && adv === true) { +		phpbb.toggleDisplay('advanced' + pmask + fmask, -1);  		reset_opacity(1);  		display_checkboxes(false);  		return;  	}  	// no need to set anything if we are clicking on the same tab again -	if (new_tab == old_tab && !adv) -	{ +	if (new_tab === old_tab && !adv) {  		return;  	}  	// init colours -	if (adv && (pmask + fmask) != (active_pmask + active_fmask)) -	{ +	if (adv && (pmask + fmask) !== (active_pmask + active_fmask)) {  		init_colours(pmask + fmask);  		display_checkboxes(true);  		reset_opacity(1); -	}  -	else if (adv)  -	{ +	} else if (adv) {  		//Checkbox might have been clicked, but we need full visibility  		display_checkboxes(true);  		reset_opacity(1); @@ -244,34 +203,29 @@ function swap_options(pmask, fmask, cat, adv, view)  	old_tab.className = old_tab.className.replace(/\ activetab/g, '');  	new_tab.className = new_tab.className + ' activetab'; -	if (id == active_option && adv != true) -	{ +	if (id === active_option && adv !== true) {  		return;  	} -	dE('options' + active_option, -1); -	 +	phpbb.toggleDisplay('options' + active_option, -1); +  	//hiding and showing the checkbox -	if (document.getElementById('checkbox' + active_pmask + active_fmask)) -	{ -		dE('checkbox' + pmask + fmask, -1);	 -		 -		if ((pmask + fmask) != (active_pmask + active_fmask)) -		{ +	if (document.getElementById('checkbox' + active_pmask + active_fmask)) { +		phpbb.toggleDisplay('checkbox' + pmask + fmask, -1); + +		if ((pmask + fmask) !== (active_pmask + active_fmask)) {  			document.getElementById('checkbox' + active_pmask + active_fmask).style.display = 'inline';  		}  	} -	if (!view) -	{ -		dE('advanced' + active_pmask + active_fmask, -1); +	if (!view) { +		phpbb.toggleDisplay('advanced' + active_pmask + active_fmask, -1);  	} -	if (!view) -	{ -		dE('advanced' + pmask + fmask, 1); +	if (!view) { +		phpbb.toggleDisplay('advanced' + pmask + fmask, 1);  	} -	dE('options' + id, 1); +	phpbb.toggleDisplay('options' + id, 1);  	active_pmask = pmask;  	active_fmask = fmask; @@ -282,41 +236,33 @@ function swap_options(pmask, fmask, cat, adv, view)  * Mark all radio buttons in one panel  * id = table ID container, s = status ['y'/'u'/'n']  */ -function mark_options(id, s) -{ +function mark_options(id, s) {  	var t = document.getElementById(id); -	if (!t) -	{ +	if (!t) {  		return;  	}  	var rb = t.getElementsByTagName('input'); -	for (var r = 0; r < rb.length; r++) -	{ -		if (rb[r].id.substr(rb[r].id.length-1) == s) -		{ +	for (var r = 0; r < rb.length; r++) { +		if (rb[r].id.substr(rb[r].id.length-1) === s) {  			rb[r].checked = true;  		}  	}  } -function mark_one_option(id, field_name, s) -{ +function mark_one_option(id, field_name, s) {  	var t = document.getElementById(id); -	if (!t) -	{ +	if (!t) {  		return;  	}  	var rb = t.getElementsByTagName('input'); -	for (var r = 0; r < rb.length; r++) -	{ -		if (rb[r].id.substr(rb[r].id.length-field_name.length-3, field_name.length) == field_name && rb[r].id.substr(rb[r].id.length-1) == s) -		{ +	for (var r = 0; r < rb.length; r++) { +		if (rb[r].id.substr(rb[r].id.length-field_name.length-3, field_name.length) === field_name && rb[r].id.substr(rb[r].id.length-1) === s) {  			rb[r].checked = true;  		}  	} @@ -325,12 +271,10 @@ function mark_one_option(id, field_name, s)  /**  * Reset role dropdown field to Select role... if an option gets changed  */ -function reset_role(id) -{ +function reset_role(id) {  	var t = document.getElementById(id); -	if (!t) -	{ +	if (!t) {  		return;  	} @@ -340,20 +284,17 @@ function reset_role(id)  /**  * Load role and set options accordingly  */ -function set_role_settings(role_id, target_id) -{ +function set_role_settings(role_id, target_id) {  	settings = role_options[role_id]; -	if (!settings) -	{ +	if (!settings) {  		return;  	}  	// Mark all options to no (unset) first...  	mark_options(target_id, 'u'); -	for (var r in settings) -	{ -		mark_one_option(target_id, r, (settings[r] == 1) ? 'y' : 'n'); +	for (var r in settings) { +		mark_one_option(target_id, r, (settings[r] === 1) ? 'y' : 'n');  	}  }  | 
