Open main menu

Changes

5,327 bytes removed ,  12:41, 27 May 2020
cleanup the Matomo code
/* Any JavaScript here will be loaded for all users on every page load. */
/* This would be one way of enabling wikEd* Matomo **/ var _paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ install _paq.push([[User:Cacycle/wikEd'trackPageView']] in-browser text editor);document _paq.writepush(['enableLinkTracking'<script type]); (function() { var u="text/javascript" src="'+ 'http://enwiki.wikipediafreephile.org/wanalytics/index"; _paq.push(['setTrackerUrl', u+'matomo.php?title']); _paq.push(['setSiteId', '1']); var d=document, g=User:Cacycle/wikEdd.jscreateElement('+ script'&action), s=raw&ctyped.getElementsByTagName('script')[0]; g.type='text/javascript"></' ; g.async=true; g.defer=true; g.src=u+ 'script>matomo.js'; s.parentNode.insertBefore(g,s); })();/** End Matomo **/
/**
* wikEd.js is a Gadget implemented at MediaWiki:Gadget-wikEd.js and in Special:Preferences
//<source lang="javascript"> /* Import more specific scripts if necessary *install [[:Wikipedia:User:Cacycle/wikEd]] in-browser text editor if (wgAction == "edit" || wgAction == "submit" || wgPageName == "Special:Upload"function () //scripts specific to editing pages
{
importScript var script = document.createElement("MediaWiki'script'); script.src = '//en.wikipedia.org/w/index.php?title=User:CommonCacycle/wikEd.js&action=raw&ctype=text/editjavascript'; script.async = true; document.js"getElementsByTagName('head')[0].appendChild(script); }) ();*/
/* Test if an element has a certain class **************************************** DescriptionTo add <script src="https: Uses regular expressions and caching for better performance//use.fontawesome.* Maintainers: [[User:Mike Dillon]], [[User:Rcom/14c71d3de0. Koot]], [[User:SG]]js"></script> we use load instead of the deprecated importScriptURI */ var hasClass = mw.loader.load(function () {var reCache = {};return function (element, className) {return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)")))'//use.fontawesome.test(elementcom/14c71d3de0.className);};})(js');
/** Collapsible tables ********************************************************* *Cusomize the sidebar for the Html2Wiki extension * Description@see https: Allows tables to be collapsed, showing only the header//www.mediawiki. Seeorg/wiki/Manual:Interface/Sidebar * [[Wikipedia:NavFrame]]added by Greg Rundlett <info@eQuality-Tech.com>* Maintainers: [[User:R. Koot]]*/ var autoCollapse = 2;var collapseCaption = "hide";var expandCaption = "show"; function collapseTableisObject( tableIndex obj ){var Button return typeof obj = document.getElementById( "collapseButton" + tableIndex );var Table = document.getElementById( "collapsibleTable" + tableIndex ); if ( 'object' && obj !Table || !Button ) {return false== null;
}
var Rows = Table.rows; if function isArray( Button.firstChild.data == collapseCaption obj ) {for return isObject( var i = 1; i < Rows.length; i++ obj ) {Rows[i]&& obj.styleconstructor.display = "none";}ButtontoString().firstChild.data = expandCaption;} else {for indexOf( var i 'Array' ) != -1; i < Rows.length; i++ ) {Rows[i].style.display = Rows[0].style.display;}Button.firstChild.data = collapseCaption;}
}
Array.prototype.Contains = function createCollapseButtons(element, strict ){var tableIndex = 0;var NavigationBoxes = new Object();var Tables = document.getElementsByTagName( "table" ); for ( var i = 0; i < Tables.length; i++ in this ) { if ( hasClass( Tablesthis[i], "collapsible" ) ) { /* only add button and increment count if there is a header row to work with */var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];if (!HeaderRow) continue;var Header = HeaderRow.getElementsByTagName( "th" )[0];if (element && !Header) continue; NavigationBoxes[ tableIndex ] = Tablesstrict || this[i];Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex ); var Button = document.createElement( "span" );var ButtonLink = document.createElement( "a" );var ButtonText = document.createTextNode( collapseCaption element );{ Button.className = "collapseButton" return true; //Styles are declared in Common.css }ButtonLink.style.color = Header.style.color; }ButtonLink.setAttribute( "id", "collapseButton" + tableIndex ) return false;ButtonLink.setAttribute( "href", "javascript:collapseTable(" + tableIndex + ");" );ButtonLink.appendChild( ButtonText ); Button.appendChild( document.createTextNode( "[" ) )};Button.appendChild( ButtonLink );Button.appendChild( document.createTextNode( "]" ) ); Header.insertBefore( Button, Header.childNodes[0] );tableIndex++;}}
for function ModifySidebar( var i = 0; i < tableIndex; i++ action, section, name, link ) {if ( hasClass( NavigationBoxes[i], "collapsed" ) || ( tableIndex >= autoCollapse && hasClass( NavigationBoxes[i], "autocollapse" ) ) ) try {collapseTable( i ) var target;} else if switch ( hasClass( NavigationBoxes[i], "innercollapse" ) section ) {var element case 'languages': target = NavigationBoxes[i]'p-lang'; break;while (element case 'toolbox': target = element.parentNode) {'p-tb'; break;if ( hasClass( element, "outercollapse" ) ) { case 'navigation':collapseTable ( i ) target = 'p-navigation'; break;} default:} target = 'p-' + section;}} break; }
addOnloadHook if ( createCollapseButtons action == 'add' ){ var node = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( 'ul' )[0];
var aNode = document.createElement( 'a' );
var liNode = document.createElement( 'li' );
/** Dynamic Navigation Bars aNode.appendChild( document.createTextNode( name ) ); aNode.setAttribute(experimental'href', link ) *************************************;* liNode.appendChild( aNode );* Description: See [[Wikipedia:NavFrame]] liNode.className = 'plainlinks';* Maintainers: UNMAINTAINED node.appendChild( liNode );*/ }
// set up the words in your languagevar NavigationBarHide if ( action == '[remove' + collapseCaption + ']';) { var NavigationBarShow list = document.getElementById( target ) .getElementsByTagName( 'div' )[0] .getElementsByTagName( ' + expandCaption + ul')[0]';
// shows and hides content and picture (if available) of navigation bars// Parameters:// indexNavigationBar: the index of navigation bar to be toggledfunction toggleNavigationBar(indexNavigationBar){var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); var NavFrame listelements = documentlist.getElementByIdgetElementsByTagName("NavFrame" + indexNavigationBar'li' );
if (!NavFrame || !NavToggle) {return false;} // if shown nowif (NavToggle.firstChild.data == NavigationBarHide) { for (var NavChild i = NavFrame0; i < listelements.firstChildlength; NavChild != null; NavChild = NavChild.nextSiblingi++ ) { if ( hasClass listelements[i].getElementsByTagName( NavChild, 'NavPica' ) ) {NavChild[0].style.display innerHTML == 'none';name ||}if listelements[i].getElementsByTagName( hasClass( NavChild, 'NavContenta') [0].href == link ) {NavChild list.style.display = 'none'removeChild( listelements[i] ); } }NavToggle.firstChild.data = NavigationBarShow; }
// if hidden now } else if catch(NavToggle.firstChild.data == NavigationBarShowe ) {for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {if (hasClass(NavChild, 'NavPic')) {NavChild.style.display = 'block';}if (hasClass(NavChild, // let'NavContents just ignore what')) {s happenedNavChild.style.display = 'block' return; }}NavToggle.firstChild.data = NavigationBarHide;
}
} // adds show/hide-button to navigation bars** function createNavigationBarToggleButtonjQuery(document ){var indexNavigationBar = 0;// iterate over all < div >-elements var divs = document.getElementsByTagNameready("div");for function(var i = 0; NavFrame = divs[i]; i++$ ) { // if found a navigation barif (hasClass(NavFrame, "NavFrame")) { adds [[Special:Html2Wiki]] to toolboxindexNavigationBar++;var NavToggle = document.createElement ModifySidebar("a");NavToggle.className = 'NavToggleadd';NavToggle.setAttribute(, 'idtoolbox', 'NavToggle' + indexNavigationBar);NavToggle.setAttribute('hrefImport HTML', 'javascript/wiki/Special:toggleNavigationBar(' + indexNavigationBar + ');Html2Wiki'); var isCollapsed = hasClass( NavFrame, "collapsed" } );/** Check if any children are already hidden. This loop is here for backwards compatibility:* the old way of making NavFrames start out collapsed was to manually add style="display:none"* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make* the content visible without JavaScript support), the new recommended way is to add the class* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( hasClass( NavChild, 'NavPic' ) || hasClass( NavChild, 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if (hasClass(NavFrame.childNodes[j], "NavHead")) {
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
addOnloadHook( createNavigationBarToggleButton );
/** Table sorting fixes ************************************************
*
* Description: Disables code in table sorting routine to set classes on even/odd rows
* Maintainers: [[User:Random832]]
*/
ts_alternate_row_colors = false;
/***** uploadwizard_newusers ********
* Switches in a message for non-autoconfirmed users at [[Wikipedia:Upload]]
*
* Maintainers: [[User:Krimpet]]
****/
function uploadwizard_newusers() {
if (wgNamespaceNumber == 4 && wgTitle == "Upload" && wgAction == "view") {
var oldDiv = document.getElementById("autoconfirmedusers"),
newDiv = document.getElementById("newusers");
if (oldDiv && newDiv) {
if (typeof wgUserGroups == "object" && wgUserGroups) {
for (i = 0; i < wgUserGroups.length; i++) {
if (wgUserGroups[i] == "autoconfirmed") {
oldDiv.style.display = "block";
newDiv.style.display = "none";
return;
}
}
}
oldDiv.style.display = "none";
newDiv.style.display = "block";
return;
}
}
}
addOnloadHook(uploadwizard_newusers);
// import the SubPages 'gadget' for all users. non-optional/** Disambig editintro ********************************************************** DescriptionSee https: Adds an editintro on disambiguation pages//www. Original code* located at [[Usermediawiki.org/wiki/Extension:RockMFRGadgets/Scripts/disambigeditintroSubPages.js]].** Maintainers: [[User:RockMFR]], [[User:Quiddity]]*/ if (wgNamespaceNumber == 0) addOnloadHook$(function(){if (!document.getElementById('disambig')) return var el = document.getElementById('ca-edit')if (el) el NSWithoutSubpages = el.getElementsByTagName('a')[0]if (el) el.href += '&editintro=Template:Disambig_editintro'}) /** Mobile browser helper link ************************************************** Adds a link to the mobile-optimized gateway at en.m.wikimedia.org* for viewers on iPhone1, 6, 8, 12, 13, 14, iPod Touch15, and Android devices.* This is semi-experimental to drive more test traffic there for now;* it's still in development but very usable for reading!** Currently set to always show the link on main page and search results104,* and w/ 25% probability on other page views.** Maintainer: [[User:Brion VIBBER105 ]]*/; if (/(Android|iPhone|iPod)/NSWithoutSubpages.testindexOf(navigatormw.userAgent)) {addOnloadHook(function() {var prob = 1config.0;if get(wgCanonicalNamespace == 'Special' && wgCanonicalSpecialPageName == 'SearchwgNamespaceNumber') {var pageLink = '?search) =' + encodeURIComponent(document.getElementById('searchText').value);} else if (wgPageName == 'Main_Page'-1 ) { var pageLink = '::Home'; // Special case} else {var pageLink subpagesLink = encodeURIComponent(wgPageName)mw.replace('%2F','/')util.replacegetUrl('%3A','Special:PrefixIndex/');prob = 0+ mw.25;}if (prob < Mathconfig.random()) return; var div = document.createElementget('divwgPageName');div.style.fontSize = + '30pt/');div mw.styleutil.lineHeight = addPortletLink( '40ptp-tb';div.style.textAlign = , subpagesLink, 'centerSubpages';div.style.marginTop = , '20pxt-subpages';div.style.marginBottom = '20px, ';div.style.padding = '20px';div.style.border = '2px solid gray';div.appendChild(document.createTextNode("View Subpages of this page in "));var link = document.createElement('a');link.href = 'http://en.m.wikipedia.org/wiki/' + pageLink;link.appendChild(document.createTextNode("Wikipedia's mobile site"));div.appendChild(link);var content=document.getElementById('content');content.insertBefore(div,content.firstChild); }});} //</source>