|
|
Line 203: |
Line 203: |
| | | |
| $( createNavigationBarToggleButton ); | | $( createNavigationBarToggleButton ); |
|
| |
| // -------------------------------------------------------------------------------
| |
| // 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() {
| |
| 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
| |
| // -----------------------------------------------------
| |