Difference between revisions of "MediaWiki:Common.js"
From OdleWiki
(Created page with "→Any JavaScript here will be loaded for all users on every page load.: // ------------------------------------------------------------------------------- // Force Previe...") |
|||
Line 35: | Line 35: | ||
function forcePreview() { | function forcePreview() { | ||
+ | var permittedGroups = [ "sysop", "bureaucrat"]; // permit sysop, bureaucrat; | ||
if ( mw.config.get( "wgAction" ) != "edit" ) return; | if ( mw.config.get( "wgAction" ) != "edit" ) return; | ||
if ( mw.config.get( "wgUserGroups" ).intersects( permittedGroups ) ) return; | if ( mw.config.get( "wgUserGroups" ).intersects( permittedGroups ) ) return; |
Revision as of 00:10, 30 July 2012
/* Any JavaScript here will be loaded for all users on every page load. */ // ------------------------------------------------------------------------------- // 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() { // -------------------------------------------------------- // 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() { var permittedGroups = [ "sysop", "bureaucrat"]; // permit sysop, bureaucrat; if ( mw.config.get( "wgAction" ) != "edit" ) return; if ( mw.config.get( "wgUserGroups" ).intersects( 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"; } jQuery(document).ready( forcePreview ); // ----------------------------------------------------- // Force Preview JavaScript code - End // -----------------------------------------------------