Naar inhoud springen

Gebruiker:Dedalus/monobook.js

Uit Wikipedia, de vrije encyclopedie

Opmerking: na het publiceren is het wellicht nodig uw browsercache te legen om de veranderingen te zien.

  • Firefox / Safari: houd Shift ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5 of Ctrl-R (⌘-Shift-R op een Mac)
  • Google Chrome: druk op Ctrl-Shift-R (⌘-Shift-R op een Mac)
  • Edge: houd Ctrl ingedrukt terwijl u:je op Vernieuwen klikt of druk op Ctrl-F5.
//<nowiki>

// [[User:Lupin/popups.js]] - please include this line 

mw.loader.load(
             'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
             + '&action=raw&ctype=text/javascript&dontcountme=s');
simplePopups=true;
popupFixDabs=true;
popupDelay=1;
popupImages=false;
popupLiveOptions=true;

// Hieronder volgen de verschillende extra buttons, die gebruikt kunnen worden voor het invoegen van standaard sjabloons

function zb() {
        document.editform.wpTextbox1.value = "{{zb}}\n#~~~~~";
        document.editform.wpSummary.value = "zb";
        document.editform.wpMinoredit.checked = false;
}

function ws() {
        document.editform.wpTextbox1.value = "{{ws}}\n";
        document.editform.wpSummary.value = "ws";
        document.editform.wpMinoredit.checked = false;
}

function dsVan() {
        document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/\n+$/,"")+"\n#~~~~~ vandalisme op [[]]";
        document.editform.wpSummary.value = "ws";
        document.editform.wpMinoredit.checked = false;
}

function dsOnzin() {
        document.editform.wpTextbox1.value =      document.editform.wpTextbox1.value.replace(/\n+$/,"")+"\n#~~~~~ toevoegen onzin op [[]]";
        document.editform.wpSummary.value = "ws";
        document.editform.wpMinoredit.checked = false;
}

function dsArtikel() {
        document.editform.wpTextbox1.value =      document.editform.wpTextbox1.value.replace(/\n+$/,"")+"\n#~~~~~ aanmaken onzinartikel";
        document.editform.wpSummary.value = "ws";
        document.editform.wpMinoredit.checked = false;
}

function categorie() {
        insertTags("[[Categorie:","]]\n","");
        document.editform.wpSummary.value = "categorie";
        document.editform.wpMinoredit.checked = true;
}

function redirect() {
        document.editform.wpTextbox1.value = "#redirect [[]]";
        document.editform.wpSummary.value = "redirect";
        document.editform.wpMinoredit.checked = true;
}

function dp() {
        document.editform.wpTextbox1.value = "{{subst:dpintro}}\n\n*\n*\n\n{{dp}}";
        document.editform.wpSummary.value = "dp";
        document.editform.wpMinoredit.checked = false;
}

function nigebr() {
        document.editform.wpTextbox1.value = "Hallo {{subst:PAGENAME}}, welkom en veel plezier op wikipedia. Misschien helpen deze links een beetje bij de eerste stappen. \n*[[Wikipedia:Welkom voor nieuwelingen]] \n*[[Portaal:Gebruikersportaal]] \n*[[Wikipedia:conventies]] \n*[[Wikipedia:Beleid voor gebruik van media]] \n*[[Wikipedia:zandbak|Hier kan geoefend worden]]\n*[[Help:Uitleg]] \n*Bij verdere vragen bijvoorbeeld hier: [[Overleg_gebruiker:Dedalus|mijn overleg]] \nSucces ~~~~";
        document.editform.wpSummary.value = "welkom";
        document.editform.wpMinoredit.checked = false;
}

//Druk automatisch de pagina opslaan button
function autoopslag(){
        document.editform.wpSave.click();
}

//Deze functie bepaald de dag van vandaag en de dag waarop het artikel wordt verwijderd
//en opent de daglijst van het te verwijderen formulier.
//nog te testen, werkt het ook wanneer je in een andere tijdzone zit
//werkt het tussen 11 uur 's avonds en 1 uur 's nachts.

function opendagverwijderlijst(target){

	var datum2 = new Date();
	var AbsoluutNu = datum2.getTime();
	var AbsoluutDan = AbsoluutNu + (14 * 24 * 60 * 60 * 1000);
	datum2.setTime(AbsoluutDan);
	var datum1 = new Date();
	var jaar = datum1.getUTCFullYear();
		jaar=jaar-2000;
		if (jaar < 10) jaar = "0" + jaar;
	var jaar2 = datum2.getUTCFullYear();
		jaar2=jaar2-2000;
		if (jaar2 < 10) jaar2 = "0" + jaar2;

// deze array zorgt ervoor dat de maanden van 0 in 01 en 1 in 02 etcetera omgezet wordt.
	var maanden = new Array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
	var dat = datum1.getUTCDate() + '\/' + maanden[datum1.getUTCMonth()] + '\/' + jaar;
	var dat2 = datum2.getUTCDate() + '\/' + maanden[datum2.getUTCMonth()] + '\/' + jaar2;

        window.open('http://nl.wikipedia.org/w/index.php?title=Wikipedia:Te verwijderen pagina\'s/' + 'Toegevoegd ' + dat + ', te verwijderen vanaf ' + dat2 + '&action=edit', 'weg ');
//Deze focus werkt niet. De bedoeling is de te verwijderen artikel onderin het formulier toe
//te voegen. Deze focus zorgt voor focus op het artikel.
        var test= '\[\['+target+'\]\]';
        alert(test);
//welk document denkt deze code eigenlijk dat het is, het lemma of de net geopende pagina?
        document.editform.wpTextbox1.value = document.editform.wpTextbox1.value + test;
}

function nuweg() {
        document.editform.wpTextbox1.value = "{{nuweg}}\n"+document.editform.wpTextbox1.value;
        document.editform.wpSummary.value = "nuweg";
        document.editform.wpMinoredit.checked = false;
        
        autoopslag ();

window.open('http://nl.wikipedia.org/w/index.php?title=Wikipedia:Te verwijderen pagina\'s/Direct te verwijderen' + '&action=edit', 'nuweg ');
}

function add_link(url, name)
{
  var na = document.createElement('a');
  na.setAttribute('href', url);
  na.appendChild(document.createTextNode(name));

  var li = document.createElement('li');
  li.appendChild(na);

  var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
  tabs.appendChild(li);
}

function strip_namespace(target)
//Dit is een functie die gebruikt wordt op de Engelse wikipedia. Het verschil echter is dat nl overleg er voor zet maar en:
//talk erna. Dus het is de vraag of wij deze functie nodig hebben. Ik denk het niet
{
  var colon = target.indexOf(':'); //IndexOf bepaalt pos van dubbele punt + geeft pos als getal terug, anders -1
  if (colon != -1) // != betekent ongelijk, dus in dit geval als er geen dubbele punt inzit, gewoon target teruggeven
    {
      var spaces = new Array('Gebruiker', 'Wikipedia', 'Afbeelding', 'MediaWiki', 'Sjabloon', 'Help', 'Categorie', 'Portaal');
      var ns = target.substring(0, colon); //substring haalt alles weg na de colon (positie van de dubbele punt) 
      if (ns == '' || ns == 'Overleg' || ns == 'Overleg_gebruiker') // == betekent gelijk aan (alleen bij conditionele...)
                                                                    // || betekent OR (&& =AND, ! = NOT)
        return target.substring(colon + 1); //bij substring slechts 1 parameter betekent tot het einde van de string
                                            //de target hier is dus alles na de dubbele punt
      else
        for (var i = 0; i < spaces.length; ++i) //++ = add, hier staat voor i = 0 tot spaces.length tel i op.
          {
            if (ns == spaces[i]
                || ns == spaces[i] + '_overleg')
              return target.substring(colon + 1);
          }
    }

  return target;
}

function auteur() {
        document.editform.wpTextbox1.value = "{{auteur}}\n"+document.editform.wpTextbox1.value;
        document.editform.wpSummary.value = "auteur";
        document.editform.wpMinoredit.checked = false;
        
        autoopslag ();

        var target = document.editform.action; // wat is action????
        target = target.substring(target.indexOf('title=') + 6,  //bekijkt waar de title= staat en telt er 6 bij op
                                  target.lastIndexOf('&action=submit'));  // en bekijkt waar de laatste &action staat
                                                                          // target is dus de titel totaan &submit

        opendagverwijderlijst(target)

}

function wiu() {
        document.editform.wpTextbox1.value = "{{wiu}}\n"+document.editform.wpTextbox1.value;
        document.editform.wpSummary.value = "wiu";
        document.editform.wpMinoredit.checked = false;
        
        autoopslag ();

        opendagverwijderlijst()
}

function weg() {
        document.editform.wpTextbox1.value = "{{weg}}\n"+document.editform.wpTextbox1.value;
        document.editform.wpSummary.value = "weg";
        document.editform.wpMinoredit.checked = false;
        
        autoopslag ();

        opendagverwijderlijst()
}

//Het zetten van de bovenstaande buttons op het bewerkingsscherm

function addButtons() {

str = "<input type=button value=zb onclick=\"zb()\" class=subbutt> <input type=button value=ws onclick=\"ws()\" class=subbutt> <input type=button value=\"ds vandalisme\" onclick=\"dsVan()\" class=subbutt> <input type=button value=\"ds onzin\" onclick=\"dsOnzin()\" class=subbutt> <input type=button value=\"ds artikel\" onclick=\"dsArtikel()\" class=subbutt> <input type=button value=categorie onclick=\"categorie()\" class=subbutt> <input type=button value=redirect onclick=\"redirect()\" class=subbutt> <input type=button value=dp onclick=\"dp()\" class=subbutt> <input type=button value=\"ni-gebr\" onclick=\"nigebr()\" class=subbutt> <input type=button value=WIU onclick=\"wiu()\" class=subbutt> <input type=button value=WEG onclick=\"weg()\" class=subbutt> <input type=button value=NUWEG onclick=\"nuweg()\" class=subbutt> <input type=button value=AUT onclick=\"auteur()\" class=subbutt>" 

document.getElementById("editpage-copywarn").innerHTML="<form action=\"\">"+str+"</form><br/>"+document.getElementById("editpage-copywarn").innerHTML;        
        return false; 
}

if(location.href.match(/action=(edit)|(submit)/)) {
  if (window.addEventListener) {
    window.addEventListener("load", addButtons, false);
  } else if (window.attachEvent) {
    window.attachEvent("onload", addButtons);
  }
}

//Een standaardfuncties voor het toevoegen van links

//Deze functie zorgt ervoor dat er een unwatch functie op je volglijst komt, zodat je direct een
//artikel van de volglijst kan verwijderen, als je je volglijst bekijkt

$(function () {
    var query_prefix = "title=Speciaal:Watchlist&action=submit&remove=1&id[]=";
    //var query_prefix = "action=unwatch&title=";

    if (window.location.href.indexOf("Speciaal:Watchlist") == -1) return;
    var links = document.getElementById('content').getElementsByTagName('a');
    for (var i = 0; i < links.length; i++) {
        if (links[i].href.substring(links[i].href.length-15) != '&action=history')
            continue;
        var unwatch = document.createElement('a');
        unwatch.href = "/w/index.php?" + query_prefix + encodeURIComponent(links[i].title);
        unwatch.title = "unwatch "+links[i].title;
        unwatch.appendChild(document.createTextNode("niet volgen"));
        links[i].parentNode.insertBefore(unwatch, links[i].nextSibling);
        // kluge to handle case where "diff" is unlinked:
        var delim = links[i].previousSibling;
        delim = (delim.nodeType == 3 ? delim.nodeValue : "");
        links[i].parentNode.insertBefore(document.createTextNode(delim.replace(/^.*diff/, "")), unwatch);
    }
});

//Deze functie zorgt ervoor dat het zoekveld linksboven komt te staan (ik kan er niet aan wennen)

//function searchToTop() {
//    function $(id) { return document.getElementById(id); }
//    var search = $('p-search');
//    search.parentNode.removeChild(search);
//    $('column-one').insertBefore(search, $('p-navigation'));
//}
//     if (window.addEventListener) window.addEventListener("load", searchToTop, false);
//else if (window.attachEvent)      window.attachEvent(   "onload", searchToTop);

if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false);
else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs);
else
{
    window.previousLoadFunction = window.onload;
    window.onload = function()
    {
        window.previousLoadFunction();
        myLoadFuncs();
    }
}


/** http://commons.wikimedia.org/w/index.php?title=User:Alphax/monobook.js
 * Initialises function loading on page load
 */

if (window.addEventListener) window.addEventListener("load",myLoadFuncs,false);
else if (window.attachEvent) window.attachEvent("onload",myLoadFuncs);
else
{
    window.oldonload = window.onload;
    window.onload = function()
    {
        window.oldonload();
        myLoadFuncs();
    }
}

/**
 * Loads functions
 */

function myLoadFuncs()
{
    addPurge();
    addForceSummary();
    changeLinks();
    addToolBoxLinks();
    if (document.title.indexOf('Afbeelding:') == 0)
    {
        checkUsage();
    }
}

/**
 * Forces edit summary
 */

function addForceSummary()
{
    if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return;
    if(/&section=new/.test(window.location.href)) return;
    if(!document.forms.editform) return;
    document.forms.editform.wpSave.onclick = forceSummary;
//    document.forms.editform.wpSave.onfocus = forceSummary;
}

function forceSummary()
{
    if(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1'))
    {
        var r = prompt('Weet je zeker dat je geen samenvatting wilt geven?\ntype jouw samenvatting hieronder:',document.forms.editform.wpSummary.value);
        if(r == null) { return false; }
        document.forms.editform.wpSummary.value = r;
    }
    return true;
}

/**
 * Adds a "purge" tab
 */

function addPurge()
{
    ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
    if(!document.getElementById) return;
    var x = document.getElementById('ca-history');
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    if(!x) { return; }
    if(x.children) { x = x.children[0]; }
    else { x = x.childNodes[0]; }
    addlilink(tabs, x.href.replace(/=history/, "=purge"), 'purge', 'ca-purge');
}

/**
 * Does replacing of stuff
 */

function replace()
{
    var s = prompt("Search regexp?");
    if(s){
        var r = prompt("Replace regexp?");
        var txt = document.editform.wpTextbox1;
        txt.value = txt.value.replace(new RegExp(s, "g"), r);
    }
}

/**
 * Adds tabs
 */

function addlilink(tabs, url, name, id)
{
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    li.id = id;
    li.appendChild(na);
    tabs.appendChild(li);
    return li;
}

/**
 * Add a "check usage" tab
 */

function checkUsage()
{
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    addlilink(tabs, 'http://www.juelich.de/avatar/check-usage/check-usage.php?filename=' + get_tidy_title() + '&template', 'check usage', '');
}


function getPname() {
  z=document.getElementById("content").childNodes;
  for (var n=0;n<z.length;n++) { 
    if (z[n].className=="firstHeading") return z[n].textContent;
  };
}

function get_tidy_title()
{
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  // cut everything up to "title=" from the start and everything past "&action=edit" from the end
  editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));

  return editlk;
}

/**
 * Changes the top links
 */

function changeLinks()
{
    if(!document.getElementById) return;
    // remove the "my" bits
    document.getElementById('pt-mytalk').firstChild.innerHTML = 'overl';
    document.getElementById('pt-watchlist').firstChild.innerHTML = 'volgl';
    document.getElementById('pt-mycontris').firstChild.innerHTML = 'bijdr';
    // add a clock
    var toplinks = document.getElementById('p-personal').getElementsByTagName('ul')[0];
    addlilink(toplinks, '', '', 'utcdate');
    showtime();
}

/**
 * Makes the clock work
 */

function showtime()
{
    var timerID;
    var now = new Date();
    var timeValue = now.toUTCString().replace(/GMT/, "UTC");
    document.getElementById('utcdate').firstChild.innerHTML = timeValue;
    timerID = setTimeout('showtime()', 100);
}


/**
 * Add stuff in the toolbox
 */

function addToolBoxLinks()
{
    var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0];
    addlilink(tb, '/wiki/Speciaal:Newpages', 'Nieuwe lemmas', '');
    addlilink(tb, '/wiki/Speciaal:Shortpages', 'Korte lemmas', '');
    addlilink(tb, '/wiki/Speciaal:Log', 'Logboek', '');
    addlilink(tb, '/wiki/Gebruiker:Dedalus/bijdragearchief', 'bijdrage', '');
    addlilink(tb, '/wiki/Gebruiker:Dedalus/monobook.js', 'monobook.js', '');
    addlilink(tb, '/wiki/Gebruiker:Dedalus/monobook.css', 'monobook.css', '');
    addlilink(tb, '/wiki/Gebruiker:Dedalus/Links', 'ext. links', '');
    addlilink(tb, '/wiki/Gebruiker:Dedalus/klad', 'klad', '');
}

/*
 * van http://de.wikipedia.org/wiki/Benutzer:Dbenzhuser/monobook.js
 * moveEditsection
 * Dit script zorgt ervoor dat de Editsection-Buttons van boven de subkopjes
 * naast de subkopjes wordt verschoven.
 * Dit vermijdt ten eerste de soms verkeerde plaatsing, die tot dusver door
 * float-waardes werd veroorzaakt, en zorgt ook voor een logischere
 * Dokumentstructuur (de Editsection behoort niet tot de voorgaande deel)
 * Positief getestet voor: Firefox 1.0 +, Opera 8.0, Internet Explorer 6.0
 * Opmerkingen, Verbeteringen en andere altijd graag gezien!
 * dbenzhuser (de:Benutzer:Dbenzhuser)
 */

function moveEditsection() {
	// Verzamelt alle div-Elemente van de klasse "editsection".
	var editsections = new Array();
	var divs = document.getElementById("bodyContent").getElementsByTagName("div");
	for(var i = 0; i < divs.length; i++) {
		if(divs[i].className == "editsection") {
			editsections.push(divs[i]);
		}
	}
	// wanneer de pagina editsections bevat:
	if (editsections.length != 0) {
		// Zoekt bij elke Editsection-Button het bijbehorende kopjestekst.
		var i = 0;
		var element, heading;
		while (editsections[i] != null) {
			element = editsections[i];
			heading = element.nextSibling;
			while(!/^H[2-6]$/.test(heading.nodeName)) {
				heading = heading.nextSibling;
			}
			// zort voor een binnen het kopje door CSS geformateerd span-Element.
			// daarin wordt de Editsection-Link verschoven.
			// Aansluitend wordt de Rest van de oude Editsection-Button verwijderd.
			var spanElement = document.createElement("span");
			var spaceNode = document.createTextNode(" ");
			heading.appendChild(spaceNode);
			heading.appendChild(spanElement);
		
			spanElement.style.fontSize = "x-small";
			spanElement.style.fontWeight = "normal";
		
			while (element.childNodes.length != 0) {
				spanElement.appendChild(element.childNodes[0]);
			}
			element.parentNode.removeChild(element);
			i++;
		}
	}
}
// onload
aOnloadFunctions[aOnloadFunctions.length] = moveEditsection;

/*
 * Eind moveEditsection
 */


//</nowiki>