This wiki is for the exclusive use of my friends and colleagues. Account creation and anonymous editing have been turned off.

If you are a friend or colleague of mine, and would like to participate in this project, please send me a message.

If you find these pages useful, please donate to help cover server costs. Thanks!

MediaWiki:Common.js

From OdleWiki
Revision as of 00:12, 30 July 2012 by Kenneth John Odle (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* 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 = [ "sysop", "bureaucrat"];
 
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
// -----------------------------------------------------