MediaWiki:Common.js
From CruisersWiki
(Difference between revisions)
(avoid assignment to Array.prototype to make a workaround for Navionics webapi bug) |
m (var array_intersects) |
||
Line 12: | Line 12: | ||
/* Array.prototype.intersects = function() { */ | /* Array.prototype.intersects = function() { */ | ||
- | array_intersects = function() { | + | var array_intersects = function() { |
// -------------------------------------------------------- | // -------------------------------------------------------- |
Revision as of 11:22, 23 September 2015
// ------------------------------------------------------------------------------- // Force Preview JavaScript code - Start // // To allow any group to bypass being forced to preview, // enter the group name in the permittedGroups array. // E.g. // var permittedGroups = []; // force everyone // var permittedGroups = [ "user"]; // permit logged-in users // var permittedGroups = [ "sysop", "bureaucrat"]; // permit sysop, bureaucrat // ------------------------------------------------------------------------------- var permittedGroups = []; /* Array.prototype.intersects = function() { */ var array_intersects = function() { // -------------------------------------------------------- // Returns true if any element in the argument array // is the same as an element in this array // -------------------------------------------------------- if( !arguments.length ){ return false; } var array2 = arguments[0]; var len1 = this.length; var len2 = array2.length; if( len2 == 0 ){ return false; } for(var i=0; i<len1; i++){ for(var j=0; j<len2; j++) { if( this[i] === array2[j] ) { return true; } } } return false; }; function forcePreview() { if( wgAction != "edit") return; if( wgUserGroups === null) { wgUserGroups = []; } /* if( wgUserGroups.intersects(permittedGroups) ) { */ if( array_intersects.call(wgUserGroups, permittedGroups) ) { return; } var saveButton = document.getElementById("wpSave"); if( !saveButton ) return; saveButton.disabled = true; saveButton.value = "Save page (use preview first)"; saveButton.style.fontWeight = "normal"; document.getElementById("wpPreview").style.fontWeight = "bold"; } addOnloadHook(forcePreview); // ----------------------------------------------------- // Force Preview JavaScript code - End // ---------------------------------------------