User:Riana/autodelete.js
Jump to navigation
Jump to search
Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
Documentation for this user script can be added at User:Riana/autodelete. |
/* ========================================================================== *\
* *
* This is adapted (stolen?) from [[:en:User:^demon/csd.js]] *
* I haven't asked him what license he's using, I'm hoping GFDL. ^.^ *
* If not, I'll gladly delete this, obviously! *
* ========================================================================== *
/* <pre><nowiki> */
if (wgAction == 'delete') {
var csdDeleteForm = {
FillSelect:function(sel, arr){
if(arr && arr.length>0){
if(arr.length>1){
var FirstOpt = new Option("Deletion Reasons", "");
// catches stupid IE error
if(FirstOpt.innerHTML != "Deletion Reasons"){
FirstOpt.innerHTML = "Deletion Reasons";
}
sel.appendChild(FirstOpt);
sel.options[0].style.color = "gray"
}
sel.disabled = false;
for(var i=0;i<arr.length;i++){
var opt = new Option(arr[i].display, arr[i].value);
// catches stupid IE error
if(opt.innerHTML != arr[i].display){
opt.innerHTML = arr[i].display;
}
sel.appendChild(opt);
}
}else{
sel.options[0] = new Option("No Options Available", "");
// catches stupid IE error
if(sel.options[0].innerHTML != "No Options Available"){
sel.options[0].innerHTML = "No Options Available";
}
sel.disabled = true;
return false;
}
return true;
},
ValueArray:[
{"value":"Unknown for over 7 days - no source","display":"Unknown - no source"},
{"value":"Unknown for over 7 days - no license","display":"Unknown - no license"},
{"value":"Unknown for over 7 days - no permission","display":"Unknown - no permission"},
{"value":"Test page","display":"Test page"},
{"value":"Vandalism only","display":"Vandalism only"},
{"value":"Duplicate of another image","display":"Duplicate"},
{"value":"Uploader request","display":"Uploader request"},
{"value":"Deleted after deletion request","display":"Deletion request"},
{"value":"Outside [[COM:SCOPE|project scope]]","display":"Not in SCOPE"},
{"value":"Empty gallery","display":"Empty gallery"},
{"value":"Spam/spambot page","display":"Spam/spambot page"},
{"value":"Talkpage of non-existent file/gallery/category","display":"Orphaned talkpage"},
{"value":"Copyright violation - see [[COM:L|licensing policy]]","display":"Copyvio"}
],
//**************************** attaching function *****************************************
// got thIS super handi function from http://www.scottandrew.com he is pretty dang smart **
//*****************************************************************************************
addEvent:function(obj, evType, fn, useCapture){
//alert(obj);
if (obj.addEventListener){
obj.addEventListener(evType, fn, useCapture);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
alert("Handler could not be attached");
}
}
}
function addSelectAfter(){
var obj = document.getElementById('wpReason') || document.getElementById('wpComment');
// create select using included array
var sel = document.createElement("SELECT");
csdDeleteForm .FillSelect(sel, csdDeleteForm .ValueArray);
// name it
sel.name = "csdOptions";
sel.id = "csdOptions";
sel.style.marginLeft = "10px";
csdDeleteForm .addEvent(sel, "change", csdChangeBox, false);
// check for next sibling and insert before it or at the end
if(obj.nextSibling){
obj.parentNode.insertBefore(sel,obj.nextSibling);
}else{
obj.parentNode.appendChild(sel);
}
}
try{
// add one on load
csdDeleteForm.addEvent(window, "load", addSelectAfter, false);
}catch(err){}
}
function csdChangeBox() {
var obj = document.getElementById('wpReason') || document.getElementById('wpComment');
obj.value = document.getElementById('csdOptions').value;
}
/* </nowiki><pre> */