Benutzer:Chaddy/dellink-nc.js

Aus Wikipedia

Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen zu sehen: Mozilla/Firefox: Shift-Strg-R, Internet Explorer: Strg-F5, Opera: F5, Safari: ⌘-R, Konqueror: Strg-R.

 /*
  * dellink-nc.js
  *
  * Autor: [[Benutzer:Revvar]]
  * Quelle: [[Benutzer:Revvar/dellink nowcommons.js]]
  * bisschen ergänzt von [[Benutzer:PDD]]
  * erweitert von [[Benutzer:Codeispoetry]]
  * 
  * Dokumentation:
  * - Führt sich selbst aus, lediglich Einbindung ist nötig
  * - Der Parameter 'ncderhexer' ermöglicht die Nutzung der Schnelllöschknöpfe des Monobook-Scripts von DerHexer.
  */
 
 // <nowiki>
 /* appends a delete link to picture pages marked with "Vorlage:NowCommons" */
 function add_dellinks_nowcommons()
 {
        if (typeof(ncderhexer) == 'undefined')
            ncderhexer=false;
 	var url=document.location.toString();
 	if (url.search("Bild:") >= 0) {
 		var vl_nowcommons = document.getElementById("Vorlage_NowCommons");
 		if (vl_nowcommons) {
 			var commons_link = "";
                        var commons_gleich = false;
 			var a = vl_nowcommons.getElementsByTagName("A");
 			var problem = 0; // 1 steht für eine noch verwendete Datei mit anderem Commonsnamen, 2 steht für eine existierende Diskussionsseite, 4 für einen NoCommons-Baustein
 			for (var i = 0; i < a.length; i++) {
 				var a_class = a[i].getAttribute("class");
 				if ((((a_class) && ("extiw" == a_class) && ((a[i].title+"").search(/^commons:/i) == 0)) || (a[i].href && a[i].href.search("http://commons.wikimedia.org/wiki/Image:")==0)) && a[i].title != "commons:Hauptseite") {
 					commons_link = (a[i].title+"").replace(/^commons:(.+)$/,"$1");
 					if (a[i].innerHTML.search("dem selben Namen")>=0) commons_gleich = true;
				}
 			}
 			if ("" == commons_link) return;
 			if (commons_gleich == true) {
 				var del_grund =  "Eine identische Datei ist auf Commons [[:commons:" + commons_link + "|verfügbar]].";
 			}
 			else {
 				var del_grund = "Eine identische Datei ist auf Commons [[:commons:" + commons_link + "|verfügbar]], alle Referenzen wurden ersetzt.";
if (document.getElementById("filelinks").nextSibling.innerHTML != "Kein Artikel benutzt diese Datei." && document.getElementById("filelinks").nextSibling.nextSibling.innerHTML != "Kein Artikel benutzt diese Datei.") problem = problem | 1;
 			}
 
                        if ( EditCommentLength(del_grund) > -55 ) 
                                del_grund = del_grund + " Sämtliche Metainformationen wurden korrekt übertragen.";
 
                        if ( document.getElementById('Vorlage_NoCommons') ) 
                                problem = problem | 4;
 
                        if (document.getElementById('ca-talk').className != 'new')
                                problem = problem | 2;
 
 			var pic_name = url.replace(/.*?(Bild:[^&]+)(&.*|$)/,"$1");
 			var del_div = document.createElement("DIV");
 
                        if ( ncderhexer == true ) {
                                var del_a = "<a style='font-size:18px; font-weight: bold;' onclick='deleting(\"" + del_grund + "\");'>";
                        }
                        else {
                                var del_a = '<a style="font-size:18px; font-weight: bold;" href=' + pic_name.replace(/^(.*)$/g, '"http://de.wikipedia.org/w/index.php?title=$1&image=$1&action=delete&wpReason=' + encodeURIComponent(del_grund) + '"') + '>';
                        }
 
 			del_div.innerHTML= '<table style="width:100%; text-align: center;"><tr><td>' + del_a + 'Löschen</a>&nbsp;</td></tr></table>';
                        if (problem != 0) {
                               var prob_span = document.createElement("SPAN");
                               prob_span.style.color='#ff0000';
 			       if (problem & 1) prob_span.innerHTML = 'Verwendung&nbsp;';
 			       if (problem & 2) prob_span.innerHTML = prob_span.innerHTML + 'Disku&nbsp;';
 			       if (problem & 4) prob_span.innerHTML = prob_span.innerHTML + 'NoCommons&nbsp;';
 			       del_div.getElementsByTagName('A')[0].parentNode.appendChild (prob_span);
                        }
 			vl_nowcommons.parentNode.insertBefore(del_div, vl_nowcommons);
 		}
 	}
 }
 
 addOnloadHook(add_dellinks_nowcommons);
 // </nowiki>