Zum Inhalt springen

Benutzer:Flominator/change links.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. Januar 2008 um 13:12 Uhr durch Flominator (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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&section=0">[bearbeiten]</a>&nbsp;<a href="'+ wgServer + wgScript + '?title=' +  wgPageName + '&action=edit&section=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>&nbsp;<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>&nbsp;&nbsp;');
 }

 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", '&lt;references&gt;<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;
}