User:PrimeHunter/Category source.js

/*  This script adds "Source-added" and "Template-added" links under "Tools" in the sidebar on category pages. "Source-added" searches category members which were added with category code in the source. "Template-added" shows all category members not found by "Source-added". To use the script, add the following line to Special:MyPage/common.js: importScript('User:PrimeHunter/Category source.js'); // Linkback: User:PrimeHunter/Category source.js

mw.loader.using(['mediawiki.util'], function {  if ( mw.config.get( 'wgNamespaceNumber' ) === 14 ) {    var name = mw.config.get( 'wgTitle' );    var url;    try {        url = mw.util.getUrl( 'Special:Search' ) + '?profile=advanced&search='        + encodeURIComponent('incategory:"'         + name        + '" ' + '-insource:/\\[\\[Category:' + name.replace(/[-[\]{}*+!<=:?.\/\\^$|#\s,]/g, '\\$&') + '[\\|\\]]/i' )       + '&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1'        + '&ns14=1&ns15=1&ns100=1&ns101=1&ns108=1&ns109=1&ns118=1&ns119=1&ns446=1&ns447=1'        + '&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1';    } catch(e) {        url = '#error';    }

mw.util.addPortletLink(     'p-tb',      url,      'Template-added',      'pt-templateadded',      'Category members which were NOT added with category code in the source',      null,      '#t-info'    );

mw.util.addPortletLink(     'p-tb',      url.replace('-insource', 'insource'),      'Source-added',      'pt-sourceadded',      'Category members which were added with category code in the source',      null,      '#pt-templateadded'    ); } });