Benutzer:DerFussi/LA.js
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// <nowiki>
( function ( mw, $ ) {
// check whether mediawiki and jquery is defined
if ( typeof ( mw ) == 'object' && typeof ( $ ) == 'function' ) {
// check Pagename
var pageName = mw.config.get ( 'wgPageName' );
// working only on page: Wikivoyage:Löschanträge
if ( pageName === 'Benutzer:DerFussi/TestLA' ) {
// URL of the API
var apiURL = 'https:' + mw.config.get ( 'wgServer' ) + mw.config.get ( 'wgScriptPath' ) + '/api.php';
// removing edit buttons on sections
$('.mw-editsection').remove();
// saving the overdue articles
var overdueList = [];
// Getting list of overdue deletion requests
$.ajax({
url: apiURL,
data: {
format : 'json',
action : 'query',
list : 'categorymembers',
cmtitle : 'Kategorie:Überfällige Löschanträge'
},
method : 'POST',
dataType: 'json',
error: function() {
// Error: Pages not created
},
success: function(data) {
// List the articles
var entry = '';
var discussion = '';
for ( var i = 0; i < data.query.categorymembers.length; i++ ) {
// Activating the heading and list
$('#wv-list-overdue-delete-requests-heading-'+data.query.categorymembers[i].ns).css('display','block');
$('#wv-list-overdue-delete-requests-'+data.query.categorymembers[i].ns).css('display','block');
// saving the page name
overdueList[data.query.categorymembers[i].title] = 0;
// Generating the entry
entry =
'<li data-title="'+data.query.categorymembers[i].title+'" class="wv-list-delete-requests-item wv-list-delete-requests-item-classic">'+
'<span class="wv-list-delete-requests-entry">'+
'<a href="/wiki/'+encodeURI(data.query.categorymembers[i].title)+'" title="'+data.query.categorymembers[i].title+'">'+data.query.categorymembers[i].title+'</a>'+
'</span>';
// Generating Link to Discussion site
if ( data.query.categorymembers[i].ns === 0 ) {
discussion = 'Diskussion:'+data.query.categorymembers[i].title;
} else {
discussion = data.query.categorymembers[i].title.replace( /([^:]+)(:.*)/ig, '$1 Diskussion$2' );
}
// Adding link to discussion site and delete request
entry = entry +
'<span class="wv-list-delete-requests-entry-links">'+
'('+
'<a href="/wiki/'+encodeURI(discussion)+'" title="Diskussionsseite von '+data.query.categorymembers[i].title+'">Diskussion</a>'+
', '+
'<a href="/wiki/'+encodeURI('Wikivoyage:Löschanträge/'+data.query.categorymembers[i].title)+'" title="Löschantrag für '+data.query.categorymembers[i].title+'">Löschantrag</a>'+
')'+
'</span>'+
'<br /><p class="wv-list-delete-requests-entry-reason"> </p>'+
'</li>';
$('#wv-list-overdue-delete-requests-'+data.query.categorymembers[i].ns).append(entry);
}
// Getting list of current deletion requests
$.ajax({
url: apiURL,
data: {
format : 'json',
action : 'query',
list : 'categorymembers',
cmtitle : 'Kategorie:Aktuelle Löschanträge'
},
method : 'POST',
dataType: 'json',
error: function() {
// Error: Pages not created
},
success: function(data) {
// List the articles
var entry = '';
var discussion = '';
for ( var i = 0; i < data.query.categorymembers.length; i++ ) {
// Adding entry only when not in overdue list
if ( !(data.query.categorymembers[i].title in overdueList) ) {
// List the item here
$('#wv-list-current-delete-requests-heading-'+data.query.categorymembers[i].ns).css('display','block');
$('#wv-list-current-delete-requests-'+data.query.categorymembers[i].ns).css('display','block');
entry =
'<li data-title="'+data.query.categorymembers[i].title+'" class="wv-list-delete-requests-item wv-list-delete-requests-item-classic">'+
'<span class="wv-list-delete-requests-entry">'+
'<a href="/wiki/'+encodeURI(data.query.categorymembers[i].title)+'" title="'+data.query.categorymembers[i].title+'">'+data.query.categorymembers[i].title+'</a>'+
'</span>';
// Generating Link to Discussion site
if ( data.query.categorymembers[i].ns === 0 ) {
discussion = 'Diskussion:'+data.query.categorymembers[i].title;
} else {
discussion = data.query.categorymembers[i].title.replace( /([^:]+)(:.*)/ig, '$1 Diskussion$2' );
}
// Adding link to discussion site and delete request
entry = entry +
'<span class="wv-list-delete-requests-entry-links">'+
'('+
'<a href="/wiki/'+encodeURI(discussion)+'" title="Diskussionsseite von '+data.query.categorymembers[i].title+'">Diskussion</a>'+
', '+
'<a href="/wiki/'+encodeURI('Wikivoyage:Löschanträge/'+data.query.categorymembers[i].title)+'" title="Löschantrag für '+data.query.categorymembers[i].title+'">Löschantrag</a>'+
')'+
'</span>'+
'<br /><p class="wv-list-delete-requests-entry-reason"> </p>'+
'</li>';
$('#wv-list-current-delete-requests-'+data.query.categorymembers[i].ns).append(entry);
}
}
// Getting the reasons
console.log ( 'Starte Scan... von '+$('li.wv-list-delete-requests-item-classic').length+' Objekten...' );
$('li.wv-list-delete-requests-item-classic').each(function() {
var pageTitle = $(this).attr('data-title');
$.ajax({
url: apiURL,
data: {
format : 'json',
action : 'parse',
page : pageTitle
},
type: 'POST',
dataType: 'json',
error: function(data) {
console.log ( data );
},
success: function(data) {
console.log ( 'Begründung:' );
var match = data.parse.text['*'].match( /<span id="wv-delete-request-reason">(.*?)<\/span>/i );
$('li[data-title="'+pageTitle+'"] p.wv-list-delete-requests-entry-reason').html(match[1]);
}
});
}); // $('li.wv-list-delete-requests-item-classic').each(function(){})
}
});
}
});
// Getting list of quick deletion requests
$.ajax({
url: apiURL,
data: {
format : 'json',
action : 'query',
list : 'categorymembers',
cmtitle : 'Kategorie:Schnelllöschen'
},
method : 'POST',
dataType: 'json',
error: function() {
// Error: Pages not created
},
success: function(data) {
// List the articles
var entry = '';
var discussion = '';
for ( var i = 0; i < data.query.categorymembers.length; i++ ) {
$('#wv-list-quick-delete-requests-heading-'+data.query.categorymembers[i].ns).css('display','block');
$('#wv-list-quick-delete-requests-'+data.query.categorymembers[i].ns).css('display','block');
$('#wv-list-quick-delete-requests-'+data.query.categorymembers[i].ns).append('<li data-title="'+data.query.categorymembers[i].title+'" class="wv-list-delete-requests-item wv-list-delete-requests-item-quick"><a href="/wiki/'+encodeURI(data.query.categorymembers[i].title)+'" title="'+data.query.categorymembers[i].title+'">'+data.query.categorymembers[i].title+'</a></li>');
}
}
});
// Getting list of copyright violations
$.ajax({
url: apiURL,
data: {
format : 'json',
action : 'query',
list : 'categorymembers',
cmtitle : 'Kategorie:URV'
},
method : 'POST',
dataType: 'json',
error: function() {
// Error: Pages not created
},
success: function(data) {
// List the articles
for ( var i = 0; i < data.query.categorymembers.length; i++ ) {
$('#wv-list-urv ul').append('<li data-title="'+data.query.categorymembers[i].title+'" class="wv-list-delete-requests-item wv-list-delete-requests-item-classic"><a href="/wiki/'+encodeURI(data.query.categorymembers[i].title)+'" title="'+data.query.categorymembers[i].title+'">'+data.query.categorymembers[i].title+'</a></li>');
}
}
});
} // if ( pageName === 'Wikivoyage:Löschanträge' )
} // if ( typeof ( mw ) == 'object' && typeof ( $ ) == 'function' ) {
} ( mediaWiki, jQuery ) );
// </nowiki>