User:Lawilkin/monobook.js
From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Firefox/Mozilla/Safari: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Internet Explorer: press Ctrl-F5, Opera/Konqueror: press F5.
// function doQwikify() { document.editform.wpTextbox1.value = '{' + '{' + 'Wikify-date|' + '{' + '{' + 'subst:CURRENTMONTHNAME}} ' + '{' + '{' + 'subst:CURRENTYEAR}}}}\n\n' + document.editform.wpTextbox1.value; document.editform.wpSummary.value = 'Marked for wikification.'; document.editform.wpMinoredit.checked = true; document.editform.submit(); } function addQwikify() { addTab("javascript:doQwikify()", "wikify", "ca-wikify", "Mark for wikification", ""); akeytt(); } addOnloadHook(function() { if (document.title.indexOf("User:") != -1 || document.title.indexOf("User talk:") != -1) { return; } if (document.title.indexOf("Editing ") != -1) { addOnloadHook(addQwikify); } }); // by [[User:Raylu|raylu]] // //Interiot's javascript edit counter if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) { document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } //<nowiki> Admin-like RC Patrol tools document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:VoA/monobook.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //</nowiki>[[Category:Wikipedians who use RC script ]] // [[User:Lupin/popups.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // [[User:Lupin/popups.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); //status var Lawilkin = new Object(); Lawilkin.util = { getobj:function(id) { return document.getElementById ? document.getElementById(id) : document.all[id]; }, add:function(parent, tag, attr) { var el = document.createElement(tag); if (attr) { for (key in attr) { el[key] = attr[key]; } } return parent.appendChild(el); }, mousebtnmap:{ ns:[null,1,3,2], ie:[null,1,2,null,3] }, xmlhttpreq:function() { if (window.XMLHttpRequest) { xmlhttpobj = new XMLHttpRequest() } else { try { xmlhttpobj = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttpobj = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xmlhttpobj = null; } } } return xmlhttpobj; } }; Lawilkin.comm = { doreq:function(url,postdata,headers) { var req = Lawilkin.util.xmlhttpreq(); req.open(postdata?"POST":"GET", url, false); for(header in headers) { req.setRequestHeader(header,headers[header]); } req.send(postdata||null); return req; } }; Lawilkin.wputil = { username:function() { return wgUserName; //return Lawilkin.util.getobj("pt-userpage").childNodes[0].childNodes[0].nodeValue; }, iseditpage:function() { return document.title.indexOf("Editing ")==0; }, pagename:function() { var iseditpage = Lawilkin.wputil.iseditpage(); return document.title.substr(iseditpage?8:0,document.title.indexOf(" - ")-(iseditpage?8:0)); }, addsidepanel:function(id,label) { var div = Lawilkin.util.add(Lawilkin.util.getobj("column-one"), "div", {className:"portlet",id:id}); Lawilkin.util.add(div, "H5").innerHTML = label; Lawilkin.util.add(Lawilkin.util.add(div, "div", {className:"pBody"}), "ul"); }, addsidepanelbutton:function(id,label,targhref) { var li = Lawilkin.util.add((Lawilkin.util.getobj(id).getElementsByTagName("ul"))[0],"li"); with(Lawilkin.util.add(li,"a")) { innerHTML = label; href = targhref; } return li; }, setpagecontent:function(pagename,content,summary,watch) { var prelimresp = Lawilkin.comm.doreq("/w/index.php?title="+pagename+"&action=submit"); var edittime = prelimresp.responseText.match(/\<input type='hidden' value="(\d+)" name="wpEdittime" \/\>/)[1]; var edittoken = prelimresp.responseText.match(/\<input type='hidden' value="([0-9a-f]+)" name="wpEditToken" \/\>/)[1]; Lawilkin.comm.doreq("/w/index.php?title="+pagename+"&action=submit", "wpEdittime="+edittime+ "&wpEditToken="+edittoken+ "&wpTextbox1="+escape(content)+ "&wpSummary="+escape(summary)+ (watch?"&wpWatchthis=on":"")+ "&wpSection=&wpSave=Save+page", {"Content-Type":"application/x-www-form-urlencoded"}); }, getpagecontent:function (pagename) { var req = Lawilkin.comm.doreq("/w/index.php?title="+pagename+"&action=edit"); var content = req.responseText.match(/\<textarea[\w\W]*?\>([\w\W]*?)\<\/textarea\>/)[1]; content = content.replace(/\<\;/gi, "<"); content = content.replace(/\>\;/gi, ">"); content = content.replace(/\"\;/gi, "\""); content = content.replace(/\&\;/gi, "&"); return content; } }; Lawilkin.statuschanger = new Object(); /* configuration */ // change these to whatever you'd like to show up on your status page. Lawilkin.statuschanger.statuscode = { online:'online', busy:'on wikivacation', offline:'offline' }; // true to use the personal bar, false to create a panel in the left column flameviper.statuschanger.usepersonalbar = false; // true if you'd like your status page on your watchlist flameviper.statuschanger.watchstatus = false; /* end configuration */ flameviper.statuschanger.oldonload = window.onload; window.onload = function() { if (typeof flameviper.statuschanger.oldonload == "function"){setTimeout('flameviper.statuschanger.oldonload()',50);} if (flameviper.statuschanger.usepersonalbar) { var a = flameviper.wputil.addsidepanelbutton("p-personal", "Online", 'javascript:flameviper.statuschanger.setstatus("online")' ); var b = flameviper.wputil.addsidepanelbutton("p-personal", "Offline", 'javascript:flameviper.statuschanger.setstatus("offline")' ); var c = flameviper.wputil.addsidepanelbutton("p-personal", "Vacation", 'javascript:flameviper.statuschanger.setstatus("busy")' ); a.style.borderRight=b.style.borderRight="1px solid #aaaaaa"; b.style.marginLeft=c.style.marginLeft="0px"; a.style.paddingRight=b.style.paddingLeft=b.style.paddingRight=c.style.paddingLeft="2px"; } else { flameviper.wputil.addsidepanel("tz-statuschanger", "status changer"); flameviper.wputil.addsidepanelbutton("tz-statuschanger", "Online", 'javascript:flameviper.statuschanger.setstatus("online")' ); flameviper.wputil.addsidepanelbutton("tz-statuschanger", "Busy", 'javascript:flameviper.statuschanger.setstatus("busy")' ); flameviper.wputil.addsidepanelbutton("tz-statuschanger", "Offline", 'javascript:flameviper.statuschanger.setstatus("offline")' ); } }; flameviper.statuschanger.setstatus = function(statusname) { flameviper.wputil.setpagecontent( "User:"+flameviper.wputil.username()+"/Status", flameviper.statuschanger.statuscode[statusname], statusname, flameviper.statuschanger.watchstatus); };