MediaWiki:Common.js

Faan Wikipedia

Beaachte: Maage di cache faan dan browser leesag, wan dü a feranrangen sä wel.

  • Firefox / Safari: Hual Shift bi't aktualisiarin, of trak Strg an F5 of Strg an R (⌘an R üüb en Mac)
  • Google Chrome: Trak Strg an Shift an R (⌘an Shift an R üüb en Mac)
  • Internet Explorer/Edge: Hual Strg bi't aktualisiarin, of trak Strg an F5
  • Opera: Extras - Internetspuren löschen - Individuelle Auswahl - Den kompletten Cache löschen
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
/* Jede Ergänzung/Änderung muss vorher jeweils für alle Skins auf Tauglichkeit getestet werden, */
/* individuell per User.css! Ist hier erstmal geändert, dauert es dank Cache eine Weile (bis 30 Tage), bis die */
/* Änderungen bei allen Nutzern sichtbar oder, bei Fehlern, korrigiert sind. */

//*** Configuration for "star" logo in front of interwiki links to Featured Articles
//*** and green symbol in front of interwiki links to Good Articles
/** set in Special:Mypage/common.js to switch off this "feature"
mw.user.options.set( 'linkFA_enabled', false );
 * star logo for featured articles in other languages,
 * see Template:Link_FA / Template:Link_GA and MediaWiki:Common.css
 */
mw.loader.using( [ 'user', 'mediawiki.user', 'user.options' ], function() { $(function() {
    /** description that is displayed when cursor hovers above FA interwiki links */
    var linkFA_description = "Auer a miaten artiikel";
    var linkGA_description = "Gud artiikel";
 
    // linkFA_bullet/linkGA_bullet and linkFA_style/linkGA_Style wird nur für cologneblue verwendet,
    // für monobook, modern siehe [[MediaWiki:Common.css]], vector hat in [[MediaWiki:Vector.css]] eigene Definitionen
 
    /** image to use instead of the standard bullet (for cologneblue) */
    var linkFA_bullet = "//upload.wikimedia.org/wikipedia/commons/d/d0/Monobook-bullet-star-transparent.png";
    var linkGA_bullet = "//upload.wikimedia.org/wikipedia/commons/a/a1/Monobook-bullet-star-gray.png";
 
    /** style to use for the linkFA_bullet/LinkGA_bullet img */
    var linkFA_style = "margin-right: 0.2em;";
    var linkGA_style = "margin-right: 0.2em;";
 
    // early exit when disabled
    if ( !mw.user.options.get( 'linkFA_enabled', true ) ) {
        return;
    }
 
    // skins that can be handled the CSS class way
    var skin = mw.config.get( 'skin' );
    if (skin === "monobook" || skin === "modern" || skin === "vector" ) {
        linkFA_CSS();
    }
    else if (skin === "cologneblue") {
        linkFA_decorate();
    }
 
    /** skin == "monobook" || skin="modern" || skin== "vector" */
    function linkFA_CSS() {
        // links are to replaced in p-lang only
        var pLang = document.getElementById("p-lang");
        if (!pLang) return;
        var lis = pLang.getElementsByTagName("li");
        for (var i = 0; i < lis.length; i++) {
            var li = lis[i];
            //extract necessary classname
            var matches = li.className.match( /(?:^| )(interwiki-[^ ]+)(?: |$)/ );
            if ( !matches || matches.length != 2 ) {
                 continue;
            }
            var className = matches[1];
            // only links with a corresponding Link_FA template are interesting
            if (document.getElementById(className + "-fa") && li.className.indexOf("badge-featuredarticle") === -1) {
              li.className += " FA";         // additional class so the template can be hidden with CSS
              li.title = linkFA_description; // change title
              continue;
            }
            if (document.getElementById(className + "-ga") && li.className.indexOf("badge-goodarticle") === -1) {
              li.className += " GA";         // additional class so the template can be hidden with CSS
              li.title = linkGA_description; // change title
              continue;
            }
        }
    }
 
    /** skin == "cologneblue" */
    function linkFA_decorate() {
        // these root elements can contain FA-/GA-links
        var rootIds = new Array("topbar", "footer");
        for (var i=0; i<rootIds.length; i++) {
            var root    = document.getElementById(rootIds[i]);
            if (!root)  continue;
 
            // if the root exists, try to decorate all the links within
            var links   = root.getElementsByTagName("a");
            for (var j=0; j<links.length; j++) {
                decorate(links[j], "-fa", linkFA_bullet, linkFA_description, linkFA_style);
                decorate(links[j], "-ga", linkGA_bullet, linkGA_description, linkGA_style);
            }
        }
    }
 
    /** id necessary, modify a link to show the FA- or GA-star (older) */
    function decorate(link, idSuffix, bullet, description, style) {
        var lang    = link.hostname.split(".")[0];
        var fa      = document.getElementById("interwiki-" + lang + idSuffix);
        if (!fa)	return;
 
	// build an image-node for the FA-star
	var img = document.createElement("img");
	img.setAttribute("src",     bullet);
	img.setAttribute("alt",     description);
	img.setAttribute("style",   style);
	// decorate the link with the image
	link.appendChild(img);
	link.appendChild(link.removeChild(link.firstChild));
	link.setAttribute("title", description);
    }
})});

// Utility
function $id(id) {
  return document.getElementById(id);
}
function $t(tag) {
  return document.getElementsByTagName(tag);
}

url = document.URL;
barnStar = "//upload.wikimedia.org/wikipedia/commons/a/a2/Tireless_Contributor_Barnstar.gif";

// [[Ajax (Programmierung)|Ajax]] import feature
mw.loader.using( [ 'mediawiki.util'], function() { $(function() {
	mw.util.addCSS( '#interProject, #properTitle, #subTitle {display: none; speak: none;} .grayTitle, #grayTitle { color: #7b7b7b ;}' );
})});

window.impArr = ["NavBar", "pTitle", "sTitle", "sincere-visitor", "pt-login", "patrolLink", "markedPatrolled", "onlyRcID", "sidebar-bug"];
window.done = [];

function jsImp(i) {
  var script = document.createElement("script");
  script.type = "text/javascript";
  script.src = "/w/index.php?title=MediaWiki:If-"+impArr[i]+".js&action=raw&ctype=text/javascript";
  $t("head")[0].appendChild(script);
}

if (url.indexOf("&rcid=") > 0 && url.indexOf("action=") < 0 && url.indexOf("diff=") < 0) {
  jsImp(7);
}
if (url.indexOf("?diff=next&rcid=") > 0) {
  jsImp(5);
}

function ifID() {
  var impVar;
  var groupArray = '#'+mw.config.get( 'wgUserGroups' );
  for (var i = 0; i < impArr.length; i++) {
    varArr = impArr[i];
    if ($id(varArr)) {
      impVar = i;
    }
    if ($id("pTitle")) {
      $t("h1")[0].id = "blackTitle";
    }
    if (varArr == "sidebar-bug" && (groupArray.indexOf("sysop") > 0 && !$id("n-villagepump")) || window.name.indexOf("flushSidebar=") > -1) {
      impVar = i;
    }
    if (impVar == i) {
      jsImp(i);
    }
    if ($id("vorlageTitel")) { //nordfriisk tiitel, luke diar [[Vorlage:Titel]]
      $(".firstHeading").empty().append($("#vorlageTitel"));
      $("#vorlageTitel").removeAttr("style"); //Ünsichtboorkaid wechnem
      $("#vorlageTitel").attr('id', 'pTitle'); //woort för di tiitel uun a browser brükt
    }
  }
}
$(document).ready(ifID);

function replaceInit() {
  if (mw.config.get( 'wgAction' ) == "edit" || mw.config.get( 'wgAction' ) == "submit") {
   $("#replace").html('(<a href="javascript:replaceFunc()">+/-<\/a>)');
  }
}
$(document).ready(replaceInit);

function replaceFunc() {
  searchPrompt = prompt("Skriiw iarst y, wat soocht wurd skal (ual)!", "");
  if (searchPrompt != "" && searchPrompt != null) {
   replacePrompt = prompt("Skriiw nü y, wat diar eftert stun skal (nei)!", "");
   if (replacePrompt != "" && replacePrompt != null) {
    var editForm = document.editform.wpTextbox1;
    var regEx = new RegExp(searchPrompt, "g");
    editForm.value = editForm.value.replace(regEx, replacePrompt);
    alert("Dong!");
   }
  }
}

/*
## ProjektLinks ##
by Skript von [[user:Merlissimo]] (Idee basierend auf //de.wiktionary.org/wiki/MediaWiki:Common.js von [[User:Pathoschild]] und [[wikt:de:User:Melancholie]])
erzeugt Sitebar-Interwiki zu Schwesterprojekten aufgrund von Vorlage {{InterProjekt}}
siehe auch Feature-Request [[bugzilla:708]]
*/
mw.loader.using( [ 'mediawiki.util'], function() { $(function() {
    var iProject = document.getElementById("interProject");
    if(!iProject) return;
    var sistersibling = document.getElementById("p-navigation");
    if(!sistersibling) return;
    //Link auf Parennode des Portletmenues
    var sisterparent = sistersibling.parentNode;

    //Erzeuge neues Portletmenue
    var sisterprojectnav = document.createElement("div");
    sisterprojectnav.id = "p-sisterprojects";
    sisterprojectnav.className = sistersibling.className
    sisterprojectnav.innerHTML = '<h5>'+document.getElementById("sisterProjects").firstChild.innerHTML+'</h5><div><ul></ul></div>';
    var sistersiblingsub = sistersibling.getElementsByTagName("div")[0];
    if(sistersiblingsub){
        sisterprojectnav.childNodes[1].className = sistersiblingsub.className;
    } else {
        sisterprojectnav.childNodes[1].className = "pBody";
    }

    //Wenn möglich vor den Interwikis einfügen
    var sisternext = document.getElementById("p-lang");
    if ( sisternext && sisternext.parentNode == sisterparent ){
        sisterparent.insertBefore( sisterprojectnav, sisternext );
    } else{
        sisterparent.appendChild(sisterprojectnav);
    }

    //Schwesterlinks ermitteln und einfügen
    var sisterlinks = iProject.getElementsByTagName("a");
    for (var i = 0; i < sisterlinks.length; i++) {
        var sistername = sisterlinks[i].firstChild.nodeValue
        mw.util.addPortletLink('p-sisterprojects', sisterlinks[i].getAttribute("href") + '?uselang=' + mw.config.get('wgUserLanguage'), sistername, "sister-"+ sistername, sistername);
    }
})});

//================================================================================
//*** import Onlyifediting-functions
// SEE ALSO [[MediaWiki:Onlyifediting.js]]

if ( mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit' ) {
    
    mw.loader.load( '/w/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' );
}

//================================================================================
//*** import Onlyifuploading-functions
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]
 
if (mw.config.get('wgCanonicalSpecialPageName') == "Upload") {
    
    mw.loader.load( '/w/index.php?title=MediaWiki:Onlyifuploading.js&action=raw&ctype=text/javascript' );
    mw.loader.load( '/w/index.php?title=MediaWiki:Onlyifediting.js&action=raw&ctype=text/javascript' );
}

//==============================================================================
//*** Fügt eine Betreffzeile auf leeren Diskussionsseiten ein

$(function() {
        if(mw.config.get('wgNamespaceNumber') != 0 && mw.config.get('wgNamespaceNumber') != 1) return;
	var tab = document.getElementById( 'ca-talk' );
	if( !tab || tab.className != 'new' ) return;
	var link = tab.getElementsByTagName( 'a' )[0];
	if( !link ) return;
	link.href += '&section=new';
});

// <noscript>-Emulation via <div class="noscript"></div>
mw.loader.using( [ 'mediawiki.util'], function() { $(function() {
	mw.util.addCSS('.noscript {display:none;}');
})});

/*
 * Bei Artikeln mit Artikelkoordinate kann OpenStreetMap einblendent werden
 */
if ($.inArray(mw.config.get('skin'), ["monobook", "simple", "modern", "vector"])) {

    mw.loader.load( '/w/index.php?title=MediaWiki:Common.js/OSM.js&action=raw&ctype=text/javascript' );
}