User:ExtorcDev/rmMaster.js: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
No edit summary Tag: Reverted |
||
Line 1: | Line 1: | ||
<nowiki> |
|||
$('.mw-heading').each(function(index){ |
$('.mw-heading').each(function(index){ |
||
var $heading = $(this).find('span.mw-headline'); |
var $heading = $(this).find('span.mw-headline'); |
||
Line 23: | Line 24: | ||
section = section + '\n{{subst:' + 'RM bottom}}\n'; |
section = section + '\n{{subst:' + 'RM bottom}}\n'; |
||
var closeMSG = window.prompt("Close Message : "); |
var closeMSG = window.prompt("Close Message : "); |
||
var updatedSection = section.replace(/{{requested move.*/g,'{{subst: |
var updatedSection = section.replace(/{{requested move.*/g,'{{subst:RM top|' + closeMSG + '|nac=yes}}'); |
||
result = result.replace(sectionLog[i+1], updatedSection); |
result = result.replace(sectionLog[i+1], updatedSection); |
||
console.log(result); |
console.log(result); |
||
Line 48: | Line 49: | ||
console.log('Already relisted atleast once'); |
console.log('Already relisted atleast once'); |
||
var prevRelists = section.match(/'''''Relisting.*>/); |
var prevRelists = section.match(/'''''Relisting.*>/); |
||
var newRelists = prevRelists + '{{subst |
var newRelists = prevRelists + '{{subst:relisting}}'; |
||
var updatedSection = section.replace(prevRelists, newRelists); |
var updatedSection = section.replace(prevRelists, newRelists); |
||
result = result.replace(section, updatedSection); |
result = result.replace(section, updatedSection); |
||
Line 55: | Line 56: | ||
} |
} |
||
else{ |
else{ |
||
var updatedSection = section.replace(section.match(/.UTC./m),'(UTC){{subst |
var updatedSection = section.replace(section.match(/.UTC./m),'(UTC){{subst:relisting}}'); |
||
result = result.replace(section, updatedSection); |
result = result.replace(section, updatedSection); |
||
console.log(result); |
console.log(result); |
||
Line 76: | Line 77: | ||
function queryParams(url){ return { action: 'query', prop: 'revisions', rvprop: 'content', rvlimit: 1, titles: url }; } |
function queryParams(url){ return { action: 'query', prop: 'revisions', rvprop: 'content', rvlimit: 1, titles: url }; } |
||
function editParams(url, action){ return { action: 'edit', title: url, text: result, summary: action + ' Request using [[User:ExtorcDev/rmMaster.js|rmMaster]]' }; } |
function editParams(url, action){ return { action: 'edit', title: url, text: result, summary: action + ' Request using [[User:ExtorcDev/rmMaster.js|rmMaster]]' }; } |
||
</nowiki> |
Revision as of 17:10, 25 May 2023
<nowiki>
$('.mw-heading').each(function(index){
var $heading = $(this).find('span.mw-headline');
if($heading.text().includes('Requested move')){
$(this).append('<br><button class="closeButton">Close</button><button class="relistButton">Relist</button>');
}
});
var url = window.location.href.match(/Talk.*$/gm).toString().replace(/_/g, ' ');
if(url.match(/#/gm)){
url = url.toString().replace(/#.*$/gm,'');
}
console.log(url);
$('.closeButton').click(function(){
var api = new mw.Api();
api.get( queryParams(url) ).done( function ( data ) {
var page;
for (page in data.query.pages){
result = data.query.pages[page].revisions[0]['*'];
sectionLog = result.split("==");
for(let i = 0; i < sectionLog.length; i++){
if(sectionLog[i].match(/Requested move \d/gm) && sectionLog[i+1].match(/{{requested move.*/g)){
var section = sectionLog[i+1];
section = section + '\n{{subst:' + 'RM bottom}}\n';
var closeMSG = window.prompt("Close Message : ");
var updatedSection = section.replace(/{{requested move.*/g,'{{subst:RM top|' + closeMSG + '|nac=yes}}');
result = result.replace(sectionLog[i+1], updatedSection);
console.log(result);
editPage(url, result, 'Closed');
}
}
}
} );
});
$('.relistButton').click(function(){
console.log("Relisted");
var api = new mw.Api();
api.get( queryParams(url) ).done( function ( data ) {
var page;
for (page in data.query.pages){
result = data.query.pages[page].revisions[0]['*'];
sectionLog = result.split("==");
for(let i = 0; i < sectionLog.length; i++){
if(sectionLog[i].match(/Requested move \d/gm) && sectionLog[i+1].match(/{{requested move.*/g)){
var section = sectionLog[i+1];
console.log(section);
if(section.match(/'''''Relisting.*>/gm)){
console.log('Already relisted atleast once');
var prevRelists = section.match(/'''''Relisting.*>/);
var newRelists = prevRelists + '{{subst:relisting}}';
var updatedSection = section.replace(prevRelists, newRelists);
result = result.replace(section, updatedSection);
console.log(result);
editPage(url, result, 'Relisted')
}
else{
var updatedSection = section.replace(section.match(/.UTC./m),'(UTC){{subst:relisting}}');
result = result.replace(section, updatedSection);
console.log(result);
editPage(url, result, 'Relisted')
}
}
}
}
} );
});
function editPage( url , result , action) {
var api2 = new mw.Api();
api2.postWithToken("csrf", editParams(url, action) ).done(function( data ) {
alert( 'Page edited!' );
} ).fail( function(code, data) {
console.log( api.getErrorMessage( data ).text());
} );
}
function queryParams(url){ return { action: 'query', prop: 'revisions', rvprop: 'content', rvlimit: 1, titles: url }; }
function editParams(url, action){ return { action: 'edit', title: url, text: result, summary: action + ' Request using [[User:ExtorcDev/rmMaster.js|rmMaster]]' }; }
</nowiki>