Dumbledore's Army Role-Play Wiki
Advertisement
Dumbledore's Army Role-Play Wiki

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.
// Auto-Refresh
/* Auto updating recent changes opt-in
  * See w:c:dev:AjaxRC for info & attribution 
  */
 
window.AjaxRCRefreshText = 'Auto-Refresh';
window.AjaxRCRefreshHoverText = 'Automatically refresh the page';
window.ajaxPages = [
    "Special:RecentChanges",
    "Special:WikiActivity",
    "Special:UncategorizedPages",
    "Special:AllPages"
];

// IRClogin div
$(function() {
   var nick;

   if ($('#IRClogin').length) {
      if (typeof wgUserName === 'undefined')
         nick = 'wgusername' + Math.floor(Math.random() * 100);
      else
         nick = wgUserName.replace(/ /g, "_");

      $('#IRClogin').html('<iframe src="http://webchat.freenode.net/?nick=' + nick + '&channels=DARPW&prompt=true" width="660" height="400" style="border:0;"></iframe>');
   }
});


// LOCK OLD BLOG POSTS
window.LockOldBlogs = {
   expiryDays: 30,
   expiryMessage: "This blog is an archive, so there's no need to comment.",
   nonexpiryCategory: "Blog Does Not Expire",
};


// AWB
window.CheckList = [
   "Bryans1008",
   "Head of Ravenclaw",
   "Head of Ravenclaw Bot",
   "BachLynn23",
];

// ANNOUNCEMENT BOX
/* Currently prepends an empty DIV element -- commenting out until it is needed
$('#WikiaArticle').prepend('<div style="background-color:orange; border:black; text-align:center;"></div>');
*/

/** Archive edit tab disabling *************************************
 * Disables the edit tab on old forum topic pages to stop new people bumping old topics.
 * Page can still be edited by going via the edit tab on the history etc, or by 
 * typing the edit address manually.
 * By [[User:Spang|Spang]]
 * Monaco support by [[User:Uberfuzzy|Uberfuzzy]]
 * Oasis support by [[User:Uberfuzzy|Uberfuzzy]]
 */
 
$(function() {
   if (wgNamespaceNumber !== 110 || (typeof enableOldForumEdit !== 'undefined' && enableOldForumEdit))
      return;
 
   if (!document.getElementById('old-forum-warning'))
      return;
 
   if (skin === 'oasis') {
      $('#WikiaPageHeader .wikia-menu-button li a:first').html('Archived').removeAttr('href');
      $('#WikiaPageHeader .wikia-button').html('Archived').removeAttr('href');
         return;
   }
 
   if (!document.getElementById('ca-edit'))
      return;
 
   var editLink = null;
 
   if (skin === 'monaco')
      editLink = document.getElementById('ca-edit');
   else if (skin === 'monobook')
      editLink = document.getElementById('ca-edit').firstChild;
   else
      return;
 
   editLink.removeAttribute('href', 0);
   editLink.removeAttribute('title', 0);
   editLink.style.color = 'gray';
   editLink.innerHTML = 'Archived';
 
   $('span.editsection-upper').remove();
});

// Replaces {{USERNAME}} with the name of the user browsing the page.
// Requires copying Template:USERNAME.
$(function UserNameReplace() {
    if(typeof(disableUsernameReplace) !== 'undefined' &&
       disableUsernameReplace || wgUserName === null)
       return;
    $("span.insertusername").html(wgUserName);
});

// USERTAGS
window.UserTagsJS = {
	modules: {},
	tags: {},
};

UserTagsJS.modules.mwGroups = [
   'bureaucrat',
   'sysop',
   'rollback',
   'bot',
];
UserTagsJS.modules.metafilter = {
   'sysop':         ['bot'], // Remove "Admin" tag from bots
   'autoconfirmed': ['user'],
   'chatmoderator': ['rollback'],
};

// http://dev.wikia.com/wiki/RevealAnonIP
window.RevealAnonIP = {
   permissions: [
      'rollback',
      'sysop',
      'bureaucrat',
   ]
};
 
/**
 * Dynamic Navigation Bars. See [[Wikipedia:NavFrame]]
 * 
 * Based on script from en.wikipedia.org, 2008-09-15.
 *
 * @source www.mediawiki.org/wiki/MediaWiki:Gadget-NavFrame.js
 * @maintainer Helder.wiki, 2012–2013
 * @maintainer Krinkle, 2013
 */
( function () {

// Set up the words in your language
var collapseCaption = 'hide';
var expandCaption = 'show';

var navigationBarHide = '[' + collapseCaption + ']';
var navigationBarShow = '[' + expandCaption + ']';

/**
 * Shows and hides content and picture (if available) of navigation bars.
 *
 * @param {number} indexNavigationBar The index of navigation bar to be toggled
 * @param {jQuery.Event} e Event object
 */
function toggleNavigationBar( indexNavigationBar, e ) {
	var navChild,
		navToggle = document.getElementById( 'NavToggle' + indexNavigationBar ),
		navFrame = document.getElementById( 'NavFrame' + indexNavigationBar );

	// Prevent browser from jumping to href "#"
	e.preventDefault();

	if ( !navFrame || !navToggle ) {
		return false;
	}

	// If shown now
	if ( navToggle.firstChild.data == navigationBarHide ) {
		for ( navChild = navFrame.firstChild; navChild != null; navChild = navChild.nextSibling ) {
			if ( hasClass( navChild, 'NavPic' ) ) {
				navChild.style.display = 'none';
			}
			if ( hasClass( navChild, 'NavContent' ) ) {
				navChild.style.display = 'none';
			}
		}
		navToggle.firstChild.data = navigationBarShow;

	// If hidden now
	} else if ( navToggle.firstChild.data == navigationBarShow ) {
		for ( navChild = navFrame.firstChild; navChild != null; navChild = navChild.nextSibling ) {
			if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
				navChild.style.display = 'block';
			}
		}
		navToggle.firstChild.data = navigationBarHide;
	}
}

/**
 * Adds show/hide-button to navigation bars.
 *
 * @param {jQuery} $content
 */
function createNavigationBarToggleButton( $content ) {
	var i, j, navFrame, navToggle, navToggleText, navChild,
		indexNavigationBar = 0,
		navFrames = $content.find( 'div.NavFrame' ).toArray();

	// Iterate over all (new) nav frames
	for ( i = 0; i < navFrames.length; i++ ) {
		navFrame = navFrames[i];
		// If found a navigation bar
		indexNavigationBar++;
		navToggle = document.createElement( 'a' );
		navToggle.className = 'NavToggle';
		navToggle.setAttribute( 'id', 'NavToggle' + indexNavigationBar );
		navToggle.setAttribute( 'href', '#' );
		$( navToggle ).on( 'click', $.proxy( toggleNavigationBar, null, indexNavigationBar ) );

		navToggleText = document.createTextNode( navigationBarHide );
		for ( navChild = navFrame.firstChild; navChild != null; navChild = navChild.nextSibling ) {
			if ( $( navChild ).hasClass( 'NavPic' ) || $( navChild ).hasClass( 'NavContent' ) ) {
				if ( navChild.style.display == 'none' ) {
					navToggleText = document.createTextNode( navigationBarShow );
					break;
				}
			}
		}

		navToggle.appendChild( navToggleText );
		// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
		for ( j = 0; j < navFrame.childNodes.length; j++ ) {
			if ( $( navFrame.childNodes[j] ).hasClass( 'NavHead' ) ) {
				navFrame.childNodes[j].appendChild( navToggle );
			}
		}
		navFrame.setAttribute( 'id', 'NavFrame' + indexNavigationBar );
	}
}

mw.hook( 'wikipage.content' ).add( createNavigationBarToggleButton );

}());
Advertisement