User:Smith609/citations dev.js

// @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); }