MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
sims>K6ka (remove lock blog comments as it doesn't work; remove quicklicense as Monobook has been killed by Wikia) |
(Creating page so things won't get suddenly overridden when the import comes) |
||
Line 1: | Line 1: | ||
// 21:33, December 16, 2017 (UTC) |
|||
// <source lang="JavaScript"> |
|||
/* Any JavaScript here will be loaded for all users on every page load. */ |
/* Any JavaScript here will be loaded for all users on every page load. */ |
||
/* IRC login */ |
|||
importScript('MediaWiki:Common.js/irclogin.js'); |
|||
/* Test if an element has a certain class ************************************** |
|||
* |
|||
* Description: Uses regular expressions and caching for better performance. |
|||
* Taken from Wikipedia's Common.js. |
|||
*/ |
|||
/* ######################################################################## */ |
|||
/* ### TITLE ICONS (Template:Games) ### */ |
|||
/* ### ---------------------------------------------------------------- ### */ |
|||
/* ### Description: Add icons to article title ### */ |
|||
/* ### Credit: User:Porter21 ### */ |
|||
/* ######################################################################## */ |
|||
function addTitleIcons() { |
|||
var iconBar = $('#va-titleicons'); |
|||
var previewBar = $('#va-titleicons-preview'); |
|||
if (skin != 'monobook' && skin != 'oasis' && skin != 'wikia') { |
|||
return; |
|||
} |
|||
if (iconBar.length > 0 && $('a', previewBar).length > 0) { |
|||
if (skin == 'oasis' || skin == 'wikia') { |
|||
var articleDiv = $('#WikiaArticle'); |
|||
if (articleDiv.length > 0) { |
|||
iconBar.css('display', 'block').prependTo(articleDiv); |
|||
} |
|||
} else if (skin == 'monobook') { |
|||
var firstHeading = $('#firstHeading').css('position', 'relative'); |
|||
if (firstHeading.length > 0) { |
|||
iconBar.css('display', 'block').appendTo(firstHeading.css('padding-right', previewBar.width() + 25)); |
|||
} |
|||
} |
|||
$('#va-titleicons-more').append('<img width="0" height="0" class="va-titleicons-chevron" src="https://images.wikia.nocookie.net/common/skins/common/blank.gif">'); |
|||
iconBar.hover( |
|||
function() { |
|||
$(this).addClass('va-titleicons-hover'); |
|||
}, function() { |
|||
$(this).removeClass('va-titleicons-hover'); |
|||
}); |
|||
} |
|||
} |
|||
// Standard Edit Summaries |
|||
importScript('MediaWiki:Common.js/standardeditsummaries.js'); |
|||
// END of Standard Edit Summaries |
|||
/** Collapsible tables ********************************************************* |
|||
* |
|||
* Description: Allows tables to be collapsed, showing only the header. See |
|||
* [[Wikipedia:NavFrame]]. |
|||
* Taken from Wikipedia's Common.js. |
|||
*/ |
|||
var hasClass = (function() { |
|||
var reCache = {}; |
|||
return function(element, className) { |
|||
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className); |
|||
}; |
|||
})(); |
|||
var autoCollapse = 2; |
|||
var collapseCaption = "hide"; |
|||
var expandCaption = "show"; |
|||
function collapseTable(tableIndex) { |
|||
var Button = document.getElementById("collapseButton" + tableIndex); |
|||
var Table = document.getElementById("collapsibleTable" + tableIndex); |
|||
if (!Table || !Button) { |
|||
return false; |
|||
} |
|||
var Rows = Table.rows; |
|||
if (Button.firstChild.data == collapseCaption) { |
|||
for (var i = 1; i < Rows.length; i++) { |
|||
Rows[i].style.display = "none"; |
|||
} |
|||
Button.firstChild.data = expandCaption; |
|||
} else { |
|||
for (var i = 1; i < Rows.length; i++) { |
|||
Rows[i].style.display = Rows[0].style.display; |
|||
} |
|||
Button.firstChild.data = collapseCaption; |
|||
} |
|||
} |
|||
function createCollapseButtons() { |
|||
var tableIndex = 0; |
|||
var NavigationBoxes = new Object(); |
|||
var Tables = document.getElementsByTagName("table"); |
|||
for (var i = 0; i < Tables.length; i++) { |
|||
if (hasClass(Tables[i], "collapsible")) { |
|||
/* only add button and increment count if there is a header row to work with */ |
|||
var HeaderRow = Tables[i].getElementsByTagName("tr")[0]; |
|||
if (!HeaderRow) continue; |
|||
var Header = HeaderRow.getElementsByTagName("th")[0]; |
|||
if (!Header) continue; |
|||
NavigationBoxes[tableIndex] = Tables[i]; |
|||
Tables[i].setAttribute("id", "collapsibleTable" + tableIndex); |
|||
var Button = document.createElement("span"); |
|||
var ButtonLink = document.createElement("a"); |
|||
var ButtonText = document.createTextNode(collapseCaption); |
|||
Button.style.styleFloat = "right"; |
|||
Button.style.cssFloat = "right"; |
|||
Button.style.fontWeight = "normal"; |
|||
Button.style.textAlign = "right"; |
|||
Button.style.width = "3.5em"; |
|||
ButtonLink.style.color = Header.style.color; |
|||
ButtonLink.setAttribute("id", "collapseButton" + tableIndex); |
|||
ButtonLink.setAttribute("href", "javascript:collapseTable(" + tableIndex + ");"); |
|||
ButtonLink.appendChild(ButtonText); |
|||
Button.appendChild(document.createTextNode("[")); |
|||
Button.appendChild(ButtonLink); |
|||
Button.appendChild(document.createTextNode("]")); |
|||
Header.insertBefore(Button, Header.childNodes[0]); |
|||
tableIndex++; |
|||
} |
|||
} |
|||
for (var i = 0; i < tableIndex; i++) { |
|||
if (hasClass(NavigationBoxes[i], "collapsed") || (tableIndex >= autoCollapse && hasClass(NavigationBoxes[i], "autocollapse"))) { |
|||
collapseTable(i); |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook(createCollapseButtons); |
|||
importScriptPage('EditIntroButton/code.js', 'dev'); |
|||
importScriptPage('PurgeButton/code.js', 'dev'); |
|||
/** Dynamic Navigation Bars (experimental) ************************************* |
|||
* |
|||
* Description: See [[Wikipedia:NavFrame]]. |
|||
* Taken from Wikipedia's Common.js. |
|||
*/ |
|||
// set up the words in your language |
|||
var NavigationBarHide = '[' + collapseCaption + ']'; |
|||
var NavigationBarShow = '[' + expandCaption + ']'; |
|||
// shows and hides content and picture (if available) of navigation bars |
|||
// Parameters: |
|||
// indexNavigationBar: the index of navigation bar to be toggled |
|||
function toggleNavigationBar(indexNavigationBar) { |
|||
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar); |
|||
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar); |
|||
if (!NavFrame || !NavToggle) { |
|||
return false; |
|||
} |
|||
// if shown now |
|||
if (NavToggle.firstChild.data == NavigationBarHide) { |
|||
for ( |
|||
var 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 ( |
|||
var NavChild = NavFrame.firstChild; |
|||
NavChild != null; |
|||
NavChild = NavChild.nextSibling) { |
|||
if (hasClass(NavChild, 'NavPic')) { |
|||
NavChild.style.display = 'block'; |
|||
} |
|||
if (hasClass(NavChild, 'NavContent')) { |
|||
NavChild.style.display = 'block'; |
|||
} |
|||
} |
|||
NavToggle.firstChild.data = NavigationBarHide; |
|||
} |
|||
} |
|||
// adds show/hide-button to navigation bars |
|||
function createNavigationBarToggleButton() { |
|||
var indexNavigationBar = 0; |
|||
// iterate over all < div >-elements |
|||
var divs = document.getElementsByTagName("div"); |
|||
for ( |
|||
var i = 0; |
|||
NavFrame = divs[i]; |
|||
i++) { |
|||
// if found a navigation bar |
|||
if (hasClass(NavFrame, "NavFrame")) { |
|||
indexNavigationBar++; |
|||
var NavToggle = document.createElement("a"); |
|||
NavToggle.className = 'NavToggle'; |
|||
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar); |
|||
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');'); |
|||
var NavToggleText = document.createTextNode(NavigationBarHide); |
|||
for ( |
|||
var NavChild = NavFrame.firstChild; |
|||
NavChild != null; |
|||
NavChild = NavChild.nextSibling) { |
|||
if (hasClass(NavChild, 'NavPic') || hasClass(NavChild, '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 ( |
|||
var j = 0; |
|||
j < NavFrame.childNodes.length; |
|||
j++) { |
|||
if (hasClass(NavFrame.childNodes[j], "NavHead")) { |
|||
NavFrame.childNodes[j].appendChild(NavToggle); |
|||
} |
|||
} |
|||
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar); |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook(createNavigationBarToggleButton); |
|||
// ************************************************** |
|||
// Experimental javascript countdown timer (Splarka) |
|||
// Version 0.0.3 |
|||
// ************************************************** |
|||
// |
|||
// Usage example: |
|||
// <span class="countdown" style="display:none;"> |
|||
// Only <span class="countdowndate">January 01 2007 00:00:00 PST</span> until New years. |
|||
// </span> |
|||
// <span class="nocountdown">Javascript disabled.</span> |
|||
function updatetimer(i) { |
|||
var now = new Date(); |
|||
var then = timers[i].eventdate; |
|||
var diff = count = Math.floor((then.getTime() - now.getTime()) / 1000); |
|||
// catch bad date strings |
|||
if (isNaN(diff)) { |
|||
timers[i].firstChild.nodeValue = '** ' + timers[i].eventdate + ' **'; |
|||
return; |
|||
} |
|||
// determine plus/minus |
|||
if (diff < 0) { |
|||
diff = -diff; |
|||
var tpm = 'T plus '; |
|||
} else { |
|||
var tpm = ''; |
|||
} |
|||
// calcuate the diff |
|||
var left = (diff % 60) + ' seconds'; |
|||
diff = Math.floor(diff / 60); |
|||
if (diff > 0) left = (diff % 60) + ' minutes ' + left; |
|||
diff = Math.floor(diff / 60); |
|||
if (diff > 0) left = (diff % 24) + ' hours ' + left; |
|||
diff = Math.floor(diff / 24); |
|||
if (diff > 0) left = diff + ' days ' + left |
|||
var diffing = count = Math.floor((then.getTime() - now.getTime()) / 1000); |
|||
if (diffing < 0) { |
|||
timers[i].firstChild.nodeValue = 'Timer has expired'; |
|||
} else { |
|||
timers[i].firstChild.nodeValue = tpm + left; |
|||
} |
|||
// a setInterval() is more efficient, but calling setTimeout() |
|||
// makes errors break the script rather than infinitely recurse |
|||
timeouts[i] = setTimeout('updatetimer(' + i + ')', 1000); |
|||
} |
|||
function checktimers() { |
|||
//hide 'nocountdown' and show 'countdown' |
|||
var nocountdowns = getElementsByClassName(document, 'span', 'nocountdown'); |
|||
for (var i in nocountdowns) nocountdowns[i].style.display = 'none' |
|||
var countdowns = getElementsByClassName(document, 'span', 'countdown'); |
|||
for (var i in countdowns) countdowns[i].style.display = 'inline' |
|||
//set up global objects timers and timeouts. |
|||
timers = getElementsByClassName(document, 'span', 'countdowndate'); //global |
|||
timeouts = new Array(); // generic holder for the timeouts, global |
|||
if (timers.length == 0) return; |
|||
for (var i in timers) { |
|||
timers[i].eventdate = new Date(timers[i].firstChild.nodeValue); |
|||
updatetimer(i); //start it up |
|||
} |
|||
} |
|||
addOnloadHook(checktimers); |
|||
// ************************************************** |
|||
// - end - Experimental javascript countdown timer |
|||
// ************************************************** |
|||
// ************************************************** |
|||
// Hide namespaces in categories (Splarka) |
|||
// ************************************************** |
|||
// A quick script to hide namespace prefixes in category lists. Just add |
|||
// <div id="catnoprefix" style="display:none;"></div> |
|||
// to the category description page to activate it. |
|||
$(function catprefix() { |
|||
if ($('#catnoprefix').length > 0) { |
|||
var anchors = document.getElementById('mw-pages').getElementsByTagName('a'); |
|||
for (var i = 0; i < anchors.length; i++) { |
|||
if (anchors[i].firstChild.nodeValue.indexOf(':') != -1) { |
|||
anchors[i].firstChild.nodeValue = anchors[i].firstChild.nodeValue.substring(anchors[i].firstChild.nodeValue.indexOf(':') + 1); |
|||
} |
|||
} |
|||
} |
|||
}); |
|||
// ************************************************** |
|||
// - end - Hide namespaces in categories |
|||
// ************************************************** |
|||
/* Username replace feature |
|||
* Inserts viewing user's name into <span class="insertusername"></span> |
|||
* Put text inside the spans to be viewed by logged out users |
|||
* Originally by [[wikia:User:Splarka|Splarka]], then by [[User:Spang|Spang]], |
|||
* This (jQuery) version by [[wikia:User:Joeyaa]], written to be backwards compatible |
|||
*/ |
|||
if (wgUserName != 'null') { |
|||
$('.insertusername').html(wgUserName); |
|||
} |
|||
/* Custom edit buttons |
|||
See http://help.wikia.com/wiki/Help:Custom_edit_buttons |
|||
*/ |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/1/11/Btn_toolbar_liste.png", |
|||
"speedTip": "List", |
|||
"tagOpen": "\n* ", |
|||
"tagClose": "\n* Element B\n* Element C", |
|||
"sampleText": "Element A" |
|||
}; |
|||
} |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/8/88/Btn_toolbar_enum.png", |
|||
"speedTip": "Numbering", |
|||
"tagOpen": "\n# ", |
|||
"tagClose": "\n# Element 2\n# Element 3", |
|||
"sampleText": "Element 1" |
|||
}; |
|||
} |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/f/fd/Button_blockquote.png", |
|||
"speedTip": "Blockquote", |
|||
"tagOpen": "<blockquote>", |
|||
"tagClose": "</blockquote>", |
|||
"sampleText": "Insert text" |
|||
}; |
|||
} |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/7/74/Button_comment.png", |
|||
"speedTip": "Note", |
|||
"tagOpen": "{{Info|Insert title|", |
|||
"tagClose": "}}", |
|||
"sampleText": "Insert text" |
|||
}; |
|||
} |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/b/b4/Button_category03.png", |
|||
"speedTip": "Category", |
|||
"tagOpen": "[[Category:", |
|||
"tagClose": "]]", |
|||
"sampleText": "Category name" |
|||
}; |
|||
} |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/c/c8/Button_redirect.png", |
|||
"speedTip": "Redirect", |
|||
"tagOpen": "#REDIRECT [[", |
|||
"tagClose": "]]", |
|||
"sampleText": "Insert text" |
|||
}; |
|||
} |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/1/12/Button_gallery.png", |
|||
"speedTip": "Picture gallery", |
|||
"tagOpen": "\n<gallery>\nImage:", |
|||
"tagClose": "|[[The Sims Wiki]] Logo\nImage:Wiki.png|[[The Sims Wiki]] Logo\nImage:Wiki.png|Eine [[The Sims Wiki]] Logo\n<\/gallery>", |
|||
"sampleText": "Wiki.png" |
|||
}; |
|||
} |
|||
if (mwCustomEditButtons) { |
|||
mwCustomEditButtons[mwCustomEditButtons.length] = { |
|||
"imageFile": "https://images.wikia.nocookie.net/central/images/3/3b/Button_template_alt.png", |
|||
"speedTip": "Template", |
|||
"tagOpen": "{{", |
|||
"tagClose": "}}", |
|||
"sampleText": "Template" |
|||
}; |
|||
} |
|||
/* Tooltip script begin */ |
|||
var $tfb; |
|||
// hides the tooltip |
|||
function hideTip() { |
|||
$tfb.html("").removeClass("tooltip-ready").addClass("hidden").css("visibility", "hidden"); |
|||
} |
|||
// displays the tooltip |
|||
function displayTip(e) { |
|||
$tfb.not(":empty").removeClass("hidden").addClass("tooltip-ready"); |
|||
moveTip(e); |
|||
$tfb.not(":empty").css("visibility", "visible"); |
|||
} |
|||
// moves the tooltip |
|||
function moveTip(e) { |
|||
var newTop = e.clientY + ((e.clientY > ($(window).height() / 2)) ? -($tfb.not(".hidden").innerHeight() + 20) : 20); |
|||
var newLeft = e.clientX + ((e.clientX > ($(window).width() / 2)) ? -($tfb.not(".hidden").innerWidth() + 20) : 20); |
|||
$tfb.not(".hidden").css({ |
|||
"position": "fixed", |
|||
"top": newTop + "px", |
|||
"left": newLeft + "px" |
|||
}); |
|||
} |
|||
// AJAX tooltips |
|||
function showTip(e) { |
|||
$t = $(this); |
|||
$p = $t.parent(); |
|||
if ($p.hasClass("selflink") == false) { |
|||
$t.removeAttr("title"); |
|||
$p.removeAttr("title"); |
|||
$tfb.load("/" + $t.data("tt").replace(/ /g, "_").replace(/\?/g, "%3F") + "?action=render div.tooltip-content", function() { |
|||
if ($tfb.html() == "") $tfb.html('<div class="tooltip-content"><b>Error</b><br />This target either has no tooltip<br />or was not intended to have one.</div>'); |
|||
$tfb.find(".tooltip-content").css("display", ""); |
|||
displayTip(e); |
|||
}); |
|||
} |
|||
} |
|||
function bindTT() { |
|||
$t = $(this); |
|||
$p = $t.parent(); |
|||
if ($p.hasClass("selflink") == false) $t.data("tt", $p.attr("title").replace(" (page does not exist)", "").replace("?", "%3F")).mouseover(showTip).mouseout(hideTip).mousemove(moveTip); |
|||
} |
|||
// check to see if it is active then do it |
|||
$(function() { |
|||
$("#bodyContent").mouseover(hideTip); |
|||
$("#bodyContent").append('<div id="tfb" class="htt"></div>'); |
|||
$tfb = $("#tfb"); |
|||
$("#bodyContent span.ajaxttlink").each(bindTT); |
|||
}); |
|||
/* Tooltip script end */ |
|||
/* PCJ's dup finder start */ |
|||
dil = new Array(); |
|||
function findDupImages(gf) { |
|||
output = ""; |
|||
url = "/api.php?action=query&generator=allimages&prop=duplicatefiles&gailimit=500&format=json"; |
|||
if (gf) url += "&gaifrom=" + gf; |
|||
$.getJSON(url, function(data) { |
|||
if (data.query) { |
|||
pages = data.query.pages; |
|||
for (pageID in pages) { |
|||
dils = "," + dil.join(); |
|||
if (dils.indexOf("," + pages[pageID].title) == -1 && pages[pageID].title.indexOf("File::") == -1 && pages[pageID].duplicatefiles) { |
|||
output += "<h3><a href='/" + pages[pageID].title + "'>" + pages[pageID].title + "</a></h3>\n<ul>\n"; |
|||
for (x = 0; x < pages[pageID].duplicatefiles.length; x++) { |
|||
output += "<li><a href='/File:" + pages[pageID].duplicatefiles[x].name + "'>File:" + pages[pageID].duplicatefiles[x].name + "</a></li>\n"; |
|||
dil.push("File:" + pages[pageID].duplicatefiles[x].name.replace(/_/g, " ")); |
|||
} |
|||
output += "</ul>\n\n" |
|||
} |
|||
} |
|||
$("#mw-dupimages").append(output); |
|||
if (data["query-continue"]) setTimeout("findDupImages('" + data["query-continue"].allimages.gaifrom + "');", 5000); |
|||
} |
|||
}); |
|||
} |
|||
$(function() { |
|||
if ($("#mw-dupimages").length) findDupImages(); |
|||
}); /* PCJ's dup finder end */ |
|||
/* Move SiteNotice |
|||
* By w:c:avatar:Joeyaa |
|||
* Requires #mw-dismissable-notice span {display:none;} in css |
|||
*/ |
|||
$('#sitenotice-dismiss').html('[<a href="javascript:dismissNotice();">dismiss</a>]'); |
|||
// ============================================================ |
|||
// BEGIN Template:Era |
|||
// ============================================================ |
|||
// Description: Add game icons to top right corner of articles |
|||
// Credit: User:Mirar (based on Template:Eras by User:Sikon), copied from fallout.wikia |
|||
function addTitleGames() { |
|||
var titleDiv = document.getElementById("title-games"); |
|||
if (titleDiv != null && titleDiv != undefined) { |
|||
var content = document.getElementById('article'); |
|||
if (!content) { |
|||
var content = document.getElementById('content'); |
|||
} |
|||
if (content) { |
|||
var hs = content.getElementsByTagName('h1'); |
|||
var firstHeading; |
|||
for (var i = 0; i < hs.length; i++) { |
|||
if ((' ' + hs[i].className + ' ').indexOf(' firstHeading ') != -1) { |
|||
firstHeading = hs[i]; |
|||
break; |
|||
} |
|||
} |
|||
var cloneNode = titleDiv.cloneNode(true); |
|||
firstHeading.insertBefore(cloneNode, firstHeading.childNodes[0]); |
|||
cloneNode.style.display = "block"; |
|||
cloneNode.style.visibility = "visible"; |
|||
if (skin != "monaco") { |
|||
cloneNode.style.marginTop = "-11px"; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
addOnloadHook(addTitleGames); |
|||
//Facebook 'Like Box' |
|||
//Graciously (and unknowingly) provided by The Spanish 'Simspedia' |
|||
function fBox() { |
|||
$('#fbox').append('<iframe marginheight="0" marginwidth="0" src="http://www.facebook.com/connect/connect.php?id=126686564044617&connections=10" align="top" frameborder="0" width="300" height="250" scrolling="no" />'); |
|||
} |
|||
$(fBox); |
|||
// ************************************************* |
|||
// Pagetitle rewrite |
|||
// |
|||
// Rewrites the page's title, used by Template:Title |
|||
// ************************************************* |
|||
$(function() { |
|||
if ($('#title-meta').length) { |
|||
var newTitle = mw.html.escape($("#title-meta").html()); |
|||
// Allow italics |
|||
newTitle = newTitle.replace(/<(\/?i)>/g, '<$1>'); |
|||
var edits = $("#user_masthead_since").text(); |
|||
$(".firstHeading,#WikiaUserPagesHeader h1,#WikiaPageHeader h1").html(newTitle); |
|||
$("#user_masthead_head h2").html(newTitle + "<small id='user_masthead_since'>" + edits + "</small>"); |
|||
} |
|||
}); |
|||
$(function changeTitle(){ |
|||
if (!$('span.newPageTitle').html()) { |
|||
return; |
|||
} |
|||
$('h1.page-header__title').html($('span.newPageTitle').html()); |
|||
}); |
|||
/* Ajax Auto-Refresh (courtesy pcj) */ |
|||
/* Auto updating recent changes opt-in |
|||
* See w:c:dev:AjaxRC for info & attribution |
|||
*/ |
|||
AjaxRCRefreshText = 'Auto-refresh'; |
|||
AjaxRCRefreshHoverText = 'Automatically refresh the page'; |
|||
ajaxPages = ["Special:RecentChanges", "Special:WikiActivity"]; |
|||
importScriptPage('AjaxRC/code.js', 'dev'); |
|||
// ************************************************* |
|||
// change profile labels on individual pages |
|||
// |
|||
// Code is currently broken for /subpages - disabling for now |
|||
// ************************************************* |
|||
/* if (wgCanonicalNamespace === "User_talk" || wgCanonicalNamespace === "User") { |
|||
if (document.getElementById('UserProfileMasthead').getElementsByClassName('group').length === 1) { |
|||
if (document.getElementById('adm-changetitle') !== null) { |
|||
document.getElementById('UserProfileMasthead').getElementsByClassName('group')[0].innerHTML = document.getElementById('adm-changetitle').innerHTML; |
|||
} |
|||
} |
|||
} */ |
|||
// </source> |