//<nowiki>
if(typeof window!="undefined"){
//inside Vada DOM
(function(){
var a930913_ufd={
about:{
name:"A930913's Unused File Director",
description:"Given a file redirect, searches for all uses, replaces them, then tags the redirect for deletion.",
namespace:"a930913_ufd",
userscript:"User:A930913/vada/plugin/ufd.js",
}
}
window.vada.loadPlugin(a930913_ufd);
})();
} else {
//inside Vada process
vada.plugins.a930913_ufd={};
vada.plugins.a930913_ufd.page=function(params){
var query={};
query.action="query";
query.list="imageusage";
query.iufilterredir="nonredirects";
query.iutitle=params.page;
var data=vada.api(query);
if(data.query.imageusage.length===0){
var bl=vada.api({"action":"query","list":"backlinks","bltitle":params.page}).query.backlinks,tag=true;
for(var i in bl){if(bl[i].title.search("sandbox")==-1){tag=false;break;}}
if(tag){
var agepi=vada.api({"action":"query","prop":"revisions","titles":params.page,"rvprop":"timestamp","rvdir":"newer","rvlimit":"1"});
for(var pageid in agepi.query.pages)break;
if(Date.now()-Date.parse(agepi.query.pages[pageid].revisions[0].timestamp)<2629744000){
//tag for deletion
var p=new vada.Page(params.page);
vada.dom.summarybox.setText("Tagging retitled media for deletion (G6)");
vada.dom.minorbox.uncheck();
} else {
//Older than a month, there may be external links pointing to the redirect
vada.plugins.a930913_ufd.removenext(params.page);
}
try{
if(p.text.substr(0,8)=="{{"+"db-g6|")throw("PageAlreadyTagged");
vada.dom.load(p,"{{"+"db-g6|reason=G6 - Retitled media with no significant incoming links. (Please check for Commons referals)}}\n"+p.text);
}catch(e){
if(e=="PageDoesNotExist"||e=="PageAlreadyTagged"){
//page already deleted
vada.plugins.a930913_ufd.removenext(params.page);
} else {
throw(e);
}
}
} else {
vada.plugins.a930913_ufd.removenext(params.page);
}
} else {
var nextms=null;
for(var i in data.query.imageusage){
if(data.query.imageusage[i].ns===0){
nextms=data.query.imageusage[i].title;
break;
}
}
if(nextms){
//replace redirects on this page
var p=new vada.Page(nextms);
var realpage=new vada.Page(params.page).text.match(/#REDIRECT \[\[(.+?)\]\]/)[1];
vada.dom.summarybox.setText("Fixing redirect ("+params.page+" → [["+realpage+"]])");
vada.dom.minorbox.check();
//vada.dom.load(p,p.text.replace(new RegExp(params.page.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"),"g"),realpage));
vada.dom.load(p,p.text.replace(new RegExp(params.page.split(":")[1].replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1").replace(/ /g,"[\ _]"),"g"),realpage.split(":")[1]));
} else {
vada.plugins.a930913_ufd.removenext(params.page);
}
}
}
vada.plugins.a930913_ufd.queueclick=function(params){
vada.plugins.a930913_ufd.page({page:params.title});
vada.dom.queue.splice(vada.dom.queue.indexOf(new vada.Page(params.title)),1);
vada.dom.queue.redraw();
}
vada.plugins.a930913_ufd.saveclick=function(params){
vada.dom.queue.next();
}
vada.plugins.a930913_ufd.removenext=function(page){
vada.dom.queue.splice(vada.dom.queue.indexOf(new vada.Page(page)),1);
vada.dom.queue.redraw();
vada.dom.queue.next();
}
vada.plugins.a930913_ufd.start=function(){
vada.events.trigger("plugins.stop",{});
vada.events.addListener("plugins.stop",vada.plugins.a930913_ufd.stop);
vada.dom.menu.new([vada.dom.menu.buttons.nextq,vada.dom.menu.buttons.save]);
vada.dom.queue.builders.show();
vada.events.addListener("pagename",vada.plugins.a930913_ufd.page);
vada.events.addListener("queue.page.selected",vada.plugins.a930913_ufd.queueclick);
vada.events.addListener("save.click",vada.plugins.a930913_ufd.saveclick);
vada.plugins.a930913_ufd.running=true;
}
vada.plugins.a930913_ufd.stop=function(){
vada.plugins.a930913_ufd.running=false;
vada.dom.queue.builders.hide();
vada.events.removeListener("pagename",vada.plugins.a930913_ufd.page);
vada.events.removeListener("queue.page.selected",vada.plugins.a930913_ufd.queueclick);
vada.events.removeListener("save.click",vada.plugins.a930913_ufd.saveclick);
}
vada.plugins.a930913_ufd.running=false;
vada.plugins.a930913_ufd.button=(function(pl){
var button=new vada.dom.menu.Button("a930913_ufd_start");
button.text="A930913's Unused File Director";
button.click=pl.start;
vada.dom.menu.buttons.vada.children.push(button);
vada.dom.menu.redraw();
return button;
})(vada.plugins.a930913_ufd);
}
//</nowiki>