MediaWiki:Gadget-CatGenForm.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
WWWIG (Diskussion | Beiträge) (.) |
WWWIG (Diskussion | Beiträge) (.) |
||
| Zeile 1: | Zeile 1: | ||
/* ------------------------------------------------ */ | /* ------------------------------------------------ */ | ||
| − | /* Script zum | + | /* Script zum Erstellen von Vorlagen und Kategorien */ |
/* ------------------------------------------------ */ | /* ------------------------------------------------ */ | ||
| Zeile 97: | Zeile 97: | ||
CatGenForm.t_Files.splice( 0, CatGenForm.t_Files.length ); | CatGenForm.t_Files.splice( 0, CatGenForm.t_Files.length ); | ||
| − | CatGenForm. | + | CatGenForm.t_processnext = 0; |
CatGenForm.t_stopp = false; | CatGenForm.t_stopp = false; | ||
| Zeile 121: | Zeile 121: | ||
} | } | ||
| − | CatGenForm. | + | CatGenForm.ProcessingVKFile( 'edit' ); |
}, | }, | ||
| − | + | StopProcessingVKFiles : function () { | |
CatGenForm.t_stopp = true; | CatGenForm.t_stopp = true; | ||
}, | }, | ||
| − | + | ProcessingVKFile : function ( t_action ) { | |
| − | if ( CatGenForm. | + | if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) { |
| − | var t_parameters = '?action=query&format=json&prop=info|revisions&intoken= | + | var t_parameters = '?action=query&format=json&prop=info|revisions&intoken=' + t_action + '&titles=' + |
| − | encodeURIComponent( CatGenForm.t_Files[CatGenForm. | + | encodeURIComponent( CatGenForm.t_Files[CatGenForm.t_processnext][0] ) + ''; |
var t_http_req = null; | var t_http_req = null; | ||
if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();} | if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();} | ||
| Zeile 140: | Zeile 140: | ||
t_http_req.onreadystatechange = function() { | t_http_req.onreadystatechange = function() { | ||
if(t_http_req.readyState != 4) { | if(t_http_req.readyState != 4) { | ||
| − | document.getElementById('Status').innerHTML = 'Token wird angefordert ...<br><small>' + | + | document.getElementById( 'Status' ).innerHTML = 'Token wird angefordert ...<br><small>' + |
| − | CatGenForm.t_Files[CatGenForm. | + | CatGenForm.t_Files[CatGenForm.t_processnext][0] + '</small>'; |
} | } | ||
if(t_http_req.readyState == 4 && t_http_req.status == 200) { | if(t_http_req.readyState == 4 && t_http_req.status == 200) { | ||
| − | CatGenForm.GotToken( eval("(" + t_http_req.responseText + ")") ); | + | if ( CatGenForm.t_vkdebug ) { |
| + | document.getElementById( 'StatusPrev' ).innerHTML += '<hr>ProcessingVKFile<br>' + t_http_req.responseText; | ||
| + | } | ||
| + | CatGenForm.GotToken( eval("(" + t_http_req.responseText + ")"), t_action ); | ||
} | } | ||
} | } | ||
| Zeile 151: | Zeile 154: | ||
}, | }, | ||
| − | GotToken : function ( queryData ) { | + | GotToken : function ( queryData, t_action ) { |
if ( queryData ) { | if ( queryData ) { | ||
if ( queryData.query && queryData.query.pages ) { | if ( queryData.query && queryData.query.pages ) { | ||
| − | var | + | var t_token = ""; |
var t_timestamp = ""; | var t_timestamp = ""; | ||
var t_some_pages = queryData.query.pages; | var t_some_pages = queryData.query.pages; | ||
for ( var t_Page in t_some_pages ) { | for ( var t_Page in t_some_pages ) { | ||
| − | + | if ( t_some_pages[t_Page].edittoken ) { | |
| + | t_token = encodeURIComponent( t_some_pages[t_Page].edittoken ); | ||
| + | } else | ||
| + | if ( t_some_pages[t_Page].deletetoken ) { | ||
| + | t_token = encodeURIComponent( t_some_pages[t_Page].deletetoken ); | ||
| + | } | ||
if ( t_some_pages[t_Page].revisions ) { | if ( t_some_pages[t_Page].revisions ) { | ||
var t_some_revisions = t_some_pages[t_Page].revisions; | var t_some_revisions = t_some_pages[t_Page].revisions; | ||
| Zeile 168: | Zeile 176: | ||
} | } | ||
} | } | ||
| − | document.getElementById('Status').innerHTML = t_some_pages[t_Page].starttimestamp; | + | document.getElementById( 'Status' ).innerHTML = t_some_pages[t_Page].starttimestamp; |
} | } | ||
| − | t_text = CatGenForm.t_Files[CatGenForm. | + | t_text = CatGenForm.t_Files[CatGenForm.t_processnext][1]; |
t_text = t_text.replace(/</g, "<"); | t_text = t_text.replace(/</g, "<"); | ||
t_text = t_text.replace(/>/g, ">"); | t_text = t_text.replace(/>/g, ">"); | ||
| Zeile 178: | Zeile 186: | ||
if ( document.getElementById('UseTextSummary').checked ) { | if ( document.getElementById('UseTextSummary').checked ) { | ||
t_summary = t_text.replace(/\[\[Kategorie:/g, "[[Kategorie:" ); | t_summary = t_text.replace(/\[\[Kategorie:/g, "[[Kategorie:" ); | ||
| − | t_summarymsg = CatGenForm.t_Files[CatGenForm. | + | t_summarymsg = CatGenForm.t_Files[CatGenForm.t_processnext][1]; |
} else { | } else { | ||
t_summary = document.getElementById('Summary').getAttribute('value'); | t_summary = document.getElementById('Summary').getAttribute('value'); | ||
| + | t_summarymsg = t_summary; | ||
| + | } | ||
| + | if ( t_action == 'delete' ) { | ||
| + | t_summary = 'automatisch gelöscht'; | ||
t_summarymsg = t_summary; | t_summarymsg = t_summary; | ||
} | } | ||
| − | var t_parameters = '?action= | + | var t_parameters = '?action=' + t_action + '&format=json&title=' + encodeURIComponent( t_some_pages[t_Page].title ) + |
'&summary=' + encodeURIComponent( t_summary ) + '&watch&basetimestamp=' + t_timestamp + | '&summary=' + encodeURIComponent( t_summary ) + '&watch&basetimestamp=' + t_timestamp + | ||
| − | '&token=' + | + | '&token=' + t_token + '&bot=1' + '&text=' + encodeURIComponent( t_text ); |
if ( !document.getElementById('Overwrite').checked ) { | if ( !document.getElementById('Overwrite').checked ) { | ||
| Zeile 197: | Zeile 209: | ||
t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true); | t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true); | ||
t_http_req.onreadystatechange = function() { | t_http_req.onreadystatechange = function() { | ||
| − | if(t_http_req.readyState != 4) { | + | if( t_http_req.readyState != 4 ) { |
| − | document.getElementById('Status').innerHTML = '<small>'+t_some_pages[t_Page].title+'</small><br>wird mit<br><small>'+ | + | if ( t_action == 'edit' ) { |
| − | + | document.getElementById( 'Status' ).innerHTML = | |
| − | } | + | '<small>'+t_some_pages[t_Page].title+'</small><br>wird mit<br><small>' + |
| − | if(t_http_req.readyState == 4 && t_http_req.status == 200) { | + | CatGenForm.t_Files[CatGenForm.t_processnext][1] + |
| − | CatGenForm. | + | '</small><br>geschrieben <small>(' + t_summarymsg + ')</small> ...'; |
| + | } else | ||
| + | if ( t_action == 'delete' ) { | ||
| + | document.getElementById( 'Status' ).innerHTML = | ||
| + | '<small>'+t_some_pages[t_Page].title+'</small><br>wird gelöscht <small>(' + t_summarymsg + ')</small> ...'; | ||
| + | } } | ||
| + | if( t_http_req.readyState == 4 && t_http_req.status == 200 ) { | ||
| + | if ( CatGenForm.t_vkdebug ) { | ||
| + | document.getElementById( 'StatusPrev' ).innerHTML += | ||
| + | '<hr>GotToken<br>' + t_http_req.responseText; | ||
| + | } | ||
| + | CatGenForm.ProcessedVKFile( eval("(" + t_http_req.responseText + ")" ), t_http_req.responseText, t_action ); | ||
} | } | ||
} | } | ||
| Zeile 210: | Zeile 233: | ||
}, | }, | ||
| − | + | ProcessedVKFile : function ( queryData, rawData, t_action ) { | |
if ( queryData.edit && queryData.edit.result ) { | if ( queryData.edit && queryData.edit.result ) { | ||
| − | document.getElementById('Status').innerHTML = queryData.edit.result; | + | document.getElementById( 'Status' ).innerHTML = queryData.edit.result; |
if ( CatGenForm.t_stopp ) { | if ( CatGenForm.t_stopp ) { | ||
| − | document.getElementById('Status').innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ..."; | + | document.getElementById( 'Status' ).innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ..."; |
CatGenForm.CheckPreviewVFiles(); | CatGenForm.CheckPreviewVFiles(); | ||
} else { | } else { | ||
| − | CatGenForm. | + | CatGenForm.t_processnext++; |
| − | if ( CatGenForm. | + | if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) { |
| − | CatGenForm. | + | CatGenForm.ProcessingVKFile( t_action ); |
} else { | } else { | ||
if ( queryData.edit.result == 'Success' ) { | if ( queryData.edit.result == 'Success' ) { | ||
| − | document.getElementById('Status').innerHTML = "BEENDET - neue Vorschau wird erstellt ..."; | + | document.getElementById( 'Status' ).innerHTML = "BEENDET - neue Vorschau wird erstellt ..."; |
CatGenForm.CheckPreviewVFiles(); | CatGenForm.CheckPreviewVFiles(); | ||
} else { | } else { | ||
| − | document.getElementById('Status').innerHTML = | + | document.getElementById( 'Status' ).innerHTML = 'Unbekannter Fehler ' + queryData.edit.result; |
| − | |||
} | } | ||
| + | } | ||
| + | } | ||
| + | } else if ( queryData.delete ) { | ||
| + | if ( queryData.delete.title && queryData.delete.reason ) | ||
| + | document.getElementById( 'Status' ).innerHTML = queryData.delete.title + '<br>' + queryData.delete.reason; | ||
| + | if ( CatGenForm.t_stopp ) { | ||
| + | document.getElementById( 'Status' ).innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ..."; | ||
| + | CatGenForm.CheckPreviewVFiles(); | ||
| + | } else { | ||
| + | CatGenForm.t_processnext++; | ||
| + | if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) { | ||
| + | CatGenForm.ProcessingVKFile( t_action ); | ||
| + | } else { | ||
| + | document.getElementById( 'Status' ).innerHTML = "BEENDET - neue Vorschau wird erstellt ..."; | ||
| + | CatGenForm.CheckPreviewVFiles(); | ||
} | } | ||
} | } | ||
| Zeile 234: | Zeile 271: | ||
if ( queryData.error.code == 'articleexists' && !document.getElementById('Overwrite').getAttribute('checked') ) { | if ( queryData.error.code == 'articleexists' && !document.getElementById('Overwrite').getAttribute('checked') ) { | ||
if ( CatGenForm.t_stopp ) { | if ( CatGenForm.t_stopp ) { | ||
| − | document.getElementById('Status').innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ..."; | + | document.getElementById( 'Status' ).innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ..."; |
CatGenForm.CheckPreviewVFiles(); | CatGenForm.CheckPreviewVFiles(); | ||
} else { | } else { | ||
| − | CatGenForm. | + | CatGenForm.t_processnext++; |
| − | if ( CatGenForm. | + | if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) { |
| − | CatGenForm. | + | CatGenForm.ProcessingVKFile( t_action ); |
} else { | } else { | ||
| − | document.getElementById('Status').innerHTML = "BEENDET | + | document.getElementById( 'Status' ).innerHTML = "BEENDET - eine neue Vorschau wird erstellt ..."; |
CatGenForm.CheckPreviewVFiles(); | CatGenForm.CheckPreviewVFiles(); | ||
} | } | ||
} | } | ||
} else { | } else { | ||
| − | document.getElementById('Status').innerHTML = 'Fehler ' + queryData.error.code + ' - ' + queryData.error.info; | + | document.getElementById( 'Status' ).innerHTML = 'Fehler ' + queryData.error.code + ' - ' + queryData.error.info; |
} | } | ||
} else { | } else { | ||
| − | document.getElementById('Status').innerHTML = 'Unbekannter Fehler ' + rawData; | + | document.getElementById( 'Status' ).innerHTML = 'Unbekannter Fehler ' + rawData; |
| + | } | ||
| + | }, | ||
| + | |||
| + | StartDeletingVKFiles : function () { | ||
| + | |||
| + | t_msg = 'Es können nur Vorlagen und Kategorien eines bestimmten ## gelöscht werden!'; | ||
| + | |||
| + | if ( document.getElementById('TypSel').value + '' == '' ) { | ||
| + | alert( t_msg.replace( "##", "Typs" ) ); | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | if ( document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[0]).value + '' == '' ) { | ||
| + | alert( t_msg.replace( "##", "Herstellers" ) ); | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | CatGenForm.t_Files.splice( 0, CatGenForm.t_Files.length ); | ||
| + | CatGenForm.t_processnext = 0; | ||
| + | CatGenForm.t_stopp = false; | ||
| + | |||
| + | for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) { | ||
| + | t_FileV = document.getElementById( 'FileV' + CatGenForm.t_Sprachen[t_Sprache] ); | ||
| + | t_InhaltV = document.getElementById( 'InhaltV' + CatGenForm.t_Sprachen[t_Sprache] ); | ||
| + | if ( t_FileV && t_InhaltV ) { | ||
| + | var t_File = new Array( t_FileV.getElementsByTagName("A")[0].innerHTML, t_InhaltV.innerHTML, t_FileV.getElementsByTagName("A")[0].className ); | ||
| + | if ( !(t_FileV.getElementsByTagName("A")[0].className == 'new') ) { | ||
| + | CatGenForm.t_Files.push( t_File ); | ||
| + | } | ||
| + | } | ||
} | } | ||
| + | for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) { | ||
| + | t_FileK = document.getElementById( 'FileK' + CatGenForm.t_Sprachen[t_Sprache] ); | ||
| + | t_InhaltK = document.getElementById( 'InhaltK' + CatGenForm.t_Sprachen[t_Sprache] ); | ||
| + | if ( t_FileK && t_InhaltK ) { | ||
| + | var t_File = new Array( t_FileK.getElementsByTagName("A")[0].innerHTML, t_InhaltK.innerHTML, t_FileK.getElementsByTagName("A")[0].className ); | ||
| + | if ( !(t_FileV.getElementsByTagName("A")[0].className == 'new') ) { | ||
| + | CatGenForm.t_Files.push( t_File ); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | CatGenForm.ProcessingVKFile( 'delete' ); | ||
| + | }, | ||
| + | |||
| + | DeletedVKFiles : function ( queryData, rawData ) { | ||
| + | |||
}, | }, | ||
| Zeile 260: | Zeile 343: | ||
t_Files : new Array(), | t_Files : new Array(), | ||
t_FilesChecked : new Array(), | t_FilesChecked : new Array(), | ||
| − | + | t_processnext : 0, | |
t_wikiurl : wgServer + wgScriptPath + '/api.php', | t_wikiurl : wgServer + wgScriptPath + '/api.php', | ||
t_stopp : false, | t_stopp : false, | ||
t_vkdebug : false, // true; | t_vkdebug : false, // true; | ||
| + | |||
| + | CreateTemplatePreview : function () { | ||
| + | var out = ''; | ||
| + | |||
| + | t_Typ = document.getElementById('TypSel').value; | ||
| + | |||
| + | out += '<h3>Verwendete Vorlagen (werden <u>nicht</u> automatisch erstellt)</h3>'; | ||
| + | |||
| + | t_Vorlagebezeichner = 'Bildgalerie '+t_Typ+' XXX Sprachen'; | ||
| + | t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner ); | ||
| + | t_ZielbezeichnerUrl = t_Zielbezeichner; | ||
| + | t_missingText = ''; | ||
| + | t_missingText = CatGenForm.t_FilesChecked[t_Zielbezeichner]; | ||
| + | |||
| + | out += '<ul><li><span id="Vorlage_Sprachen">' + | ||
| + | '<a href="'+wgScriptPath+'/index.php?title=' + t_ZielbezeichnerUrl + '" '+ t_missingText + 'title="' + t_ZielbezeichnerUrl + '">' + | ||
| + | t_Zielbezeichner + '</a></span></li></ul>'; | ||
| + | |||
| + | for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) { | ||
| + | |||
| + | t_Vorlagebezeichner = CatGenForm.t_KategorienTexte[CatGenForm.t_Sprachen[t_Sprache]] + CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]]; | ||
| + | t_Zielbezeichner = trim('Vorlage:Kategoriebeschreibung ' + t_Vorlagebezeichner + ' XXX' ); | ||
| + | t_ZielbezeichnerUrl = t_Zielbezeichner; | ||
| + | t_missingText = ''; | ||
| + | t_missingText = CatGenForm.t_FilesChecked[t_Zielbezeichner]; | ||
| + | |||
| + | out += '<ul><li><span id="Vorlage_' + CatGenForm.t_Sprachen[t_Sprache] + '">' + | ||
| + | '<a href="'+wgScriptPath+'/index.php?title=' + t_ZielbezeichnerUrl + '" '+ t_missingText + 'title="' + t_ZielbezeichnerUrl + '">' + | ||
| + | t_Zielbezeichner + '</a></span></li></ul>'; | ||
| + | } | ||
| + | |||
| + | return out; | ||
| + | }, | ||
CreatePreview : function () { | CreatePreview : function () { | ||
| Zeile 347: | Zeile 463: | ||
if ( document.getElementById( 'InsertCreateForm' ) ) { | if ( document.getElementById( 'InsertCreateForm' ) ) { | ||
| + | if ( document.getElementById( 'PreviewForm' ) ) { | ||
| + | document.getElementById( 'PreviewForm' ).innerHTML = ''; | ||
| + | } | ||
| + | if ( document.getElementById( 'TemplateForm' ) ) { | ||
| + | document.getElementById( 'TemplateForm' ).innerHTML = ''; | ||
| + | } | ||
| + | setcursor( 'wait' ); | ||
| + | CatGenForm.t_Files.splice( 0, CatGenForm.t_Files.length ); | ||
| + | |||
CatGenForm.InitLanguageVars(); | CatGenForm.InitLanguageVars(); | ||
| − | |||
for ( var t_Page in CatGenForm.t_FilesChecked ) { | for ( var t_Page in CatGenForm.t_FilesChecked ) { | ||
| Zeile 363: | Zeile 487: | ||
} | } | ||
| − | t_Vorlagebezeichner = CatGenForm.t_VorlagenTexte[CatGenForm.t_Sprachen[t_Sprache]] + CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]]; | + | t_Vorlagebezeichner = CatGenForm.t_VorlagenTexte[CatGenForm.t_Sprachen[t_Sprache]] + |
| + | CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]]; | ||
t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner + t_Hersteller); | t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner + t_Hersteller); | ||
| − | + | CatGenForm.t_Files.push( t_Zielbezeichner); | |
| − | |||
} | } | ||
| − | + | for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) { | |
| − | + | t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[t_Sprache]).value | |
| − | + | if ( t_Hersteller == '' ) { | |
| − | + | t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[0]).value | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | if( | ||
| − | |||
| − | |||
} | } | ||
| + | |||
| + | t_Kategoriebezeichner = CatGenForm.t_KategorienTexte[CatGenForm.t_Sprachen[t_Sprache]] + | ||
| + | CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]]; | ||
| + | t_Zielbezeichner = trim('Kategorie:' + t_Kategoriebezeichner + t_Hersteller); | ||
| + | CatGenForm.t_Files.push( t_Zielbezeichner); | ||
} | } | ||
| − | |||
| − | |||
| − | |||
| − | + | t_Vorlagebezeichner = 'Bildgalerie '+t_Typ+' XXX Sprachen'; | |
| + | t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner ); | ||
| + | CatGenForm.t_Files.push( t_Zielbezeichner); | ||
| − | + | for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) { | |
| − | for ( | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | t_Vorlagebezeichner = CatGenForm.t_KategorienTexte[CatGenForm.t_Sprachen[t_Sprache]] + | |
| − | + | CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]]; | |
| − | + | t_Zielbezeichner = trim('Vorlage:Kategoriebeschreibung ' + t_Vorlagebezeichner + ' XXX' ); | |
| − | + | CatGenForm.t_Files.push( t_Zielbezeichner); | |
} | } | ||
| + | |||
| + | document.getElementById( 'PreviewForm' ).innerHTML = '<hr style="margin-top:1em;">' + 'Vorschau wird erstellt für:'; | ||
| + | |||
| + | CatGenForm.ProcessingPreviewFile(); | ||
} | } | ||
| + | }, | ||
| − | + | /* ----------------------------------------- */ | |
| − | + | ProcessingPreviewFile : function ( ) { | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | if ( CatGenForm.t_Files.length > 0 ) { | |
| − | + | t_FilesToCheckString = CatGenForm.t_Files.splice( 0, 1 ); | |
| − | + | } | |
| − | t_FilesToCheckString += | + | if ( CatGenForm.t_Files.length > 0 ) { |
| + | t_FilesToCheckString += '|'; | ||
| + | t_FilesToCheckString += CatGenForm.t_Files.splice( 0, 1 ); | ||
| + | } | ||
| + | if ( CatGenForm.t_Files.length > 0 ) { | ||
| + | t_FilesToCheckString += '|'; | ||
| + | t_FilesToCheckString += CatGenForm.t_Files.splice( 0, 1 ); | ||
} | } | ||
| Zeile 430: | Zeile 546: | ||
t_http_req.onreadystatechange = function() { | t_http_req.onreadystatechange = function() { | ||
if(t_http_req.readyState != 4) { | if(t_http_req.readyState != 4) { | ||
| − | if ( ! | + | if ( t_FilesToCheckString != '' ) { |
| + | document.getElementById( 'PreviewForm' ).innerHTML += '<br>' + t_FilesToCheckString.replace(/\|/g, "<br>"); | ||
| + | t_FilesToCheckString = ''; | ||
| + | } | ||
} | } | ||
if(t_http_req.readyState == 4 && t_http_req.status == 200) { | if(t_http_req.readyState == 4 && t_http_req.status == 200) { | ||
| − | + | if ( CatGenForm.t_vkdebug ) { | |
| − | CatGenForm. | + | document.getElementById( 'StatusPrev' ).style.display = 'block'; |
| + | document.getElementById( 'StatusPrev' ).innerHTML += '<hr>' + t_http_req.responseText; | ||
| + | } | ||
| + | CatGenForm.ProcessedPreviewFile( eval("(" + t_http_req.responseText + ")") ); | ||
} | } | ||
} | } | ||
| Zeile 440: | Zeile 562: | ||
}, | }, | ||
| − | + | ProcessedPreviewFile : function ( queryData, rawData ) { | |
if ( queryData.query && queryData.query.pages ) { | if ( queryData.query && queryData.query.pages ) { | ||
| Zeile 452: | Zeile 574: | ||
} | } | ||
} | } | ||
| + | |||
CatGenForm.t_FilesChecked[decodeURIComponent(queryData.query.pages[t_Page].title)] = 'class="new" '; | CatGenForm.t_FilesChecked[decodeURIComponent(queryData.query.pages[t_Page].title)] = 'class="new" '; | ||
} else { | } else { | ||
| Zeile 459: | Zeile 582: | ||
} | } | ||
| − | document.getElementById( ' | + | if ( CatGenForm.t_Files.length > 0 ) { |
| + | CatGenForm.ProcessingPreviewFile(); | ||
| + | } else { | ||
| + | CatGenForm.PreviewVKFiles(); | ||
| + | } | ||
| + | }, | ||
| + | |||
| + | PreviewVKFiles : function () { | ||
| + | |||
| + | if ( document.getElementById( 'PreviewForm' ) ) { | ||
| + | document.getElementById( 'PreviewForm' ).innerHTML = '<hr style="margin-top:1em;">' + CatGenForm.CreatePreview() + ''; | ||
| + | } | ||
| + | |||
| + | if ( document.getElementById( 'TemplateForm' ) ) { | ||
| + | document.getElementById( 'TemplateForm' ).innerHTML = '<hr style="margin-top:1em;">' + CatGenForm.CreateTemplatePreview() + ''; | ||
| + | } | ||
| + | |||
| + | document.getElementById( 'InsertCreateForm' ).innerHTML = | ||
'<hr style="margin-top:1em; margin-right:.5em;"><div style="margin-top:.5em; margin-right:1em;">' + | '<hr style="margin-top:1em; margin-right:.5em;"><div style="margin-top:.5em; margin-right:1em;">' + | ||
'<h3>Erstellen</h3>' + | '<h3>Erstellen</h3>' + | ||
'<label for="Summary" style="vertical-align:top">Zusammenfassung / Kommentar:</label>' + | '<label for="Summary" style="vertical-align:top">Zusammenfassung / Kommentar:</label>' + | ||
| − | '<p><input id="Summary" type="text" size="75" value="Mit neuer Vorlage | + | '<p><input id="Summary" type="text" size="75" value="Mit neuer Vorlage automatisch erstellt"></p>' + |
'<label for="Status" style="vertical-align:top;">Status:</label>' + | '<label for="Status" style="vertical-align:top;">Status:</label>' + | ||
| − | '<p id="Status" style="border: 1px solid #aaa; padding:.5em;height:75px;" >Vor dem | + | '<p id="Status" style="border: 1px solid #aaa; padding:.5em;height:75px;" >Vor dem Erstellen der Vorlagen und Kategorien bitte die Namen und Inhalte überprüfen ...</p>' + |
'<p><input type="button" title="Erstellt die Vorlagen und Kategorien gemäß der Vorschau mit den angezeigten Inhalten" ' + | '<p><input type="button" title="Erstellt die Vorlagen und Kategorien gemäß der Vorschau mit den angezeigten Inhalten" ' + | ||
'value="Erstellen" onClick="StartCreatingVKFiles()"> ' + | 'value="Erstellen" onClick="StartCreatingVKFiles()"> ' + | ||
| − | '<input type="button" value="Abbrechen" title="Die Abarbeitung der Erstellung Vorlagen und Kategorien wird unterbrochen" ' + | + | '<input type="button" value="Abbrechen" title="Die Abarbeitung der Erstellung und des Löschens von Vorlagen und Kategorien wird unterbrochen" ' + |
| − | 'onClick=" | + | 'onClick="StopProcessingVKFiles()">' + |
| − | '</div>'; | + | '<input type="button" value="Löschen" style="float:right;" title="Löscht die Vorlagen und Kategorien gemäß der Vorschau" ' + |
| + | 'onClick="StartDeletingVKFiles()">' + | ||
| + | '</p></div>'; | ||
| − | |||
document.getElementById('Summary').disabled = document.getElementById('UseTextSummary').checked; | document.getElementById('Summary').disabled = document.getElementById('UseTextSummary').checked; | ||
| + | |||
| + | setcursor( 'auto' ); | ||
}, | }, | ||
| Zeile 548: | Zeile 691: | ||
'title="Erzeugt eine Vorschau der Vorlagen und Kategorien mit Inhalten" onClick="CheckPreviewVFiles()"> ' + | 'title="Erzeugt eine Vorschau der Vorlagen und Kategorien mit Inhalten" onClick="CheckPreviewVFiles()"> ' + | ||
'<input type="button" value="Neu" title="Setzt die Parameter zurück und löscht alle Eingaben" onClick="LoadCatGenForm()">' + | '<input type="button" value="Neu" title="Setzt die Parameter zurück und löscht alle Eingaben" onClick="LoadCatGenForm()">' + | ||
| − | '<input type="button" style="float:right" value="Schließen" title="Beendet den Vorlagen und Kategorien-Generator" onClick="UnloadCatGenForm()">' + | + | '<input type="button" style="float:right;" value="Schließen" title="Beendet den Vorlagen und Kategorien-Generator" onClick="UnloadCatGenForm()">' + |
| − | '<p id="StatusPrev" style="border: 1px solid #aaa; padding:.5em;display:none;"> | + | '<p id="StatusPrev" style="border: 1px solid #aaa; padding:.5em;display:none;">Debuginfo</p></p>' + |
'<div id="PreviewForm"></div>' + | '<div id="PreviewForm"></div>' + | ||
| + | '<div id="TemplateForm"></div>' + | ||
'<div id="InsertCreateForm"></div>' + | '<div id="InsertCreateForm"></div>' + | ||
'</div></fieldset></form>'; | '</div></fieldset></form>'; | ||
| Zeile 575: | Zeile 719: | ||
var TW_WERKZEUGE = "p-tb"; | var TW_WERKZEUGE = "p-tb"; | ||
var TW_REITER = "column-one"; | var TW_REITER = "column-one"; | ||
| − | + | ||
function InsertNode(p_href, p_text, p_id, p_tag, p_before_id) | function InsertNode(p_href, p_text, p_id, p_tag, p_before_id) | ||
{ | { | ||
| Zeile 595: | Zeile 739: | ||
} | } | ||
} | } | ||
| + | |||
| + | function setcursor( cursortype ) { | ||
| + | |||
| + | document.getElementById( 'content' ).style.cursor = cursortype; | ||
| + | for ( i = 0; i < document.getElementById( 'content' ).getElementsByTagName( 'input' ).length; i++ ) { | ||
| + | document.getElementById( 'content' ).getElementsByTagName( 'input' )[i].style.cursor = cursortype; | ||
| + | } | ||
| + | } | ||
function trim( t_string ) { | function trim( t_string ) { | ||
| Zeile 611: | Zeile 763: | ||
CatGenForm.StartCreatingVKFiles(); | CatGenForm.StartCreatingVKFiles(); | ||
} | } | ||
| − | function | + | function StopProcessingVKFiles( ) { |
| − | CatGenForm. | + | CatGenForm.StopProcessingVKFiles(); |
| + | } | ||
| + | function StartDeletingVKFiles( ) { | ||
| + | CatGenForm.StartDeletingVKFiles(); | ||
} | } | ||
Version vom 4. September 2010, 14:36 Uhr
/* ------------------------------------------------ */
/* Script zum Erstellen von Vorlagen und Kategorien */
/* ------------------------------------------------ */
addOnloadHook( function () {
if ( window.wgUserGroups ) {
for ( var i = 0; i < wgUserGroups.length; i++ ) {
if ( wgUserGroups[i] === 'sysop' ) {
InsertNode("javascript:CatGenForm.LoadCatGenForm()", "Vorlagen und Kategorien-Generator", TW_WERKZEUGE, "ul");
}
}
}
});
var CatGenForm = {
t_Sprachen : new Array('de','en','es','nl','ru'),
t_Typen : new Array('Uhrenmodelle','Uhrwerke','Archiv','Porträt','Gebäude','Marken und Warenzeichen','Werkzeuge'),
t_Content : '',
InitLanguageVars : function () {
CatGenForm.t_VorlagenTexte['de'] = 'Kategorie Bildgalerie ';
CatGenForm.t_VorlagenTexte['en'] = 'Category Picture gallery ';
CatGenForm.t_VorlagenTexte['es'] = 'Categoría galería de imagenes ';
CatGenForm.t_VorlagenTexte['nl'] = 'Categorie Afbeeldingen galerij ';
CatGenForm.t_VorlagenTexte['ru'] = 'Категория Фотогалерея ';
CatGenForm.t_KategorienTexte['de'] = 'Bildgalerie ';
CatGenForm.t_KategorienTexte['en'] = 'Picture gallery ';
CatGenForm.t_KategorienTexte['es'] = 'Galería de imagenes ';
CatGenForm.t_KategorienTexte['nl'] = 'Afbeeldingen galerij ';
CatGenForm.t_KategorienTexte['ru'] = 'Фотогалерея ';
CatGenForm.t_TypTexte['Uhrenmodelle_de'] = 'Uhrenmodelle ';
CatGenForm.t_TypTexte['Uhrenmodelle_en'] = 'watch models ';
CatGenForm.t_TypTexte['Uhrenmodelle_es'] = 'de modelos de relojes ';
CatGenForm.t_TypTexte['Uhrenmodelle_nl'] = 'uurwerkmodellen ';
CatGenForm.t_TypTexte['Uhrenmodelle_ru'] = 'Модели часов ';
CatGenForm.t_TypTexte['Uhrwerke_de'] = 'Uhrwerke ';
CatGenForm.t_TypTexte['Uhrwerke_en'] = 'movements ';
CatGenForm.t_TypTexte['Uhrwerke_es'] = 'de mecanismos de relojes ';
CatGenForm.t_TypTexte['Uhrwerke_nl'] = 'uurwerken ';
CatGenForm.t_TypTexte['Uhrwerke_ru'] = 'Часовые механизмы ';
CatGenForm.t_TypTexte['Archiv_de'] = 'Archiv ';
CatGenForm.t_TypTexte['Archiv_en'] = 'archive ';
CatGenForm.t_TypTexte['Archiv_es'] = 'archivo ';
CatGenForm.t_TypTexte['Archiv_nl'] = 'archief ';
CatGenForm.t_TypTexte['Archiv_ru'] = 'Архив ';
CatGenForm.t_TypTexte['Personen_de'] = 'Personen ';
CatGenForm.t_TypTexte['Personen_en'] = 'persons ';
CatGenForm.t_TypTexte['Personen_es'] = 'persona ';
CatGenForm.t_TypTexte['Personen_nl'] = '---- ';
CatGenForm.t_TypTexte['Personen_ru'] = '---- ';
CatGenForm.t_TypTexte['Porträt_de'] = 'Porträt ';
CatGenForm.t_TypTexte['Porträt_en'] = 'portrait ';
CatGenForm.t_TypTexte['Porträt_es'] = 'retrato ';
CatGenForm.t_TypTexte['Porträt_nl'] = 'portretten ';
CatGenForm.t_TypTexte['Porträt_ru'] = 'Портреты ';
CatGenForm.t_TypTexte['Gebäude_de'] = 'Gebäude ';
CatGenForm.t_TypTexte['Gebäude_en'] = 'buildings ';
CatGenForm.t_TypTexte['Gebäude_es'] = 'edificios ';
CatGenForm.t_TypTexte['Gebäude_nl'] = '---- ';
CatGenForm.t_TypTexte['Gebäude_ru'] = '---- ';
CatGenForm.t_TypTexte['Marken und Warenzeichen_de'] = 'Marken und Warenzeichen ';
CatGenForm.t_TypTexte['Marken und Warenzeichen_en'] = 'marks and brands ';
CatGenForm.t_TypTexte['Marken und Warenzeichen_es'] = 'marcas y marcas comercial ';
CatGenForm.t_TypTexte['Marken und Warenzeichen_nl'] = 'merken en handelsmerken ';
CatGenForm.t_TypTexte['Marken und Warenzeichen_ru'] = 'Марки и торговые знаки ';
CatGenForm.t_TypTexte['Werkzeuge und Werkzeugmaschinen_de'] = 'Werkzeuge und Werkzeugmaschinen ';
CatGenForm.t_TypTexte['Werkzeuge und Werkzeugmaschinen_en'] = 'tools and machine tools ';
CatGenForm.t_TypTexte['Werkzeuge und Werkzeugmaschinen_es'] = 'enseres y máquinas herramienta ';
CatGenForm.t_TypTexte['Werkzeuge und Werkzeugmaschinen_nl'] = '---- ';
CatGenForm.t_TypTexte['Werkzeuge und Werkzeugmaschinen_ru'] = '---- ';
CatGenForm.t_TypTexte['Werkzeuge_de'] = 'Werkzeuge ';
CatGenForm.t_TypTexte['Werkzeuge_en'] = 'tools ';
CatGenForm.t_TypTexte['Werkzeuge_es'] = 'enseres ';
CatGenForm.t_TypTexte['Werkzeuge_nl'] = '---- ';
CatGenForm.t_TypTexte['Werkzeuge_ru'] = '---- ';
CatGenForm.t_VorlagenKategorie['de'] = 'Vorlagen';
CatGenForm.t_VorlagenKategorie['en'] = 'Template/en';
CatGenForm.t_VorlagenKategorie['es'] = 'Plantillas';
CatGenForm.t_VorlagenKategorie['nl'] = 'Sjablonen';
CatGenForm.t_VorlagenKategorie['ru'] = 'Шаблон';
},
StartCreatingVKFiles : function () {
CatGenForm.t_Files.splice( 0, CatGenForm.t_Files.length );
CatGenForm.t_processnext = 0;
CatGenForm.t_stopp = false;
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_FileV = document.getElementById( 'FileV' + CatGenForm.t_Sprachen[t_Sprache] );
t_InhaltV = document.getElementById( 'InhaltV' + CatGenForm.t_Sprachen[t_Sprache] );
if ( t_FileV && t_InhaltV ) {
var t_File = new Array( t_FileV.getElementsByTagName("A")[0].innerHTML, t_InhaltV.innerHTML, t_FileV.getElementsByTagName("A")[0].className );
if ( t_FileV.getElementsByTagName("A")[0].className == 'new' || document.getElementById('Overwrite').checked ) {
CatGenForm.t_Files.push( t_File );
}
}
}
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_FileK = document.getElementById( 'FileK' + CatGenForm.t_Sprachen[t_Sprache] );
t_InhaltK = document.getElementById( 'InhaltK' + CatGenForm.t_Sprachen[t_Sprache] );
if ( t_FileK && t_InhaltK ) {
var t_File = new Array( t_FileK.getElementsByTagName("A")[0].innerHTML, t_InhaltK.innerHTML, t_FileK.getElementsByTagName("A")[0].className );
if ( t_FileK.getElementsByTagName("A")[0].className == 'new' || document.getElementById('Overwrite').checked ) {
CatGenForm.t_Files.push( t_File );
}
}
}
CatGenForm.ProcessingVKFile( 'edit' );
},
StopProcessingVKFiles : function () {
CatGenForm.t_stopp = true;
},
ProcessingVKFile : function ( t_action ) {
if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) {
var t_parameters = '?action=query&format=json&prop=info|revisions&intoken=' + t_action + '&titles=' +
encodeURIComponent( CatGenForm.t_Files[CatGenForm.t_processnext][0] ) + '';
var t_http_req = null;
if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
t_http_req.open("GET", CatGenForm.t_wikiurl + t_parameters, true);
t_http_req.onreadystatechange = function() {
if(t_http_req.readyState != 4) {
document.getElementById( 'Status' ).innerHTML = 'Token wird angefordert ...<br><small>' +
CatGenForm.t_Files[CatGenForm.t_processnext][0] + '</small>';
}
if(t_http_req.readyState == 4 && t_http_req.status == 200) {
if ( CatGenForm.t_vkdebug ) {
document.getElementById( 'StatusPrev' ).innerHTML += '<hr>ProcessingVKFile<br>' + t_http_req.responseText;
}
CatGenForm.GotToken( eval("(" + t_http_req.responseText + ")"), t_action );
}
}
t_http_req.send(null);
}
},
GotToken : function ( queryData, t_action ) {
if ( queryData ) {
if ( queryData.query && queryData.query.pages ) {
var t_token = "";
var t_timestamp = "";
var t_some_pages = queryData.query.pages;
for ( var t_Page in t_some_pages ) {
if ( t_some_pages[t_Page].edittoken ) {
t_token = encodeURIComponent( t_some_pages[t_Page].edittoken );
} else
if ( t_some_pages[t_Page].deletetoken ) {
t_token = encodeURIComponent( t_some_pages[t_Page].deletetoken );
}
if ( t_some_pages[t_Page].revisions ) {
var t_some_revisions = t_some_pages[t_Page].revisions;
for ( var i = 0; i < t_some_revisions.length; i++ ) {
if (t_some_revisions[i].timestamp) {
t_timestamp = t_some_revisions[i].timestamp;
}
}
}
document.getElementById( 'Status' ).innerHTML = t_some_pages[t_Page].starttimestamp;
}
t_text = CatGenForm.t_Files[CatGenForm.t_processnext][1];
t_text = t_text.replace(/</g, "<");
t_text = t_text.replace(/>/g, ">");
t_text = t_text.replace(/&/g, "&");
if ( document.getElementById('UseTextSummary').checked ) {
t_summary = t_text.replace(/\[\[Kategorie:/g, "[[Kategorie:" );
t_summarymsg = CatGenForm.t_Files[CatGenForm.t_processnext][1];
} else {
t_summary = document.getElementById('Summary').getAttribute('value');
t_summarymsg = t_summary;
}
if ( t_action == 'delete' ) {
t_summary = 'automatisch gelöscht';
t_summarymsg = t_summary;
}
var t_parameters = '?action=' + t_action + '&format=json&title=' + encodeURIComponent( t_some_pages[t_Page].title ) +
'&summary=' + encodeURIComponent( t_summary ) + '&watch&basetimestamp=' + t_timestamp +
'&token=' + t_token + '&bot=1' + '&text=' + encodeURIComponent( t_text );
if ( !document.getElementById('Overwrite').checked ) {
t_parameters += '&createonly';
}
var t_http_req = null;
if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true);
t_http_req.onreadystatechange = function() {
if( t_http_req.readyState != 4 ) {
if ( t_action == 'edit' ) {
document.getElementById( 'Status' ).innerHTML =
'<small>'+t_some_pages[t_Page].title+'</small><br>wird mit<br><small>' +
CatGenForm.t_Files[CatGenForm.t_processnext][1] +
'</small><br>geschrieben <small>(' + t_summarymsg + ')</small> ...';
} else
if ( t_action == 'delete' ) {
document.getElementById( 'Status' ).innerHTML =
'<small>'+t_some_pages[t_Page].title+'</small><br>wird gelöscht <small>(' + t_summarymsg + ')</small> ...';
} }
if( t_http_req.readyState == 4 && t_http_req.status == 200 ) {
if ( CatGenForm.t_vkdebug ) {
document.getElementById( 'StatusPrev' ).innerHTML +=
'<hr>GotToken<br>' + t_http_req.responseText;
}
CatGenForm.ProcessedVKFile( eval("(" + t_http_req.responseText + ")" ), t_http_req.responseText, t_action );
}
}
t_http_req.send(null);
}
}
},
ProcessedVKFile : function ( queryData, rawData, t_action ) {
if ( queryData.edit && queryData.edit.result ) {
document.getElementById( 'Status' ).innerHTML = queryData.edit.result;
if ( CatGenForm.t_stopp ) {
document.getElementById( 'Status' ).innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ...";
CatGenForm.CheckPreviewVFiles();
} else {
CatGenForm.t_processnext++;
if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) {
CatGenForm.ProcessingVKFile( t_action );
} else {
if ( queryData.edit.result == 'Success' ) {
document.getElementById( 'Status' ).innerHTML = "BEENDET - neue Vorschau wird erstellt ...";
CatGenForm.CheckPreviewVFiles();
} else {
document.getElementById( 'Status' ).innerHTML = 'Unbekannter Fehler ' + queryData.edit.result;
}
}
}
} else if ( queryData.delete ) {
if ( queryData.delete.title && queryData.delete.reason )
document.getElementById( 'Status' ).innerHTML = queryData.delete.title + '<br>' + queryData.delete.reason;
if ( CatGenForm.t_stopp ) {
document.getElementById( 'Status' ).innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ...";
CatGenForm.CheckPreviewVFiles();
} else {
CatGenForm.t_processnext++;
if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) {
CatGenForm.ProcessingVKFile( t_action );
} else {
document.getElementById( 'Status' ).innerHTML = "BEENDET - neue Vorschau wird erstellt ...";
CatGenForm.CheckPreviewVFiles();
}
}
} else if ( queryData.error && queryData.error.code && queryData.error.info ) {
if ( queryData.error.code == 'articleexists' && !document.getElementById('Overwrite').getAttribute('checked') ) {
if ( CatGenForm.t_stopp ) {
document.getElementById( 'Status' ).innerHTML = "Auf Benutzerwunsch abgebrochen - eine neue Vorschau wird erstellt ...";
CatGenForm.CheckPreviewVFiles();
} else {
CatGenForm.t_processnext++;
if ( CatGenForm.t_processnext < CatGenForm.t_Files.length ) {
CatGenForm.ProcessingVKFile( t_action );
} else {
document.getElementById( 'Status' ).innerHTML = "BEENDET - eine neue Vorschau wird erstellt ...";
CatGenForm.CheckPreviewVFiles();
}
}
} else {
document.getElementById( 'Status' ).innerHTML = 'Fehler ' + queryData.error.code + ' - ' + queryData.error.info;
}
} else {
document.getElementById( 'Status' ).innerHTML = 'Unbekannter Fehler ' + rawData;
}
},
StartDeletingVKFiles : function () {
t_msg = 'Es können nur Vorlagen und Kategorien eines bestimmten ## gelöscht werden!';
if ( document.getElementById('TypSel').value + '' == '' ) {
alert( t_msg.replace( "##", "Typs" ) );
return;
}
if ( document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[0]).value + '' == '' ) {
alert( t_msg.replace( "##", "Herstellers" ) );
return;
}
CatGenForm.t_Files.splice( 0, CatGenForm.t_Files.length );
CatGenForm.t_processnext = 0;
CatGenForm.t_stopp = false;
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_FileV = document.getElementById( 'FileV' + CatGenForm.t_Sprachen[t_Sprache] );
t_InhaltV = document.getElementById( 'InhaltV' + CatGenForm.t_Sprachen[t_Sprache] );
if ( t_FileV && t_InhaltV ) {
var t_File = new Array( t_FileV.getElementsByTagName("A")[0].innerHTML, t_InhaltV.innerHTML, t_FileV.getElementsByTagName("A")[0].className );
if ( !(t_FileV.getElementsByTagName("A")[0].className == 'new') ) {
CatGenForm.t_Files.push( t_File );
}
}
}
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_FileK = document.getElementById( 'FileK' + CatGenForm.t_Sprachen[t_Sprache] );
t_InhaltK = document.getElementById( 'InhaltK' + CatGenForm.t_Sprachen[t_Sprache] );
if ( t_FileK && t_InhaltK ) {
var t_File = new Array( t_FileK.getElementsByTagName("A")[0].innerHTML, t_InhaltK.innerHTML, t_FileK.getElementsByTagName("A")[0].className );
if ( !(t_FileV.getElementsByTagName("A")[0].className == 'new') ) {
CatGenForm.t_Files.push( t_File );
}
}
}
CatGenForm.ProcessingVKFile( 'delete' );
},
DeletedVKFiles : function ( queryData, rawData ) {
},
t_VorlagenTexte : new Array(),
t_TypTexte : new Array(),
t_VorlagenKategorie : new Array(),
t_KategorienTexte : new Array(),
t_Files : new Array(),
t_FilesChecked : new Array(),
t_processnext : 0,
t_wikiurl : wgServer + wgScriptPath + '/api.php',
t_stopp : false,
t_vkdebug : false, // true;
CreateTemplatePreview : function () {
var out = '';
t_Typ = document.getElementById('TypSel').value;
out += '<h3>Verwendete Vorlagen (werden <u>nicht</u> automatisch erstellt)</h3>';
t_Vorlagebezeichner = 'Bildgalerie '+t_Typ+' XXX Sprachen';
t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner );
t_ZielbezeichnerUrl = t_Zielbezeichner;
t_missingText = '';
t_missingText = CatGenForm.t_FilesChecked[t_Zielbezeichner];
out += '<ul><li><span id="Vorlage_Sprachen">' +
'<a href="'+wgScriptPath+'/index.php?title=' + t_ZielbezeichnerUrl + '" '+ t_missingText + 'title="' + t_ZielbezeichnerUrl + '">' +
t_Zielbezeichner + '</a></span></li></ul>';
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_Vorlagebezeichner = CatGenForm.t_KategorienTexte[CatGenForm.t_Sprachen[t_Sprache]] + CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]];
t_Zielbezeichner = trim('Vorlage:Kategoriebeschreibung ' + t_Vorlagebezeichner + ' XXX' );
t_ZielbezeichnerUrl = t_Zielbezeichner;
t_missingText = '';
t_missingText = CatGenForm.t_FilesChecked[t_Zielbezeichner];
out += '<ul><li><span id="Vorlage_' + CatGenForm.t_Sprachen[t_Sprache] + '">' +
'<a href="'+wgScriptPath+'/index.php?title=' + t_ZielbezeichnerUrl + '" '+ t_missingText + 'title="' + t_ZielbezeichnerUrl + '">' +
t_Zielbezeichner + '</a></span></li></ul>';
}
return out;
},
CreatePreview : function () {
var out = '';
var t_Sprachenparameter = '';
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[t_Sprache]).value
if ( t_Hersteller != '' ) {
t_Sprachenparameter += '|' + (t_Sprache - -1) + '=' + t_Hersteller;
}
}
t_Typ = document.getElementById('TypSel').value;
out += '<h3>Vorschau Kategorievorlagen</h3>';
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[t_Sprache]).value
if ( t_Hersteller == '' ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[0]).value
}
t_Vorlagebezeichner = CatGenForm.t_VorlagenTexte[CatGenForm.t_Sprachen[t_Sprache]] + CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]];
t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner + t_Hersteller);
t_ZielbezeichnerUrl = t_Zielbezeichner;
t_missingText = '';
t_missingText = CatGenForm.t_FilesChecked[t_Zielbezeichner];
t_Zielbezeichner = t_Zielbezeichner.replace(/&/g, "&");
t_ZielbezeichnerUrl = encodeURIComponent( t_ZielbezeichnerUrl );
out += '<ul><li><span id="FileV' + CatGenForm.t_Sprachen[t_Sprache] + '">' +
'<a href="'+wgScriptPath+'/index.php?title=' + t_ZielbezeichnerUrl + '" '+ t_missingText + 'title="' + t_ZielbezeichnerUrl + '">' +
t_Zielbezeichner + '</a></span></li></ul>';
t_Hersteller = t_Hersteller.replace(/&/g, "&");
out += '<dl><dd><span id="InhaltV' + CatGenForm.t_Sprachen[t_Sprache] + '"><includeonly>{{Bildgalerie '+t_Typ+' XXX Sprachen' +
t_Sprachenparameter + '}}</includeonly><noinclude>[[Kategorie:' +
CatGenForm.t_VorlagenKategorie[CatGenForm.t_Sprachen[t_Sprache]] +'|' + t_Hersteller + ']]</noinclude>' + '</span></dd></dl>';
}
out += '<h3>Vorschau Kategorien</h3>';
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[t_Sprache]).value
if ( t_Hersteller == '' ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[0]).value
}
t_Buchstabenparameter = '';
for ( i = 1; i <= 2; i++) {
if ( document.getElementById('Buchstabe' + i + '_'+CatGenForm.t_Sprachen[t_Sprache]).value ) {
t_Buchstabenparameter += '|' + (i - -5) + '=' + document.getElementById('Buchstabe' + i + '_' + CatGenForm.t_Sprachen[t_Sprache]).value;
}
}
if ( t_Buchstabenparameter == '' ) {
for ( i = 1; i <= 2;i++) {
if ( document.getElementById('Buchstabe' + i + '_'+CatGenForm.t_Sprachen[0]).value ) {
t_Buchstabenparameter += '|' + (i - -5) + '=' + document.getElementById('Buchstabe' + i + '_' + CatGenForm.t_Sprachen[0]).value;
}
}
}
t_Kategoriebezeichner = CatGenForm.t_KategorienTexte[CatGenForm.t_Sprachen[t_Sprache]] + CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]];
t_Zielbezeichner = trim('' + t_Kategoriebezeichner + t_Hersteller);
t_ZielbezeichnerUrl = t_Zielbezeichner;
t_missingText = '';
t_missingText = CatGenForm.t_FilesChecked['Kategorie:' + t_Zielbezeichner];
t_Zielbezeichner = t_Zielbezeichner.replace(/&/g, "&");
t_ZielbezeichnerUrl = encodeURIComponent( t_ZielbezeichnerUrl );
out += '<ul><li><span id="FileK' + CatGenForm.t_Sprachen[t_Sprache] + '">' +
'<a href="' + wgScriptPath + '/index.php?title=Kategorie:' + t_ZielbezeichnerUrl + '" ' +
t_missingText + 'title="Kategorie:' + t_ZielbezeichnerUrl + '">Kategorie:' +
t_Zielbezeichner + '</a></span></li></ul>';
out += '<dl><dd><span id="InhaltK' + CatGenForm.t_Sprachen[t_Sprache] + '">{{Kategoriebeschreibung ' + t_Kategoriebezeichner + ' XXX' +
t_Sprachenparameter + t_Buchstabenparameter + '}}</span></dd></dl>';
}
return out;
},
CheckPreviewVFiles : function () {
if ( document.getElementById( 'InsertCreateForm' ) ) {
if ( document.getElementById( 'PreviewForm' ) ) {
document.getElementById( 'PreviewForm' ).innerHTML = '';
}
if ( document.getElementById( 'TemplateForm' ) ) {
document.getElementById( 'TemplateForm' ).innerHTML = '';
}
setcursor( 'wait' );
CatGenForm.t_Files.splice( 0, CatGenForm.t_Files.length );
CatGenForm.InitLanguageVars();
for ( var t_Page in CatGenForm.t_FilesChecked ) {
if ( CatGenForm.t_FilesChecked[t_Page] == 'class="new" ' ) {
CatGenForm.t_FilesChecked[t_Page] = '';
}
}
t_Typ = document.getElementById('TypSel').value;
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[t_Sprache]).value
if ( t_Hersteller == '' ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[0]).value
}
t_Vorlagebezeichner = CatGenForm.t_VorlagenTexte[CatGenForm.t_Sprachen[t_Sprache]] +
CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]];
t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner + t_Hersteller);
CatGenForm.t_Files.push( t_Zielbezeichner);
}
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[t_Sprache]).value
if ( t_Hersteller == '' ) {
t_Hersteller = document.getElementById('Hersteller_'+CatGenForm.t_Sprachen[0]).value
}
t_Kategoriebezeichner = CatGenForm.t_KategorienTexte[CatGenForm.t_Sprachen[t_Sprache]] +
CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]];
t_Zielbezeichner = trim('Kategorie:' + t_Kategoriebezeichner + t_Hersteller);
CatGenForm.t_Files.push( t_Zielbezeichner);
}
t_Vorlagebezeichner = 'Bildgalerie '+t_Typ+' XXX Sprachen';
t_Zielbezeichner = trim('Vorlage:' + t_Vorlagebezeichner );
CatGenForm.t_Files.push( t_Zielbezeichner);
for ( t_Sprache = 0; t_Sprache < CatGenForm.t_Sprachen.length; t_Sprache++ ) {
t_Vorlagebezeichner = CatGenForm.t_KategorienTexte[CatGenForm.t_Sprachen[t_Sprache]] +
CatGenForm.t_TypTexte[t_Typ+'_'+CatGenForm.t_Sprachen[t_Sprache]];
t_Zielbezeichner = trim('Vorlage:Kategoriebeschreibung ' + t_Vorlagebezeichner + ' XXX' );
CatGenForm.t_Files.push( t_Zielbezeichner);
}
document.getElementById( 'PreviewForm' ).innerHTML = '<hr style="margin-top:1em;">' + 'Vorschau wird erstellt für:';
CatGenForm.ProcessingPreviewFile();
}
},
/* ----------------------------------------- */
ProcessingPreviewFile : function ( ) {
if ( CatGenForm.t_Files.length > 0 ) {
t_FilesToCheckString = CatGenForm.t_Files.splice( 0, 1 );
}
if ( CatGenForm.t_Files.length > 0 ) {
t_FilesToCheckString += '|';
t_FilesToCheckString += CatGenForm.t_Files.splice( 0, 1 );
}
if ( CatGenForm.t_Files.length > 0 ) {
t_FilesToCheckString += '|';
t_FilesToCheckString += CatGenForm.t_Files.splice( 0, 1 );
}
var t_parameters = '?action=query&format=json&prop=info&titles=' + encodeURIComponent( t_FilesToCheckString );
var t_http_req = null;
if (window.XMLHttpRequest) {t_http_req = new XMLHttpRequest();}
else if (window.ActiveXObject) {t_http_req = new ActiveXObject("Microsoft.XMLHTTP");}
t_http_req.open("POST", CatGenForm.t_wikiurl + t_parameters, true);
t_http_req.onreadystatechange = function() {
if(t_http_req.readyState != 4) {
if ( t_FilesToCheckString != '' ) {
document.getElementById( 'PreviewForm' ).innerHTML += '<br>' + t_FilesToCheckString.replace(/\|/g, "<br>");
t_FilesToCheckString = '';
}
}
if(t_http_req.readyState == 4 && t_http_req.status == 200) {
if ( CatGenForm.t_vkdebug ) {
document.getElementById( 'StatusPrev' ).style.display = 'block';
document.getElementById( 'StatusPrev' ).innerHTML += '<hr>' + t_http_req.responseText;
}
CatGenForm.ProcessedPreviewFile( eval("(" + t_http_req.responseText + ")") );
}
}
t_http_req.send(null);
},
ProcessedPreviewFile : function ( queryData, rawData ) {
if ( queryData.query && queryData.query.pages ) {
for ( var t_Page in queryData.query.pages ) {
if ( !queryData.query.pages[t_Page].pageid ) {
if ( queryData.query && queryData.query.normalized ) {
for ( t_PageNorm= 0; t_PageNorm < queryData.query.normalized.length; t_PageNorm++ ) {
if ( queryData.query.normalized[t_PageNorm].to == queryData.query.pages[t_Page].title ) {
CatGenForm.t_FilesChecked[decodeURIComponent( queryData.query.normalized[t_PageNorm].from )] = 'class="new" ';
}
}
}
CatGenForm.t_FilesChecked[decodeURIComponent(queryData.query.pages[t_Page].title)] = 'class="new" ';
} else {
CatGenForm.t_FilesChecked[decodeURIComponent(queryData.query.pages[t_Page].title)] = '';
}
}
}
if ( CatGenForm.t_Files.length > 0 ) {
CatGenForm.ProcessingPreviewFile();
} else {
CatGenForm.PreviewVKFiles();
}
},
PreviewVKFiles : function () {
if ( document.getElementById( 'PreviewForm' ) ) {
document.getElementById( 'PreviewForm' ).innerHTML = '<hr style="margin-top:1em;">' + CatGenForm.CreatePreview() + '';
}
if ( document.getElementById( 'TemplateForm' ) ) {
document.getElementById( 'TemplateForm' ).innerHTML = '<hr style="margin-top:1em;">' + CatGenForm.CreateTemplatePreview() + '';
}
document.getElementById( 'InsertCreateForm' ).innerHTML =
'<hr style="margin-top:1em; margin-right:.5em;"><div style="margin-top:.5em; margin-right:1em;">' +
'<h3>Erstellen</h3>' +
'<label for="Summary" style="vertical-align:top">Zusammenfassung / Kommentar:</label>' +
'<p><input id="Summary" type="text" size="75" value="Mit neuer Vorlage automatisch erstellt"></p>' +
'<label for="Status" style="vertical-align:top;">Status:</label>' +
'<p id="Status" style="border: 1px solid #aaa; padding:.5em;height:75px;" >Vor dem Erstellen der Vorlagen und Kategorien bitte die Namen und Inhalte überprüfen ...</p>' +
'<p><input type="button" title="Erstellt die Vorlagen und Kategorien gemäß der Vorschau mit den angezeigten Inhalten" ' +
'value="Erstellen" onClick="StartCreatingVKFiles()"> ' +
'<input type="button" value="Abbrechen" title="Die Abarbeitung der Erstellung und des Löschens von Vorlagen und Kategorien wird unterbrochen" ' +
'onClick="StopProcessingVKFiles()">' +
'<input type="button" value="Löschen" style="float:right;" title="Löscht die Vorlagen und Kategorien gemäß der Vorschau" ' +
'onClick="StartDeletingVKFiles()">' +
'</p></div>';
document.getElementById('Summary').disabled = document.getElementById('UseTextSummary').checked;
setcursor( 'auto' );
},
UnloadCatGenForm : function () {
if ( CatGenForm.t_Content != '' ) {
document.getElementById( 'content' ).innerHTML = CatGenForm.t_Content;
CatGenForm.t_Content = '';
}
},
LoadCatGenForm : function () {
if ( wgAction != 'view' ) {
alert( 'Der Vorlagen und Kategorien-Generator kann nur im Anzeigemodus verwendet werden');
return;
}
if ( document.getElementById( 'content' ) ) {
if ( CatGenForm.t_Content == '' ) {
CatGenForm.t_Content = document.getElementById( 'content' ).innerHTML;
}
out = '<form method="get" style="width:100%" name="CatGenForm">' +
'<fieldset><legend>Vorlagen- und Kategoriegenerator</legend>' +
'<div style="margin-top:.5em; margin-left:1em; margin-right:1em;">' +
'<h3>Parameter</h3>' +
'<table><tr>' +
'<td style="vertical-align:top"><label for="Hersteller_de">Hersteller (de):</label></td>' +
'<td><input id="Hersteller_de" type="text" size="50" value=""></td>' +
'<td style="vertical-align:top"><label for="Buchstabe_de">Buchstaben (de):</label></td>' +
'<td><input id="Buchstabe1_de" type="text" size="1" value=""> <input id="Buchstabe2_de" type="text" size="1" value=""></td>' +
'</tr><tr>' +
'<td style="vertical-align:top"><label for="Hersteller_en">Hersteller (en):</label></td>' +
'<td><input id="Hersteller_en" type="text" size="50" value=""></td>' +
'<td style="vertical-align:top"><label for="Buchstabe_en">Buchstaben (en):</label></td>' +
'<td><input id="Buchstabe1_en" type="text" size="1" value=""> <input id="Buchstabe2_en" type="text" size="1" value=""></td>' +
'</tr><tr>' +
'<td style="vertical-align:top"><label for="Hersteller_es">Hersteller (es):</label></td>' +
'<td><input id="Hersteller_es" type="text" size="50" value=""></td>' +
'<td style="vertical-align:top"><label for="Buchstabe_es">Buchstaben (es):</label></td>' +
'<td><input id="Buchstabe1_es" type="text" size="1" value=""> <input id="Buchstabe2_es" type="text" size="1" value=""></td>' +
'</tr><tr>' +
'<td style="vertical-align:top"><label for="Hersteller_nl">Hersteller (nl):</label></td>' +
'<td><input id="Hersteller_nl" type="text" size="50" value=""></td>' +
'<td style="vertical-align:top"><label for="Buchstabe_nl">Buchstaben (nl):</label></td>' +
'<td><input id="Buchstabe1_nl" type="text" size="1" value=""> <input id="Buchstabe2_nl" type="text" size="1" value=""></td>' +
'</tr><tr>' +
'<td style="vertical-align:top"><label for="Hersteller_ru">Hersteller (ru):</label></td>' +
'<td><input id="Hersteller_ru" type="text" size="50" value=""></td>' +
'<td style="vertical-align:top"><label for="Buchstabe_ru">Buchstaben (ru):</label></td>' +
'<td><input id="Buchstabe1_ru" type="text" size="1" value=""> <input id="Buchstabe2_ru" type="text" size="1" value=""></td>' +
'</tr><tr>' +
'<td style="vertical-align:top">Typ:</td><td colspan="3"><table><tr>' +
'<td><select id="Typ" size="8" type="hidden" ' +
'onchange="this.form.TypSel.value = this.form.Typ.options[this.form.Typ.selectedIndex].value">';
for ( t_Typ = 0; t_Typ < CatGenForm.t_Typen.length; t_Typ++ ) {
out += '<option value="' + CatGenForm.t_Typen[t_Typ] + '">' + CatGenForm.t_Typen[t_Typ] + '</option>';
}
out += '</select><input id="TypSel" name="TypSel" type="hidden" value=""></td>' +
'<td style="vertical-align:top; padding-left:1em;">Optionen:</td>' +
'<td style="vertical-align:top;">' +
'<table><tr><td><input id="Overwrite" type="checkbox"></td><td>Überschreiben von bestehenden Vorlagen/Kategorien</td></tr>' +
'<tr><td><input id="UseTextSummary" type="checkbox" ' +
'onchange="this.form.Summary.disabled = this.form.UseTextSummary.checked"></td><td>Neuen Inhalt als Zusammenfassung / Kommentar benutzen</td></tr></table>' +
'</td>' +
'</tr></table></td>' +
'</tr></table>' +
'<p><input type="button" value="Vorschau" ' +
'title="Erzeugt eine Vorschau der Vorlagen und Kategorien mit Inhalten" onClick="CheckPreviewVFiles()"> ' +
'<input type="button" value="Neu" title="Setzt die Parameter zurück und löscht alle Eingaben" onClick="LoadCatGenForm()">' +
'<input type="button" style="float:right;" value="Schließen" title="Beendet den Vorlagen und Kategorien-Generator" onClick="UnloadCatGenForm()">' +
'<p id="StatusPrev" style="border: 1px solid #aaa; padding:.5em;display:none;">Debuginfo</p></p>' +
'<div id="PreviewForm"></div>' +
'<div id="TemplateForm"></div>' +
'<div id="InsertCreateForm"></div>' +
'</div></fieldset></form>';
document.getElementById( 'content' ).innerHTML = out;
if ( typeof wgGenOverwrite != "undefined" && wgGenOverwrite == 1 ) {
document.getElementById('Overwrite').checked = true;
} else {
document.getElementById('Overwrite').checked = false;
}
if ( typeof wgGenUseTextSummary != "undefined" && wgGenUseTextSummary == 1 ) {
document.getElementById('UseTextSummary').checked = true;
} else {
document.getElementById('UseTextSummary').checked = false;
}
}
}
};
var TW_PERSONAL = "p-personal";
var TW_WERKZEUGE = "p-tb";
var TW_REITER = "column-one";
function InsertNode(p_href, p_text, p_id, p_tag, p_before_id)
{
var new_a = document.createElement('a');
new_a.href = p_href;
new_a.appendChild(document.createTextNode(p_text));
var new_li = document.createElement('li');
new_li.appendChild(new_a);
var tmp_nodes = document.getElementById(p_id).getElementsByTagName(p_tag);
tmp_Node = tmp_nodes[0];
if (p_before_id)
{
tmp_Node.insertBefore(new_li.cloneNode(true), document.getElementById(p_before_id));
}
else
{
tmp_Node.appendChild(new_li.cloneNode(true));
}
}
function setcursor( cursortype ) {
document.getElementById( 'content' ).style.cursor = cursortype;
for ( i = 0; i < document.getElementById( 'content' ).getElementsByTagName( 'input' ).length; i++ ) {
document.getElementById( 'content' ).getElementsByTagName( 'input' )[i].style.cursor = cursortype;
}
}
function trim( t_string ) {
return t_string.replace (/^\s+/, '').replace (/\s+$/, '');
}
function CheckPreviewVFiles( ) {
CatGenForm.CheckPreviewVFiles();
}
function LoadCatGenForm( ) {
CatGenForm.LoadCatGenForm();
}
function UnloadCatGenForm( ) {
CatGenForm.UnloadCatGenForm();
}
function StartCreatingVKFiles( ) {
CatGenForm.StartCreatingVKFiles();
}
function StopProcessingVKFiles( ) {
CatGenForm.StopProcessingVKFiles();
}
function StartDeletingVKFiles( ) {
CatGenForm.StartDeletingVKFiles();
}