User:Lar/DYK/monobook.js

// //automate insertion of the following functions: // Article talk page: //  (do not subst so that it's compatible with a later change to small) // Article creator's talk page: Article name // Nominator's talk page: Article name

// DEPENDS on addlilink and addlimenu being defined already.

// TO USE JUST THESE FUNCS on new tabs, call add_DYK_tabs from your main menu hook area

function pipe_date { var months = new Array('January', 'February', 'March', 'April', 'May', 'June',                         'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date; var yearStr = date.getUTCFullYear; var dayMoStr = months[date.getUTCMonth] +" "+ date.getUTCDate; var t = dayMoStr+"|"+yearStr; return t; }

function dyk_talk { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += "~"; f.wpSummary.value = "This article was selected for WP:DYK!"

}

function dyk_talkNo { var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += ""; f.wpSummary.value = "This article was selected for WP:DYK!"

}

function updated_dyk { var page = prompt("User created which article?") var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += ""+pipe_date+" \nThanks for your contributions! ~"; f.wpSummary.value = "An article which you started, or significantly expanded, " + page + ", was selected for WP:DYK!" }

function updated_dyk_nom { var page = prompt("User nominated which article?") var f = document.editform, t = f.wpTextbox1; if (t.value.length > 0) t.value += '\n'; t.value += ""+pipe_date+" \nThanks for your contributions! ~"; f.wpSummary.value = "Your WP:DYK nomination for " + page + " was successful" }

/// Special DYK version of add_more_tabs and add Unsigned2 (don't call these if you don't want new tabs, add funcs to some existing one)

// add a 00:49, 27 May 2006 // at the end of the current edit contents. // will have problems at the change in years since it depends on date.getUTCFullYear

function addUnsigned2_DYK { // sample string to paste in is "18:32, 18 June 2006 FredUser" or "00:49, 27 May 2006 Timothy Usher " var date = new Date; var idString = prompt("ID string?"); var f = document.editform, t = f.wpTextbox1;

// a regexp for the date part of the string would be a better way to do this...  //... but slicing on year should almost always work

var pipeLoc= idString.indexOf(date.getUTCFullYear); // assume 4 digit year, breaks after 9999 var idStringPiped= idString.substr(0,pipeLoc+4)+'|'+idString.substr(pipeLoc+5,idString.length);

t.value += "" + idStringPiped + ""; f.wpSummary.value = "add Unsigned2 using string:" + idString; }

// adds various tabs and menu tabs function add_DYK_tabs { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; var username=document.getElementById("pt-userpage").textContent;

// Only add for pages with "Editing User talk:" somewhere in the title if (document.title.indexOf("Editing User talk:") != -1) {     addlimenu(tabs, 'user talk DYK', 'talkDYK'); var talkDYK = document.getElementById('talkDYK').getElementsByTagName('ul')[0]; addlilink(talkDYK,'javascript:updated_dyk','DYK-Auth'); addlilink(talkDYK,'javascript:updated_dyk_nom','DYK-Nom'); addlilink(talkDYK,'javascript:addUnsigned2_DYK','Unsigned2'); }

// Only add for pages with "Editing Talk:" somewhere in the title if (document.title.indexOf("Editing Talk:") != -1) { addlimenu(tabs, 'article Talk DYK', 'talkDYK'); var talkDYK = document.getElementById('talkDYK').getElementsByTagName('ul')[0]; addlilink(talkDYK,'javascript:dyk_talk','DYK talk'); addlilink(talkDYK,'javascript:dyk_talkNo','DYK talk no sig'); addlilink(talkDYK,'javascript:addUnsigned2_DYK','Unsigned2'); }

}

// end of file