MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
einmal clear zum testen |
Änderung 439587 von Nachteule (Diskussion) rückgängig gemacht. Markierung: WK: interner Datei-Hotlink |
||
| Zeile 1: | Zeile 1: | ||
//== hilfsfunktionen ========================================= | |||
/* jQuery einbinden falls nötig */ | |||
//MW1.17 -> kann wech, jQuery standardmässig vorhanden ... | |||
// | |||
function addJQuery() { | |||
if (!window.jQuery) | |||
document.write('<script type="text/javascript" src="/skins/common/jquery.js"></script>'); | |||
} | |||
// Zumindest während der Testphase sollte man CSS und JS auch später nachladen können: | |||
//MW1.17 -> kann wech (per resourceloader kann man bei bedarf nachladen lassen | |||
//MW1.17 -> addOnloadHook deprecated -> jQuery document ready | |||
// | |||
addOnloadHook( function () { | |||
/* CSS-Funktion ersetzen */ | |||
addCSS = function(title) | |||
{ | |||
var s = document.createElement("LINK"); | |||
s.rel = "stylesheet"; | |||
s.type = "text/css"; | |||
s.href = wgScript + "?title=" + encodeURIComponent(title) + "&action=raw&ctype=text/css"; | |||
document.body.appendChild(s); | |||
} | |||
/* JS-Funktion ersetzen */ | |||
addJS = function(title) | |||
{ | |||
var s = document.createElement("SCRIPT"); | |||
s.type = "text/javascript"; | |||
s.src = wgScript + "?title=" + encodeURIComponent(title) + "&action=raw&ctype=text/javascript"; | |||
document.body.appendChild(s); | |||
} | |||
/* JQuery-Funktion ersetzen */ | |||
addJQuery = function(title) | |||
{ | |||
var s = document.createElement("SCRIPT"); | |||
s.type = "text/javascript"; | |||
s.src = "/skins/common/jquery.js"; | |||
document.body.appendChild(s); | |||
} | |||
}); | |||
//== Konstanten =============================================== | |||
function CSS(page) | |||
{ | |||
return {type: "CSS", page: page}; | |||
} | |||
function JS(page) | |||
{ | |||
return {type: "JS", page: page}; | |||
} | |||
function SPECIAL(key) | |||
{ | |||
return {type: "SPECIAL", key: key}; | |||
} | |||
var defaultCSS = CSS(null); | |||
var defaultJS = JS(null); | |||
var libPrototype = JS("MediaWiki:Prototype.js"); | |||
var libJQuery = SPECIAL("jQuery"); | |||
var libTranslate = JS("MediaWiki:Skin/translate.js"); | |||
//== Zeug laden =============================================== | |||
// für "MediaWiki:Skin/Namensraum:Seitenname.css" defaultCSS verwenden | |||
// für "MediaWiki:Skin/Namensraum:Seitenname.js" defaultJS verwenden | |||
// für andere Seiten JS("Seite") oder CSS("Seite") verwenden | |||
var loadStuff = { | |||
// Artikel | |||
"Artikelbaukasten": [ defaultJS, libJQuery ], | |||
"Bewegung": [ defaultJS ], | |||
"Gelbsucht": [ defaultJS ], | |||
"Latein": [ defaultJS, libJQuery, libTranslate ], | |||
"Pseudolink": [ defaultCSS ], | |||
"Wirklich leere Seite": [ defaultCSS ], | |||
// Kamelopedia | |||
"Commons:Kugel": [ defaultCSS, defaultJS, libJQuery ], | |||
"Kamelopedia:Kalender": [ defaultCSS ], | |||
"Kamelopedia:Harmoniehütte": [ defaultCSS ], | |||
"Kamelopedia:Zeitreisemaschine": [ defaultJS, libJQuery, JS("Kamel:J*/lib/async.js"), JS("Kamel:J*/lib/wiki.js") ], | |||
// Projekt | |||
"Projekt:Ka-Mel-Oh!": [ defaultCSS ], | |||
"Projekt:Bürokratenspiel/9. Runde/Organe/Geheimdienst": [ JS("MediaWiki:Skin/Projekt:BS9Geheimdienst.js") ], | |||
// Forum | |||
"Forum:Kamelopedia": [ defaultCSS ], | |||
"Forum:Kamelopedia-Design-Wettbewerb": [ defaultJS ], | |||
// Spezial | |||
"Spezial:Hochladen": [ defaultCSS, defaultJS, libJQuery ], | |||
"Spezial:RatedPages": [ defaultJS, libJQuery ], | |||
"Spezial:KamelBox": [ defaultCSS ], | |||
// Echzeit-Letzte-Änderungen | |||
"Kamelopedia:RTRC": [JS("MediaWiki:Skin/Kamelopedia:RTRC.js")], | |||
"": [] // damit oben überall Kommata stehen bleiben können | |||
}; | |||
// | |||
//MW1.17 -> mw.config.get( 'wgPageName' ) ... | |||
var pageName = [wgPageName.replace(/_/g, " ")]; | |||
// | |||
var stuffOnThisPage = loadStuff[pageName]; | |||
if (stuffOnThisPage == null) stuffOnThisPage = []; | |||
for (var i = 0; i < stuffOnThisPage.length; i++) | |||
{ | |||
var item = stuffOnThisPage[i]; | |||
if (item.type == "CSS") | |||
{ | |||
if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".css"; | |||
importStylesheet(item.page); | |||
} | |||
else if (item.type == "JS") | |||
{ | |||
if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".js"; | |||
importScript(item.page); | |||
} | |||
else if (item.type == "SPECIAL" && item.key == "jQuery") | |||
{ | |||
addJQuery(); | |||
} | |||
} | |||
//================================================================================ | |||
// Bild-Box-Lizenz-Gedöns für Datei-Seitenbearbeitung | |||
// | |||
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ... | |||
if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) { | |||
importStylesheet('MediaWiki:Skin/Spezial:Hochladen.css'); | |||
importScript('MediaWiki:Skin/Spezial:Hochladen.js'); | |||
} | |||
// Kamelomedia Commons | |||
// | |||
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ... | |||
if (wgNamespaceNumber == 110 || wgNamespaceNumber == 111 || wgPageName.indexOf ("Kategorie:Commons:") != -1 ){ | |||
importStylesheet("MediaWiki:Skin/Commons.css"); | |||
} | |||
// TESTweise Aufhübschung der Logbücher | |||
// | |||
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ... | |||
if (wgCanonicalSpecialPageName == "Log") { | |||
importScript("MediaWiki:Skin/Logbuch.js"); | |||
} | |||
// Tag-Redirects | |||
// | |||
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ... | |||
if (wgPageName.indexOf ("Kategorie:Commons:") != -1 ){ | |||
importScript("Kamel:J*/lib/nulledit.js"); | |||
var nulledit_count = 0; | |||
function ne_report (text,p) | |||
{ | |||
nulledit_count += p; | |||
if(nulledit_count == 0) | |||
jQuery("#tag_redirect_info").text("Fertig. Bitte lade die Seite neu und schau nach, ob noch Dateien übrig geblieben sind."); | |||
else | |||
jQuery("#tag_redirect_info").text(text + " – noch " + nulledit_count + " Nulledits"); | |||
} | |||
addOnloadHook( function () { | |||
jQuery("#tag_redirect_go").bind("click",function () { | |||
categoryNulledit(wgPageName, ne_report); | |||
}); | |||
}); | |||
} | |||
//KameloNews | |||
// | |||
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ... | |||
if (wgNamespaceNumber == 108 && (wgAction == 'view' || wgAction == 'submit') ){ | |||
importStylesheet("MediaWiki:Skin/KameloNews.css"); | |||
} | |||
// lade [[Hilfe:Edittools.js]], wenn Seite bearbeitet wird (und neue toolbar aus) | |||
// | |||
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ... | |||
//if ((wgNamespaceNumber != 6 ) && (wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == false)) { | |||
if ((wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == true)) { | |||
importStylesheet("MediaWiki:Skin/Edittools.css"); | |||
// benötigt auch jQuery (Klick-Vorlagen) | |||
//MW1.17 -> evtl. erst in Hilfe:Edittools.js anderen Krempel per resourceloader nachladen lassen | |||
importScript("Hilfe:Edittools.js"); | |||
} | |||
// Tausche [[Special:Specialpages]] gegen [[Kamelopedia:Spezialseiten]] | |||
//MW1.17 -> addOnloadHook -> jQuery ... | |||
addOnloadHook(function() { | |||
document.getElementById("t-specialpages").innerHTML = '<a href="/index.php/Kamelopedia:Spezialseiten">Spezialitäten</a>'; | |||
}); | |||
//Gedudel auf [[Aufzug]] und [[Gedudel]] und [[WiKa-Sekte]] | |||
//MW1.17 -> kein document.write -> jQuery ... | |||
if (wgPageName == 'Aufzug' || wgPageName == 'Gedudel' || wgPageName == 'WiKa-Sekte' ) { | |||
document.write('<embed src="http://kamelopedia.mormo.org/images/c/cb/Aufzug.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">'); | |||
} | |||
//Gedudel auf [[Mausetot]] | |||
//MW1.17 -> kein document.write -> jQuery ... | |||
if (wgPageName == 'Mausetot' ) { | |||
document.write('<embed src="http://kamelopedia.mormo.org/images/a/a3/Fuchs.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">'); | |||
} | |||
//[[Popupblocker]] | |||
//MW1.17 | |||
if (wgPageName == 'Popupblocker') { | |||
alert("Ihr Popupblocker ist aktiviert"); | |||
} | |||
// Motive (Tags) werden zu Links | |||
//MW1.17 | |||
if ( wgNamespaceNumber == 6 ) | |||
importScript("MediaWiki:Skin/Datei:Motivlinks.js"); | |||
// Skin für Archiv | |||
//MW1.17 | |||
if (wgNamespaceNumber == 104 || wgNamespaceNumber == 105) { | |||
importStylesheet("MediaWiki:Skin/Archiv.css"); | |||
} | |||
// Skin und script für Kamelionary | |||
//MW1.17 | |||
if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) { | |||
importStylesheet("MediaWiki:Skin/Kamelionary.css"); | |||
importScript("MediaWiki:Skin/Kamelionary.js"); | |||
} | |||
//================================================================================ | |||
// Ka-Mel-Oh! CSS auch im Kamel-/Vorlagen-Namensraum nachladen | |||
//MW1.17 | |||
if (wgNamespaceNumber == 2 || wgNamespaceNumber == 3|| wgNamespaceNumber == 10 || wgNamespaceNumber == 11) { | |||
importStylesheet("MediaWiki:Skin/Projekt:Ka-Mel-Oh!.css"); | |||
} | |||
// Der doofe server stürzt dauernd ab, wenn das script da unten läuft ... | |||
//MW1.17 | |||
if (wgPageName == "Kinderporno" || wgPageName == "Server_Error") { | |||
window.onload = function() { | |||
if (!document.getElementById("ServerError")) return; | |||
document.getElementsByTagName("body")[0].style.backgroundColor = "#ffffff"; | |||
document.getElementsByTagName("body")[0].style.backgroundImage = "none"; | |||
document.getElementsByTagName("body")[0].style.fontSize = "12px"; | |||
document.getElementsByTagName("body")[0].style.padding = "10px"; | |||
document.getElementsByTagName("body")[0].innerHTML = document.getElementById("ServerError").innerHTML; | |||
} | |||
} | |||
// ================================================================================ | |||
// | |||
//MW1.17 -> jQuery-Klapp standardmässig aktiviert (class mw-collapsible) | |||
// | |||
// Ein- und Ausblenden per Javascript | |||
// mit den folgenden Funktionen lässt sich ein div-Konstrukt in ein Einblende-Ausblende-Ding verwandeln | |||
// | |||
// Variante 1 (Klick irgendwo blendet ein oder aus): | |||
// <div class="klapp"> | |||
// <div class="klapp_t">Titel im ausgeblendeten Zustand</div> | |||
// <div class="klapp_e">Titel im ausgeblendeten Zustand</div> | |||
// <div class="klapp_i">Einzublendender Inhalt</div> | |||
// </div> | |||
// | |||
// Variante 2 (ein- und ausblenden nur mit Links): | |||
// <div class="klapp_x"> | |||
// <div class="klapp_t">Titel im ausgeblendeten Zustand mit <span class="klapp">Einblendelink</span></div> | |||
// <div class="klapp_e">Titel im ausgeblendeten Zustand mit <span class="klapp">Ausblendelink</span></div> | |||
// <div class="klapp_i">Einzublendender Inhalt</div> | |||
// </div> | |||
function ausklapp( element ) | |||
{ | |||
var klapp_i = null; | |||
var klapp_e = null; | |||
var klapp_t = null; | |||
for (i=0; i<element.childNodes.length; i++) | |||
{ | |||
if( element.childNodes[i].nodeType == 1 ) | |||
{ | |||
if ( element.childNodes[i].className == "klapp_i" ) | |||
klapp_i = element.childNodes[i]; | |||
else if ( element.childNodes[i].className == "klapp_t" ) | |||
klapp_t = element.childNodes[i]; | |||
else if ( element.childNodes[i].className == "klapp_e" ) | |||
klapp_e = element.childNodes[i]; | |||
} | |||
if ( klapp_i && klapp_t && klapp_e ) | |||
break; | |||
} | |||
if( klapp_i.style.display != "none") | |||
{ | |||
klapp_i.style.display = "none"; | |||
klapp_e.style.display = "none"; | |||
klapp_t.style.display = "block"; | |||
} | |||
else | |||
{ | |||
klapp_i.style.display = "block"; | |||
klapp_e.style.display = "block"; | |||
klapp_t.style.display = "none"; | |||
} | |||
} | |||
function getKlappDiv( obj ) | |||
{ | |||
while ( obj && obj.parentNode && obj.className != "klapp_x" ) | |||
obj = obj.parentNode; | |||
return obj; | |||
} | |||
// Event-Handler für alle class="klapp"-Objekte zuweisen | |||
function makeAusklapp() | |||
{ | |||
// klapp-div-Rahmen | |||
var a = document.getElementsByTagName("div"); | |||
for ( div=0; div<a.length; div++ ) | |||
{ | |||
if ( a[div].className == "klapp" ) | |||
{ | |||
//Leider nicht IE-Kompatibel: | |||
//var f = function () { ausklapp(this) }; | |||
//addEvent( a[div], "click", f , false ); | |||
//stattdessen: | |||
a[div].onclick = function () { ausklapp(this);} | |||
} | |||
} | |||
// klapp-spans-Rahmen als Link-Ersatz | |||
var a = document.getElementsByTagName("span"); | |||
for ( span=0; span<a.length; span++ ) | |||
{ | |||
if ( a[span].className == "klapp" ) | |||
{ | |||
a[span].onclick = function () { ausklapp(getKlappDiv( this ));} | |||
} | |||
} | |||
urlKlapp(); | |||
} | |||
/* | |||
* liest aus der URL aus, ob ein bestimmtes Objekt ausgeklappt werden soll. | |||
* angegeben werden kann eine oder mehrere Objekt-Id: | |||
* index.php?title=Hauptseite&klapp=id1/id2/id3 | |||
*/ | |||
function urlKlapp() | |||
{ | |||
var arg = location.href; | |||
var reg = new RegExp(/[?&]klapp=(.*?)($|[?&])/); | |||
arg = arg.match(reg); | |||
if( arg == null ) | |||
return; | |||
arg = arg[0].replace(reg,"$1"); | |||
if( arg == "" ) | |||
return; | |||
arg = arg.split("/"); | |||
for(var i=0; i<arg.length; i++) | |||
{ | |||
try | |||
{ | |||
ausklapp(document.getElementById(arg[i])); | |||
} | |||
catch(e) | |||
{ | |||
} | |||
} | |||
} | |||
// Nach dem Laden des Fensters folgendes Ausführen: | |||
addOnloadHook(makeAusklapp); | |||
// ================================================================================ | |||
// altes dragobject für die Seiten, wo benutzt, ansonsten raus (alles mit class='jstest' ist dragbar) | |||
//MW1.17 | |||
if (wgPageName == 'Projekt:Gummistiefel' || | |||
wgPageName == 'Kamel_Diskussion:AnnaLog/Archiv' || | |||
wgPageName == 'Windowspedia' || | |||
wgPageName == 'Gut_versteckt' || | |||
wgPageName == 'B-Wegung' || | |||
wgPageName == 'Wortspiel' || | |||
wgPageName == 'Kamel:Atreju/Spielplatz' || | |||
wgPageName == 'Kamel:Pille' || | |||
wgPageName == 'Bewegliche_Feiertage' || | |||
wgPageName == 'Kamel:J*/Ka-Mel-Oh/Testgelände' || | |||
wgPageName == 'Projekt_Diskussion:Gummistiefel') { | |||
importScript("MediaWiki:Skin/Alt_dragobject.js"); | |||
} | |||
// ================================================================================ | |||
// username template | |||
/** | |||
* Username replace function ([[Vorlage:USERNAME]]) | |||
* Inserts user name into <span id="insertusername"></span> | |||
* By [[wikia:User:Splarka|Splarka]] | |||
*/ | |||
//MW1.17 | |||
addOnloadHook(function() { | |||
if (typeof(disableUsernameReplace) != 'undefined' && disableUsernameReplace) return; | |||
if (!document.getElementById('pt-userpage')) return; | |||
var spans = document.getElementsByTagName("span"); | |||
for (var i=0; i<spans.length; i++) { | |||
var span = spans[i]; | |||
if (span.getAttribute('id') == "insertusername") { | |||
span.innerHTML = wgUserName; | |||
} | |||
} | |||
}); | |||
// ================================================================================ | |||
// FDP-Version & Zitierhilfe, nur mal so zum Spass... | |||
//MW1.17 | |||
if (wgNamespaceNumber == 0 || wgNamespaceNumber == 106) { | |||
addOnloadHook(function addFDPVersion(){ | |||
var aZit = document.createElement("a"); | |||
aZit.title = "Seite zitieren"; | |||
aZit.href = wgServer + "/index.php/" + "Hilfe:Zitierhilfe"; | |||
aZit.appendChild(document.createTextNode("Seite zitieren")); | |||
var aPDF = document.createElement("a"); | |||
aPDF.title = "FDP-Version"; | |||
aPDF.href = wgServer + "/index.php/" + "PDF?klapp=pdfgen"; | |||
aPDF.appendChild(document.createTextNode("FDP-Version")); | |||
var LiZit = document.createElement("li"); | |||
LiZit.style.whiteSpace = "nowrap"; | |||
LiZit.id = "x-zitieren"; | |||
LiZit.appendChild(aZit); | |||
var LiPDF = document.createElement("li"); | |||
LiPDF.style.whiteSpace = "nowrap"; | |||
LiPDF.id = "x-pdf"; | |||
LiPDF.appendChild(aPDF); | |||
var ToolboxUl = document.getElementById("p-tb").getElementsByTagName("ul"); | |||
ToolboxUl[0].appendChild(LiPDF); | |||
ToolboxUl[0].appendChild(LiZit); | |||
}) | |||
}; | |||
// ================================================================================ | |||
// sitenotice | |||
// Die sitenotice per Klick verstecken (wenn eine wegklick-notice vorhanden) | |||
//MW1.17 | |||
var siteNoticeTs; // DPL-Timestamp des letzten Edits | |||
function hideSitenotice() { | |||
if (document.getElementById("siteNoticeSub")) { | |||
if (document.getElementById("siteNoticeTime") != null) { | |||
siteNoticeTs = escape( document.getElementById("siteNoticeTime").innerHTML ); | |||
} | |||
if (document.cookie.search(new RegExp("dontshowsitenotice="+siteNoticeTs) ) != -1) { | |||
document.getElementById("siteNoticeInner").style.display = "none"; | |||
machdiesiteNoticewegduSau() | |||
} else { | |||
document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:machdiesiteNoticewegduSau()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice verbergen]</a>'; | |||
} | |||
} | |||
} | |||
function machdiesiteNoticewegduSau() { | |||
document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:gabsdanichtmalnesiteNotice()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice anzeigen]</a>'; | |||
document.getElementById("siteNoticeInner").style.display = "none"; | |||
var datum = new Date(); | |||
var ablauf = datum.getTime() + (265 * 24 * 60 * 60 * 1000); | |||
datum.setTime(ablauf); | |||
document.cookie = "dontshowsitenotice="+siteNoticeTs+"; path=/; expires="+datum.toGMTString(); | |||
} | |||
function gabsdanichtmalnesiteNotice() { | |||
document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:machdiesiteNoticewegduSau()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice verbergen]</a>' | |||
document.getElementById("siteNoticeInner").style.display = "block"; | |||
document.cookie = "dontshowsitenotice=never; path=/; expires=Thu, 01-Jan-1970 00:00:01 GMT"; | |||
} | |||
addOnloadHook(hideSitenotice); | |||
// ================================================================================ | |||
/* Artikel-Review-Autovervollständigungs-script */ | |||
//MW1.17 | |||
if (wgNamespaceNumber=1 && wgAction == 'edit' && window.location.href.split('&')[2] == 'articlereview=true') { | |||
var hoecker = '~~'; | |||
templateCode = '{{Artikeltest\r' | |||
+ '| Humor/pkt =\r' | |||
+ '| Humor/txt =\r' | |||
+ '| Konzept/pkt =\r' | |||
+ '| Konzept/txt =\r' | |||
+ '| Formatierung/pkt =\r' | |||
+ '| Formatierung/txt =\r' | |||
+ '| Bilder/pkt =\r' | |||
+ '| Bilder/txt =\r' | |||
+ '| Gesamt/txt =\r' | |||
+ '| ' + hoecker + hoecker + '\r' | |||
+ '}}' | |||
window.onload = function() { | |||
var originalSource = document.getElementById('wpTextbox1').value; | |||
var newSource = originalSource.replace(/\{\{Artikeltest\}\}/g, templateCode); | |||
document.getElementById('wpTextbox1').value = newSource; | |||
} | |||
} | |||
// TEST WiMus GaGA-Automatismus | |||
//MW1.17 | |||
if (wgPageName == 'Forum:Unendliche_GaGA-Wahlen_/_neue_Wahl-Statuten_/_neue_Vorlagen' || | |||
wgPageName == 'Kamel:WiMu/GaGA-Wahl-Test/2' || | |||
wgPageName == 'Datei:Gaga-Test.gif' || | |||
wgPageName == 'Datei:Gaga-Test.png' || | |||
wgPageName == 'WiMu/GaGA-Wahl-Test/1' || | |||
wgPageName == 'Vorlage:GaGA' || | |||
wgPageName == 'Heiland_Sellarrie') { | |||
importScript("MediaWiki:Prototype.js"); | |||
importScript("MediaWiki:Skin/Test_zirkelklapp.js"); | |||
} | |||
// externe links in neuem browser Fenster öffnen (nicht bei interwikis) | |||
//MW1.17 | |||
function externalWindow(){ | |||
if (typeof(disableLinkWindow) != 'undefined' && disableLinkWindow) return; | |||
var allinks = document.getElementById('bodyContent').getElementsByTagName('a'); | |||
for(var i = 0; i < allinks.length; i++) { | |||
if(allinks[i].href.indexOf('kamelopedia.mormo.org/') == -1 && allinks[i].parentNode.className.indexOf('noblank') == -1){ | |||
allinks[i].target = '_blank'; | |||
} | |||
} | |||
} | |||
addOnloadHook(externalWindow); | |||
//experimenteller HTML5-Player für die Datei-Seite // | |||
//MW1.17 | |||
addOnloadHook(function() { | |||
if ((wgCanonicalNamespace=="File") && (wgAction == 'view') && (wgTitle.indexOf('.og') != -1)) { | |||
var isogg = true; | |||
var mtyp = wgTitle.substr((wgTitle.length)-3, 3); | |||
var $media = jQuery('#file.fullImageLink:first'); | |||
var $mediaLink = $media.find('a'); | |||
switch (mtyp) { | |||
case "ogg": | |||
var $mime = jQuery('<audio controls />').attr('src', $mediaLink.attr('href')).wrap('<div />'); | |||
break; | |||
case "oga": | |||
var $mime = jQuery('<audio controls />').attr('src', $mediaLink.attr('href')).wrap('<div />'); | |||
break; | |||
case "ogv": | |||
var $mime = jQuery('<video controls />').attr('src', $mediaLink.attr('href')).wrap('<div />'); | |||
break; | |||
default: | |||
isogg = false; | |||
break; | |||
} | |||
if (isogg) { | |||
var $info = jQuery('<div id="html5info" />').html('Der Player für diese Datei wird nur in oggfreundlichen<br />und HTML5fähigen Browsern angezeigt <a href="http://kamelopedia.mormo.org/index.php/Forum:Video-/_Audio-Player_(aktuelle_Infos_zu_OGG-Dateien)">(Info)</a>.<br />Alternativ die Datei halt herunterladen (Link direkt hier drunter)'); | |||
$media.html($mime).append($info); | |||
} | |||
} | |||
}); | |||
/* Funktionen zur Zeitsteuerung */ | |||
function dateFromServer () { | |||
return new Date(jQuery(jQuery(jQuery.ajax({ | |||
url: "/api.php", | |||
data: {action:"parse", format:"xml", text:"{{#timel: m_d,_Y_H:i:s}}", prop:"text"}, | |||
dataType: "xml", | |||
async: false, | |||
timeout: 300 | |||
}).responseXML).find("api parse text").text()).text().replace(/[\s\n]/g, "").replace(/_/g," ")); | |||
} | |||
function dateFromClient () { | |||
return new Date(); | |||
} | |||
// Zeit vom wahlweise Server oder vom Client holen | |||
//var now = dateFromServer(); | |||
var now = dateFromClient(); | |||
// oben: hohe Priorität, unten: niedrige Priorität | |||
// Parameter: aktuelle Zeit als Date Objekt | |||
// Rückgabewert: true zurückgeben, um weitere Aktionen zu unterbinden, sonst false | |||
// Achtung: Monate werden ab 0 gezählt, Monatstage ab 1 | |||
var dateSpecificActions = [ | |||
// cAPSLOCK dAY | |||
function (d) { | |||
if ((d.getMonth() == 9 && d.getDate() == 22) || | |||
(d.getMonth() == 5 && d.getDate() == 28) ) | |||
{ | |||
importScript("MediaWiki:Skin/dateSpecific/CAPSLOCK.js") | |||
return true; | |||
} | |||
return false; | |||
} | |||
]; | |||
for (var i=0; i<dateSpecificActions.length; i++) | |||
{ | |||
if (dateSpecificActions[i](now)) | |||
break; | |||
} | |||
/* Twütter Sönderzeichen-Füx vön Jüttstürnchen */ | |||
//MW1.17 (raus, Twitter funzte eh nicht) | |||
if (wgPageName=="Spezial:Badtitle" && document.referrer != null && (document.referrer.indexOf("twitter.com") != -1 || document.referrer.indexOf("Forum:Twittern") != -1)) | |||
{ | |||
location.href = unescape(location.href); | |||
} | |||
// Vorlage:DISPLAYTITLE | |||
//MW1.17 | |||
//MW1.17 | |||
addOnloadHook(function () { | |||
var newTitle = jQuery("#title_replacement"); | |||
if (newTitle.length && newTitle.length > 0) | |||
{ | |||
jQuery("#firstHeading").text(newTitle.text()); | |||
} | |||
}); | |||
/*Neue Bildsuche mal bei der Suchbox platzieren quick&dirty*/ | |||
//MW1.17 | |||
addOnloadHook(function addKugelsuche(){ | |||
var aKugelsuche = document.createElement("a"); | |||
aKugelsuche.title = "Kugel-Bildersuche (öffnet sich in neuem Fenster)"; | |||
aKugelsuche.className = "kugellink"; | |||
aKugelsuche.target = "_blank"; | |||
aKugelsuche.href = "http://kamelopedia.mormo.org/index.php/Commons:Kugel"; | |||
aKugelsuche.style.color = "#577FCF"; | |||
aKugelsuche.appendChild(document.createTextNode("Kugel-Bildersuche")); | |||
var DivKugelsuche = document.createElement("div"); | |||
DivKugelsuche.style.fontSize = "10px"; | |||
DivKugelsuche.style.textAlign = "right"; | |||
DivKugelsuche.style.fontWeight = "normal"; | |||
DivKugelsuche.appendChild(aKugelsuche); | |||
var NaviUl = document.getElementById("p-search").getElementsByTagName("form"); | |||
NaviUl[0].appendChild(DivKugelsuche); | |||
}); | |||
/* Warnung für Seite Kamelopedia:Das größte Schweinekamel */ | |||
//MW1.17 | |||
if (wgPageName == "Kamelopedia:Das_größte_Schweinekamel" && (wgAction == "edit" || wgAction =="submit")) { | |||
addOnloadHook(function addSchwein(){ | |||
var tSchwein = document.createTextNode("Achtung, diese Seite ist purer Quatsch! Niemand hält dich für ein Schweinekamel. Per JavaScript bekommt jedes angemeldete Kamel seinen eigenen Namen auf dieser Seite angezeigt. Also nicht aufregen ;)"); | |||
var DivSchwein = document.createElement("div"); | |||
DivSchwein.style.fontSize = "130%"; | |||
DivSchwein.style.fontWeight = "bold"; | |||
DivSchwein.style.backgroundColor = "#FFD800"; | |||
DivSchwein.style.padding = "15px"; | |||
DivSchwein.appendChild(tSchwein); | |||
var warn = document.getElementById("firstHeading"); | |||
warn.appendChild(DivSchwein); | |||
}); | |||
} | |||
Version vom 19. April 2011, 23:48 Uhr
//== hilfsfunktionen =========================================
/* jQuery einbinden falls nötig */
//MW1.17 -> kann wech, jQuery standardmässig vorhanden ...
//
function addJQuery() {
if (!window.jQuery)
document.write('<script type="text/javascript" src="/skins/common/jquery.js"></script>');
}
// Zumindest während der Testphase sollte man CSS und JS auch später nachladen können:
//MW1.17 -> kann wech (per resourceloader kann man bei bedarf nachladen lassen
//MW1.17 -> addOnloadHook deprecated -> jQuery document ready
//
addOnloadHook( function () {
/* CSS-Funktion ersetzen */
addCSS = function(title)
{
var s = document.createElement("LINK");
s.rel = "stylesheet";
s.type = "text/css";
s.href = wgScript + "?title=" + encodeURIComponent(title) + "&action=raw&ctype=text/css";
document.body.appendChild(s);
}
/* JS-Funktion ersetzen */
addJS = function(title)
{
var s = document.createElement("SCRIPT");
s.type = "text/javascript";
s.src = wgScript + "?title=" + encodeURIComponent(title) + "&action=raw&ctype=text/javascript";
document.body.appendChild(s);
}
/* JQuery-Funktion ersetzen */
addJQuery = function(title)
{
var s = document.createElement("SCRIPT");
s.type = "text/javascript";
s.src = "/skins/common/jquery.js";
document.body.appendChild(s);
}
});
//== Konstanten ===============================================
function CSS(page)
{
return {type: "CSS", page: page};
}
function JS(page)
{
return {type: "JS", page: page};
}
function SPECIAL(key)
{
return {type: "SPECIAL", key: key};
}
var defaultCSS = CSS(null);
var defaultJS = JS(null);
var libPrototype = JS("MediaWiki:Prototype.js");
var libJQuery = SPECIAL("jQuery");
var libTranslate = JS("MediaWiki:Skin/translate.js");
//== Zeug laden ===============================================
// für "MediaWiki:Skin/Namensraum:Seitenname.css" defaultCSS verwenden
// für "MediaWiki:Skin/Namensraum:Seitenname.js" defaultJS verwenden
// für andere Seiten JS("Seite") oder CSS("Seite") verwenden
var loadStuff = {
// Artikel
"Artikelbaukasten": [ defaultJS, libJQuery ],
"Bewegung": [ defaultJS ],
"Gelbsucht": [ defaultJS ],
"Latein": [ defaultJS, libJQuery, libTranslate ],
"Pseudolink": [ defaultCSS ],
"Wirklich leere Seite": [ defaultCSS ],
// Kamelopedia
"Commons:Kugel": [ defaultCSS, defaultJS, libJQuery ],
"Kamelopedia:Kalender": [ defaultCSS ],
"Kamelopedia:Harmoniehütte": [ defaultCSS ],
"Kamelopedia:Zeitreisemaschine": [ defaultJS, libJQuery, JS("Kamel:J*/lib/async.js"), JS("Kamel:J*/lib/wiki.js") ],
// Projekt
"Projekt:Ka-Mel-Oh!": [ defaultCSS ],
"Projekt:Bürokratenspiel/9. Runde/Organe/Geheimdienst": [ JS("MediaWiki:Skin/Projekt:BS9Geheimdienst.js") ],
// Forum
"Forum:Kamelopedia": [ defaultCSS ],
"Forum:Kamelopedia-Design-Wettbewerb": [ defaultJS ],
// Spezial
"Spezial:Hochladen": [ defaultCSS, defaultJS, libJQuery ],
"Spezial:RatedPages": [ defaultJS, libJQuery ],
"Spezial:KamelBox": [ defaultCSS ],
// Echzeit-Letzte-Änderungen
"Kamelopedia:RTRC": [JS("MediaWiki:Skin/Kamelopedia:RTRC.js")],
"": [] // damit oben überall Kommata stehen bleiben können
};
//
//MW1.17 -> mw.config.get( 'wgPageName' ) ...
var pageName = [wgPageName.replace(/_/g, " ")];
//
var stuffOnThisPage = loadStuff[pageName];
if (stuffOnThisPage == null) stuffOnThisPage = [];
for (var i = 0; i < stuffOnThisPage.length; i++)
{
var item = stuffOnThisPage[i];
if (item.type == "CSS")
{
if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".css";
importStylesheet(item.page);
}
else if (item.type == "JS")
{
if (item.page == null) item.page = "MediaWiki:Skin/"+pageName+".js";
importScript(item.page);
}
else if (item.type == "SPECIAL" && item.key == "jQuery")
{
addJQuery();
}
}
//================================================================================
// Bild-Box-Lizenz-Gedöns für Datei-Seitenbearbeitung
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if ((wgNamespaceNumber == 6 ) && (wgAction == 'edit' || wgAction == 'submit')) {
importStylesheet('MediaWiki:Skin/Spezial:Hochladen.css');
importScript('MediaWiki:Skin/Spezial:Hochladen.js');
}
// Kamelomedia Commons
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgNamespaceNumber == 110 || wgNamespaceNumber == 111 || wgPageName.indexOf ("Kategorie:Commons:") != -1 ){
importStylesheet("MediaWiki:Skin/Commons.css");
}
// TESTweise Aufhübschung der Logbücher
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgCanonicalSpecialPageName == "Log") {
importScript("MediaWiki:Skin/Logbuch.js");
}
// Tag-Redirects
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgPageName.indexOf ("Kategorie:Commons:") != -1 ){
importScript("Kamel:J*/lib/nulledit.js");
var nulledit_count = 0;
function ne_report (text,p)
{
nulledit_count += p;
if(nulledit_count == 0)
jQuery("#tag_redirect_info").text("Fertig. Bitte lade die Seite neu und schau nach, ob noch Dateien übrig geblieben sind.");
else
jQuery("#tag_redirect_info").text(text + " – noch " + nulledit_count + " Nulledits");
}
addOnloadHook( function () {
jQuery("#tag_redirect_go").bind("click",function () {
categoryNulledit(wgPageName, ne_report);
});
});
}
//KameloNews
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
if (wgNamespaceNumber == 108 && (wgAction == 'view' || wgAction == 'submit') ){
importStylesheet("MediaWiki:Skin/KameloNews.css");
}
// lade [[Hilfe:Edittools.js]], wenn Seite bearbeitet wird (und neue toolbar aus)
//
//MW1.17 -> mw.config.get( 'wgPageName' ) usw. ...
//if ((wgNamespaceNumber != 6 ) && (wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == false)) {
if ((wgAction == 'edit' || wgAction == 'submit') && (wgWikiEditorEnabledModules.toolbar == true)) {
importStylesheet("MediaWiki:Skin/Edittools.css");
// benötigt auch jQuery (Klick-Vorlagen)
//MW1.17 -> evtl. erst in Hilfe:Edittools.js anderen Krempel per resourceloader nachladen lassen
importScript("Hilfe:Edittools.js");
}
// Tausche [[Special:Specialpages]] gegen [[Kamelopedia:Spezialseiten]]
//MW1.17 -> addOnloadHook -> jQuery ...
addOnloadHook(function() {
document.getElementById("t-specialpages").innerHTML = '<a href="/index.php/Kamelopedia:Spezialseiten">Spezialitäten</a>';
});
//Gedudel auf [[Aufzug]] und [[Gedudel]] und [[WiKa-Sekte]]
//MW1.17 -> kein document.write -> jQuery ...
if (wgPageName == 'Aufzug' || wgPageName == 'Gedudel' || wgPageName == 'WiKa-Sekte' ) {
document.write('<embed src="http://kamelopedia.mormo.org/images/c/cb/Aufzug.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">');
}
//Gedudel auf [[Mausetot]]
//MW1.17 -> kein document.write -> jQuery ...
if (wgPageName == 'Mausetot' ) {
document.write('<embed src="http://kamelopedia.mormo.org/images/a/a3/Fuchs.mid" autostart="true" type="audio/midi" loop="true" hidden="true" height="0" width="0">');
}
//[[Popupblocker]]
//MW1.17
if (wgPageName == 'Popupblocker') {
alert("Ihr Popupblocker ist aktiviert");
}
// Motive (Tags) werden zu Links
//MW1.17
if ( wgNamespaceNumber == 6 )
importScript("MediaWiki:Skin/Datei:Motivlinks.js");
// Skin für Archiv
//MW1.17
if (wgNamespaceNumber == 104 || wgNamespaceNumber == 105) {
importStylesheet("MediaWiki:Skin/Archiv.css");
}
// Skin und script für Kamelionary
//MW1.17
if (wgNamespaceNumber == 106 || wgNamespaceNumber == 107) {
importStylesheet("MediaWiki:Skin/Kamelionary.css");
importScript("MediaWiki:Skin/Kamelionary.js");
}
//================================================================================
// Ka-Mel-Oh! CSS auch im Kamel-/Vorlagen-Namensraum nachladen
//MW1.17
if (wgNamespaceNumber == 2 || wgNamespaceNumber == 3|| wgNamespaceNumber == 10 || wgNamespaceNumber == 11) {
importStylesheet("MediaWiki:Skin/Projekt:Ka-Mel-Oh!.css");
}
// Der doofe server stürzt dauernd ab, wenn das script da unten läuft ...
//MW1.17
if (wgPageName == "Kinderporno" || wgPageName == "Server_Error") {
window.onload = function() {
if (!document.getElementById("ServerError")) return;
document.getElementsByTagName("body")[0].style.backgroundColor = "#ffffff";
document.getElementsByTagName("body")[0].style.backgroundImage = "none";
document.getElementsByTagName("body")[0].style.fontSize = "12px";
document.getElementsByTagName("body")[0].style.padding = "10px";
document.getElementsByTagName("body")[0].innerHTML = document.getElementById("ServerError").innerHTML;
}
}
// ================================================================================
//
//MW1.17 -> jQuery-Klapp standardmässig aktiviert (class mw-collapsible)
//
// Ein- und Ausblenden per Javascript
// mit den folgenden Funktionen lässt sich ein div-Konstrukt in ein Einblende-Ausblende-Ding verwandeln
//
// Variante 1 (Klick irgendwo blendet ein oder aus):
// <div class="klapp">
// <div class="klapp_t">Titel im ausgeblendeten Zustand</div>
// <div class="klapp_e">Titel im ausgeblendeten Zustand</div>
// <div class="klapp_i">Einzublendender Inhalt</div>
// </div>
//
// Variante 2 (ein- und ausblenden nur mit Links):
// <div class="klapp_x">
// <div class="klapp_t">Titel im ausgeblendeten Zustand mit <span class="klapp">Einblendelink</span></div>
// <div class="klapp_e">Titel im ausgeblendeten Zustand mit <span class="klapp">Ausblendelink</span></div>
// <div class="klapp_i">Einzublendender Inhalt</div>
// </div>
function ausklapp( element )
{
var klapp_i = null;
var klapp_e = null;
var klapp_t = null;
for (i=0; i<element.childNodes.length; i++)
{
if( element.childNodes[i].nodeType == 1 )
{
if ( element.childNodes[i].className == "klapp_i" )
klapp_i = element.childNodes[i];
else if ( element.childNodes[i].className == "klapp_t" )
klapp_t = element.childNodes[i];
else if ( element.childNodes[i].className == "klapp_e" )
klapp_e = element.childNodes[i];
}
if ( klapp_i && klapp_t && klapp_e )
break;
}
if( klapp_i.style.display != "none")
{
klapp_i.style.display = "none";
klapp_e.style.display = "none";
klapp_t.style.display = "block";
}
else
{
klapp_i.style.display = "block";
klapp_e.style.display = "block";
klapp_t.style.display = "none";
}
}
function getKlappDiv( obj )
{
while ( obj && obj.parentNode && obj.className != "klapp_x" )
obj = obj.parentNode;
return obj;
}
// Event-Handler für alle class="klapp"-Objekte zuweisen
function makeAusklapp()
{
// klapp-div-Rahmen
var a = document.getElementsByTagName("div");
for ( div=0; div<a.length; div++ )
{
if ( a[div].className == "klapp" )
{
//Leider nicht IE-Kompatibel:
//var f = function () { ausklapp(this) };
//addEvent( a[div], "click", f , false );
//stattdessen:
a[div].onclick = function () { ausklapp(this);}
}
}
// klapp-spans-Rahmen als Link-Ersatz
var a = document.getElementsByTagName("span");
for ( span=0; span<a.length; span++ )
{
if ( a[span].className == "klapp" )
{
a[span].onclick = function () { ausklapp(getKlappDiv( this ));}
}
}
urlKlapp();
}
/*
* liest aus der URL aus, ob ein bestimmtes Objekt ausgeklappt werden soll.
* angegeben werden kann eine oder mehrere Objekt-Id:
* index.php?title=Hauptseite&klapp=id1/id2/id3
*/
function urlKlapp()
{
var arg = location.href;
var reg = new RegExp(/[?&]klapp=(.*?)($|[?&])/);
arg = arg.match(reg);
if( arg == null )
return;
arg = arg[0].replace(reg,"$1");
if( arg == "" )
return;
arg = arg.split("/");
for(var i=0; i<arg.length; i++)
{
try
{
ausklapp(document.getElementById(arg[i]));
}
catch(e)
{
}
}
}
// Nach dem Laden des Fensters folgendes Ausführen:
addOnloadHook(makeAusklapp);
// ================================================================================
// altes dragobject für die Seiten, wo benutzt, ansonsten raus (alles mit class='jstest' ist dragbar)
//MW1.17
if (wgPageName == 'Projekt:Gummistiefel' ||
wgPageName == 'Kamel_Diskussion:AnnaLog/Archiv' ||
wgPageName == 'Windowspedia' ||
wgPageName == 'Gut_versteckt' ||
wgPageName == 'B-Wegung' ||
wgPageName == 'Wortspiel' ||
wgPageName == 'Kamel:Atreju/Spielplatz' ||
wgPageName == 'Kamel:Pille' ||
wgPageName == 'Bewegliche_Feiertage' ||
wgPageName == 'Kamel:J*/Ka-Mel-Oh/Testgelände' ||
wgPageName == 'Projekt_Diskussion:Gummistiefel') {
importScript("MediaWiki:Skin/Alt_dragobject.js");
}
// ================================================================================
// username template
/**
* Username replace function ([[Vorlage:USERNAME]])
* Inserts user name into <span id="insertusername"></span>
* By [[wikia:User:Splarka|Splarka]]
*/
//MW1.17
addOnloadHook(function() {
if (typeof(disableUsernameReplace) != 'undefined' && disableUsernameReplace) return;
if (!document.getElementById('pt-userpage')) return;
var spans = document.getElementsByTagName("span");
for (var i=0; i<spans.length; i++) {
var span = spans[i];
if (span.getAttribute('id') == "insertusername") {
span.innerHTML = wgUserName;
}
}
});
// ================================================================================
// FDP-Version & Zitierhilfe, nur mal so zum Spass...
//MW1.17
if (wgNamespaceNumber == 0 || wgNamespaceNumber == 106) {
addOnloadHook(function addFDPVersion(){
var aZit = document.createElement("a");
aZit.title = "Seite zitieren";
aZit.href = wgServer + "/index.php/" + "Hilfe:Zitierhilfe";
aZit.appendChild(document.createTextNode("Seite zitieren"));
var aPDF = document.createElement("a");
aPDF.title = "FDP-Version";
aPDF.href = wgServer + "/index.php/" + "PDF?klapp=pdfgen";
aPDF.appendChild(document.createTextNode("FDP-Version"));
var LiZit = document.createElement("li");
LiZit.style.whiteSpace = "nowrap";
LiZit.id = "x-zitieren";
LiZit.appendChild(aZit);
var LiPDF = document.createElement("li");
LiPDF.style.whiteSpace = "nowrap";
LiPDF.id = "x-pdf";
LiPDF.appendChild(aPDF);
var ToolboxUl = document.getElementById("p-tb").getElementsByTagName("ul");
ToolboxUl[0].appendChild(LiPDF);
ToolboxUl[0].appendChild(LiZit);
})
};
// ================================================================================
// sitenotice
// Die sitenotice per Klick verstecken (wenn eine wegklick-notice vorhanden)
//MW1.17
var siteNoticeTs; // DPL-Timestamp des letzten Edits
function hideSitenotice() {
if (document.getElementById("siteNoticeSub")) {
if (document.getElementById("siteNoticeTime") != null) {
siteNoticeTs = escape( document.getElementById("siteNoticeTime").innerHTML );
}
if (document.cookie.search(new RegExp("dontshowsitenotice="+siteNoticeTs) ) != -1) {
document.getElementById("siteNoticeInner").style.display = "none";
machdiesiteNoticewegduSau()
} else {
document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:machdiesiteNoticewegduSau()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice verbergen]</a>';
}
}
}
function machdiesiteNoticewegduSau() {
document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:gabsdanichtmalnesiteNotice()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice anzeigen]</a>';
document.getElementById("siteNoticeInner").style.display = "none";
var datum = new Date();
var ablauf = datum.getTime() + (265 * 24 * 60 * 60 * 1000);
datum.setTime(ablauf);
document.cookie = "dontshowsitenotice="+siteNoticeTs+"; path=/; expires="+datum.toGMTString();
}
function gabsdanichtmalnesiteNotice() {
document.getElementById("siteNoticeSub").innerHTML = '<a href="javascript:machdiesiteNoticewegduSau()" style="position:absolute; right:0; top:9px; font-size:0.8em;">[Sitenotice verbergen]</a>'
document.getElementById("siteNoticeInner").style.display = "block";
document.cookie = "dontshowsitenotice=never; path=/; expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
addOnloadHook(hideSitenotice);
// ================================================================================
/* Artikel-Review-Autovervollständigungs-script */
//MW1.17
if (wgNamespaceNumber=1 && wgAction == 'edit' && window.location.href.split('&')[2] == 'articlereview=true') {
var hoecker = '~~';
templateCode = '{{Artikeltest\r'
+ '| Humor/pkt =\r'
+ '| Humor/txt =\r'
+ '| Konzept/pkt =\r'
+ '| Konzept/txt =\r'
+ '| Formatierung/pkt =\r'
+ '| Formatierung/txt =\r'
+ '| Bilder/pkt =\r'
+ '| Bilder/txt =\r'
+ '| Gesamt/txt =\r'
+ '| ' + hoecker + hoecker + '\r'
+ '}}'
window.onload = function() {
var originalSource = document.getElementById('wpTextbox1').value;
var newSource = originalSource.replace(/\{\{Artikeltest\}\}/g, templateCode);
document.getElementById('wpTextbox1').value = newSource;
}
}
// TEST WiMus GaGA-Automatismus
//MW1.17
if (wgPageName == 'Forum:Unendliche_GaGA-Wahlen_/_neue_Wahl-Statuten_/_neue_Vorlagen' ||
wgPageName == 'Kamel:WiMu/GaGA-Wahl-Test/2' ||
wgPageName == 'Datei:Gaga-Test.gif' ||
wgPageName == 'Datei:Gaga-Test.png' ||
wgPageName == 'WiMu/GaGA-Wahl-Test/1' ||
wgPageName == 'Vorlage:GaGA' ||
wgPageName == 'Heiland_Sellarrie') {
importScript("MediaWiki:Prototype.js");
importScript("MediaWiki:Skin/Test_zirkelklapp.js");
}
// externe links in neuem browser Fenster öffnen (nicht bei interwikis)
//MW1.17
function externalWindow(){
if (typeof(disableLinkWindow) != 'undefined' && disableLinkWindow) return;
var allinks = document.getElementById('bodyContent').getElementsByTagName('a');
for(var i = 0; i < allinks.length; i++) {
if(allinks[i].href.indexOf('kamelopedia.mormo.org/') == -1 && allinks[i].parentNode.className.indexOf('noblank') == -1){
allinks[i].target = '_blank';
}
}
}
addOnloadHook(externalWindow);
//experimenteller HTML5-Player für die Datei-Seite //
//MW1.17
addOnloadHook(function() {
if ((wgCanonicalNamespace=="File") && (wgAction == 'view') && (wgTitle.indexOf('.og') != -1)) {
var isogg = true;
var mtyp = wgTitle.substr((wgTitle.length)-3, 3);
var $media = jQuery('#file.fullImageLink:first');
var $mediaLink = $media.find('a');
switch (mtyp) {
case "ogg":
var $mime = jQuery('<audio controls />').attr('src', $mediaLink.attr('href')).wrap('<div />');
break;
case "oga":
var $mime = jQuery('<audio controls />').attr('src', $mediaLink.attr('href')).wrap('<div />');
break;
case "ogv":
var $mime = jQuery('<video controls />').attr('src', $mediaLink.attr('href')).wrap('<div />');
break;
default:
isogg = false;
break;
}
if (isogg) {
var $info = jQuery('<div id="html5info" />').html('Der Player für diese Datei wird nur in oggfreundlichen<br />und HTML5fähigen Browsern angezeigt <a href="http://kamelopedia.mormo.org/index.php/Forum:Video-/_Audio-Player_(aktuelle_Infos_zu_OGG-Dateien)">(Info)</a>.<br />Alternativ die Datei halt herunterladen (Link direkt hier drunter)');
$media.html($mime).append($info);
}
}
});
/* Funktionen zur Zeitsteuerung */
function dateFromServer () {
return new Date(jQuery(jQuery(jQuery.ajax({
url: "/api.php",
data: {action:"parse", format:"xml", text:"{{#timel: m_d,_Y_H:i:s}}", prop:"text"},
dataType: "xml",
async: false,
timeout: 300
}).responseXML).find("api parse text").text()).text().replace(/[\s\n]/g, "").replace(/_/g," "));
}
function dateFromClient () {
return new Date();
}
// Zeit vom wahlweise Server oder vom Client holen
//var now = dateFromServer();
var now = dateFromClient();
// oben: hohe Priorität, unten: niedrige Priorität
// Parameter: aktuelle Zeit als Date Objekt
// Rückgabewert: true zurückgeben, um weitere Aktionen zu unterbinden, sonst false
// Achtung: Monate werden ab 0 gezählt, Monatstage ab 1
var dateSpecificActions = [
// cAPSLOCK dAY
function (d) {
if ((d.getMonth() == 9 && d.getDate() == 22) ||
(d.getMonth() == 5 && d.getDate() == 28) )
{
importScript("MediaWiki:Skin/dateSpecific/CAPSLOCK.js")
return true;
}
return false;
}
];
for (var i=0; i<dateSpecificActions.length; i++)
{
if (dateSpecificActions[i](now))
break;
}
/* Twütter Sönderzeichen-Füx vön Jüttstürnchen */
//MW1.17 (raus, Twitter funzte eh nicht)
if (wgPageName=="Spezial:Badtitle" && document.referrer != null && (document.referrer.indexOf("twitter.com") != -1 || document.referrer.indexOf("Forum:Twittern") != -1))
{
location.href = unescape(location.href);
}
// Vorlage:DISPLAYTITLE
//MW1.17
//MW1.17
addOnloadHook(function () {
var newTitle = jQuery("#title_replacement");
if (newTitle.length && newTitle.length > 0)
{
jQuery("#firstHeading").text(newTitle.text());
}
});
/*Neue Bildsuche mal bei der Suchbox platzieren quick&dirty*/
//MW1.17
addOnloadHook(function addKugelsuche(){
var aKugelsuche = document.createElement("a");
aKugelsuche.title = "Kugel-Bildersuche (öffnet sich in neuem Fenster)";
aKugelsuche.className = "kugellink";
aKugelsuche.target = "_blank";
aKugelsuche.href = "http://kamelopedia.mormo.org/index.php/Commons:Kugel";
aKugelsuche.style.color = "#577FCF";
aKugelsuche.appendChild(document.createTextNode("Kugel-Bildersuche"));
var DivKugelsuche = document.createElement("div");
DivKugelsuche.style.fontSize = "10px";
DivKugelsuche.style.textAlign = "right";
DivKugelsuche.style.fontWeight = "normal";
DivKugelsuche.appendChild(aKugelsuche);
var NaviUl = document.getElementById("p-search").getElementsByTagName("form");
NaviUl[0].appendChild(DivKugelsuche);
});
/* Warnung für Seite Kamelopedia:Das größte Schweinekamel */
//MW1.17
if (wgPageName == "Kamelopedia:Das_größte_Schweinekamel" && (wgAction == "edit" || wgAction =="submit")) {
addOnloadHook(function addSchwein(){
var tSchwein = document.createTextNode("Achtung, diese Seite ist purer Quatsch! Niemand hält dich für ein Schweinekamel. Per JavaScript bekommt jedes angemeldete Kamel seinen eigenen Namen auf dieser Seite angezeigt. Also nicht aufregen ;)");
var DivSchwein = document.createElement("div");
DivSchwein.style.fontSize = "130%";
DivSchwein.style.fontWeight = "bold";
DivSchwein.style.backgroundColor = "#FFD800";
DivSchwein.style.padding = "15px";
DivSchwein.appendChild(tSchwein);
var warn = document.getElementById("firstHeading");
warn.appendChild(DivSchwein);
});
}