Menü aufrufen
Toggle preferences menu
Persönliches Menü aufrufen
Nicht angemeldet
Ihre IP-Adresse wird öffentlich sichtbar sein, wenn Sie Änderungen vornehmen.

MediaWiki:Common.js: Unterschied zwischen den Versionen

MediaWiki-Schnittstellenseite
CF (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
CF (Diskussion | Beiträge)
Aufgeräumt, Ungenutztes entfernt, Tabellensortierung angepasst
Zeile 1: Zeile 1:
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */
//================================================================================
//---------------------------------------------------------------------------
//*** force the loading of another JavaScript file (Kopie von [[Commons:Common.js]])
// Local Maintainer: [[Commons:User:Dschwen]]
function includePage(name) {
    document.write('<script type="text/javascript" src="' + wgScript + '?title='
        + name
        + '&action=raw&ctype=text/javascript"><\/script>');
}


// Externe Links in neuem Fenster öffnen, Pfeil für Sprung nach oben
 
//---------------------------------------------------------------------------
// Externe Links in neuem Fenster öffnen
//---------------------------------------------------------------------------
jQuery( document ).ready(function() {
jQuery( document ).ready(function() {
   $j(".external").attr("target","_blank");
   $j(".external").attr("target","_blank");
/*
  $j("h2 span.mw-headline").html(function(index,old) {
    return old + '<a href="javascript:window.scrollTo(0,0); void 0;" class="toparrow noprint">&nbsp;</a>';
  }); */
});
});
//---------------------------------------------------------------------------


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


//---------------------------------------------------------------------------
// Fügt eine Betreffzeile auf leeren Diskussionsseiten ein
//---------------------------------------------------------------------------
jQuery( document ).ready(function() {
jQuery( document ).ready(function() {
         if(wgNamespaceNumber != 0 && wgNamespaceNumber != 1) return;
         if(wgNamespaceNumber != 0 && wgNamespaceNumber != 1) return;
Zeile 29: Zeile 23:
link.href += '&section=new';
link.href += '&section=new';
});
});
//---------------------------------------------------------------------------


//================================================================================
 
//*** import Onlyifuploading-functions
//---------------------------------------------------------------------------
// import Onlyifuploading-functions
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]
// SEE ALSO [[MediaWiki:Onlyifuploading.js]]
 
//---------------------------------------------------------------------------
if (wgCanonicalSpecialPageName == "Upload") {
if (wgCanonicalSpecialPageName == "Upload") {
     importScript("MediaWiki:Onlyifuploading.js");
     importScript("MediaWiki:Onlyifuploading.js");
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Einbinden von [[Vorlage:Mentorenliste]]
//---------------------------------------------------------------------------
importScript('Vorlage:Mentorenliste');
importScript('Vorlage:Mentorenliste');
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Darstellung der Abschnitte in der Kategorie
// [[Kategorie:Stargate Kommando SG-1 Wichtige Episode]]
// nach einzelnen Staffeln
//---------------------------------------------------------------------------
jQuery( document ).ready(function() {
jQuery( document ).ready(function() {
   if (wgPageName != "Kategorie:Stargate_Kommando_SG-1_Wichtige_Episode") return;
   if (wgPageName != "Kategorie:Stargate_Kommando_SG-1_Wichtige_Episode") return;
Zeile 45: Zeile 55:
   });
   });
});
});
//---------------------------------------------------------------------------


//
//---------------------------------------------------------------------------
// Collapsible tables
// Collapsible tables
//
//---------------------------------------------------------------------------
importScript('MediaWiki:CollapsibleTables.js');
importScript('MediaWiki:CollapsibleTables.js');
importScript('MediaWiki:CollapsibleTemplates.js');
importScript('MediaWiki:CollapsibleTemplates.js');
//---------------------------------------------------------------------------


//================================================================================
//---------------------------------------------------------------------------
//*** Dynamic Navigation Bars
// Dynamic Navigation Bars
//---------------------------------------------------------------------------


// set up the words in your language
// set up the words in your language
Zeile 116: Zeile 131:
  }
  }
}
}
 
function toggleNavigationBarFunction(NavToggle, NavFrame) {
function toggleNavigationBarFunction(NavToggle, NavFrame) {
return function() {
return function() {
Zeile 123: Zeile 138:
};
};
}
}
 
// Shows/hides all navigation bars at once
// Shows/hides all navigation bars at once
function toggleNavigationBars() {
function toggleNavigationBars() {
Zeile 130: Zeile 145:
toggleNavigationBar(getElementsByClassName(NavFrames[i], "a", "NavToggle")[0], NavFrames[i]);
toggleNavigationBar(getElementsByClassName(NavFrames[i], "a", "NavToggle")[0], NavFrames[i]);
}
}
 
function toggleNavigationBarsFunction() {
function toggleNavigationBarsFunction() {
return function() {
return function() {
Zeile 137: Zeile 152:
};
};
}
}
 
// iterate over all NavFrames
// iterate over all NavFrames
var content = document.getElementById("content");
var content = document.getElementById("content");
Zeile 148: Zeile 163:
NavToggle.className = 'NavToggle';
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('href', '#');
NavToggle.setAttribute('href', '#');
 
var NavToggleText = document.createTextNode(NavigationBarHide);
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
NavToggle.appendChild(NavToggleText);
 
// add NavToggle-Button as first div-element
// add NavToggle-Button as first div-element
// in < div class="NavFrame" >
// in < div class="NavFrame" >
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
 
NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
if (initiallyToggle) {
if (initiallyToggle) {
Zeile 167: Zeile 182:
NavToggleAll.className = 'NavToggleAll';
NavToggleAll.className = 'NavToggleAll';
NavToggleAll.setAttribute('href', '#');
NavToggleAll.setAttribute('href', '#');
 
var NavToggleAllText = document.createTextNode(NavigationBarToggleAll);
var NavToggleAllText = document.createTextNode(NavigationBarToggleAll);
NavToggleAll.appendChild(NavToggleAllText);
NavToggleAll.appendChild(NavToggleAllText);
 
// add NavToggleAll-Button as first div-element
// add NavToggleAll-Button as first div-element
// in < div class="NavFrameToggleAll" >
// in < div class="NavFrameToggleAll" >
NavFrameToggleAll.insertBefore(NavToggleAll, NavFrameToggleAll.firstChild);
NavFrameToggleAll.insertBefore(NavToggleAll, NavFrameToggleAll.firstChild);
 
NavToggleAll.onclick = toggleNavigationBarsFunction();
NavToggleAll.onclick = toggleNavigationBarsFunction();
}
}
});
});
//---------------------------------------------------------------------------


/* tooltips and access keys */
ta = new Object();
ta['pt-userpage'] = new Array('.','Meine persönliche Seite');
ta['pt-anonuserpage'] = new Array('.','Benutzerseite der IP-Adresse von der aus Sie Änderungen durchführen');
ta['pt-mytalk'] = new Array('n','Meine Diskussionsseite');
ta['pt-anontalk'] = new Array('n','Diskussion über Änderungen von dieser IP-Adresse');
ta['pt-preferences'] = new Array('','Meine Einstellungen');
ta['pt-watchlist'] = new Array('l','Liste von Seiten die Sie auf Änderungen überwachen.');
ta['pt-mycontris'] = new Array('y','Liste meiner Beiträge');
ta['pt-login'] = new Array('o','Hier kann sich wer mächte anmelden, es ist aber keine Pflicht.');
ta['pt-anonlogin'] = new Array('o','Hier kann sich wer möchte anmelden, es ist aber keine Pflicht.');
ta['pt-logout'] = new Array('o','Abmelden');
ta['ca-talk'] = new Array('t','Diskussion(en) zum Artikel');
ta['ca-edit'] = new Array('e','Artikel bearbeiten. Bitte nutzen Sie vor dem Speichern die Vorschaufunktion.');
ta['ca-addsection'] = new Array('+','Einen Kommentar zu dieser Diskussion hinzufügen.');
ta['ca-viewsource'] = new Array('e','Diese Seite ist geschützt. Sie können sich den Quelltext ansehen.');
ta['ca-history'] = new Array('h','Vorherige Versionen dieser Seite');
ta['ca-protect'] = new Array('=','Diese Seite schützen');
ta['ca-delete'] = new Array('d','Diese Seite löschen');
ta['ca-undelete'] = new Array('d','Einträge wiederherstellen, bevor diese Seite gelöscht wurde');
ta['ca-move'] = new Array('m','Diese Seite verschieben');
ta['ca-watch'] = new Array('w','Diese Seite zu Ihrer Beobachtungsliste hinzufügen');
ta['ca-unwatch'] = new Array('w','Diese Seite von Ihrer Beobachtungsliste entfernen');
ta['search'] = new Array('f','In Stargate Wiki suchen');
ta['p-logo'] = new Array('','Hauptseite');
ta['n-mainpage'] = new Array('z','Hauptseite anzeigen');
ta['n-portal'] = new Array('','Überblick über StargateWiki, was sie machen könne, wo man etwas findet');
ta['n-currentevents'] = new Array('','Hintergrundinformationen zur aktuellen Season');
ta['n-recentchanges'] = new Array('r','Liste der letzten Änderungen in Stargate Wiki.');
ta['n-randompage'] = new Array('x','Zufälligen Artikel anzeigen');
ta['n-help'] = new Array('','Hilfe zu Stargate Wiki.');
ta['n-sitesupport'] = new Array('','Wie kann man Stargate Wiki unterstüzungen?');
ta['t-whatlinkshere'] = new Array('j','Liste aller Seiten die auf diesen Artikel verweisen');
ta['t-recentchangeslinked'] = new Array('k','Letzte Änderungen an Seiten, die von hier verlinkt sind');
ta['feed-rss'] = new Array('','RSS-Feed für diese Seite');
ta['feed-atom'] = new Array('','Atom-Feed für diese Seite');
ta['t-contributions'] = new Array('','Liste der Beiträge dieses Benutzers ansehen');
ta['t-emailuser'] = new Array('','Eine Mail an den Benutzer senden');
ta['t-upload'] = new Array('u','Bild- oder Media-File hochladen');
ta['t-specialpages'] = new Array('q','Liste aller Spezialseiten');
ta['ca-nstab-main'] = new Array('c','Artikel anzeigen');
ta['ca-nstab-user'] = new Array('c','Benutzerseite anzeigen');
ta['ca-nstab-media'] = new Array('c','Mediendateienseite anzeigen');
ta['ca-nstab-special'] = new Array('','Dies ist eine Spezialseite. Sie können diese nicht ändern.');
ta['ca-nstab-wp'] = new Array('a','Projektseite anzeigen');
ta['ca-nstab-image'] = new Array('c','Bilderseite anzeigen');
ta['ca-nstab-mediawiki'] = new Array('c','Systemmeldungen anzeigen');
ta['ca-nstab-template'] = new Array('c','Vorlage anzeigen');
ta['ca-nstab-help'] = new Array('c','Hilfeseite anzeigen');
ta['ca-nstab-category'] = new Array('c','Kategorieseite anzeigen');


//---------------------------------------------------------------------------
// Zeilen der Infoboxen abwechselnd einfärben
//---------------------------------------------------------------------------
jQuery( document ).ready(function() {
jQuery( document ).ready(function() {
   $j("tr[class*='blauzebra']:not(.spoiler):even").addClass("zebrablau");
   $j("tr[class*='blauzebra']:not(.spoiler):even").addClass("zebrablau");
Zeile 237: Zeile 206:
   $j("tr[class*='zeigen']").hover(function(){$j(this).toggleClass("zeileaktiv");},function(){$j(this).toggleClass("zeileaktiv");});
   $j("tr[class*='zeigen']").hover(function(){$j(this).toggleClass("zeileaktiv");},function(){$j(this).toggleClass("zeileaktiv");});
});
});
//---------------------------------------------------------------------------




//---------------------------------------------------------------------------
// Wenige Einzelnachweise in nur einer Spalte darstellen
//---------------------------------------------------------------------------
jQuery( document ).ready(function() {
jQuery( document ).ready(function() {
   if ($('.references li').size() < 6)
   if ($('.references li').size() < 6)
     $('.references').css({ 'column-count': '1', '-moz-column-count': '1', '-webkit-column-count': '1' });
     $('.references').css({ 'column-count': '1', '-moz-column-count': '1', '-webkit-column-count': '1' });
});
});
//---------------------------------------------------------------------------




//================================================================================
//---------------------------------------------------------------------------
// Überschreiben der Tabellensortierung, damit leere Einträge immer unten stehen 
// Sortierung von Datum und Zeit der Form „11:58, 21. Jul. 2012“ in Tabellen
//================================================================================
//---------------------------------------------------------------------------
function ts_resortTable( lnk ) {
if ($("table.sortable").length) {
// get the span
  mw.loader.using("jquery.tablesorter", function() {
var span = lnk.getElementsByTagName('span')[0];
    if ($ && $.tablesorter) {
 
      $.tablesorter.addParser({
var td = lnk.parentNode;
        id: "sgwDateTime",
var tr = td.parentNode;
        is: function(s) {
var column = td.cellIndex;
          return /(\d\d):(\d\d), (\d\d)\. (...)\. (\d{4})/.test(s);
 
        },
var table = tr.parentNode;
        format: function(s) {
while ( table && !( table.tagName && table.tagName.toLowerCase() == 'table' ) ) {
          s = $.trim(s.toLowerCase());
table = table.parentNode;
          for (var i=0; i<12; ++i)
}
            s = s.replace($.tablesorter.monthNames[1][i+1], i);
if ( !table ) {
          var x = /(\d\d):(\d\d), (\d\d)\. (\d?)\. (\d{4})/.exec(s);
return;
          return !x?0:$.tablesorter.formatFloat(new Date(x[5], x[4], x[3], x[1], x[2], 0).getTime());
}
        },
 
        type: "numeric"
if ( table.rows.length <= 1 ) {
      });
return;
    }
}
  });
 
// Generate the number transform table if it's not done already
if ( ts_number_transform_table === null ) {
ts_initTransformTable();
}
 
// Work out a type for the column
// Skip the first row if that's where the headings are
var rowStart = ( table.tHead && table.tHead.rows.length > 0 ? 0 : 1 );
 
var itm = '';
for ( var i = rowStart; i < table.rows.length; i++ ) {
if ( table.rows[i].cells.length > column ) {
itm = ts_getInnerText(table.rows[i].cells[column]);
itm = itm.replace(/^[\s\xa0]+/, '').replace(/[\s\xa0]+$/, '');
if ( itm != '' ) {
break;
}
}
}
 
// TODO: bug 8226, localised date formats
var sortfn = ts_sort_generic;
var preprocessor = ts_toLowerCase;
if ( /^\d\d[\/. -][a-zA-Z]{3}[\/. -]\d\d\d\d$/.test( itm ) ) {
preprocessor = ts_dateToSortKey;
} else if ( /^\d\d[\/.-]\d\d[\/.-]\d\d\d\d$/.test( itm ) ) {
preprocessor = ts_dateToSortKey;
} else if ( /^\d\d[\/.-]\d\d[\/.-]\d\d$/.test( itm ) ) {
preprocessor = ts_dateToSortKey;
// (minus sign)([pound dollar euro yen currency]|cents)
} else if ( /(^([-\u2212] *)?[\u00a3$\u20ac\u00a4\u00a5]|\u00a2$)/.test( itm ) ) {
preprocessor = ts_currencyToSortKey;
} else if ( ts_number_regex.test( itm ) ) {
preprocessor = ts_parseFloat;
}
 
var reverse = ( span.getAttribute( 'sortdir' ) == 'down' );
 
var newRows = new Array();
var staticRows = new Array();
for ( var j = rowStart; j < table.rows.length; j++ ) {
var row = table.rows[j];
if( (' ' + row.className + ' ').indexOf(' unsortable ') < 0 ) {
var keyText = ts_getInnerText( row.cells[column] );
if( keyText === undefined ) {
keyText = '';
}
var oldIndex = ( reverse ? -j : j );
var preprocessed = preprocessor( keyText.replace(/^[\s\xa0]+/, '').replace(/[\s\xa0]+$/, '') );
 
newRows[newRows.length] = new Array( row, preprocessed, oldIndex );
} else {
staticRows[staticRows.length] = new Array( row, false, j-rowStart );
}
}
 
newRows.sort( sortfn );
 
var arrowHTML;
if ( reverse ) {
arrowHTML = '<img src="' + ts_image_path + ts_image_down + '" alt="&darr;"/>';
newRows.reverse();
span.setAttribute( 'sortdir', 'up' );
} else {
arrowHTML = '<img src="' + ts_image_path + ts_image_up + '" alt="&uarr;"/>';
span.setAttribute( 'sortdir', 'down' );
}
 
for ( var i = 0; i < staticRows.length; i++ ) {
var row = staticRows[i];
newRows.splice( row[2], 0, row );
}
 
// We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones
// don't do sortbottom rows
for ( var i = 0; i < newRows.length; i++ ) {
if ( ( ' ' + newRows[i][0].className + ' ').indexOf(' sortbottom ') == -1 && ( ' ' + newRows[i][0].cells[column].className + ' ').indexOf(' sortbottom ') == -1 ) {
table.tBodies[0].appendChild( newRows[i][0] );
}
}
// do sortbottom rows only
for ( var i = 0; i < newRows.length; i++ ) {
if ( ( ' ' + newRows[i][0].className + ' ').indexOf(' sortbottom ') != -1 || ( ' ' + newRows[i][0].cells[column].className + ' ').indexOf(' sortbottom ') != -1 ) {
table.tBodies[0].appendChild( newRows[i][0] );
}
}
 
// Delete any other arrows there may be showing
var spans = getElementsByClassName( tr, 'span', 'sortarrow' );
for ( var i = 0; i < spans.length; i++ ) {
spans[i].innerHTML = '<img src="' + ts_image_path + ts_image_none + '" alt="&darr;"/>';
}
span.innerHTML = arrowHTML;
 
if ( ts_alternate_row_colors ) {
ts_alternate( table );
}
}
}
//================================================================================
//---------------------------------------------------------------------------




//===========================================================================
//---------------------------------------------------------------------------
// Zählt die Anzahl der Bearbeitungen eines Benutzers
// Zählt die Anzahl der Bearbeitungen eines Benutzers
// Siehe auch [[Benutzer:CF/revisionMainspaceCounter.js]]
// Siehe auch [[Benutzer:CF/revisionMainspaceCounter.js]]
// Bearbeitung von [[MediaWiki:Gadget-revisionCounter.js]]
// Bearbeitung von [[MediaWiki:Gadget-revisionCounter.js]]
//===========================================================================
//---------------------------------------------------------------------------
 
var revisionMainspaceCounter =
var revisionMainspaceCounter =  
{
{
   queryUrl : function(i) {
   queryUrl : function(i) {
Zeile 390: Zeile 265:
       User : wgUserName,
       User : wgUserName,
       Namespaces : '0',
       Namespaces : '0',
       OutputId : 'revisionMainspaceCounter',
      InputId : 'revisionMainspaceCounter',
       OutputId : 'revisionMainspaceCounterTarget',
       ReplaceFirstChild : false
       ReplaceFirstChild : false
     }*/
     }*/
   ],
   ],
 
   execute : function()  
   execute : function()
   {
   {
     for (var i=0; i<revisionMainspaceCounter.queries.length; ++i)
     for (var i=0; i<revisionMainspaceCounter.queries.length; ++i)
Zeile 401: Zeile 277:
         importScriptURI(revisionMainspaceCounter.queryUrl(i));
         importScriptURI(revisionMainspaceCounter.queryUrl(i));
   },
   },
 
   queryResult : function(res)
   queryResult : function(res)
   {
   {
Zeile 413: Zeile 289:
       var revs = res['query']['logevents'];
       var revs = res['query']['logevents'];
       revisionMainspaceCounter.queries[i].revisionCountUser += revs.length;
       revisionMainspaceCounter.queries[i].revisionCountUser += revs.length;
 
 
       if (res && res['query-continue'])
       if (res && res['query-continue'])
       {
       {
Zeile 425: Zeile 301:
       var revs = res['query']['usercontribs'];
       var revs = res['query']['usercontribs'];
       revisionMainspaceCounter.queries[i].revisionCountUser += revs.length;
       revisionMainspaceCounter.queries[i].revisionCountUser += revs.length;
 
 
       if (res && res['query-continue'])
       if (res && res['query-continue'])
       {
       {
Zeile 443: Zeile 319:
       if (revisionMainspaceCounter.queries[i].ReplaceFirstChild) e.replaceChild(info, e.firstChild);
       if (revisionMainspaceCounter.queries[i].ReplaceFirstChild) e.replaceChild(info, e.firstChild);
       else e.appendChild(info);
       else e.appendChild(info);
      var input = document.getElementById(revisionMainspaceCounter.queries[i].InputId);
      var header = $(input).parents("table.sortable")[0];
      if (input && input.parentNode)
      {
          input.parentNode.removeChild(input);
          if (header && $(header).find("span.revisionMainspaceCounter").length == 0)
          {
            $(header).find(".headerSort").unbind("click");
            $(header).tablesorter();
          }
      }
       revisionMainspaceCounter.queries[i] = null;
       revisionMainspaceCounter.queries[i] = null;
     }
     }
Zeile 449: Zeile 338:
   {
   {
     var found = 0;
     var found = 0;
     $j('span.revisionMainspaceCounter').each(function()
     $j("span.revisionMainspaceCounter").each(function()
     {
     {
       var i = this.innerHTML.split("#");
       var i = this.innerHTML.split("#");
Zeile 457: Zeile 346:
           User : i[0],
           User : i[0],
           Namespaces : i[1].replace(/ /g,"").split(",").join("|"),
           Namespaces : i[1].replace(/ /g,"").split(",").join("|"),
          InputId : this.id,
           OutputId : i[2],
           OutputId : i[2],
           ReplaceFirstChild : i[3]==="j"
           ReplaceFirstChild : i[3]==="j"
Zeile 466: Zeile 356:


jQuery( document ).ready(revisionMainspaceCounter.findCounter);
jQuery( document ).ready(revisionMainspaceCounter.findCounter);
//---------------------------------------------------------------------------




 
//---------------------------------------------------------------------------
//===========================================================================
// Versteckt Inhalte
// Versteckt Inhalte
// [[Vorlage:Spoiler]]
// [[Vorlage:Spoiler]]
//===========================================================================
//---------------------------------------------------------------------------
 
mw.SGWSpoiler = {
mw.SGWSpoiler = {
   showAll: false,
   showAll: false,
Zeile 487: Zeile 376:
   }
   }
   },
   },
 
 
   toggleNext: function(obj) {
   toggleNext: function(obj) {
     if (mw.SGWSpoiler.showAll) return;
     if (mw.SGWSpoiler.showAll) return;
     $(obj).next(".spoiler").toggleClass("spoilerShow");
     $(obj).next(".spoiler").toggleClass("spoilerShow");
   },
   },
 
 
   toggleNextRow: function(obj) {
   toggleNextRow: function(obj) {
     if (mw.SGWSpoiler.showAll) return;
     if (mw.SGWSpoiler.showAll) return;
     $(obj).parent().parent().next("tr.spoiler").toggleClass("spoilerShow");
     $(obj).parent().parent().next("tr.spoiler").toggleClass("spoilerShow");
   },
   },
 
 
   toggleAll: function(obj) {
   toggleAll: function(obj) {
     mw.SGWSpoiler.showAll ^= true;
     mw.SGWSpoiler.showAll ^= true;
Zeile 514: Zeile 403:


jQuery( document ).ready( mw.SGWSpoiler.init );
jQuery( document ).ready( mw.SGWSpoiler.init );
//---------------------------------------------------------------------------