Jump to content

User:Vanderdecken/monobook.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.
importScript('User:VoA/monobook.js');

//[[Category:Wikipedians who use RC script]]

/**** afd helper ****/
document.write('<script type="text/javascript"' +
  'src="http://en.wikipedia.org/w/index.php?title=User:Jnothman/afd_helper/' +
  'script.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');

/* This is to keep track of who is using this extension: [[User:Jnothman/afd_helper/script.js]] */

/* <pre> [[User:DStoykov/defaultsort.js]] <nowiki> */

function defaultsort() {
//var apiurl = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml';
//var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null;
//xmlhttp.open('GET',apiurl, false);
//xmlhttp.send(null);
//alert(xmlhttp.responseXML.getElementById('14'));

    var txt = document.editform.wpTextbox1.value;
    var sortkey = '';
    // Create an array of all category links
    if (txt.match(/\{\{\s*defaultsort/i)) {
        alert('There\'s already a defaultsort statement!');
        return;
    } 
    var catlinks = txt.match(/\[\[\s*((C|K)at(e|e)gor(y|i|ie|ia|ia|ija|io)|Кат(е|э)гор(ия|ија|ія|ыя)|Luokka|Flokkur)\s*:.*\]\]/ig);
    if (!catlinks) {
        alert('There are no category links!');
        return;
    } 
    for (i=0; i< catlinks.length; i++) {
        // Extract the name of the category
        var catname = catlinks[i].replace(/.+\s*:\s*([^|]*[^|\s])\s*(\|.*)?\]\]/,"$1");
        // Extract the sort key 
        var match = /\|[^\]]+/.exec(catlinks[i]);
        if (match == null) {
	          alert('Category '+catname+' doesn\'t include a sort key!'); 
            return;
        }
        // Strip the '|' and any trailing spaces
        var sk = match[0].replace(/\|(.+)/, "$1").replace(/(\S) +$/,"$1");
        if (i == 0) {
            sortkey = sk;
        } else {
            if (sortkey != sk) {
                alert('Not all sort keys are identical!\nThe sort key for category '+catname+' is different.');
                return;
            }
        }
    }
    // Now that we know that everything is OK, we can proceed with modifying the content of the editbox
    txt = txt.replace(catlinks[0], "{{DEFAULTSORT:"+sortkey+"}}\n"+catlinks[0]);
    for (i=0; i< catlinks.length; i++) {
        subst = catlinks[i].replace(/\|[^\]]+/,"");
        txt = txt.replace(catlinks[i], subst);
    }
    document.editform.wpTextbox1.value=txt;
}

addOnloadHook(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-cactions', 'javascript:defaultsort()', 'defaultsort', 'ca-defaultsort', '', '', document.getElementById('ca-purge'));
  }
});

/* </nowiki></pre> */

/* <pre> */

 function welcome() {

   // Find the edit box
   var txt = document.editform.wpTextbox1;

   //The welcome *template* you want to use, modified to be Welcomeh, edit summary Welcome! and no watch
   var welcome_template = 'welcomeh';
   var welcome_summary  = 'Welcome!';
   var welcome_watch    = false;

   // The tag to be included is a welcome message
   var tag = '{{subst:'+ welcome_template +'}}';

   // If the edit box doesn't already have this tag...
   if (txt.value.indexOf(tag) == -1) {

     // Append the tag
     txt.value += tag;

     // Add an edit summary
     document.editform.wpSummary.value     = welcome_summary;
     document.editform.wpWatchthis.checked = welcome_watch;

     // Press the Save page button
     document.editform.submit();
   } 

   // If the tag was already there, turn the tab background red to indicate 
   // that the script is functioning properly, but that there is no action 
   // to do.  This doesn't interrupt the user's work like an alert() would.
   else {
     document.getElementById('ca-unverified').firstChild.style.backgroundColor = "#ff4444";
     document.getElementById('ca-unverified').style.backgroundColor            = "#ff4444";
   }
 }

// Create a tab that calls this function when pressed
// Create a tab that calls this function when pressed
addOnloadHook(
  function () 
  {
    if(document.title.indexOf("Editing User talk:") == 0) 
    {
      mw.util.addPortletLink('p-cactions', 'javascript:welcome()', 'wg', 'ca-welcome', 'Adds a welcome note to a new user', '', '');
    }
  }
);

/* This is to keep track of who is using this extension: [[User:Flex/welcome_newuser.js]] */

/* </pre> */

importScript('User:Superm401/Compare link.js');
importScript('User:Quarl/util.js');
importScript('User:Quarl/wikipage.js');
importScript('Wikipedia:WikiProject User scripts/Scripts/Add LI menu');
importStylesheet('Wikipedia:WikiProject User scripts/Scripts/Add LI menu/css');
importScript('User:AzaToth/twinkle.js');
importScript('Wikipedia:WikiProject Deletion sorting/delsort.js');
importScript('User:Ioeth/friendly.js');

if( typeof( TwinkleConfig ) == 'undefined' ) TwinkleConfig = {}; // DO NOT REMOVE THIS LINE - ALL TWINKLE SETTINGS AFTER THIS
TwinkleConfig.userTalkPageMode				=	'tab';
if( typeof( FriendlyConfig ) == 'undefined' ) FriendlyConfig = {}; // DO NOT REMOVE THIS LINE - ALL FRIENDLY SETTINGS AFTER THIS
FriendlyConfig.quickWelcomeMode		=	"semiauto";
FriendlyConfig.quickWelcomeTemplate		=	"Welcomeh";