|
|
| (25 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| /*-------------------------------------------------------------*\
| | window.hotcat_translations_from_commons = true; |
| || --- HotCat --- ||
| |
| || Vereinfachte Kategorie- und Interwiki-Link-Änderungen, ||
| |
| || ohne die Seite beabeiten zu müssen. Basierend auf ||
| |
| || http://commons.wikimedia.org/wiki/MediaWiki:Gadget- ||
| |
| || HotCat.js/Documentation ||
| |
| || ||
| |
| || Wichtigste Funktionen: ||
| |
| || hotcat_init() Initialisierung ||
| |
| || hotcat_edit() Bearbeitet eine Kategorie ||
| |
| || hotcat_getcatlist() Liste mit Kategorie-Vorschlägen ||
| |
| || hotinter_edit() Bearbeitet einen Interwiki-Link ||
| |
| || hotinter_bot() Bot bei Wookieepedia ||
| |
| || refreshcategorylist() Aktualisiert die Kategorien-Anzeige ||
| |
| || refreshinterwikilist() Aktualisiert die Interwiki-Anzeige ||
| |
| || refreshinterwikicleanup() Aktualisiert Liste falscher IW-Ls ||
| |
| \*-------------------------------------------------------------*/
| |
|
| |
|
| function hotcat_addlink() {
| | /* |
| //Wenn die Seite automatisch geändert werden soll | | This imports the latest version of HotCat from Commons. |
| if (window.location.href.search(/&hotcat=true/) != -1 && wgAction=="edit") {
| | HotCat is a gadget to make changes to categories much easier. |
| parent.document.getElementById("submitstatus_span_de").innerHTML+=" Kategorien werden geändert...";
| | Full documentation can be found at http://commons.wikimedia.org/wiki/Help:Gadget-HotCat |
| newcattext=document.getElementById("wpTextbox1").innerHTML;
| | */ |
|
| | mw.loader.load( '//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript' ); |
| //Ergänze Qualitätssicherungsvorlage
| |
| checkedqs=parent.checkedqs;
| |
| checkedqs_desc=parent.checkedqs_desc;
| |
| if (checkedqs!="keine Vorlage") {
| |
| if (checkedqs=="KQ" && wgNamespaceNumber==6) checkedqs="Bildquelle";
| |
| if (checkedqs_desc=="") {
| |
| newcattext='\{\{'+checkedqs+'\}\}\n'+newcattext;
| |
| } else if(parent.checkbox_qs==false) {
| |
| newcattext='\{\{'+checkedqs+'|1='+checkedqs_desc+'\}\}\n'+newcattext;
| |
| } else {
| |
| newcattext='\{\{'+checkedqs+'|1='+checkedqs_desc+' --\~\~\~\~\}\}\n'+newcattext;
| |
| }
| |
| }
| |
|
| |
| //Ändere Kategorien
| |
| defaultsortvar=parent.defaultsortvar_parent;
| |
| if (defaultsortvar==wgPageName) {defaultsortvar="";}
| |
| hotcat_categories=parent.hotcat_categories;
| |
| if (newcattext.search(/\[\[\Kategorie:.+]\]/)!=-1) {
| |
| newcattext=newcattext.replace(/(\[\[\Kategorie:.+]\] ?\r?\n?)+/g, "__KATEGORIELISTE__");
| |
| } else {//Wenn es noch keine Kategorien gibt
| |
| if (wgNamespaceNumber==6 && newcattext.search(/Hochladen/!=-1)) {//Füge die Kategorien bei Bildern unter "Kategorie" in der Hochlagen-Vorlage ein
| |
| newcattext=newcattext.replace(/\|Kategorie=(.+)}}/, "|Kategorie=__KATEGORIELISTE__$1}}");
| |
| } else {//Ansonsten am Ende der Seite
| |
| newcattext+="\n__KATEGORIELISTE__";
| |
| }
| |
| }
| |
| hotcat_wikimarkup=document.getElementById("wpTextbox1").innerHTML;
| |
| defaultsortvar_old="";
| |
| while (hotcat_wikimarkup.search(/\{\{DEFAULTSORT:.+\}\}/)!=-1) {
| |
| hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("\{\{DEFAULTSORT:")+1, hotcat_wikimarkup.length);
| |
| defaultsortvar_old=hotcat_wikimarkup.substring(13, hotcat_wikimarkup.indexOf("}"));
| |
| }
| |
| if (defaultsortvar=="") {//löschen
| |
| newcattext=newcattext.replace(/\{\{DEFAULTSORT:.+\}\}/g, "");
| |
| } else if (defaultsortvar_old!=defaultsortvar) {//ändern
| |
| if (newcattext.search(/\{\{DEFAULTSORT:.+\}\}/)!=-1) {
| |
| newcattext=newcattext.replace(/\{\{DEFAULTSORT:.+\}\}/g, "\{\{DEFAULTSORT:"+defaultsortvar+"\}\}");
| |
| } else {
| |
| newcattext=newcattext.replace(/__KATEGORIELISTE__/, "\{\{DEFAULTSORT:"+defaultsortvar+"\}\}\n__KATEGORIELISTE__");
| |
| }
| |
| }
| |
| newcattext_preview="";
| |
| for (i=0; i<hotcat_categories.length; i++) {
| |
| newcattext_preview+="[[Kategorie:"+hotcat_categories[i]+"]]\n";
| |
| }
| |
| newcattext=newcattext.replace(/__KATEGORIELISTE__/, newcattext_preview);
| |
| newcattext=newcattext.replace(/__KATEGORIELISTE__/g, "");
| |
| newcattext=newcattext.replace(/&/g, "&");
| |
| newcattext=newcattext.replace(/</g, "<");
| |
| newcattext=newcattext.replace(/>/g, ">");
| |
| | |
| //Ändere Interwiki-Links
| |
| interwiki_links_old=new Array();
| |
| hotcat_wikimarkup=document.getElementById("wpTextbox1").innerHTML;
| |
| for (i=0; i<interwiki_list.length; i++) {
| |
| interwiki_regexp = new RegExp("\\[\\["+interwiki_list[i][0]+":(.+)\\]\\]");
| |
| if (interwiki_regexp.test(hotcat_wikimarkup)) {
| |
| interwiki_links_old.push(new Array(interwiki_list[i][0], RegExp.$1, false));
| |
| interwiki_regexp = new RegExp("\\{\\{(Vorlage:)?FA\\|"+interwiki_list[i][0]+"\\}\\}");
| |
| if (interwiki_regexp.test(hotcat_wikimarkup)) {
| |
| interwiki_links_old[interwiki_links_old.length-1][2]=true;
| |
| }
| |
| }
| |
| }
| |
| interwiki_links=parent.interwikis;
| |
| if (hotcat_categories.length>0 && interwiki_links_old.length==0 && interwiki_links.length>0) {newcattext+="\n"}
| |
| for (i=0; i<interwiki_list.length; i++) {//Alte Links löschen
| |
| interwiki_regexp = new RegExp("\\[\\["+interwiki_list[i][0]+":(.+)\\]\\]\\r?\\n?","g");
| |
| newcattext=newcattext.replace(interwiki_regexp, "");
| |
| interwiki_regexp = new RegExp("{{(Vorlage:)?FA\\|"+interwiki_list[i][0]+"}}\\r?\\n?\\r?\\n?","g");
| |
| newcattext=newcattext.replace(interwiki_regexp, "");
| |
| }
| |
| for (i=0; i<interwiki_links.length; i++) {//neue einfügen
| |
| if (interwiki_links[i][2]==true) {
| |
| newcattext+='\{\{FA|'+interwiki_links[i][0]+'\}\}\n';
| |
| }
| |
| }
| |
| for (i=0; i<interwiki_links.length; i++) {
| |
| newcattext+="[["+interwiki_links[i][0]+":"+interwiki_links[i][1]+"]]\n";
| |
| }
| |
|
| |
| //Erstelle Zusammenfassung
| |
| hotcat_categories_old=new Array();
| |
| hotcat_wikimarkup=document.getElementById("wpTextbox1").innerHTML;
| |
| while (hotcat_wikimarkup.search(/\[\[Kategorie:.+\]\]/)!=-1) {
| |
| hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("[[Kategorie:")+1, hotcat_wikimarkup.length);
| |
| hotcat_categories_old.push(hotcat_wikimarkup.substring(11, hotcat_wikimarkup.indexOf("]")));
| |
| }
| |
| hotcat_diffarrays=comparearrays("cat", hotcat_categories_old, hotcat_categories);
| |
| hotcat_categories_old=hotcat_diffarrays[0].slice(0);
| |
| hotcat_categories=hotcat_diffarrays[1].slice(0);
| |
| hotinter_diffarrays=comparearrays("interwiki", interwiki_links_old, interwiki_links);
| |
| interwiki_links_old=hotinter_diffarrays[0].slice(0);
| |
| interwiki_links=hotinter_diffarrays[1].slice(0);
| |
| //Jetzt enthalten die Arrays nur noch die Änderungen
| |
| summary_elements=new Array();
| |
| //Gelöschte Elemente
| |
| if (hotcat_categories_old.length>0) {
| |
| summary_working="- [[Kategorie:"+ (hotcat_categories_old[0]+"|").slice(0,hotcat_categories_old[0].indexOf("|")) +"]]";
| |
| for (i=1; i<hotcat_categories_old.length; i++) {
| |
| summary_working+=", [[Kategorie:"+ (hotcat_categories_old[i]+"|").slice(0,hotcat_categories_old[i].indexOf("|")) +"]]";
| |
| }
| |
| if (interwiki_links_old.length>0) {
| |
| for (i=0; i<interwiki_links_old.length; i++) {
| |
| summary_working+=", [["+interwiki_links_old[i][0]+":"+interwiki_links_old[i][1]+"]]";
| |
| }
| |
| }
| |
| summary_elements.push(summary_working);
| |
| } else if (interwiki_links_old.length>0) {
| |
| summary_working="- [["+interwiki_links_old[0][0]+":"+interwiki_links_old[0][1]+"]]";
| |
| for (i=1; i<interwiki_links_old.length; i++) {
| |
| summary_working+=", [["+interwiki_links_old[i][0]+":"+interwiki_links_old[i][1]+"]]";
| |
| }
| |
| summary_elements.push(summary_working);
| |
| }
| |
| //Ergänzte Elemente
| |
| if (hotcat_categories.length>0) {
| |
| summary_working="+ [[Kategorie:"+ (hotcat_categories[0]+"|").slice(0,hotcat_categories[0].indexOf("|")) +"]]";
| |
| for (i=1; i<hotcat_categories.length; i++) {
| |
| summary_working+=", [[Kategorie:"+ (hotcat_categories[i]+"|").slice(0,hotcat_categories[i].indexOf("|")) +"]]";
| |
| }
| |
| if (interwiki_links.length>0) {
| |
| for (i=0; i<interwiki_links.length; i++) {
| |
| summary_working+=", [["+interwiki_links[i][0]+":"+interwiki_links[i][1]+"]]";
| |
| }
| |
| }
| |
| summary_elements.push(summary_working);
| |
| } else if (interwiki_links.length>0) {
| |
| summary_working="+ [["+interwiki_links[0][0]+":"+interwiki_links[0][1]+"]]";
| |
| for (i=1; i<interwiki_links.length; i++) {
| |
| summary_working+=", [["+interwiki_links[i][0]+":"+interwiki_links[i][1]+"]]";
| |
| }
| |
| summary_elements.push(summary_working);
| |
| }
| |
| if (parent.checkedqs!="keine Vorlage") {
| |
| if (checkedqs_desc=="") {
| |
| summary_elements.push(parent.checkedqs+"-Vorlage ergänzt.");
| |
| } else {
| |
| summary_elements.push(parent.checkedqs+"-Vorlage ergänzt ("+checkedqs_desc+").");
| |
| }
| |
| }
| |
| if (defaultsortvar_old!=defaultsortvar) {
| |
| if (defaultsortvar_old=="") {
| |
| summary_elements.push("DEFAULTSORT ergänzt.");
| |
| } else if (defaultsortvar=="") {
| |
| summary_elements.push("DEFAULTSORT entfernt.");
| |
| } else {
| |
| summary_elements.push("DEFAULTSORT geändert.");
| |
| }
| |
| }
| |
| | |
| summary="[[Hilfe:HotCat|HotCat]]";
| |
| if (parent.hotcat_comment && parent.hotcat_comment!=undefined && parent.hotcat_comment!="") {//Wenn eigener Kommentar angegeben wurde
| |
| summary+=" ("+parent.hotcat_comment+")";
| |
| }
| |
| summary+=": "+summary_elements.join(" | ");
| |
| if (summary_elements.length==0) {
| |
| summary+="Reihenfolge der Kategorien oder FA-Vorlage(n) geändert.";
| |
| }
| |
| | |
| //Markiere Änderung als "Kleinigkeit"
| |
| if (document.getElementById("wpMinoredit")) document.getElementById("wpMinoredit").checked=true;
| |
| //Ändere die Kategorien
| |
| document.getElementById("wpTextbox1").value=newcattext;
| |
| //Ergänze Zusammenfassung
| |
| document.getElementById("wpSummary").value=summary;
| |
| //Sende ab
| |
| document.getElementById("editform").submit();
| |
| return;
| |
| }
| |
| | |
| //Bearbeitungsfenster schließen, wenn Änderung abgeschlossen ist
| |
| if (parent.document.getElementById("submitstatus_table")) {
| |
| window.onload=function(){
| |
| window.setTimeout('parent.document.getElementById("submitstatus_table").removeChild(parent.document.getElementById("submitstatus_tr_de"));',500);
| |
| }
| |
| return;
| |
| }
| |
| | |
| //Prüfen, ob HotCat aktiviert werden soll: Abbruch, wenn
| |
| //nur Administratoren die Seite bearbeiten dürfen und man selber keiner ist
| |
| /*if (!hotcat_issysop) {
| |
| for (i=0; i<wgRestrictionEdit.length; i++) {if (wgRestrictionEdit[i]=="sysop") {return;}}
| |
| }*/
| |
| //oder wenn man die Seite bearbeitet oder im Vorschau-Modus ist
| |
| if (wgAction=="edit" || wgAction=="submit" || wgAction=="history" || wgAction=="delete" || wgAction=="protect" || wgAction=="unprotect" || wgAction=="watch" || wgAction=="unwatch" || wgCanonicalNamespace=="Special") {return;}
| |
| //oder wenn man im Versionsvergleich ist
| |
| var obj=document.getElementsByTagName("table");
| |
| for(i=0; i<obj.length; i++) {if (obj[i].className=="diff") {return;}}
| |
| //oder wenn sich die Seite im Vorlagen-Namensraum befindet (denn dann werden Kategorien meistens über die Vorlage eingefügt)
| |
| if (wgNamespaceNumber!=0 && wgNamespaceNumber!=4 && wgNamespaceNumber!=6 && wgNamespaceNumber!=12 && wgNamespaceNumber!=14) {return;}
| |
| //oder wenn die Seite nicht existiert
| |
| if (wgCurRevisionId == false) {return;}
| |
| | |
| //Wenn die Seite noch keine Kategorien besitzt, muss die Kategorie-Box ergänzt werden
| |
| if (!document.getElementById("catlinks")) {
| |
| document.getElementById("bodyContent").innerHTML+='<div id="catlinks"><p class="catlinks"><a href="/wiki/index.php/Spezial:Categories" title="Spezial:Categories">Kategorien</a>: <i>leer</i></p></div>';
| |
| }
| |
| | |
| document.getElementById("catlinks").innerHTML+='<div id="hotcat_initlink" align="right"><small><a href="javascript:loadRCData2();">HotCat</a></small></div>';
| |
| }
| |
| | |
| hotcat_getRCDataRO = getXmlHttpRequestObject();
| |
| //Starte eine Anfrage nach dem Inhalt der Seite
| |
| function loadRCData2() {
| |
| if (hotcat_getRCDataRO.readyState == 4 || hotcat_getRCDataRO.readyState == 0) {
| |
| document.getElementById("hotcat_initlink").innerHTML='<img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif">';
| |
| hotcat_getRCDataRO.open("GET", wikiurl1+encodeURIComponent(wgPageName)+'&action=raw&nocache='+wgCurRevisionId, true);
| |
| hotcat_getRCDataRO.onreadystatechange = hotcat_init;
| |
| hotcat_getRCDataRO.send(null);
| |
| }
| |
| }
| |
| | |
| //Initialisierung von HotCat
| |
| function hotcat_init() {
| |
| //Wenn Antwort kommt
| |
| if (hotcat_getRCDataRO.readyState != 4) {return;}
| |
| document.getElementById("hotcat_initlink").innerHTML="";
| |
| hotinter_bot("login");//Login bei allen anderen Wikis
| |
| hotcat_wikimarkup=hotcat_getRCDataRO.responseText;
| |
| | |
| //---- AJAX-AUSWERTUNG ---- //
| |
| | |
| defaultsortname="";
| |
| hotcat_categories=new Array();
| |
| if (hotcat_wikimarkup.search(/\{\{DEFAULTSORT:.+\}\}/)!=-1) {
| |
| hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("\{\{DEFAULTSORT:"), hotcat_wikimarkup.length);
| |
| defaultsortname=hotcat_wikimarkup.substring(14, hotcat_wikimarkup.indexOf("}}"));
| |
| }
| |
| while (hotcat_wikimarkup.search(/\[\[Kategorie:.+\]\]/)!=-1) {
| |
| hotcat_wikimarkup=hotcat_wikimarkup.substring(hotcat_wikimarkup.indexOf("[[Kategorie:")+1, hotcat_wikimarkup.length);
| |
| hotcat_categories.push(hotcat_wikimarkup.substring(11, hotcat_wikimarkup.indexOf("]")));
| |
| }
| |
| catlinks_old=document.getElementById("catlinks").innerHTML;
| |
| catlinks_old=catlinks_old.replace(/<p class=["']catlinks["']><a href=["']\/wiki\/index.php5?(\/|(\?title=))Spezial\:Categories["']/,"");
| |
| catlinks_old=catlinks_old.replace(/ title=["']Spezial:Categories["']>Kategorien?<\/a>: <span dir=["']ltr["']>/,"");
| |
| catlinks_old=catlinks_old.replace(/<\/span><\/p><div id="hotcat_initlink" align="right"><\/div>/,"");
| |
| catlinks_old=catlinks_old.split(/<\/span> \| <span dir=["']ltr["']>/);
| |
| existingcategories=new Array();//Kategorien, die es gibt
| |
| missingcategories=new Array();//Kategorie, die es nicht gibt
| |
| hidden_categories=new Array();//Kategorien, die über eine Vorlage eingebunden wurden
| |
| for (i=0; i<catlinks_old.length; i++) {
| |
| if (catlinks_old[i].search(/class=["']new["']/)==-1) {
| |
| catlinks_old[i]=catlinks_old[i].replace(/<a href="\/wiki\/index\.php5?(\/|(\?title=))Kategorie:.+" title="Kategorie:.+">(.+)<\/a>/, "$3");
| |
| existingcategories.push(catlinks_old[i]);
| |
| } else {
| |
| catlinks_old[i]=catlinks_old[i].replace(/<a href="\/wiki\/index\.php5?\?title=Kategorie:.+&action=edit" class="new" title="Kategorie:.+">(.+)<\/a>/, "$1");
| |
| missingcategories.push(catlinks_old[i]);
| |
| }
| |
| //Versteckte Kategorien herausfinden
| |
| for (j=0; j<hotcat_categories.length; j++) {
| |
| if (i<0) iworking=0; else iworking=i;
| |
| if (hotcat_categories[j].indexOf("|")!=-1)
| |
| hotcat_working=hotcat_categories[j].substring(0,hotcat_categories[j].indexOf("|"))
| |
| else hotcat_working=hotcat_categories[j];
| |
| if (catlinks_old[iworking]==hotcat_working) {
| |
| catlinks_old.splice(i, 1);
| |
| if (i>-1)i--;
| |
| }
| |
| }
| |
| }
| |
| for (i=0; i<catlinks_old.length; i++) {
| |
| hidden_categories.push(catlinks_old[i]);
| |
| }
| |
| | |
| interwikis=new Array();
| |
| //Prüfe, welche Interwiki-Links in der Seite sind
| |
| for (i=0; i<interwiki_list.length; i++) {
| |
| interwiki_regexp = new RegExp("\\[\\["+interwiki_list[i][0]+":(.+)\\]\\]");
| |
| if (interwiki_regexp.test(hotcat_getRCDataRO.responseText)) {
| |
| interwikis.push(new Array(interwiki_list[i][0], RegExp.$1, false));//Sprachcode, Lemma, FA
| |
| interwiki_regexp = new RegExp("\\{\\{(Vorlage:|Template:)?FA\\|"+interwiki_list[i][0]+"\\}\\}");
| |
| if (interwiki_regexp.test(hotcat_getRCDataRO.responseText)) {
| |
| interwikis[interwikis.length-1][2]=true;
| |
| }
| |
| }
| |
| }
| |
| | |
| //---- INTERFACE ---- //
| |
| | |
| catlinks_new='<div id="catlinks2"><div id="catlinks"><p class="catlinks">';
| |
| catlinks_new+='<h2 style="padding-top: 0px;"><span class="editsection"><a href="/wiki/index.php/Hilfe:HotCat" target="_blank">HotCat-Hilfe</a> | <a href="javascript:hotcat_edit(\'cancel\');">Schließen</a></span> <span class="mw-headline"><img src="http://www.jedipedia.de/wiki/thumb.php?f=HOTCAT+Logo.png&w=80" alt="Eine rote Katze läuft zwischen den Worten HOT und CAT." title="HOT CAT"></h2>';
| |
| catlinks_new+='<div style="width: 695px; float: left; margin-bottom: 30px;">';
| |
| | |
| //Kategorien
| |
| catlinks_new+='<h3><span class="editsection"></span> <span class="mw-headline">Kategorien</span></h3>';
| |
| catlinks_new+='<table cellspacing=3 style="background-color:transparent;">';
| |
| catlinks_new+='<tr><td align="right">\{\{DEFAULTSORT:</td><td><input value="'+defaultsortname+'" size="60" id="defaultsort" onfocus="hotcat_edit(\'defaultsort_focus\')" style="width: 386px;"> \}\}</td></tr>';
| |
| catlinks_new+='<tr><td></td><td><small style="color: #555;">Beispiel: „Anakin Skywalker“ wird als „Skywalker, Anakin“ einsortiert.</small></td></tr>';
| |
| catlinks_new+='<tr><td align="right">Kategorie ergänzen:</td><td><span id="vorschlaegecreatecatname" style="position:absolute;left:150px;width:300px;height:100px;margin-top:-112px;padding:5px;overflow:auto;border:1px solid #aaa;background-color:#f9f9f9;display:none;" onclick="hotcat_edit(\'openbox\',\'vorschlaegecreatecatname\')"><b>Vorschläge:</b></span><input size="60" id="createcatname" onkeyup="hotcat_keyup(\'createcatname\');" onfocus="hotcat_edit(\'openbox\',\'vorschlaegecreatecatname\')" onblur="hotcat_edit(\'closebox\',\'vorschlaegecreatecatname\')" style="width: 386px;"> <input onclick="hotcat_edit(\'add\')" type="button" value="Hinzufügen"></td></tr>';
| |
| catlinks_new+='<tr><td></td><td><span id="categorylist"></span></td></tr>';
| |
| catlinks_new+='<tr><td></td><td>Vor kurzem gelöschte Kategorien: <span id="hotcat_recentlyremoved"><i>nichts</i></span></td></tr>';
| |
| if (hidden_categories.length>0) {
| |
| catlinks_new+='<tr><td></td><td>Versteckte Kategorien: '+hidden_categories.join(", ")+'</td></tr>';
| |
| catlinks_new+='<tr><td></td><td><small style="color: #555;">Diese Kategorien werden durch Vorlagen eingebunden und können nicht mit HotCat bearbeitet werden.</small></td></tr>';
| |
| }
| |
| catlinks_new+='<tr><td colspan=2><br>';
| |
| | |
| //Qualitätssicherungsvorlagen
| |
| catlinks_new+='<h3><span class="editsection"></span> <span class="mw-headline">Qualitätssicherungsvorlage</span></h3></td></tr>';
| |
| catlinks_new+='<tr><td align="right">Vorlage wählen:</td><td><ul style="margin: -5px;">';
| |
| for (i=0; i<qs_vorlagen.length; i++) {
| |
| if (qs_vorlagen[i]=="QM") {if (wgNamespaceNumber==6) {//Bild-Namensraum
| |
| catlinks_new+='<li style="display:inline-block; margin-left:10px;"><input type="radio" name="vorlagen" value="'+qs_vorlagen[i]+'"> '+qs_vorlagen[i]+'</li>';
| |
| }} else if (qs_vorlagen[i]=="keine Vorlage") {
| |
| catlinks_new+='<li style="display:inline-block; margin-left:10px;"><input type="radio" name="vorlagen" value="'+qs_vorlagen[i]+'" checked> '+qs_vorlagen[i]+'</li>';
| |
| } else {
| |
| catlinks_new+='<li style="display:inline-block; margin-left:10px;"><input type="radio" name="vorlagen" value="'+qs_vorlagen[i]+'"> '+qs_vorlagen[i]+'</li>';
| |
| }
| |
| }
| |
| catlinks_new+='</ul></td></tr>';
| |
| catlinks_new+='<tr><td>Begründung (optional):</td><td><input id="qsvorlage_desc" size=60 style="width: 386px;"></td></tr>';
| |
| catlinks_new+='<tr><td></td><td><small style="color: #555;">Beispiel: „Für dieses Bild ist keine ausreichende Quelle vorhanden.“</small> <input id="qsvorlage_checkbox" type="checkbox" checked> Signatur</td></tr></table></div>';
| |
| | |
| //Interwiki-Links
| |
| catlinks_new+='<div style="min-width: 300px; float: left; margin-bottom: 30px;"><h3><span class="editsection">';
| |
| catlinks_new+='<a href="http://www.google.de/search?q=';
| |
| if (interwikis.length>0) catlinks_new+='allintitle:+';
| |
| catlinks_new+='site:starwars.wikia.com+OR+site:ossus.pl+OR+site:wookiepedia.fr+';
| |
| for (i=0; i<3; i++) {
| |
| catlinks_new+=encodeURIComponent(wgTitle.replace(/ ?\(.+\)/, "").split(" ").join("+OR+"));
| |
| GoogleEN: for (j=0; j<interwikis.length; j++) {if (interwikis[j][0]=="en" && interwikis[j][1]!=wgTitle) {
| |
| catlinks_new+='+OR+'+encodeURIComponent(interwikis[j][1].replace(/\(.+\)/, "").split(" ").join(" OR "));break GoogleEN;
| |
| }}
| |
| }
| |
| //.replace(/von OR (.+)( OR .+)?/)
| |
| catlinks_new+='&num=100&filter=0" target="_blank">Links suchen</a>';
| |
| catlinks_new+='</span> <span class="mw-headline">InterWiki-Links</span></h3>';
| |
| catlinks_new+='<table cellspacing=3 style="background-color:transparent;">';
| |
| catlinks_new+='<tr><td width=130 align="right">InterWiki ergänzen:</td><td>\[\[<select id="addinterwikikuerzel" style="height: 22px;">';
| |
| for (i=0; i<interwiki_list.length; i++) {
| |
| catlinks_new+='<option title="'+interwiki_list[i][1]+'"';
| |
| if(interwiki_list[i][0]=="de")catlinks_new+=' disabled';
| |
| catlinks_new+='>'+interwiki_list[i][0]+'</option>';
| |
| }
| |
| catlinks_new+='</select>:<input size="50" value="'+wgTitle+'" id="addinterwiki" style="width: 350px;">\]\] <input type="button" value="Hinzufügen" onclick="hotinter_edit(\'add\');"></td></tr>';
| |
| catlinks_new+='<tr><td></td><td><small style="color: #555;">Damit der Artikel in der jeweiligen Sprache verlinkt werden kann, musst du hier seinen Titel eintragen.</small></td></tr>';
| |
| catlinks_new+='<tr><td align="right" valign="top">InterWikis ändern:</td><td><div id="interwikilist"></div><br>';
| |
| catlinks_new+='<tr><td align="right" valign="top">InterWiki-CleanUp:</td><td><div id="interwiki_cleanup_loading"><img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif"> Die InterWiki-Links bei anderen Wikis werden geladen. (<span id="interwiki_cleanup_loadingstatus">0</span>/'+interwikis.length+')</div><div id="interwiki_cleanup"></div></td></tr></table></div>';
| |
| catlinks_new+='<br style="clear: left;"><div style="background-color: #AAA; padding: 10px;">';
| |
| catlinks_new+='<div style="margin-left: 52px; margin-bottom: 3px;">Kommentar: <input size="60" id="hotcatcomment" style="width: 386px;"> <input type="button" value="Speichern" onclick="hotcat_edit(\'submit\')"></div>';
| |
| catlinks_new+='<span style="display: inline-block; margin-left: 130px;"><small>Die Angabe eines Kommentars ist optional.</small></span><input type="button" value="Abbrechen" onclick="hotcat_edit(\'cancel\')" style="float: right;">';
| |
| catlinks_new+='<br style="clear:right;"></div></p></div></div>';
| |
| | |
| document.getElementById("bodyContent").innerHTML+=catlinks_new;
| |
| refreshcategorylist();
| |
| hotinter_bot("createlist");
| |
| refreshinterwikilist();
| |
| }
| |
| | |
| closebox=new Array();
| |
| function hotcat_edit(mode, id) {
| |
| if (mode=="add" && document.getElementById("createcatname").value!="") {//Kategorie hinzufügen
| |
| catadd=true;
| |
| for (j=0; j<hotcat_blacklist.length; j++) {
| |
| if (hotcat_blacklist[j]==document.getElementById("createcatname").value) {
| |
| catadd=false;
| |
| alert("Diese Kategorie kann nicht hinzugefügt werden, weil sie über eine Vorlage eingebunden werden muss.");
| |
| break;
| |
| }
| |
| }
| |
| if (catadd==true) {
| |
| hotcat_categories.push(document.getElementById("createcatname").value);
| |
| refreshcategorylist();
| |
| document.getElementById("createcatname").value="";
| |
| }
| |
| } else if (mode=="del") {//Kategorie löschen
| |
| categoryismissing="";
| |
| for (j=0; j<missingcategories.length; j++) {
| |
| if (hotcat_categories[id]==missingcategories[j]) {categoryismissing=' class="new"';}
| |
| }
| |
| if (document.getElementById("hotcat_recentlyremoved").innerHTML=="<i>nichts</i>") {
| |
| document.getElementById("hotcat_recentlyremoved").innerHTML='<span id="removed_'+hotcat_categories[id]+'"><a href="/wiki/index.php/Kategorie:'+hotcat_categories[id]+'"'+categoryismissing+'>'+hotcat_categories[id]+'</a> <a href="javascript:hotcat_edit(\'rev\',\''+hotcat_categories[id]+'\')" title="wiederherstellen">↺</a></span>';
| |
| } else {
| |
| document.getElementById("hotcat_recentlyremoved").innerHTML+='<span id="removed_'+hotcat_categories[id]+'">, <a href="/wiki/index.php/Kategorie:'+hotcat_categories[id]+'"'+categoryismissing+'>'+hotcat_categories[id]+'</a> <a href="javascript:hotcat_edit(\'rev\',\''+hotcat_categories[id]+'\')" title="wiederherstellen">↺</a></span>';
| |
| }
| |
| hotcat_categories.splice(id,1);
| |
| refreshcategorylist();
| |
| } else if (mode=="rev") {//Gelöschte Kategorie wiederherstellen
| |
| hotcat_categories.push(id);
| |
| refreshcategorylist();
| |
| document.getElementById("removed_"+id).innerHTML="";
| |
| } else if (mode=="edit") {//Bearbeitungsfeld öffnen
| |
| document.getElementById("category_"+id).innerHTML='<font color="#bbb">–</font> <font color="#bbb">±</font> <font color="#bbb">↑</font> <font color="#bbb">↓</font> <span id="vorschlaegenewcatname'+id+'" style="position:absolute;width:350px;height:100px;margin-top:-135px;overflow:auto;border:1px solid #aaa;background-color:#f9f9f9;display:none;padding:5px;left:250px;" onclick="hotcat_edit(\'openbox\',\'vorschlaegenewcatname'+id+'\')"><b>Vorschläge:</b></span><input value="'+hotcat_categories[id]+'" size="40" id="newcatname'+id+'" onkeyup="hotcat_keyup(\'newcatname'+id+'\');" onfocus="hotcat_edit(\'openbox\',\'vorschlaegenewcatname'+id+'\')" onblur="hotcat_edit(\'closebox\',\'vorschlaegenewcatname'+id+'\')"> <input onclick="hotcat_edit(\'editok\','+id+')" type="button" value="Übernehmen"> <input onclick="hotcat_edit(\'editcancel\','+id+')" type="button" value="Abbrechen">';
| |
| hotcat_keyup("newcatname"+id);
| |
| } else if (mode=="editok") {//Kategorie ändern
| |
| hotcat_categories[id]=document.getElementById("newcatname"+id).value;
| |
| refreshcategorylist();
| |
| } else if (mode=="editcancel") {//Bearbeitungsfeld schließen
| |
| refreshcategorylist();
| |
| } else if (mode=="submit") {//Änderungen speichern
| |
| defaultsortvar_parent=document.getElementById("defaultsort").value;
| |
| hotcat_comment=document.getElementById("hotcatcomment").value;
| |
| checkedqs_desc=document.getElementById("qsvorlage_desc").value;
| |
| checkbox_qs=document.getElementById("qsvorlage_checkbox").checked;
| |
| checkedqs="keine Vorlage";
| |
| if (wgNamespaceNumber!=6) for (i=0; i<qs_vorlagen.length; i++) {if (qs_vorlagen[i]=="QM")qs_vorlagen.splice(i,1);}
| |
| for (i=0; i<document.getElementsByName("vorlagen").length; i++) {
| |
| if (document.getElementsByName("vorlagen")[i].checked) {checkedqs=qs_vorlagen[i];}
| |
| }
| |
| catlinks_submit ='<div id="catlinks"><img src="http://www.jedipedia.de/wiki/thumb.php?f=HOTCAT+Logo.png&w=150" alt="Eine rote Katze läuft zwischen den Worten HOT und CAT." title="HOT CAT" align="right"><h3>HotCat ist am Ändern.</h3>';
| |
| catlinks_submit+='<b>Bitte schließe das Fenster erst, wenn die Änderungen abgeschlossen sind und die Bestätigung erscheint!</b><br><br>';
| |
| catlinks_submit+='<table id="submitstatus_table" width="100%" style="background-color:transparent;">';
| |
| catlinks_submit+='<tr id="submitstatus_tr_de"><td valign="top">de</td><td><img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif"> <span id="submitstatus_span_de">Seite wird geladen...</span><br>';
| |
| catlinks_submit+='<iframe src="'+wikiurl1+encodeURIComponent(wgPageName)+'&action=edit&hotcat=true&printable=yes" width=100% height=100></iframe></td></tr>';
| |
| catlinks_submit+='</table></div>';
| |
| document.getElementById("catlinks2").innerHTML=catlinks_submit;
| |
| hotinter_bot("gettoken");
| |
| } else if (mode=="cancel") {//HotCat beenden
| |
| document.getElementById("bodyContent").removeChild(document.getElementById("catlinks2"));
| |
| hotcat_addlink();
| |
| } else if (mode=="vorschlagclick") {
| |
| oldinputvalue=document.getElementById(id[0]).value;
| |
| document.getElementById(id[0]).value=id[1].replace(/%/g,'"');
| |
| document.getElementById(id[0]).style.color="#002bb8";
| |
| document.getElementById(id[0]).focus();
| |
| } else if (mode=="openbox") {//Vorschläge-Kasten öffnen
| |
| if (closebox[id]) {window.clearTimeout(window.closebox[id]);}
| |
| document.getElementById(id).style.display="block";
| |
| } else if (mode=="closebox") {//Vorschläge-Kasten schließen
| |
| closebox[id]=window.setTimeout('document.getElementById("'+id+'").style.display="none";',175);
| |
| } else if (mode=="defaultsort_focus") {
| |
| if (document.getElementById("defaultsort").value=="") {
| |
| if (wgTitle.search(/ (von|um|auf|in|nach|beim) /)!=-1) {
| |
| if (wgTitle.substring(0, wgTitle.indexOf(" "+RegExp.$1+" ")).search(/ /)!=-1) {
| |
| document.getElementById("defaultsort").value=wgTitle.substring(wgTitle.indexOf(" "+RegExp.$1+" ")+RegExp.$1.length+2) + ", " + wgTitle.substring(0, wgTitle.lastIndexOf(" "));
| |
| } else {
| |
| document.getElementById("defaultsort").value=wgTitle.substring(wgTitle.indexOf(" "+RegExp.$1+" ")+RegExp.$1.length+2) + ", " + wgTitle.substring(0, wgTitle.indexOf(" "+RegExp.$1+" ")) + " "+RegExp.$1;
| |
| }
| |
| } else if (wgTitle.substring(0, 4)=="The ") {
| |
| document.getElementById("defaultsort").value=wgTitle.substring(4)+", The";
| |
| } else if (wgTitle.search(/ /)!= -1) {
| |
| document.getElementById("defaultsort").value=wgTitle.substring(wgTitle.lastIndexOf(" ")+1) + ", " + wgTitle.substring(0, wgTitle.lastIndexOf(" "));
| |
| } else {
| |
| document.getElementById("defaultsort").value=wgTitle;
| |
| }
| |
| window.setTimeout('document.getElementById("defaultsort").focus();document.getElementById("defaultsort").select();',50);
| |
| }
| |
| } else if (mode=="up") {//Kategorie nach oben verschieben
| |
| old1=hotcat_categories[id-1];old2=hotcat_categories[id];
| |
| hotcat_categories[id-1]=old2;
| |
| hotcat_categories[id]=old1;
| |
| refreshcategorylist();
| |
| } else if (mode=="down") {//Kategorie nach untern verschieben
| |
| old1=hotcat_categories[id];old2=hotcat_categories[id+1];
| |
| hotcat_categories[id]=old2;
| |
| hotcat_categories[id+1]=old1;
| |
| refreshcategorylist();
| |
| }
| |
| }
| |
| | |
| //Interwiki-Link wird bearbeitet
| |
| function hotinter_edit(mode, id) {
| |
| if (mode=="add") {//ergänzen
| |
| newinterwikikuerzel=interwiki_list[document.getElementById("addinterwikikuerzel").selectedIndex][0];
| |
| newinterwikitext=document.getElementById("addinterwiki").value;
| |
| interwikis.push(new Array(newinterwikikuerzel,newinterwikitext,false));
| |
| refreshinterwikilist();
| |
| document.getElementById("addinterwiki").value=wgTitle;
| |
| } else if (mode=="edit") {//bearbeiten öffnen
| |
| hotinter_working='<font color="#bbb">–</font> <font color="#bbb">±</font> \[\[<select id="editinterwikikuerzel'+id+'">';
| |
| for (i=0; i<interwiki_list.length; i++) {
| |
| hotinter_working+='<option title="'+interwiki_list[i][1]+'"';
| |
| if (interwiki_list[i][0]=="de") {hotinter_working+=' disabled';}
| |
| if (interwiki_list[i][0]==interwikis[id][0]) {hotinter_working+=' selected';}
| |
| hotinter_working+='>'+interwiki_list[i][0]+'</option>';
| |
| }
| |
| hotinter_working+='</select>:<input value="'+interwikis[id][1]+'" style="width: 250px;" id="interwikiedit'+id+'">\]\] <input onclick="hotinter_edit(\'editsubmit\','+id+')" type="button" value="Übernehmen"> <input onclick="hotinter_edit(\'editcancel\','+id+')" type="button" value="Abbrechen">';
| |
| document.getElementById("interwiki_"+id).innerHTML=hotinter_working;
| |
| } else if (mode=="editsubmit") {//bearbeiten absenden
| |
| interwikis[id][0]=interwiki_list[document.getElementById("editinterwikikuerzel"+id).selectedIndex][0];
| |
| interwikis[id][1]=document.getElementById("interwikiedit"+id).value;
| |
| refreshinterwikilist();
| |
| } else if (mode=="editcancel") {//bearbeiten abbrechen
| |
| refreshinterwikilist();
| |
| } else if (mode=="del") {//löschen
| |
| interwikis.splice(id,1);
| |
| refreshinterwikilist();
| |
| } else if (mode=="toggle") {//Exzellent-Status ändern
| |
| if (interwikis[id][2]==true) {
| |
| interwikis[id][2]=false;
| |
| } else {
| |
| interwikis[id][2]=true;
| |
| }
| |
| refreshinterwikilist();
| |
| } else if (mode=="add_custom") {
| |
| id=id.split("|");
| |
| interwikis.push(new Array(id[0],id[1],false));
| |
| refreshinterwikilist();
| |
| } else if (mode=="edit_custom") {
| |
| for (i=0; i<interwikis.length; i++) {
| |
| if (interwikis[i][0]==id[0]) interwikis[i][1]=id[1];
| |
| }
| |
| refreshinterwikilist();
| |
| } else if (mode=="rev") {//wiederherstellen, noch nicht implementiert
| |
| }
| |
| refreshinterwikicleanup();
| |
| }
| |
| | |
| //For-Schleife mit allen Interwiki-Links
| |
| // Inhalt abrufen
| |
| // Interwiki-Links heraussuchen (mit DE!!!)
| |
| // Änderungen in Arrays schreiben
| |
| // Prüfen ob alle Abfragen fertig; wenn ja, Liste anzeigen
| |
| //Liste mit Änderungen
| |
| | |
| //Beim Absenden:
| |
| //Login
| |
| //For-Schleife mit Änderungen
| |
| // Gettoken
| |
| // Edit
| |
| //Logout
| |
| | |
| //Ändert eine Seite bei Wookieepedia oder bei einem anderen Star-Wars-Wiki
| |
| hotcat_proxy="/proxy.php";
| |
| hotcat_cookie=new Array();
| |
| hotcat_token=new Array();
| |
| hotinter_bot_length=0;
| |
| interwikis_wikia=new Array();//Interwiki-Links bei anderen Wikis
| |
| interwikis_wikia_original=new Array();//Sicherungskopie
| |
| hotinter_responsetexts=new Array();//Sicherungskopie der Seiteninhalte der Wikis
| |
| hotinter_getcontents_requests=new Array();
| |
| hotcat_getLoginRequests=new Array();
| |
| hotcat_getTokenRequests=new Array();
| |
| hotcat_getEditRequests=new Array();
| |
| hotinter_edittime="";
| |
| function hotinter_bot(mode, kuerzel, lemma, summary, content) {
| |
| if (mode=="opensearch") {//Womöglich für Vorschläge oder Prüfung, ob Seite existiert - im Moment nicht implementiert
| |
| } else if (mode=="createlist") {//Erstelle Liste mit falschen Interwiki-Links bei anderen Wikis
| |
| hotinter_bot_length=interwikis.length;
| |
| for (i=0; i<interwikis.length; i++) {
| |
| hotinter_bot("checkredirect",i);
| |
| }
| |
| } else if (mode=="checkredirect") {//Prüft, ob der Interwiki-Link eine Weiterleitung ist
| |
| hotinter_getcontents_requests[kuerzel]=getXmlHttpRequestObject();
| |
| hotinter_getcontents_requests[kuerzel].hotcat_id=kuerzel;
| |
| hotinter_getcontents_requests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
| |
| if (this.responseText.search(/missing=""/)!=-1) {
| |
| alert('Der InterWiki-Link [['+interwikis[this.hotcat_id][0]+':'+interwikis[this.hotcat_id][1]+']] ist ungültig, weil er zu einer nicht existierenden Seite führt.\nEr wurde automatisch aus der Interwiki-Liste von StargateWiki entfernt.');
| |
| hotinter_edit("del",this.hotcat_id);
| |
| return;
| |
| }
| |
| if (this.responseText.search(/redirect=""/)!=-1) {//Wenn die Seite eine Weiterleitung ist
| |
| idworking=this.hotcat_id;
| |
| hotinter_getcontents_requests[idworking]=getXmlHttpRequestObject();
| |
| hotinter_getcontents_requests[idworking].hotcat_id=idworking;
| |
| hotinter_getcontents_requests[idworking].onreadystatechange=function(){if(this.readyState==4){
| |
| //Dann prüfe, wohin die Weiterleitung führt
| |
| returnredirect=/#.+\[\[(.+)\]\]/.exec(this.responseText);
| |
| alert('Der InterWiki-Link [['+interwikis[this.hotcat_id][0]+':'+interwikis[this.hotcat_id][1]+']] ist eine Weiterleitung und wurde automatisch zu [['+interwikis[this.hotcat_id][0]+':'+returnredirect[1]+']] korrigiert.\nEr muss noch bei den anderen Wikis korrigiert werden.');
| |
| interwikis[this.hotcat_id][1]=returnredirect[1];
| |
| refreshinterwikilist();
| |
| hotinter_bot("checkredirect",this.hotcat_id);
| |
| }}
| |
| hotinter_getcontents_requests[idworking].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[interwikis[idworking][0]]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[interwikis[idworking][0]]][3]+"index.php?title="+encodeURIComponent(interwikis[idworking][1])+"&action=raw"), true);
| |
| hotinter_getcontents_requests[idworking].send(null);
| |
| } else {//Wenn die Seite ein normalen Artikel und keine Weiterleitung ist
| |
| hotinter_bot("fetchinterwikis",this.hotcat_id);
| |
| }
| |
| }}
| |
| hotinter_getcontents_requests[kuerzel].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][3]+"api.php?action=query&titles="+encodeURIComponent(interwikis[kuerzel][1])+"&prop=info&format=xml"), true);
| |
| hotinter_getcontents_requests[kuerzel].send(null);
| |
| } else if (mode=="fetchinterwikis") {//Erstelle eine Liste mit Interwiki-Links bei einem bestimmten Wiki
| |
| hotinter_getcontents_requests[kuerzel]=getXmlHttpRequestObject();
| |
| hotinter_getcontents_requests[kuerzel].hotcat_id=kuerzel;
| |
| hotinter_getcontents_requests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
| |
| hotinter_responsetexts.push(this.responseText);
| |
| interwikis_wikia[interwikis_wikia.length]=new Array();
| |
| interwikis_wikia_original[interwikis_wikia_original.length]=new Array();//Das Array wird später verändert, daher muss eine Sicherungskopie angelegt werden
| |
| interwikis_wikia[interwikis_wikia.length-1][0]=new Array(interwikis[this.hotcat_id][0],interwikis[this.hotcat_id][1]);
| |
| interwikis_wikia_original[interwikis_wikia_original.length-1][0]=new Array(interwikis[this.hotcat_id][0],interwikis[this.hotcat_id][1]);
| |
| for (j=0; j<interwiki_list.length; j++) {
| |
| interwiki_regexp = new RegExp("\\[\\["+interwiki_list[j][0]+":(.+)\\]\\]");
| |
| if (interwiki_regexp.test(this.responseText)) {
| |
| innerLoop: for (k=0; k<interwiki_list[interwiki_codes[interwikis[this.hotcat_id][0]]][4].length; k++) {
| |
| if (interwiki_list[interwiki_codes[interwikis[this.hotcat_id][0]]][4][k]==interwiki_list[j][0]) {
| |
| interwikis_wikia[interwikis_wikia.length-1].push(new Array(interwiki_list[j][0], RegExp.$1));
| |
| interwikis_wikia_original[interwikis_wikia_original.length-1].push(new Array(interwiki_list[j][0], RegExp.$1));
| |
| break innerLoop;
| |
| }
| |
| }
| |
| }
| |
| }
| |
| refreshinterwikicleanup();//Aktualisiere Liste
| |
| hotinter_bot_length--;//Wenn alle Wikis kontrolliert wurden
| |
| document.getElementById("interwiki_cleanup_loadingstatus").innerHTML=interwikis.length-hotinter_bot_length;
| |
| if (hotinter_bot_length<1) document.getElementById("interwiki_cleanup_loading").innerHTML="";//Entferne Lade-Icon
| |
| }}
| |
| hotinter_getcontents_requests[kuerzel].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[interwikis[kuerzel][0]]][3]+"index.php?title="+encodeURIComponent(interwikis[kuerzel][1])+"&action=raw"), true);
| |
| hotinter_getcontents_requests[kuerzel].send(null);
| |
| } else if (mode=="addlink") {//Füge Link bei einem anderen Wiki virtuell ein
| |
| for (i=0; i<interwikis_wikia.length; i++) {
| |
| if (interwikis_wikia[i][0][0]==summary) {
| |
| interwikis_wikia[i].push(new Array(kuerzel,lemma));
| |
| interwiki_working=new Array(interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]);
| |
| interwikis_wikia[i].shift();
| |
| interwikis_wikia[i].sort(sortInterwikis);
| |
| interwikis_wikia[i].unshift(interwiki_working);
| |
| }
| |
| }
| |
| refreshinterwikicleanup();
| |
| } else if (mode=="editlink") {//Ändere Link bei einem anderen Wiki virtuell
| |
| for (i=0; i<interwikis_wikia.length; i++) {
| |
| if (interwikis_wikia[i][0][0]==summary) {
| |
| for (j=0; j<interwikis_wikia[i].length; j++) {
| |
| if (interwikis_wikia[i][j][0]==kuerzel) {
| |
| interwikis_wikia[i][j][1]=lemma;
| |
| }
| |
| }
| |
| }
| |
| }
| |
| refreshinterwikicleanup();
| |
| } else if (mode=="deljp") {//Link bei StargateWiki virtuell entfernen
| |
| for (i=0; i<interwikis.length; i++) {
| |
| if (interwikis[i][0]==kuerzel) {
| |
| hotinter_edit("del",i);
| |
| }
| |
| }
| |
| } else if (mode=="dellink") {//Link bei einem anderen Wiki virtuell entfernen
| |
| for (i=0; i<interwikis_wikia.length; i++) {
| |
| if (interwikis_wikia[i][0][0]==lemma) {
| |
| for (j=0; j<interwikis_wikia[i].length; j++) {
| |
| if (interwikis_wikia[i][j][0]==kuerzel) {
| |
| interwikis_wikia[i].splice(j,1);
| |
| }
| |
| }
| |
| }
| |
| }
| |
| refreshinterwikicleanup();
| |
| } else if (mode=="login") {//Login, um etwas zu ändern, siehe [[en:User:HotCat]]
| |
| for (m=0; m<interwiki_list.length; m++) {
| |
| if (interwiki_list[m][0]=="de") continue;
| |
| hotcat_getLoginRequests[m]=getXmlHttpRequestObject();
| |
| hotcat_getLoginRequests[m].id=m;
| |
| hotcat_getLoginRequests[m].onreadystatechange=function(){if(this.readyState==4){
| |
| inhalt=this.responseXML.documentElement.getElementsByTagName('login')[0];
| |
| if (inhalt.attributes.length>4) {hotcat_cookieprefix=inhalt.attributes[4].nodeValue;hotcat_cookiesession=inhalt.attributes[5].nodeValue;} else {hotcat_cookieprefix="ossus2";hotcat_cookiesession="";}
| |
| hotcat_cookie[interwiki_list[this.id][0]]=hotcat_cookieprefix+"UserName="+inhalt.attributes[2].nodeValue+";"+hotcat_cookieprefix+"UserID="+inhalt.attributes[1].nodeValue+";"+hotcat_cookieprefix+"Token="+inhalt.attributes[3].nodeValue+";"+hotcat_cookieprefix+"_session="+hotcat_cookiesession;
| |
| // hotcat_cookie_alt="lgtoken="+inhalt.attributes[3].nodeValue+"&lgusername="+inhalt.attributes[2].nodeValue+"&lguserid="+inhalt.attributes[1].nodeValue;
| |
| }}
| |
| hotcat_getLoginRequests[m].open("POST", hotcat_proxy+"?mode=post&host="+interwiki_list[m][2]+"&path="+encodeURIComponent(interwiki_list[m][3]+"api.php?action=login&format=xml"), true);
| |
| hotcat_getLoginRequests[m].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
| |
| hotcat_getLoginRequests[m].send("lgname=HotCat&lgpassword=__INSERTPASSWORDHERE__");
| |
| }
| |
| } else if (mode=="gettoken") {//Beantrage Edit-Token
| |
| for (m=0; m<interwikis_wikia.length; m++) {
| |
| kuerzel=interwikis_wikia[m][0][0];lemma=interwikis_wikia[m][0][1];
| |
| hotinterwikia_diffarrays=comparearrays("interwiki", interwikis_wikia_original[m].slice(0), interwikis_wikia[m].slice(0));
| |
| interwikis_old_working=hotinterwikia_diffarrays[0].slice(0);
| |
| interwikis_new_working=hotinterwikia_diffarrays[1].slice(0);
| |
| if (interwikis_old_working.length>0 || interwikis_new_working.length>0) {//Wenn sich was geändert hat
| |
| document.getElementById("submitstatus_table").appendChild(document.createElement("tr"));//Statusanzeige ergänzen
| |
| document.getElementById("submitstatus_table").lastChild.id="submitstatus_tr_"+kuerzel;
| |
| document.getElementById("submitstatus_table").lastChild.innerHTML='<td>'+kuerzel+'</td><td><span id="submitstatus_span_'+kuerzel+'"><img src="http://www.jedipedia.de/wiki/images/Ajax-loader.gif"> Beantrage Edit-Token...</span></td>';
| |
| content=hotinter_responsetexts[m];
| |
| for (n=0; n<interwiki_list.length; n++) {//Alte Links löschen
| |
| interwiki_regexp = new RegExp("(<\\!--(\\n)?)?\\[\\["+interwiki_list[n][0]+":(.+)\\]\\]((\\n)?-->)?\\r?\\n?","g");
| |
| content=content.replace(interwiki_regexp, "");
| |
| }
| |
| content=content.replace(/(\r?\n)+$/,"");content+="\n\n";//Absätze am Ende entfernen
| |
| for (n=1; n<interwikis_wikia[m].length; n++) {//Neue Links ergänzen
| |
| content+='[['+interwikis_wikia[m][n][0]+':'+interwikis_wikia[m][n][1]+']]\n';
| |
| }
| |
| summary='[[de:User:'+wgUserName+']] updated the interwiki links: ';//Zusammenfassung erstellen
| |
| if (interwikis_old_working.length>0) summary+='- ';
| |
| for (n=0; n<interwikis_old_working.length; n++) {
| |
| summary+='[['+interwikis_old_working[n][0]+':'+interwikis_old_working[n][1]+']]';
| |
| if (n<interwikis_old_working.length-1) summary+=', '; else summary+=' | ';
| |
| }
| |
| if (interwikis_new_working.length>0) summary+='+ ';
| |
| for (n=0; n<interwikis_new_working.length; n++) {
| |
| summary+='[['+interwikis_new_working[n][0]+':'+interwikis_new_working[n][1]+']]';
| |
| if (n<interwikis_new_working.length-1) summary+=', ';
| |
| }
| |
| | |
| hotcat_getTokenRequests[m]=getXmlHttpRequestObject();
| |
| hotcat_getTokenRequests[m].kuerzel=kuerzel;hotcat_getTokenRequests[m].lemma=lemma;hotcat_getTokenRequests[m].summary=summary;hotcat_getTokenRequests[m].content=content;
| |
| hotcat_getTokenRequests[m].onreadystatechange=function(){if(this.readyState==4){
| |
| inhalt=this.responseXML.documentElement;
| |
| if (this.kuerzel=="pl") {
| |
| hotcat_token[this.kuerzel]=inhalt.getElementsByTagName('page')[0].attributes[7].nodeValue;
| |
| hotinter_edittime=inhalt.getElementsByTagName('page')[0].attributes[3].nodeValue.replace(/T|Z|\:|\-/,"");
| |
| hotinter_bot("pledit", this.kuerzel, this.lemma, this.summary, this.content);
| |
| } else {
| |
| hotcat_token[this.kuerzel]=inhalt.getElementsByTagName('page')[0].attributes[8].nodeValue;
| |
| hotinter_bot("edit", this.kuerzel, this.lemma, this.summary, this.content);
| |
| }
| |
| }}
| |
| hotcat_getTokenRequests[m].open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"api.php?action=query&prop=info&titles="+encodeURIComponent(lemma)+"&intoken=edit&format=xml"), true);
| |
| hotcat_getTokenRequests[m].send(null);
| |
| }
| |
| }
| |
| } else if (mode=="edit") {//Ändere die Seite
| |
| document.getElementById("submitstatus_span_"+kuerzel).innerHTML+=" Ändere Seite...";
| |
| hotcat_getEditRequests[kuerzel]=getXmlHttpRequestObject();
| |
| hotcat_getEditRequests[kuerzel].kuerzel=kuerzel;
| |
| hotcat_getEditRequests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
| |
| document.getElementById("submitstatus_span_"+this.kuerzel).innerHTML+=" Fertig!";
| |
| window.setTimeout('document.getElementById("submitstatus_table").removeChild(document.getElementById("submitstatus_tr_'+this.kuerzel+'"));',500);
| |
| if (document.getElementById("submitstatus_table").childNodes.length==0) alert("Fertig!");
| |
| // hotinter_bot("logout",kuerzel);
| |
| }}
| |
| hotcat_getEditRequests[kuerzel].open("POST", hotcat_proxy+"?mode=post&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"api.php?action=edit&format=xml&token="+encodeURIComponent(hotcat_token[kuerzel])+"title="+encodeURIComponent(lemma)+"&summary="+encodeURIComponent(summary)), true);
| |
| hotcat_getEditRequests[kuerzel].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
| |
| hotcat_getEditRequests[kuerzel].send("action=edit&format=xml&title="+encodeURIComponent(lemma)+"&token="+encodeURIComponent(hotcat_token[kuerzel])+"&summary="+encodeURIComponent(summary)+"&text="+encodeURIComponent(content));
| |
| } else if (mode=="logout") {//Logout
| |
| hotcat_getRequest = getXmlHttpRequestObject();
| |
| hotcat_getRequest.onreadystatechange=function(){}
| |
| //alert(hotcat_getRequest.responseText);
| |
| hotcat_getRequest.open("GET", hotcat_proxy+"?mode=get&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"api.php?action=logout&format=xml")+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&"+Math.random(), true);
| |
| hotcat_getRequest.send(null);
| |
| } else if (mode=="pledit") {//Änderung bei Ossus.pl (MediaWiki-Version 1.11 unterstützt kein Edit-API)
| |
| alert("Änderungen bei ossus.pl sind im Moment noch nicht möglich.");document.getElementById("submitstatus_table").removeChild(document.getElementById("submitstatus_tr_pl"));return;
| |
| hotcat_getEditRequests[kuerzel] = getXmlHttpRequestObject();
| |
| hotcat_getEditRequests[kuerzel].onreadystatechange=function(){if(this.readyState==4){
| |
| alert(this.responseText);
| |
| }}
| |
| hotcat_getEditRequests[kuerzel].open("POST", hotcat_proxy+"?mode=post&host="+interwiki_list[interwiki_codes[kuerzel]][2]+"&cookie="+encodeURIComponent(hotcat_cookie[kuerzel])+"&path="+encodeURIComponent(interwiki_list[interwiki_codes[kuerzel]][3]+"index.php?title="+lemma+"&action=submit")+"&"+Math.random(), true);
| |
| hotcat_getEditRequests[kuerzel].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
| |
| jetzt=new Date();
| |
| starttime=String(jetzt.getUTCFullYear())+String(jetzt.getUTCMonth()+1)+String(jetzt.getUTCDate())+String(jetzt.getUTCHours())+String(jetzt.getUTCMinutes())+String(jetzt.getUTCSeconds());
| |
| parameters="wpSection=&wpStarttime="+starttime+"&wpEdittime="+hotinter_edittime+"&wpTextbox1="+encodeURIComponent(content)+"&wpSummary="+encodeURIComponent(summary)+"&wpSave=Seite+speichern&wpEditToken="+encodeURIComponent(hotcat_token);
| |
| // hotcat_getEditRequests[kuerzel].setRequestHeader("Content-length", parameters.length);
| |
| // hotcat_getEditRequests[kuerzel].setRequestHeader("Connection", "close");
| |
| hotcat_getEditRequests[kuerzel].send(parameters);
| |
| }
| |
| }
| |
| | |
| //Taste wird gedrückt
| |
| function hotcat_keyup(elementvar) {
| |
| workingelement=elementvar;
| |
| catname=document.getElementById(elementvar).value;
| |
| document.getElementById(elementvar).style.color="black";
| |
| if (catname=="") {return;}
| |
| for (i=0; i<existingcategories.length; i++) {
| |
| if (catname==existingcategories[i]) {
| |
| document.getElementById(elementvar).style.color="#002bb8";
| |
| }
| |
| }
| |
| for (i=0; i<missingcategories.length; i++) {
| |
| if (catname==missingcategories[i]) {
| |
| document.getElementById(elementvar).style.color="#ba0000";
| |
| }
| |
| }
| |
| // window.setTimeout('hotcat_getcatlist("'+catname+'");',100);
| |
| hotcat_getcatlist(catname);
| |
| }
| |
| | |
| //Suche nach Kategorie, um Vorschläge zu machen
| |
| function hotcat_getcatlist(catname) {
| |
| hotcat_getRCDataR1 = getXmlHttpRequestObject();
| |
| if (hotcat_getRCDataR1.readyState == 4 || hotcat_getRCDataR1.readyState == 0) {
| |
| catname=catname.split("|");
| |
| hotcat_getRCDataR1.open("GET", wikiurl2+'?action=opensearch&search=Kategorie:'+catname[0], true);
| |
| hotcat_getRCDataR1.onreadystatechange = hotcat_parsecatlist;
| |
| hotcat_getRCDataR1.send(null);
| |
| }
| |
| }
| |
| | |
| //Wenn Antwort kommt
| |
| function hotcat_parsecatlist() {
| |
| if (hotcat_getRCDataR1.readyState == 4) {
| |
| catlist_ajax=eval(hotcat_getRCDataR1.responseText);
| |
| catlist_ajax=catlist_ajax;
| |
| catlist_ajax[0]=catlist_ajax[0].substring(10, catlist_ajax[0].length);
| |
| newvorschlaegehtml="<b>Vorschläge:</b><br>";
| |
| if (catlist_ajax[1]!="") {
| |
| if (catlist_ajax[0]==catlist_ajax[1][0].substring(10, catlist_ajax[1][0].length)) {
| |
| document.getElementById(workingelement).style.color="#002bb8";
| |
| } else {
| |
| missingcategories.push(catlist_ajax[0]);
| |
| document.getElementById(workingelement).style.color="#ba0000";
| |
| }
| |
| for (i=0; i<catlist_ajax[1].length; i++) {
| |
| catlist_ajax[1][i]=catlist_ajax[1][i].substring(10, catlist_ajax[1][i].length);
| |
| existingcategories.push(catlist_ajax[1][i]);
| |
| newvorschlaegehtml+='<a href="javascript:hotcat_edit(\'vorschlagclick\',new Array(\''+workingelement+'\',\''+catlist_ajax[1][i].replace(/'/g,"\\'").replace(/"/g,"%")+'\'));" title="auswählen">↴ '+catlist_ajax[1][i]+'</a><br>';
| |
| }
| |
| } else {
| |
| missingcategories.push(catlist_ajax[0]);
| |
| document.getElementById(workingelement).style.color="#ba0000";
| |
| }
| |
| document.getElementById("vorschlaege"+workingelement).innerHTML=newvorschlaegehtml;
| |
| document.getElementById("vorschlaege"+workingelement).style.display="block";
| |
| }
| |
| }
| |
| | |
| //Aktualisiert die Liste mit den Kategorien laut hotcat_categories[]
| |
| function refreshcategorylist() {
| |
| catlinks_new="";
| |
| if (hotcat_categories.length==1) {
| |
| catpreview='<p class=\'catlinks\'><a href="/wiki/index.php/Spezial:Categories" title="Spezial:Categories">Kategorie</a>: ';
| |
| } else {
| |
| catpreview='<p class=\'catlinks\'><a href="/wiki/index.php/Spezial:Categories" title="Spezial:Categories">Kategorien</a>: ';
| |
| }
| |
| for (i=0; i<hotcat_categories.length; i++) {
| |
| categoryismissing="";
| |
| if (hotcat_categories[i].search(/\|/)==-1) hotcat_catworking=hotcat_categories[i]; else hotcat_catworking=hotcat_categories[i].substring(0, hotcat_categories[i].indexOf("|"));
| |
| for (j=0; j<missingcategories.length; j++) {
| |
| if (hotcat_categories[i]==missingcategories[j]) {categoryismissing=' class="new"';}
| |
| }
| |
| catworking='<span id="category_'+i+'"><a href="javascript:hotcat_edit(\'del\','+i+')" title="löschen">–</a> <a href="javascript:hotcat_edit(\'edit\','+i+')" title="bearbeiten">±</a>';
| |
| if (i==0) catworking+=' <font color="#bbb">↑</font>'; else {catworking+=' <a href="javascript:hotcat_edit(\'up\','+i+')" title="nach oben verschieben">↑</a>';catpreview+=' | ';}
| |
| catpreview+='<span dir=\'ltr\'><a href="/wiki/index.php/Kategorie:'+hotcat_catworking+'"'+categoryismissing+' title="Kategorie:'+hotcat_categories[i]+'">'+hotcat_categories[i]+'</a></span>';
| |
| if (i==hotcat_categories.length-1) {catworking+=' <font color="#bbb">↓</font>';} else {catworking+=' <a href="javascript:hotcat_edit(\'down\','+i+')" title="nach unten verschieben">↓</a>';}
| |
| catworking+=' <a href="/wiki/index.php/Kategorie:'+hotcat_catworking+'"'+categoryismissing+'>'+hotcat_categories[i]+'</a></span><br>';
| |
| catlinks_new+=catworking;
| |
| }
| |
| catpreview+='</p>';
| |
| document.getElementById("categorylist").innerHTML=catlinks_new;
| |
| document.getElementById("catlinks").innerHTML=catpreview;
| |
| }
| |
| | |
| //Aktualisiert die Liste mit den Interwiki-Links laut interwikis[]
| |
| function refreshinterwikilist() {
| |
| interwikis.sort(sortInterwikis);
| |
| interwiki_links="";
| |
| for (i=0; i<interwikis.length; i++) {
| |
| interwiki_links+='<span id="interwiki_'+i+'"><a href="javascript:hotinter_edit(\'del\','+i+');" title="löschen">–</a> <a href="javascript:hotinter_edit(\'edit\','+i+');" title="bearbeiten">±</a> <a href="javascript:hotinter_edit(\'toggle\','+i+');" title="Exzellenter-Artikel-Status (de-)aktivieren"><sup><img src="';
| |
| if (interwikis[i][2]==false) {
| |
| interwiki_links+='http://www.jedipedia.de/wiki/skins/monobook/bullet.gif';
| |
| } else {
| |
| interwiki_links+='http://www.jedipedia.de/wiki/images/FA-Sternchen.png';
| |
| }
| |
| interwiki_links+='"></sup></a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+interwikis[i][0]+':'+encodeURIComponent(interwikis[i][1])+'" target="_blank">'+interwikis[i][0]+':'+interwikis[i][1]+'</a></span><br>';
| |
| }
| |
| document.getElementById("interwikilist").innerHTML=interwiki_links;
| |
| }
| |
| | |
| | |
| //Aktualisiert die Liste mit den fehlenden/falschen/zu ergänzenden Interwiki-Links
| |
| function refreshinterwikicleanup() {
| |
| hotinter_newlinks=new Array();//Links, die im Wiki fehlen
| |
| hotinter_nolinks=new Array();//Links, die woanders fehlen
| |
| hotinter_difflinks=new Array();//Links, die woanders anders sind
| |
| for (i=0; i<interwikis_wikia.length; i++) {
| |
| hotinter_jpiwworking=interwikis.slice(0);hotinter_jpiwworking.push(new Array("de",wgTitle));
| |
| hotinter_wikiaiwworking=interwikis_wikia[i].slice(0);
| |
| OuterLoop: for (j=0; j<hotinter_jpiwworking.length; j++) {
| |
| iwcodeinarray=false;
| |
| InnerLoop: for (k=0; k<hotinter_wikiaiwworking.length; k++) {
| |
| if (hotinter_wikiaiwworking[k]==null) continue InnerLoop;
| |
| if (hotinter_jpiwworking[j][0]==hotinter_wikiaiwworking[k][0]) {//Wenn das Kürzel in beiden Arrays enthalten ist
| |
| iwcodeinarray=true;
| |
| if (hotinter_jpiwworking[j][1]==hotinter_wikiaiwworking[k][1]) {//Wenn die Lemmas identisch sind
| |
| hotinter_jpiwworking[j]=null;
| |
| } else {//Wenn die Lemmas unterschiedlich sind
| |
| hotinter_difflinks.push(new Array(hotinter_wikiaiwworking[k][0],hotinter_wikiaiwworking[k][1],interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]));
| |
| }
| |
| hotinter_wikiaiwworking[k]=null;
| |
| break InnerLoop;
| |
| }
| |
| }
| |
| if (iwcodeinarray==false) {//Wenn das Kürzel nur bei StargateWiki ist
| |
| if (hotinter_jpiwworking[j][0]!=interwikis_wikia[i][0][0]) {//Ergänze nur, wenn der Link zu einem anderen Wiki zeigt
| |
| innerLoop: for (k=0; k<interwiki_list[interwiki_codes[interwikis_wikia[i][0][0]]][4].length; k++) {
| |
| if (interwiki_list[interwiki_codes[interwikis_wikia[i][0][0]]][4][k]==hotinter_jpiwworking[j][0]) {//Und wenn das Wiki den Link akzeptiert
| |
| hotinter_nolinks.push(new Array(hotinter_jpiwworking[j][0],hotinter_jpiwworking[j][1],interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]));
| |
| }
| |
| }
| |
| }
| |
| }
| |
| }
| |
| for (j=0; j<hotinter_wikiaiwworking.length; j++) {//Wenn ein Link bei StargateWiki fehlt
| |
| if (hotinter_wikiaiwworking[j]!=null) hotinter_newlinks.push(new Array(hotinter_wikiaiwworking[j][0],hotinter_wikiaiwworking[j][1],interwikis_wikia[i][0][0],interwikis_wikia[i][0][1]));
| |
| }
| |
| }
| |
| | |
| cleanupcontent='';
| |
| //Neue Interwiki-Links
| |
| if (hotinter_newlinks.length>0) cleanupcontent+='Andere Wikis haben weitere Links, die noch nicht im Wiki stehen:<br><small style="color: #555;">Auf den Haken klicken, um den Link bei das Wiki zu ergänzen.<br>Auf das Kreuz klicken, um Link in diesem Wiki zu entfernen.</small><br><div id="hotcat_newiwlinks">';
| |
| for (j=0; j<hotinter_newlinks.length; j++) {
| |
| if (hotinter_newlinks[j][0]!="de" && hotinter_newlinks[j][0]!="fr") cleanupcontent+='<a href="javascript:hotinter_edit(\'add_custom\', \''+hotinter_newlinks[j][0]+'|'+hotinter_newlinks[j][1].replace(/"/,"%22").replace(/'/,"%27")+'\');" title="ergänzen">√</a> <a href="javascript:hotinter_bot(\'dellink\',\''+hotinter_newlinks[j][0]+'\',\''+hotinter_newlinks[j][2]+'\');">X</a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_newlinks[j][2]+':'+encodeURIComponent(hotinter_newlinks[j][3])+'" target="_blank">'+hotinter_newlinks[j][2]+':'+hotinter_newlinks[j][3]+'</a> hat noch den Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_newlinks[j][0]+':'+encodeURIComponent(hotinter_newlinks[j][1])+'" target="_blank">'+hotinter_newlinks[j][0]+':'+hotinter_newlinks[j][1]+'</a><br>';
| |
| }
| |
| if (hotinter_newlinks.length>0) cleanupcontent+='</div><br>';
| |
| //Fehlende Interwiki-Links
| |
| if (hotinter_nolinks.length>0) cleanupcontent+='Bei manchen Wikis fehlen Interwiki-Links:<br><small style="color: #555;">Auf den Haken klicken, um den Link auf der jeweiligen Seite zu ergänzen.<br>Auf das Kreuz klicken, um den Link aus dem Wiki zu entfernen.</small><br><div id="hotcat_noiwlinks">';
| |
| for (j=0; j<hotinter_nolinks.length; j++) {
| |
| if (hotinter_nolinks[j][0]!="fr") cleanupcontent+='<a href="javascript:hotinter_bot(\'addlink\',\''+hotinter_nolinks[j][0]+'\',\''+hotinter_nolinks[j][1].replace(/"/,"%22").replace(/'/,"%27")+'\',\''+hotinter_nolinks[j][2]+'\');" title="ergänzen">√</a> <a href="javascript:hotinter_bot(\'deljp\',\''+hotinter_nolinks[j][0]+'\');">X</a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_nolinks[j][2]+':'+encodeURIComponent(hotinter_nolinks[j][3])+'" target="_blank">'+hotinter_nolinks[j][2]+':'+hotinter_nolinks[j][3]+'</a> hat nicht den Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_nolinks[j][0]+':'+encodeURIComponent(hotinter_nolinks[j][1])+'" target="_blank">'+hotinter_nolinks[j][0]+':'+hotinter_nolinks[j][1]+'</a><br>';
| |
| }
| |
| if (hotinter_nolinks.length>0) cleanupcontent+='</div><br>';
| |
| //Andere Interwiki-Links
| |
| if (hotinter_difflinks.length>0) cleanupcontent+='Manche Wikis haben andere Interwiki-Links:<br><small style="color: #555;">Auf den Haken klicken, um den Link auf der jeweiligen Seite zu korrigieren.<br>Auf das Kreuz klicken, um den Link von der jeweiligen Seite in das Wiki zu übernehmen.</small><br><div id="hotcat_newiwlinks">';
| |
| for (i=0; i<hotinter_difflinks.length; i++) {
| |
| if (i>0) cleanupcontent+="<br>";
| |
| if (hotinter_difflinks[i][0]=="de") {
| |
| cleanupcontent+='<a href="javascript:hotinter_bot(\'editlink\',\''+hotinter_difflinks[i][0]+'\',\''+wgTitle.replace(/"/,"%22").replace(/'/,"%27")+'\',\''+hotinter_difflinks[i][2]+'\');" title="korrigieren">√</a> <font color="#bbb">X</font>';
| |
| cleanupcontent+=' <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][2]+':'+encodeURIComponent(hotinter_difflinks[i][3])+'" target="_blank">'+hotinter_difflinks[i][2]+':'+hotinter_difflinks[i][3]+'</a> hat den Interwiki-Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][0]+':'+encodeURIComponent(hotinter_difflinks[i][1])+'" target="_blank">'+hotinter_difflinks[i][0]+':'+hotinter_difflinks[i][1]+'</a>';
| |
| cleanupcontent+=' (StargateWiki hat <a href="http://www.stargate-wiki.de/wiki/index.php/'+encodeURIComponent(wgTitle)+'" target="_blank">de:'+wgTitle+'</a>)';
| |
| } else for (j=0; j<interwikis.length; j++) {if (interwikis[j][0]==hotinter_difflinks[i][0] && hotinter_difflinks[i][0]!="fr"){
| |
| cleanupcontent+='<a href="javascript:hotinter_bot(\'editlink\',\''+hotinter_difflinks[i][0]+'\',\''+interwikis[j][1].replace(/"/,"%22").replace(/'/,"%27")+'\',\''+hotinter_difflinks[i][2]+'\');" title="korrigieren">√</a> <a href="javascript:hotinter_edit(\'edit_custom\',new Array(\''+hotinter_difflinks[i][0]+'\',\''+hotinter_difflinks[i][1]+'\'));" title="übernehmen">X</a> <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][2]+':'+encodeURIComponent(hotinter_difflinks[i][3])+'" target="_blank">'+hotinter_difflinks[i][2]+':'+hotinter_difflinks[i][3]+'</a> hat den Interwiki-Link <a href="http://www.stargate-wiki.de/wiki/index.php/'+hotinter_difflinks[i][0]+':'+encodeURIComponent(hotinter_difflinks[i][1])+'" target="_blank">'+hotinter_difflinks[i][0]+':'+hotinter_difflinks[i][1]+'</a>';
| |
| cleanupcontent+=' (StargateWiki hat <a href="http://www.stargate-wiki.de/wiki/index.php/'+interwikis[j][0]+':'+encodeURIComponent(interwikis[j][1])+'" target="_blank">'+interwikis[j][0]+':'+interwikis[j][1]+'</a>)';
| |
| }}
| |
| }
| |
| if (hotinter_difflinks.length>0) cleanupcontent+='</div>';
| |
| if (cleanupcontent=="" && document.getElementById("interwiki_cleanup_loading").innerHTML=="") cleanupcontent='HotCat konnte nichts finden, was geändert werden sollte.';
| |
| document.getElementById("interwiki_cleanup").innerHTML=cleanupcontent;
| |
| }
| |
| | |
| if(!Array.indexOf) {
| |
| Array.prototype.indexOf = function(el) {
| |
| for(var i = 0; i < this.length; i++) if(el === this[i]) return i;
| |
| return -1;
| |
| }
| |
| }
| |
| //Sortiert das Interwiki-Links-Array
| |
| function sortInterwikis(a, b) {
| |
| a=interwiki_codes[a[0]];
| |
| b=interwiki_codes[b[0]];
| |
| return(a==b)?0:(a>b)?1:-1;
| |
| }
| |
| | |
| function comparearrays(mode, altesarray, neuesarray) {
| |
| if (mode=="cat") {
| |
| MainFor: for (i=0; i<altesarray.length; i++) {//Alte Kategorien
| |
| for (j=0; j<neuesarray.length; j++) {//Neue Kategorien
| |
| //Lösche doppelte
| |
| if (altesarray.length==0 || neuesarray.length == 0) break MainFor;
| |
| if (i<0) iworking=0; else iworking=i;
| |
| if (altesarray[iworking] == neuesarray[j]) {
| |
| altesarray.splice(iworking, 1);
| |
| neuesarray.splice(j, 1);
| |
| if (i>-1)i--;
| |
| j--;
| |
| }
| |
| }
| |
| }
| |
| } else if (mode=="interwiki") {
| |
| MainFor: for (i=0; i<altesarray.length; i++) {//Alte Kategorien
| |
| for (j=0; j<neuesarray.length; j++) {//Neue Kategorien
| |
| //Lösche doppelte
| |
| if (altesarray.length==0 || neuesarray.length == 0) break MainFor;
| |
| if (i<0) iworking=0; else iworking=i;
| |
| if (altesarray[iworking][0] == neuesarray[j][0] && altesarray[iworking][1] == neuesarray[j][1]) {
| |
| altesarray.splice(iworking, 1);
| |
| neuesarray.splice(j, 1);
| |
| if (i>-1)i--;
| |
| j--;
| |
| }
| |
| }
| |
| }
| |
| }
| |
| return new Array(altesarray, neuesarray);
| |
| }
| |