User:Galil/monobook.js
From Guild Wars Wiki
Jump to navigationJump to search
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/**** Guild Wars Wiki Tools * (c) 2007 by Patrick Westerhoff [poke] */ var head = document.getElementsByTagName( 'head' )[0]; head.appendChild( document.createElement( 'script' ) ); head.lastChild.src = '/index.php?title=User:Poke/GuildWarsWikiTools.js&action=raw&ctype=text/javascript'; head.lastChild.type = 'text/javascript'; /* Change the Quick links-link to the compact list instead */ hookEvent('load', function() { var e = document.getElementById('n-Quick-links'); if (e) e.firstChild.href = '/wiki/Quick_access_links/compact'; }); /** * Makes the "Search" button use google search instead, while maintaining the functionality of the "Go" button. * @author Johan Sköld [ [[User:Galil]] ] **/ function setupSearch() { var searchButton = document.getElementById('mw-searchButton'); if (searchButton) { searchButton.type = 'button'; searchButton.addEventListener('click', function() { var form = this.form; form.action = 'http://www.google.com/search'; form.method = 'get'; var searchInput = document.getElementById('searchInput'); searchInput.name = 'q'; searchInput.value += ' site:' + wgServer.replace(/https?:\/\//i, ''); form.submit(); }); } } addOnloadHook(setupSearch); /* =========================================================== *\ ** SkillCheck install file. ** ** Copyright (c) Alex Barley <ale_jrb> 2008. ** ** For help with this script, visit ** ** [[User:Ale_jrb/Scripts/SkillCheck]] ** \* =========================================================== */ addScript('User:Ale jrb/Scripts/SkillCheck/skillcheck.js'); /* =========================================================== *\ ** If you are seeing this because you are uninstalling this ** ** script, I'd love to know why. Let me know how it can be ** ** improved at [[User_talk:Ale_jrb]]. ** \* =========================================================== */ /** * All code below this comment is used for adding relevant, categorized pre-defined reasons * on the deletion page. * * @author Johan Sköld [ [[User:Galil]] ] **/ function addEvent(element, event, listener) { if (element.addEventListener) element.addEventListener(event, listener, false); else if (element.attachEvent) element.attachEvent('on'+event, listener); else element['on'+event] = listener; } function addList(id, label) { var wpReason = document.getElementById('wpReason'); if (wpReason) { var list = document.createElement('ul'); list.id = id; wpReason.parentNode.insertBefore(document.createTextNode(label), wpReason); wpReason.parentNode.insertBefore(list, wpReason); } } function addReason(listId, reason) { var wpReason = document.getElementById('wpReason'); if (wpReason) { var list = document.getElementById(listId); if (!list) throw new Error("List does not exist."); var link = document.createElement('a'); link.href = 'javascript:void(0);'; addEvent(link, 'click', function() { wpReason.value = reason; }); link.appendChild(document.createTextNode(reason.replace(/\[\[[^\|]*\|([^\]]*)\]\]/, '$1'))); var item = document.createElement('li'); item.appendChild(link); list.appendChild(item); } } addEvent(window, 'load', function() { if (/action=delete/i.test(document.location.search)) { /** * This is where the magic happens. The format is quite easy to understand but if * you want help with it, feel free to ask me or poke as we both would probably be * able to help. * * To add a list: * addList('list name', 'list label'); * * * list name = Unique name of the list. Can pretty much only contain letters, * numbers, underscores and dashes. * * list label = Label of the list. This does not have to be unique. * * To add a reason to a list: * addReason('list name', 'reason label'); * * * list name = The unique name of the list to add the reason to. * * reason label = The actual reason. This is used both as label for the link * and inserted into the reason box. **/ addList('general', 'General speedy reasons'); addReason('general', 'G1: Purely vandalism'); addReason('general', 'G2: Test page'); addReason('general', 'G3: Sole editor\'s request'); addReason('general', 'G4: Housekeeping'); addReason('general', 'G5: Attack page'); addReason('general', 'G6: Recreation of deleted page'); addReason('general', 'G7: Decision or conditional enforcement by arbitration committee.'); // articles if (wgCanonicalNamespace == '') { addList('article', 'Article speedy reasons'); addReason('article', 'A1: No appropriate information'); addReason('article', 'A2: Missing of verifiable source for the information'); addReason('article', 'A3: Incontrovertibly unrelated to both GW and GWW'); } // images if (wgCanonicalNamespace == 'Image') { addList('image', 'Image speedy reasons'); addReason('image', 'I1: Redundant/outdated image'); addReason('image', 'I2: Corrupt or outdated image'); } // categories if (wgCanonicalNamespace == 'Category') { addList('category', 'Category speedy reasons'); addReason('category', 'C1: Empty unused category'); } // users if (wgCanonicalNamespace == 'User' || (wgCanonicalNamespace == 'Image' && /^User/i.test(wgTitle))) { addList('user', 'User speedy reasons'); addReason('user', 'U1: User request'); addReason('user', 'U2: Nonexistent user'); addReason('user', 'U3: User image that violates the user space policy in content'); } // redirects addList('redirect', 'Redirect speedy reasons'); addReason('redirect', 'R1: Redirect to User/Guild/Talk namespace'); addReason('redirect', 'R2: Redirect for implausible typo or search term'); addReason('redirect', 'R3: Blatantly misleading redirect'); addReason('redirect', 'R4: Broken redirect'); // common reasons addList('common', 'Common deletion reasons'); addReason('common', 'Deletion uncontested after three days'); addReason('common', 'Copyright violation'); if (wgCanonicalNamespace == 'Image') { addReason('common', '[[Guild Wars Wiki:Formatting/Guilds#Images|Guild image naming]]'); addReason('common', 'Orphaned image'); addReason('common', '[[Guild Wars Wiki:User pages#Restrictions on user images|User image naming]]'); } else if (wgCanonicalNamespace == 'Guild') { addReason('common', 'Guild cleanup not performed within 7 days'); addReason('common', 'Inactive guild page'); } } }); /** * End of "all code below this comment"! **/