Benutzer:Flominator/change links.js
Erscheinungsbild
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
function add_links_talkpage()
{
/*
var section = document.getElementsByName("wpSection")[0].value;
if(!section) return;
if(section=="new")
{
insert_link_before("SPAN", "wpSummaryLabel", '<a href="#" onclick="document.getElementById(\'wpTextbox1\').value=\'Hi '+wgTitle+'\'">Hi</a>');
}*/
}
function add_links_article()
{
insert_link_before("LI", "t-permalink", '<a href="http://tools.wikimedia.de/~magnus/missing_images.php?lang=de&doit=Run&use_png=1&use_gif=1&use_jpg=1&use_tif=1&use_svg=1&donoevil=1&skipgood=0&titlelist=' + wgPageName + '" target="_blank">Bildercheck</a>');
insert_link_before("LI", "t-recentchangeslinked", '<a target="_blank" href="http://rupp.de/cgi-bin/WP-autoreview.pl?l=de&lemma=' + wgPageName + '">Autoreviewer</a>');
insert_link_before("LI", "t-recentchangeslinked", '<a target="_blank" href="http://wikipedia.ramselehof.de/contexter.php?article=' + wgPageName + '">Contexter</a>');
insert_link_before("LI", "t-recentchangeslinked", '<a target="_blank" href="http://wikipedia.ramselehof.de/contexter.php?article=' + wgPageName + '">Contexter</a>');
//Edit first section
var firstheading = document.getElementsByTagName("H1")[0];
if ((firstheading ) && (wgIsArticle))
{
var ins = document.createElement("div");
ins.innerHTML=/* */'<small align="right" class="noprint" style="font-size: 8;"><a href="'+ wgServer + wgScript + '?title=' + wgPageName + '&action=edit§ion=0">[bearbeiten]</a> <a href="'+ wgServer + wgScript + '?title=' + wgPageName + '&action=edit§ion=new" class="noprint">[Neuer Absatz]</a></small>';/* */
firstheading.parentNode.insertBefore(ins, firstheading);
}
}
function add_links_all()
{
//BLU-User-Link after logout-link (top right)
insert_link_before("LI", "pt-logout", '<a href="http://de.wikipedia.org/wiki/Portal:Rockmusik/Qualitätsoffensive">Qualitätsoffensive</a>');
//Insert WikiBlame, Contexter & Auto-Review before Changes on linked pages (left)
insert_link_before("LI", "t-recentchangeslinked", '<a target="_blank" href="http://wikipedia.ramselehof.de/wikiblame.php?article=' + wgPageName + '">WikiBlame</a>');
//normal links for images from [[Benutzer:BLueFiSH.as/monobook.js]]
if ( wgCanonicalNamespace != "Image" )
{
for (var i=0; aNode = document.getElementsByTagName("a")[i]; i++)
{
if ( href = aNode.getAttribute("href") )
{
if ( href.search(/\?title\=Bild\:/) > 0 && href.search(/\&action\=edit/) > 0 )
{
href = href.replace(/\&action\=edit/, '');
aNode.setAttribute("href", href);
}
if (href.search(/wpDestFile/) > 0)
{
href = href.replace(/Spezial\:Hochladen\&wpDestFile\=/, 'Bild:');
aNode.setAttribute("href", href);
}
}
}
}
}
function add_links_user()
{
//BLU-User beforeLogout
insert_link_before("LI", "t-upload", '<a href="http://de.wikipedia.org/w/index.php?title=Spezial%3ALogbuch&type=upload&user=' + wgTitle + '">Dateilogbuch</a>');
insert_link_before("LI", "t-upload", '<a href="http://tools.wikimedia.de/~magnus/userdupes.php?username=' + wgTitle + '&identicalsonly=1&language=de&showdesc=de&doit=Run">User-Dupes</a>');
insert_link_before("LI", "t-upload", '<a href="http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user=' + wgTitle + '&dbname=dewiki_p">Editcount</a>');
}
function add_links_image()
{
if(!document.getElementById('shared-image-desc')) //is local image
{
insert_link_before("LI", "n-mainpage", '<b><a href="http://tools.wikimedia.de/~magnus/commonshelper.php?language=de&image=' + wgTitle + '">auf Commons</a></b>');
add_dellinks_nowcommons();
}
else
{
//Link auf Bildbeschreibung in Commons zum Bearbeiten
insert_link_before("span", "commons_descr", '<b><a style="background-color:#f9f9f9;" href="http://commons.wikimedia.org/w/index.php?title=' + wgCanonicalNamespace + ':' + wgTitle + '&action=edit">[Bildbeschreibung in Commons bearbeiten]</a></b>');
}
check_image_usage();
}
function add_links_edit(form)
{
//Better Wiki-Syntax than Standard
chooseCharSubset(1);
document.getElementById('specialchars').firstChild.options[1].selected=true;
insert_link_before("LI", "privacy", '<a href="#" onclick="removeTableColumn()">Spalte löschen</a> <a href="#" onclick="labelTableColumn()">Spalte beschriften</a>');
//Auto summary, marginal edit and saving for linkfixes
place_auto_summary_link('linkfix', true, 'Linkfix');
place_auto_summary_link('Bildlink repariert', true, 'Bildfix');
place_auto_summary_link('Kosmetik', true, 'Kosmetik');
place_auto_summary_link('Tippfehler ausgebessert', true, 'Tippo');
place_auto_summary_link('Stil', true, 'Stil');
place_auto_summary_link('Link eingefügt', true, '+Link');
place_auto_summary_link('Bild eingefügt', false, '+Bild');
place_auto_summary_link('Link auf gelöschte Seite entfernt', true, '-Artikel');
place_auto_summary_link('gelöschte Vorlage entfernt', true, '-Vorlage');
place_auto_summary_link('gelöschtes Bild entfernt', true, '-Bild');
var text = form.elements["wpTextbox1"];
if(wgTitle!="Benutzer:Flominator/change links.js")
{
//Replacing regular expressions by text
text.value = text.value
.replace(/\[\[ *Image:/g, "[[Bild:")
.replace(/\[\[:Image:/gm, "[[:Bild:")
.replace(/\[\[ *bild:/gm, "[[Bild:")
.replace(/\[\[:bild:/gm, "[[:Bild:")
.replace(/^Image:/gm, "Bild:")
.replace(/{{Commons\|category:/gm, "{{Commonscat|")
.replace(/{{Commons\|Category:/gm, "{{Commonscat|")
.replace(/\[\[USA\]\]/g, "[[Vereinigte Staaten|USA]]")
.replace(/\[\[USA\|/g, "[[Vereinigte Staaten|")
.replace(/\[\[Großbritannien\]\]/g, "[[Vereinigtes Königreich|Großbritannien]]")
.replace(/\[\[Großbritannien\|/g, "[[Vereinigtes Königreich|")
.replace(/\[\[Bläser\]\]/g, "[[Blasinstrument|Bläser]]")
.replace(/Diskografie/g, "Diskografie")
.replace(/Geschichte/g, "Geschichte")
.replace(/\[\[Geige\]\]/g, "[[Violine|Geige]]")
.replace(/\[\[Geige\|/g, "[[Violine|")
.replace(/\[\[Sänger\]\]/g, "[[Gesang|Sänger]]")
.replace(/\[\[Sänger\|/g, "[[Gesang|");
}
check_for_references_tag();
check_for_wrong_links(text);
check_external_links();
}
/* functions called by the ones above */
function check_image_usage()
{
var headline = document.getElementById("filelinks");
var used = false;
if(headline)
{
while(headline.nodeName.toUpperCase() !="UL")
{
headline=headline.nextSibling;
}
var used_list = headline.childNodes;
var entry = '';
for(var i =0;i<used_list.length;i++)
{
entry = (used_list[i].textContent)
if(entry.length>1)
{
if(entry!='Bild:'+wgTitle)
{
//alert("drin bei "+entry);
used=true;
break;
}
}
}
}
if(used==true)
{
//alert("drin bei true");
var del_button = document.getElementById("bodyContent");
if(!del_button){ alert ('kein Delbutton da') }
//del_button.firstChild.data='!!!' + del_button.firstChild.data + '!!!';
del_button.style.backgroundColor='#FFC1C1';
}
}
//Insert any tag before any element with an id
function insert_link_before(tagname, previous_element, linkcode)
{
var vl_logout = document.getElementById(previous_element);
if (vl_logout)
{
var ins_li = document.createElement(tagname);
ins_li.innerHTML=/* */linkcode;/* */
vl_logout.parentNode.insertBefore(ins_li, vl_logout);
}
}
function check_image_usage()
{
var headline = document.getElementById("filelinks");
var used = false;
if(headline)
{
while(headline.nodeName.toUpperCase() !="UL")
{
headline=headline.nextSibling;
}
var used_list = headline.childNodes;
var entry = '';
for(var i =0;i<used_list.length;i++)
{
entry = (used_list[i].textContent)
if(entry.length>1)
{
if(entry!='Bild:'+wgTitle)
{
//alert("drin bei "+entry);
used=true;
break;
}
}
}
}
if(used==true)
{
//alert("drin bei true");
var del_button = document.getElementById("bodyContent");
if(!del_button){ alert ('kein Delbutton da') }
//del_button.firstChild.data='!!!' + del_button.firstChild.data + '!!!';
del_button.style.backgroundColor='#FFC1C1';
}
}
function auto_summary(summary, minor)
{
document.forms[0].wpSummary.value=document.forms[0].wpSummary.value+ ' ' + summary;
document.forms[0].wpMinoredit.checked=minor;
document.forms[0].submit()
}
function place_auto_summary_link(summary, minor, title)
{
insert_link_before("span", "wpSummaryLabel", '<big><a href="#" onclick="javascript:auto_summary(\'' + summary + '\', ' + minor + ')">' + title + '</a></big> ');
}
function check_for_references_tag()
{
var ta = document.forms[0].wpTextbox1;
var refs_there=ta.value.search(/<ref/);
var references_there=ta.value.search(/<references/);
if((refs_there > -1 )&&(references_there == -1))
{
var source = 'http://wikipedia.ramselehof.de/text_present.php?article=' + wgPageName + '&lang=' + wgContentLanguage + '&project=wikipedia&needle=references';
insert_link_before("span", "wpMinoredit", '<references><img id="ref_bild" src="' + source + '" />');
}
}
function check_for_wrong_links(ta)
{
var Satz = "Wer nicht vom [[rechten]] Weg abkommt bleibt [[auf|oder]] der Strecke";
Satz = ta.value;
var Woerter = Satz.split("[[");
var link_end;
var links = "";
for(var i=1;i<Woerter.length;i++)
{
link_end = Woerter[i].indexOf("|");
if((Woerter[i].charAt(0) != ':') && (Woerter[i].search(/Kategorie:/)==-1)&& (Woerter[i].search(/Bild:/)==-1))
{
var last_bracket = Woerter[i].indexOf("]");
if((link_end==-1) || link_end > last_bracket)
{
link_end = last_bracket;
}
var plain_link = Woerter[i].substring(0, link_end);
plain_link = plain_link.replace(/#/g, "rraauuttttee");
plain_link = plain_link.replace(/&/g, "%26");
//document.write(i + Woerter[i]);
//document.write("gekürzt:" + plain_link + '<br>');
links = links + plain_link + ';';
}
}
//alert(links);
var full_link = "http://wikipedia.ramselehof.de/bklredir.php?articles=" + links;
var iframe = '<iframe width="150" src="'+ full_link + '"></iframe>'
insert_link_before("li", "p-tb", iframe );
}
function GetElementsByClassName(tagname, classname)
{
/* [[Benutzer:ASM/WIP]] */
var ret = new Array();
var tags = document.getElementsByTagName(tagname);
for (i = 0; i < tags.length; i++)
if (tags[i].className == classname)
ret.push(tags[i]);
return ret;
}
function check_external_links()
{
checkExternalLinksByClassName("external text");
checkExternalLinksByClassName("external free");
}
function checkExternalLinksByClassName(classname)
{
var links_arr = GetElementsByClassName("a", classname);
for(var i=0;i<links_arr.length;i++)
{
var a_node = links_arr[i];
var ins_li = document.createElement("span");
ins_li.innerHTML='<img border="0" src="http://wikipedia.ramselehof.de/pinger.php?url='+ links_arr[i].href +'>';
a_node.appendChild(ins_li);
}
}
function removeTableColumn(){
var toRemove = window.prompt("Welche Spalte der Auswahl entfernen?");
var ta = document.getElementById("wpTextbox1");
var beginning = ta.value.substr(0, ta.selectionStart);
var middle = ta.value.substr(ta.selectionStart, ta.selectionEnd);
var ending = ta.value.substr(ta.selectionEnd, ta.value.length);
var table = middle.split("\n");
var i=0;
var col = 0;
var outputTable = beginning;
alert("Gewählter Text: \n" + middle);
while(i<table.length)
{
if(table[i].substr(0, 2)=="|-")
{
//alert("Zeilenende");
col=0;
}
if(col!=toRemove)
{
outputTable = outputTable + table[i] + "\n";
}
else
{
alert("Zeile " + table[i] + " entfernt");
}
i++;
col++;
}
outputTable = outputTable + ending;
alert("Ergebnis:\n" + outputTable);
ta.value=outputTable;
}
function labelTableColumn()
{
var toLabel = window.prompt("Welche Spalte der Auswahl beschriften?");
var label = window.prompt("Mit welchem Kommentar beschriften?");
var labelComment = '<!-- ' + label + ' -->';
//toRemove--; //index starts with 0
var ta = document.getElementById("wpTextbox1");
var beginning = ta.value.substr(0, ta.selectionStart);
var middle = ta.value.substr(ta.selectionStart, ta.selectionEnd);
var ending = ta.value.substr(ta.selectionEnd, ta.value.length);
var table = middle.split("\n");
var i=0;
var col = 0;
var outputTable = beginning;
//alert (table.length);
alert("Gewählter Text: \n" + middle);
while(i<table.length)
{
if(table[i].substr(0, 2)=="|-")
{
//alert("Zeilenende");
col=0;
}
if(col!=toLabel)
{
outputTable = outputTable + table[i] + "\n";
}
else
{
beginValue = table[i].lastIndexOf("|") + 1;
outputTable = outputTable + table[i].substr(0, beginValue) + labelComment + table[i].substr(beginValue) + "\n";
}
i++;
col++;
}
outputTable = outputTable + ending;
alert("Ergebnis:\n" + outputTable);
ta.value=outputTable;
}