维基百科:AutoEd/core.js

维基百科,自由的百科全书

//

//This script does not function without additional "helper" modules!
//Please see [[Wikipedia:AutoEd]] for details on use.
 
// Set default values for any unset variables
if( typeof( autoEdMinor ) == 'undefined' ) {
  autoEdMinor = true;
}

if( typeof( autoEdClick ) == 'undefined' ) {
  autoEdClick = true;
}

if( typeof( autoEdTag ) == 'undefined' ) {
  autoEdTag = "Cleaned up using [[WP:AutoEd|AutoEd]]";
}

if( typeof( autoEdLinkHover ) == 'undefined' ) {
  autoEdLinkHover = "Run AutoEd";
}

if( typeof( autoEdLinkName ) == 'undefined' ) {
  autoEdLinkName = "auto ed";
}

if( typeof( autoEdLinkLocation ) == 'undefined' ) {
  autoEdLinkLocation = "p-cactions";
}

if( typeof( autoEdFunctions ) == 'undefined' ) {
  function autoEdFunctions() { alert('AutoEd/core.js: autoEdFunctions is undefined'); }
  autoEdTag = "";
  autoEdClick = false;
  autoEdMinor = false;
}

//Initiates AutoEd
function autoEdExecute() {
  if(!document.getElementById('wpTextbox1')) return;
  // copy wikEd (http://en.wikipedia.org/wiki/User:Cacycle/wikEd.js) frame to wpTextbox1 textarea, for compatibility with WikiEd
  if (typeof(wikEdUseWikEd) != 'undefined') {
    if (wikEdUseWikEd == true) {
      WikEdUpdateTextarea();
    }
  }

  autoEdFunctions();
  autoEdEditSummary();
  // copy wpTextbox1 textarea back to wikEd frame, for compatibility with WikiEd
  if (typeof(wikEdUseWikEd) != 'undefined') {
    if (wikEdUseWikEd == true) {
      WikEdUpdateFrame();
    }
  }

}

//Adds Tag to edit summary textbox
function autoEdEditSummary() {
  var txt = document.editform.wpSummary;
  var tag = autoEdTag;

  // Is the tag blank?
  if( tag.match(/[^\s]/) ) {
    // Has it already been tagged?
    if( txt.value.indexOf(tag) == -1 ) {
    // Append a pipe if necessary
    if( txt.value.match(/[^\*\/\s][^\/\s]?\s*$/) ) {
      txt.value += " | ";
    }
    // Append our tag
    txt.value += tag;
    }
  }

  // Check 'This is a minor edit'
  if( autoEdMinor ) {
    document.editform.wpMinoredit.checked = autoEdMinor;
  }

  // Click 'Show changes'
  if( autoEdClick ) {
    document.editform.wpDiff.click();
  }
}

//Allows URI to be properly decoded for AutoEd in View Mode 
function autoEdQueryString(p) {
  var re = RegExp('[&?]' + p + '=([^&]*)');
  var matches;
  if (matches = re.exec(document.location)) {
    try {
      return decodeURI(matches[1]);
    } catch (e) {
    }
  }
  return null;
}


//Execute AutoEd after call from View Mode
if( autoEdQueryString('AutoEd') ) {
  $(document).ready(function() { 
    autoEdExecute();
  });
}

// Add "auto ed" tabs and associate with actions
$(document).ready(function () {
  if(wgCanonicalNamespace == "" || wgCanonicalNamespace == "Image" ||  wgCanonicalNamespace == "File" || wgCanonicalNamespace == "User"
       || wgCanonicalNamespace == "Template" || wgCanonicalNamespace == "Project" || wgCanonicalNamespace == "Portal") {
    if(document.forms.editform) {
      mw.util.addPortletLink( autoEdLinkLocation, 'javascript:autoEdExecute()', autoEdLinkName, 'ca-AutoEd', autoEdLinkHover, '', document.getElementById('ca-move'));
    } //End editform if
    if(wgAction == "view"){
      var url = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit';
      mw.util.addPortletLink( autoEdLinkLocation, url + '&AutoEd=true', autoEdLinkName, 'ca-AutoEd', autoEdLinkHover, '', document.getElementById('ca-move'));
    } //End pageview if
  } //End namespace if
});

//