User:Will Pittenger/monobook.js
From Wikipedia, the free encyclopedia
If a message on your talk page led you here, please be wary of who left it. The code below could contain malicious content capable of compromising your account; if your account appears to be compromised, it will be blocked. If you are unsure whether the code is safe, you can ask at the appropriate village pump.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
/* By manually purging this page, you will be able to see the divisions I have set up for easy navigation. Please purge manually as using the [[Wikipedia:WikiProject User scripts/Scripts/Add purge to tabs|purge tab]] will have no effect. == Tools by [[User:Lupin]] == == [[Wikipedia:User:Lupin/popups.js]] == <pre><nowiki>*/ 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>'); // </nowiki></pre> End of popup code // </nowiki></pre> end of popup code /* ==== Options for Popups ==== <pre><nowiki>*/ //popupFixDabs=true; //popupRevertSummaryPrompt=true;// </nowiki></pre> /* === [[User:Lupin/Anti-vandal tool|Filter Recent Changes]] === <pre><nowiki>*/ // Script from [[User:Lupin/recent2.js]] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></s'+'cript>'); // </nowiki></pre> /* == [[User:Kbh3rd/whackamole.js]] == <pre style="overflow:auto"><nowiki> */ // // Edit tools for the vandal whack-a-mole game // [[User:Kbh3rd/whackamole.js]] - please include this line // document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Kbh3rd/whackamole.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');// </nowiki></pre> end of whack vandal code /* == [[User:Cacycle/wikEd|wikEd]] by [[User:Cacycle]] == === wikEd helpers === ==== [[User:Cacycle/diff]] text diff code ==== <pre style="overflow:auto"><nowiki>*/ document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/diff.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); // </nowiki></pre> end of text diff code /* ==== [[User:Mboverload/RegExTypoFix|RegExTypoFix]] common typo fixer ==== <pre><nowiki>*/ document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/RegExTypoFix.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></'+'script>');// </nowiki></pre> /* === Options === <pre style="overflow:auto"><nowiki>*/ wikEdLoadRegExTypoFix = true; wikEdFollowHighlightedLinks = true;//</nowiki></pre> /* === Custom Buttons === See the instructions and sample at [[User:Cacycle/wikEd#Custom buttons]] <pre style="overflow:auto"><nowiki>*/ //define custom buttons (id, class, popup title, image src, width, height, alt text, onClick and parameters) var wikEdButton = [];// </nowiki></pre> /* ==== Declare the buttons ==== ===== <div> tags ===== <pre style="overflow:auto"><nowiki>*/ wikEdButton[100] = ['wikEdDiv', 'wikEdButton', 'Make the selection a html DIV element', 'http://upload.wikimedia.org/wikipedia/commons/e/eb/WikEd_button_DivTag.PNG', '16', '16', 'DIV', 'javascript:WikEdEditButton(this, this.id, null, CreateDivBtnHandler);' ]; // define the function which is called upon clicking the custom button function CreateDivBtnHandler(obj) { // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { obj.changed = obj.cursor; } // make the changes to the plain target text if ( /<div>(.*?)<\/div>/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/<div>(.*?)<\/div>/gi, '$1'); } else { obj.changed.plain = '<div>' + obj.changed.plain + '</div>'; obj.changed.plain = obj.changed.plain.replace(/(<div>)( *)(.*?)( *)(<\/div>)/, '$2$1$3$5$4'); } // keep the changed text selected, needed to remove the formatting with a second click obj.changed.keepSel = true; return; }// </nowiki></pre> /* ===== [[User:Will Pittenger/SumCO]] insertion ===== <pre style="overflow:auto"><nowiki>*/ wikEdButton[101] = ['wikEdSumCoInsertion', 'wikEdButton', 'Inserts SumCO', 'http://upload.wikimedia.org/wikipedia/commons/a/a3/WikEd_button_WLP_SumCO.PNG', '16', '16', 'SumCO', 'javascript:WikEdEditButton(this, this.id, null, InsertSumCoBtnHandler);' ]; // define the function which is called upon clicking the custom button function InsertSumCoBtnHandler(obj) { // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { return; } // make the changes to the plain target text obj.changed.plain = '{{subst:User:Will Pittenger/SumCO}}'; // keep the changed text selected, needed to remove the formatting with a second click obj.changed.keepSel = true; return; }// </nowiki></pre> /* ===== <code> tags ===== <pre style="overflow:auto"><nowiki>*/ wikEdButton[102] = ['wikEdCode', 'wikEdButton', 'Make the selection a html CODE element', 'http://upload.wikimedia.org/wikipedia/commons/b/be/Wiked_button_CodeTag.PNG', '16', '16', 'CODE', 'javascript:WikEdEditButton(this, this.id, null, CreateCodeTagBtnHandler);' ]; // define the function which is called upon clicking the custom button function CreateCodeTagBtnHandler(obj) { // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { obj.changed = obj.cursor; } // make the changes to the plain target text if ( /<code>(.*?)<\/code>/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/<code>(.*?)<\/code>/gi, '$1'); } else { obj.changed.plain = '<code>' + obj.changed.plain + '</code>'; obj.changed.plain = obj.changed.plain.replace(/(<code>)( *)(.*?)( *)(<\/code>)/, '$2$1$3$5$4'); } // keep the changed text selected, needed to remove the formatting with a second click obj.changed.keepSel = true; return; }// </nowiki></pre> /* ===== [[User:Will Pittenger/PlusTab]] insertion ===== <pre style="overflow:auto"><nowiki>*/ wikEdButton[103] = ['wikEdPlusTabInsertion', 'wikEdButton', 'Inserts PlusTab', 'http://upload.wikimedia.org/wikipedia/commons/3/30/WikEd_button_WLP_PlusTab.PNG', '16', '16', 'PlusTab', 'javascript:WikEdEditButton(this, this.id, null, InsertPlusTabBtnHandler);' ]; // define the function which is called upon clicking the custom button function InsertPlusTabBtnHandler(obj) { // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { return; } // make the changes to the plain target text obj.changed.plain = '{{subst:User:Will Pittenger/PlusTab}}'; // keep the changed text selected, needed to remove the formatting with a second click obj.changed.keepSel = true; return; }// </nowiki></pre> /* ===== [[User:Will Pittenger/FairUse]] insertion ===== <pre style="overflow:auto"><nowiki>*/ wikEdButton[104] = ['wikEdSumCoInsertion', 'wikEdButton', 'Inserts FairUse', 'http://upload.wikimedia.org/wikipedia/commons/7/7d/WikEd_Button_FairUse.PNG', '16', '16', 'FairUse', 'javascript:WikEdEditButton(this, this.id, null, InsertFairUseBtnHandler);' ]; // define the function which is called upon clicking the custom button function InsertFairUseBtnHandler(obj) { // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { return; } // make the changes to the plain target text obj.changed.plain = '{{subst:User:Will Pittenger/FairUse|Put the list here}}'; // keep the changed text selected, needed to remove the formatting with a second click obj.changed.keepSel = true; return; }// </nowiki></pre> /* ===== <pre> tags ===== <pre style="overflow:auto"><nowiki>*/ wikEdButton[105] = ['wikEdCode', 'wikEdButton', 'Make the selection a html PRE element', 'http://upload.wikimedia.org/wikipedia/commons/f/ff/WikEd_Button_PreTag.PNG', '16', '16', 'PRE', 'javascript:WikEdEditButton(this, this.id, null, CreatePreTagBtnHandler);' ]; // define the function which is called upon clicking the custom button function CreatePreTagBtnHandler(obj) { // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { obj.changed = obj.selection; } else { obj.changed = obj.cursor; } // make the changes to the plain target text if ( /<pre>(.*?)<\/pre>/i.test(obj.changed.plain) ) { obj.changed.plain = obj.changed.plain.replace(/<pre>(.*?)<\/pre>/gi, '$1'); } else { obj.changed.plain = '<pre>' + obj.changed.plain + '</pre>'; obj.changed.plain = obj.changed.plain.replace(/(<pre>)( *)(.*?)( *)(<\/pre>)/, '$2$1$3$5$4'); } // keep the changed text selected, needed to remove the formatting with a second click obj.changed.keepSel = true; return; }// </nowiki></pre> /* ===== [[User:Will Pittenger/WhereIHaveBeen]] insertion ===== <pre style="overflow:auto"><nowiki>*/ wikEdButton[106] = ['wikEdPlusTabInsertion', 'wikEdButton', 'Inserts WhereIHaveBeenTools', 'http://upload.wikimedia.org/wikipedia/commons/2/29/WikEd_Button_WhereIHaveBeenTools.PNG', '16', '16', 'WhereIHaveBeenTools', 'javascript:WikEdEditButton(this, this.id, null, InsertWhereIHaveBeenToolsBtnHandler);' ]; // define the function which is called upon clicking the custom button function InsertWhereIHaveBeenToolsBtnHandler(obj) { // select the appropriate text change target (whole, selection, cursor, focusWord, focusLine, selectionWord, or selectionLine) WikEdGetText(obj, 'selection, cursor'); if (obj.selection.plain != '') { return; } // make the changes to the plain target text obj.changed.plain = '{{subst:User:Will Pittenger/WhereIHaveBeen}}'; // keep the changed text selected, needed to remove the formatting with a second click obj.changed.keepSel = true; return; }// </nowiki></pre> /* ==== Actually display the custom buttons ==== <pre><nowiki>*/ // define custom button bars (id, class, button numbers) var wikEdButtonBar = []; wikEdButtonBar['custom1'] = ['wikEdButtonBarCustom1', 'wikEdButtonBarCustom1', 'wikEdButtonsCustom1', 'wikEdButtonsCustom1', 44, 'My custom buttons', [100, 102, 104, 106, 'br', 101, 103, 105] ];// </nowiki></pre> /* === wikEd core === [[User:Cacycle/wikEd]] <pre style="overflow:auto"><nowiki>*/ document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');//</nowiki></pre> /* == Takes the wikipage "page" and includes its raw text as javascript. == <pre style="overflow:auto"><nowiki>*/ function import_module(page) { if(document.createElement && document.childNodes) { var url = 'http://en.wikipedia.org/w/index.php?title=' + page.replace(/ /g, "_") + '&action=raw&ctype=text/javascript&dontcountme=s'; var scriptElem = document.createElement('script'); scriptElem.setAttribute('src',url); scriptElem.setAttribute('type','text/javascript'); document.getElementsByTagName('head')[0].appendChild(scriptElem); } } // </nowiki></pre> end of Import Module code /* == [[Wikipedia:WikiProject User scripts/Scripts/Edit Top]] == <pre style="overflow:auto"><nowiki>*/ import_module("User:Gerbrant/edit/top.js"); // </nowiki></pre> end of code to put edit links at the top of articles /* == [[Wikipedia:WikiProject User scripts/Scripts/Add purge to tabs]] == <pre style="overflow:auto"><nowiki>*/ import_module("Wikipedia:WikiProject User scripts/Scripts/addLink"); import_module("Wikipedia:WikiProject User scripts/Scripts/Add purge to tabs"); // </nowiki></pre> /* == [[Wikipedia:WikiProject User scripts/Scripts/Watchlist since]] == <pre style="overflow:auto"><nowiki>*/ import_module('Wikipedia:WikiProject User scripts/Scripts/Watchlist since'); // </nowiki></pre> /* == add user tabs [[Wikipedia:WikiProject User scripts/Scripts/User tabs]] == <pre style="overflow:auto"><nowiki>*/ import_module('Wikipedia:WikiProject User scripts/Scripts/Add LI link'); import_module('Wikipedia:WikiProject User scripts/Scripts/Add tab'); /* == [[Wikipedia:WikiProject User scripts/Scripts/Quick wikify]] == <pre style="overflow:auto"><nowiki>*/ import_module('Wikipedia:WikiProject User scripts/Scripts/Quick wikify'); // </nowiki></pre> /* ===[[user:Where/usertabs]] Actual code === <pre><nowiki>*/ addOnloadHook(function() { if (document.title.search("/") != -1 || document.title.search("- History -") != -1) { //no subpages or history return; } if (document.title.indexOf("User:") == 0 || document.title.indexOf("User talk:") == 0) { username_a = document.URL.match(/:.*:(.*)/); username=username_a[1]; addTab("http://en.wikipedia.org/wiki/Special:Contributions/" + username, "contrib", "ca-contrib", "contribs", ""); addTab("http://en.wikipedia.org/w/index.php?title=Special%3ALog&type=move&user=" + username, "page moves", "ca-pagemoves", "page moves", ""); addTab("http://en.wikipedia.org/w/index.php?title=Special%3ALog&type=block&user=" + username, "block log", "ca-blog", "blog", ""); addTab("http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?dbname=enwiki_p&user=" + username, "edit count", "ca-kate", "kate", ""); } }); // </nowiki></pre> /* ==[[Wikipedia:WikiProject User scripts/Scripts/test-enhanced]] == <pre style="overflow:auto"><nowiki>*/ import_module("Wikipedia:WikiProject User scripts/Scripts/test-enhanced");// </nowiki></pre> /* ==[[Wikipedia:WikiProject User scripts/Scripts/Talk page section tabs]]== <pre style="overflow:auto"><nowiki>*/ //import_module("Wikipedia:WikiProject User scripts/Scripts/Talk page section tabs");// </nowiki></pre> /* ==[[Wikipedia:WikiProject User scripts/Scripts/CleanupTab.js]] == <pre style="overflow:auto"><nowiki>*/ import_module("Wikipedia:WikiProject User scripts/Scripts/CleanupTab.js");// </nowiki></pre> /* == [[Wikipedia:WikiProject User scripts/Scripts/Unwatch]]== <pre style="overflow:auto"><nowiki>*/ addOnloadHook(function () { //var query_prefix = "title=Special:Watchlist&action=submit&remove=1&id[]="; var query_prefix = "action=unwatch&title="; if (window.location.href.indexOf("Special:Watchlist") < 0) return; if (window.location.href.indexOf("Special:Watchlist/edit") >= 0) return; var links = document.getElementById('content').getElementsByTagName('a'); for (var i = 0; i < links.length; i++) { if (links[i].href.substring(links[i].href.length-15) != '&action=history') continue; var unwatch = document.createElement('a'); unwatch.href = "/w/index.php?" + query_prefix + encodeURIComponent(links[i].title); unwatch.title = "Unwatch "+links[i].title; unwatch.appendChild(document.createTextNode("unwatch")); links[i].parentNode.insertBefore(unwatch, links[i].nextSibling); // kluge to handle case where "diff" is unlinked: var delim = links[i].previousSibling; delim = (delim.nodeType == 3 ? delim.nodeValue : ""); links[i].parentNode.insertBefore(document.createTextNode(delim.replace(/^.*diff/, "")), unwatch); } });// </nowiki></pre> end of [[Wikipedia:WikiProject User scripts/Scripts/Unwatch]] /* ==sigContract code from [[User:Where/sigcontract.js]]== <pre style="overflow:auto"><nowiki>*/ ////Conflicts with force edit summary script! //var scIndex = 0; //var scKeys = new Array(); //var scValues = new Array(); //function scFormSubmit() { // var i=0 // var textArea = document.getElementById("wpTextbox1"); // var text = textArea.value; // while (i<scIndex) { // text = text.replace(scKeys[i], scValues[i]); // ++i; // } // textArea.value = text; //} //addOnloadHook(function() { // if (document.title.indexOf("Editing ") != 0) {return;} // document.getElementById("wpSave").onclick = scFormSubmit; // document.getElementById("wpPreview").onclick = scFormSubmit; // document.getElementById("wpDiff").onclick = scFormSubmit; // //TODO: make it work with previews too! //}); //addOnloadHook(function() { // if (document.title.indexOf("Editing ") != 0) {return;} // var textArea = document.getElementById("wpTextbox1"); // var text = textArea.value; // var re = /<!--\[\[User:Where\/sigContract\]\];(.*)-->.*<!--ESC:(.*)-->/g; // var lastIndex = 0; ///* while (1) { // var textSubstr = text.substr(lastIndex); // alert(lastIndex); // alert(textSubstr); //TODO: remove // var newIndex = textSubstr.search(re); // alert("newindex:" + newIndex); // if (newIndex == -1) { // break; // } // lastIndex += newIndex+1;*/ // text = text.replace(re, // function(str, p1, p2, offset, s) { //// alert("In replacement function"); // if (p1 == p2) { // var newString = "-[[User:" + p1 + "|" + p1 + "]]"; // scKeys[scIndex] = newString; // scValues[scIndex] = str; // ++scIndex; // return newString; // } // else { // return str; // } // }); // //} // textArea.value = text; //});// </nowiki></pre> End of sigContract code /* ==Localized time/date script by [[User:Where/commentLocalize]] == <pre style="overflow:auto"><nowiki>*/ function numToMonth(num) { if (num==0) {return "Janurary";} else if (num==1) {return "February";} else if (num==2) {return "March";} else if (num==3) {return "April";} else if (num==4) {return "May";} else if (num==5) {return "June";} else if (num==6) {return "July";} else if (num==7) {return "August";} else if (num==8) {return "September";} else if (num==9) {return "October";} else if (num==10) {return "November";} else if (num==11) {return "December";} } function monthToNum(month) { var tmp = new Date(month + " 1, 2006"); return tmp.getMonth(); } function adjustTime(str, hour, minute, day, month, year, offset, s) { var time = new Date(); time.setUTCHours(hour); time.setUTCMinutes(minute); time.setUTCDate(day); time.setUTCMonth(monthToNum(month)); time.setUTCFullYear(year); var timeStr = ""; if (time.getHours()<10) {timeStr += "0";} timeStr += parseInt(time.getHours()) + ":"; if (time.getMinutes()<10) {timeStr += "0";} timeStr += parseInt(time.getMinutes()); timeStr += ", "; timeStr += time.getDate(); timeStr += " "; timeStr += numToMonth(time.getMonth()); timeStr += " "; timeStr += time.getFullYear(); timeStr += " (UTC"; var offset = -1*time.getTimezoneOffset()/60; if (offset >= 0) {timeStr += "+";} timeStr += offset + ")"; return timeStr; } function adjustTime2(str, hour, minute, month, day, year, offset, s) { return adjustTime(str, hour, minute, day, month, year, offset, s); } addOnloadHook(function() { if (document.title.indexOf("Editing ") == 0) { return; } if (document.location.href.indexOf("action=history") != -1) { return; } if (document.title.indexOf("Talk:") == 0 || document.title.indexOf("talk:") != -1 || document.title.indexOf("Wikipedia:") == 0) { var newDoc = document.getElementById("column-content").innerHTML.replace(/(\d\d):(\d\d), (\d{1,2}) ([A-Z][a-z]+) (\d{4}) \(UTC\)/g, adjustTime); document.getElementById("column-content").innerHTML = newDoc; } /* if (document.location.href.indexOf("&action=history") != -1) { var newDoc = document.getElementById("bodyContent").innerHTML.replace(/(\d\d):(\d\d), ([A-Z][a-z]+) (\d{1,2}), (\d{4})/g, adjustTime2); document.getElementById("bodyContent").innerHTML = newDoc; }*/ }); // </nowiki></pre> End of commentLocalize code /* == [[User:GeorgeMoney|George Money's]] [[User:GeorgeMoney/UserScripts|scripts]] == /* ===Helpers=== */ ////// // [[User:GeorgeMoney/UserScripts/helpers/all|Helpers]] for George Money's scripts //***************** /* ==== [[User:GeorgeMoney/UserScripts/helpers/all#Vars|Var]] ==== <pre style="overflow:auto"><nowiki>*/ var myname=wgUserName.replace(' ', '_'); //use underscores instead of spaces var mypage="User:"+myname; var mytalk="User_talk:"+myname; var mycontribs="Special:Contributions/"+myname; var serverurl="http://en.wikipedia.org"; var wikiurl=serverurl+"/wiki/"; var pathurl=serverurl+"/w/"; var phpurl=pathurl+"index.php?title="; var editcounturl="http://tools.wikimedia.de/~essjay/edit_count/Count.php"; var editcount=editcounturl+"?username="; // </nowiki></pre> end of vars code /* ==== [[User:GeorgeMoney/UserScripts/helpers/all#Cookies|Cookies]] ==== <pre style="overflow:auto"><nowiki>*/ //COOKIE FUNCTIONS function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0; i < ca.length; i++) { var c = ca[i]; while(c.charAt(0) == ' ') c = c.substring(1, c.length); if(c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; } function createCookie(name, value, days) { if(days) { var date = new Date(); date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000); var expires = "; expires=" + date.toGMTString(); } else var expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function eraseCookie(name) { createCookie(name, "", -1); } // </nowiki></pre> end of Cookies code /* ==== [[User:GeorgeMoney/UserScripts/helpers/all#Links|Links]] ==== <pre style="overflow:auto"><nowiki>*/ // --- ADD VARIOUS LINKS ---- function addToolboxLink(url, name, id) { var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0]; addlilink(tb, url, name, id); } function addTopLink(url, name, id) { var personal = document.getElementById('p-personal').getElementsByTagName('ul')[0]; addlilink(personal, url, name, id); } function addNavLink(url, name, id) { var navigation = document.getElementById('p-navigation').getElementsByTagName('ul')[0]; addlilink(navigation, url, name, id); } function addTab(url, name, id, title, key) { var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0]; return addlilink(tabs, url, name, id, title, key); } // ------ MORE MAJOR LINKAGE ----- function addLink(where, url, name, id, title, key, after) { //* where is the id of the toolbar where the button should be added; // i.e. one of "p-cactions", "p-personal", "p-navigation", or "p-tb". // //* url is the URL which will be called when the button is clicked. // javascript: urls can be used to do more complex things. // //* name is what will appear as the name of the button. // //* id is the id of the button; it's best to define one. // Use a prefix to make sure its unique. Optional. // //* title is the tooltip title that gives a longer description // of the button; if you define a accesskey, mention it here. Optional. // //* key is the char you want for the accesskey. Optional. // //* after is the id of the button you want to follow this one. Optional. // var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); var tabs = document.getElementById(where).getElementsByTagName('ul')[0]; if(after) { tabs.insertBefore(li,document.getElementById(after)); } else { tabs.appendChild(li); } if(id) { if(key && title) { ta[id] = [key, title]; } else if(key) { ta[id] = [key, '']; } else if(title) { ta[id] = ['', title]; } } // re-render the title and accesskeys from existing code in wikibits.js akeytt(); return li; } // // ------------- LINKAGE ---------------- function addlilink(tabs, url, name, id, title, key) { var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); tabs.appendChild(li); if(id) { if(key && title) { ta[id] = [key, title]; } else if(key) { ta[id] = [key, '']; } else if(title) { ta[id] = ['', title]; } } // re-render the title and accesskeys from existing code in wikibits.js akeytt(); return li; } // </nowiki></pre> End of links /* ==== [[User:GeorgeMoney/UserScripts/helpers/all#Include|Include]] ==== <pre style="overflow:auto"><nowiki>*/ function loadJS(s) { s = s.replace(/^\[\[/, '').replace(/\]\]$/, '').replace(" ", "_"); document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=' + s + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); } function loadJSext(s) { document.write('<script type="text/javascript" src="'+ s + '"></script>'); } function loadCSS(page) { page=page.replace(" ", "_"); document.write('<style type="text/css">@import "'+phpurl+page+'&action=raw&ctype=text/css";</style>'); } function loadCSSext(page) { document.write('<style type="text/css">@import "'+page+'";</style>'); } // </nowiki></pre> End of Include //****************** // End of Helpers for George Money's scripts ////// /* === [[User:GeorgeMoney/UserScripts/newmessages]] === <pre style="overflow:auto"><nowiki>*/ loadJS("User:GeorgeMoney/UserScripts/newmessages"); // </nowiki></pre> /* === [[User:GeorgeMoney/UserScripts/archive|George Money's Archive Manager]] === <pre><nowiki>*/ //The header to put on top of all archives (if the archive is in 'w' mode (modes explained below)) var archiveheader = '{{User:Will Pittenger/Archive Indexer}}'; //Your talk page header for to use when archiving. Remember to keep the <noinclude> tags or else your archive will have your talk page header along with it. var talkheader = '<noinclude>{{User:Will Pittenger/Archive Indexer}}</noinclude>'; //Your talk page archive page. Insert "NUMBER" where the number of archive you are on goes var archiveurl = "User_talk:Will Pittenger/Archive NUMBER"; //The mode to archive your talk page. Making this value 'a' will make the script add your archive to the bottom of the current archive. Making it 'w' will totally erase the contents of the current archive (usually you should set the current archive value to a new archive to avoid erasing old archives, where as in append mode (a), you should set it to your current archive to append the contents) var archivemode = 'a'; // if(readCookie('archive1') == 'yes' && window.location.href.indexOf('archivestep') == -1) { (window.location.href) = wikiurl+mytalk+'?action=edit&archivestep=2'; } function changearccontents() { document.title = "Archival Script Manager"; document.getElementById('bodyContent').innerHTML = '<div class="dontshow" style="display: none !important;"></div>\n' + '<h1 class="firstHeading" style="display:block;">Archive Script Manager</h1>\n' + 'Current archive number (the one that you haven\'t done yet (like if I want to archive to archive 2 then that is the next one not done)): <br> <input type="text" id="archnuminput" value="' + readCookie('archivenum') + '" size="1" maxlength="4" /> <input type="button" value="save number" onclick="createCookie(\'archivenum\', document.getElementById(\'archnuminput\').value); document.getElementById(\'arclink\').href = wikiurl+archiveurl.replace(\'NUMBER\',readCookie(\'archivenum\'))+\'?action=edit&archivestep=1\';" /><br><br>\n'+ '<a href="'+wikiurl+archiveurl.replace('NUMBER',readCookie('archivenum'))+'?action=edit&archivestep=1" id="arclink" style="font-size: 2em; font-weight: bold;">Click here to begin the archive</a><br>\n' + ''; document.write('<style type="text/css">.firstHeading, .editsection {display:none;} .dontshow { display: none !important; } #content {background: honeydew !important; border: 3px solid green;} #p-cactions {display: none;}</style>'); } if(window.location.href.indexOf('archivemanage') != -1||window.location.href.indexOf('Archivemanage') != -1) { addOnloadHook(function(){ changearccontents(); }); } if (window.location.href.indexOf('archivestep=1') != -1 && window.location.href.indexOf('action=edit') != -1) { addOnloadHook(function (){ if(!readCookie('archivenum') != 'yes') { (window.location.href) = wikiurl+'User:GeorgeMoney/archivemanage' } if(archivemode == 'a') { document.getElementById('wpTextbox1').value += "\n{{sub"+"st:"+mytalk+"}}"; } else { document.getElementById('wpTextbox1').value = archiveheader+"\n{{sub"+"st:"+mytalk+"}}"; } document.getElementById('wpSummary').value = "JS: Copying talkpage to archive"; createCookie('archive1', 'yes'); document.getElementById('editform').submit(); }); } if (window.location.href.indexOf('archivestep=2') != -1 && window.location.href.indexOf('action=edit') != -1) { addOnloadHook(function (){ if(readCookie('archive1') != 'yes') { alert("You shouldn't be at \"&archivestep=2\" because you haven't completed &archivestep=1. Please read the instructions on this archiving script. Redirecting to archive manager. "); (window.location.href) = wikiurl+'User:GeorgeMoney/archivemanage'; return; } createCookie('archive1', 'no'); document.getElementById('wpTextbox1').value = talkheader; document.getElementById('wpSummary').value = "JS: Archiving talk page"; document.getElementById('editform').submit(); }); }// </nowiki></pre> end of archive code by [[User:GeorgeMoney/UserScripts/archive]] /* ==== Code to add Archive to the sidebar toolbox ==== <pre><nowiki>*/ if(wgPageName == 'User_talk:Will_Pittenger') { addOnloadHook( function() { var nav = document.getElementById('p-navigation').getElementsByTagName('ul')[0]; addlilink(nav, "http://en.wikipedia.org/wiki/Archivemanage", "archive", 'p-archive'); }); } //</nowiki></pre> /* === [[User:GeorgeMoney/UserScripts/autowelcome]] === ==== Options ==== <pre><nowiki>*/ if(welcome == undefined) { var welcome={}; welcome.edit={}; welcome.link={}; welcome.link.tab={}; welcome.link.newUserLog={}; welcome.link.redLinkTalk={}; welcome.options={}; //config welcome.edit.summary = "Welcome to Wikipedia!"; welcome.edit.text = "{{sub" + "st:User:Will Pittenger/templates/Welcome}}"; welcome.edit.textAnon = "{{sub" + "st:User:Will Pittenger/templates/Welcome IP}}"; welcome.edit.button = 'wpSave'; welcome.link.newUserLog.defaultColor = "blue"; welcome.link.newUserLog.clickedColor = "green"; welcome.link.newUserLog.text = "[welcome]"; welcome.link.redLinkTalk.defaultColor = "blue"; welcome.link.redLinkTalk.clickedColor = "green"; welcome.link.redLinkTalk.text = "[welcome]"; welcome.link.redLinkTalk.blink = false; welcome.link.tab.text = "Welcome!"; welcome.link.tab.accessKey = ''; welcome.options.newUserLogaddReloadButton = true; welcome.options.newUserLogEnabled = true; welcome.options.redLinkTalkEnabled = true; welcome.options.addTab = true; welcome.options.askIfPageIsNotBlank = true; welcome.options.maxLinks = 6000; welcome.options.warnIfOverMaxLinks = true; //end config }//</nowiki></pre> /* ==== Actual Import of AutoWelcome code ==== <pre><nowiki>*/ import_module("User:GeorgeMoney/UserScripts/autowelcome"); //</nowiki></pre> /* ==[[user:Where/easy db]] == <pre><nowiki>*/ addOnloadHook(function() { //check if called from deletion request if (document.title.indexOf("Editing ") != -1) { if (document.URL.lastIndexOf("&fakeaction=huff") == -1) return; if (document.URL.lastIndexOf("&reason=off") != -1) { var type = prompt("Enter criteria for speedy deletion, e.g. A1, G3"); var f = document.editform, t = f.wpTextbox1; t.value = "{{db-" + type.toLowerCase() + "}}\n" + t.value; f.wpSummary.value = "JS: Requesting speedy deletion ([[WP:CSD#" + type + "|CSD " + type + "]])"; f.wpSave.click(); return; } else if (document.URL.lastIndexOf("&reason=on") != -1) { var type = prompt("Enter reason for speedy deletion"); var f = document.editform, t = f.wpTextbox1; t.value = "{{db|" + type + "}}\n" + t.value; f.wpSummary.value = "JS: Requesting speedy deletion"; f.wpSave.click(); return; } } if (window.location.href.indexOf("Special:") != -1) return; addTab("javascript:easyDb(0)", "db (csd)", "ca-db0", "Request speedy deletion according to WP:CSD", ""); addTab("javascript:easyDb(1)", "db (reason)", "ca-db0", "Request speedy deletion with reason", ""); }); function easyDb(n) { if (n == 0) { //edit page var title = document.title.substr(0, document.title.lastIndexOf(' - Wikipedia, the free')); location.assign("/w/index.php?title=" + title + "&action=edit&fakeaction=huff&reason=off"); } if (n == 1) { //edit page var title = document.title.substr(0, document.title.lastIndexOf(' - Wikipedia, the free')); location.assign("/w/index.php?title=" + title + "&action=edit&fakeaction=huff&reason=on"); } } //</nowiki></pre> /////////////////////////////// // Must be after all other tabs /* == [[Wikipedia:WikiProject User scripts/Scripts/Duplicate tabs at bottom]] == <pre style="overflow:auto"><nowiki>*/ addOnloadHook(function () { var tabs = document.getElementById('p-cactions').cloneNode(true); tabs.id = 'mytabs'; var listitems = tabs.getElementsByTagName('LI'); for (i=0;i<listitems.length;i++) { if(listitems[i].id) listitems[i].id = 'mytabs-' + listitems[i].id; } content = document.getElementById("content"); // Find the content div content.parentNode.insertBefore(tabs, content.nextSibling); // Place tab list right after content div });// </nowiki></pre> end of [[Wikipedia:WikiProject User scripts/Scripts/Duplicate tabs at bottom]] code /* == See also == *[[User:Will Pittenger/monobook.css]] *[[Wikipedia:WikiProject User scripts/Scripts]] -- List of available scripts*/