User:Smith609/citations dev.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// @Version 1.00 - Adds a "Citation bot" link to the toolbox, and a button beneath edit fields.
// @Version 1.01 - Sets accept-charset to avoid mangling special characters

function addCBetaToToolbox() {
  if (mw.config.get('wgCanonicalNamespace') != "Special") {
   var pTb = document.getElementById("p-tb");
   if( !pTb ) return;
   var escPageName = encodeURIComponent(mw.config.get('wgPageName'));

   mw.util.addPortletLink("p-tb", "http://tools.wmflabs.org/citations-dev/doibot.php?edit=toolbar&slow=1&user="+encodeURIComponent(mw.config.get('wgUserName'))+"&page="+escPageName, 'Expand citations [Beta]', '', "Expand citations and fix common formatting errors");
    }
}

// Add a citation bot button
function addCitationBeta() {
	if (document.getElementById('wpDiff')){
	 var diff = document.getElementById('wpDiff');
	 var cbetaButton = document.createElement("input");
	 cbetaButton.value="Citations [Beta]";
	 cbetaButton.type="submit";
	 originalAction=document.getElementById('editform').getAttribute('action');
	 cbetaButton.setAttribute("onmousedown", " document.getElementById('editform').setAttribute('action', 'http://tools.wmflabs.org/citations-dev/text.php')");
	 cbetaButton.setAttribute("onkeydown", " document.getElementById('editform').setAttribute('action', 'http://tools.wmflabs.org/citations-dev/text.php')");
        // document.getElementById('editform').setAttribute('accept-charset', 'UTF-8');
	 diff.setAttribute("onmousedown", originalAction);
	 diff.setAttribute("onkeydown", originalAction);
	 document.getElementById('wpPreview').setAttribute("onmousedown", originalAction);
	 document.getElementById('wpPreview').setAttribute("onkeydown", originalAction);
	 document.getElementById('wpSave').setAttribute("onmousedown", originalAction);
	 document.getElementById('wpSave').setAttribute("onkeydown", originalAction);
	 diff.parentNode.insertBefore(cbetaButton, diff.nextSibling);
	}

}
$(addCitationBeta);
var skin = mw.config.get('skin');
if( skin == "myskin" || skin == "simple" || skin == "monobook" || skin == "modern" || skin == "chick" || skin == "vector") {
  $(addCBetaToToolbox);
}