MediaWiki:Common.js

From CruisersWiki

(Difference between revisions)
Jump to: navigation, search
(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
// ---------------------------------------------
Personal tools
advertisement
Friends of Cruisers Wiki