мНет описания правки |
мНет описания правки |
||
Строка 442: | Строка 442: | ||
function randomBg() { |
function randomBg() { |
||
var imgs = [ |
var imgs = [ |
||
− | 'http:// |
+ | 'http://img2.wikia.nocookie.net/__cb20141128041448/doctorwho/ru/images/thumb/1/11/4%D1%86.png/154px-4%D1%86.png', |
− | 'http:// |
+ | 'http://img2.wikia.nocookie.net/__cb20141128041508/doctorwho/ru/images/thumb/8/84/2%D1%83.png/139px-2%D1%83.png', |
]; |
]; |
||
Версия от 17:21, 28 ноября 2014
/* Размещённый здесь код JavaScript будет загружен всем пользователям при обращении к какой-либо странице */
var auto_comment = 0;
if (document.URL.indexOf("action=edit") > 0 || document.URL.indexOf("action=submit") > 0)
{
if (wgCanonicalNamespace != "Special")
{
document.write('<script type="text/javascript" src="/index.php' +
'?title=MediaWiki:Onlyifediting.js&action=raw' +
'&ctype=text/javascript&dontcountme=s"></script>');
}
}
/*Импорт*/
//Masthead entries
importScript("MediaWiki:Common.js/masthead.js");
/*Конец импорт*/
//Кнопки быстрого описания правки
//список кнопок
function SummaryButtons(){
var wpSummary = document.getElementById('wpSummary')
if (!wpSummary || (wpSummary.form.wpSection && wpSummary.form.wpSection.value == 'new')) return
wpSummaryBtn = document.createElement('span') //global var
wpSummaryBtn.id = 'userSummaryButtonsA'
// +Рекомендация
var wpSummaryBtnRec = document.createElement('i');
wpSummaryBtnRec.appendChild(document.createTextNode('Пожалуйста, если вы не торопитесь, опишите вашу правку:'));
wpSummaryBtnRec.appendChild(document.createElement('br'));
wpSummaryBtn.appendChild(wpSummaryBtnRec);
wpSummary.parentNode.insertBefore(wpSummaryBtn, wpSummary.nextSibling);
wpSummary.parentNode.insertBefore(document.createElement('br'), wpSummary.nextSibling);
addSumButton('новости', 'новости', 'Учтены последние новости');
addSumButton('викификация', 'викификация', 'Произведена викификация');
addSumButton('правила', 'правила', 'Согласно правил');
addSumButton('оформление', 'оформление', 'Оформление');
addSumButton('стиль', 'стилевые правки', 'Стилевые правки');
addSumButton('грамматика', 'грамматика', 'Поправлена орфография/пунктуация');
addSumButton('категоризация', 'категоризация', 'Изменены категории');
addSumButton('шаблон', 'шаблон', 'Добавлен/изменён шаблон');
addSumButton('дополнение', 'дополнение', 'Добавлены новые сведения');
addSumButton('уточнение', 'уточнение', 'уточнение');
addSumButton('иллюстрирование', 'иллюстрирование', 'Размещена/изменена иллюстрация');
addSumButton('обновление', 'обновление сведений', 'Обновлены устаревшие сведения');
addSumButton('разметка', 'правка разметки', 'Изменение разметки');
addSumButton('лишнее', 'лишнее', 'Действительно лишнее');
addSumButton('интервики', 'интервики', 'Интервики тоже нужны');
addSumButton('замена изображения', 'замена изображения', 'изображение');
addSumButton('шаблонофикация', 'шаблонофикация', 'шаблонофикация');
addSumButton('ашипки', 'ашипки', 'ашипки');
addSumButton('сомнения', 'сомнения', 'сомнения');
}
//код вставки кнопок быстрого описания
function addSumButton(name, text, title) {
var btn = document.createElement('a');
btn.appendChild(document.createTextNode(name));
btn.title = title;
btn.onclick = function(){insertSummary(text)};
wpSummaryBtn.appendChild(btn);
wpSummaryBtn.appendChild(document.createTextNode(' '));
}
//код вставки описания
function insertSummary(text) {
var wpSummary = document.getElementById('wpSummary')
if (wpSummary.value.indexOf(text) != -1) return
if (wpSummary.value.match(/[^,; \/]$/)) wpSummary.value += ','
if (wpSummary.value.match(/[^ ]$/)) wpSummary.value += ' '
wpSummary.value += text
}
//вызов функции вставки кнопок быстрого описания правки при загрузке страницы
addOnloadHook(SummaryButtons)
//A script that adds a "Back To Top" option in the footer of the Oasis theme.
//I don't like scrolling back to top on long pages neither do you :)
//
function hideFade () {
// hide #backtotop first
$( "#backtotop" ).hide ();
// fade in #backtotop
$( function () {
$( window ).scroll( function () {
if ( $( this ).scrollTop () > ButtonStart ) {
$( '#backtotop' ).fadeIn ();
} else {
$( '#backtotop' ).fadeOut ();
}
});
});
}
//A script that adds a "Back To Top" option in the footer of the Oasis theme.
//Created by Noemon from Dead Space Wiki, translate from ru.elderscrolls.wikia
function hideFade () {
// hide #backtotop first
$( "#backtotop" ).hide ();
// fade in #backtotop
$( function () {
$( window ).scroll( function () {
if ( $( this ).scrollTop () > ButtonStart ) {
$( '#backtotop' ).fadeIn ();
} else {
$( '#backtotop' ).fadeOut ();
}
});
});
}
function goToTop (){
// scroll body to 0px on click
$( 'body,html' ).animate ({
scrollTop: 0
}, ScrollSpeed );
return false;
}
function addBackToTop () {
if( skin == 'oasis' ) {
$('<li id="backtotop" style="position: absolute; right:20px; top:0px; border:none;"><button type="button" value="Наверх" onClick="goToTop();">Наверх</button></li>').appendTo('#WikiaBarWrapper .toolbar > .tools');
hideFade ();
}
}
var ButtonStart = 800;
var ScrollSpeed = 600;
if( !window.BackToTop ) {
$( document ).ready( function () {
addBackToTop ();
});
}
var BackToTop = true; // prevent duplication
function addWikifButton() {
var toolbar = document.getElementById('toolbar')
if (!toolbar) return
var i = document.createElement('img')
i.src = 'http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png'
i.alt = i.title = 'викификатор'
i.onclick = Wikify
i.style.cursor = 'pointer'
toolbar.appendChild(i)
}
if (wgAction == 'edit' || wgAction == 'submit') {
importScriptURI('http://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript')
addOnloadHook(addWikifButton)
}
// ============================================================
// BEGIN Collapsible tables
// ============================================================
// Description: Allow tables to be collapsible
// Credit: This script is from Wikipedia. Please see http://en.wikipedia.org/w/index.php?title=MediaWiki:Common.js&action=history
// Customized for Fallout Wiki by User:Porter21
/* Test if an element has a certain class **************************************
*
* Description: Uses regular expressions and caching for better performance.
* Maintainers: [[User:Mike Dillon]], [[User:R. Koot]], [[User:SG]]
*/
var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();
// ============================================================
// BEGIN AjaxRC
// ============================================================
/* ######################################################################## */
/* ### AJAX RC ### */
/* ### ---------------------------------------------------------------- ### */
/* ### Description: Automatically refresh "Recent changes" via AJAX ### */
/* ### Credit: User:pcj (http://www.wowpedia.org) ### */
/* ### Maintenance, cleanup, style and bug fixes by Grunny ### */
/* ### (http://community.wikia.com/wiki/User:Grunny) ### */
/* ######################################################################## */
var ajaxIndicator = 'http://images.wikia.com/dev/images/8/82/Facebook_throbber.gif',
ajaxTimer,
ajaxRefresh = 60000,
refreshText = 'Авто-Обновление',
refreshHover = 'Включить авто-обновление страницы',
doRefresh = true;
if ( !window.ajaxPages ) {
var ajaxPages = new Array ("Служебная:RecentChanges", "Служебная:WikiActivity", "Служебная:NewFiles");
}
if ( !window.ajaxCallAgain ) {
var ajaxCallAgain = [];
}
if( typeof AjaxRCRefreshText == "string" ) {
refreshText = AjaxRCRefreshText;
}
if( typeof AjaxRCRefreshHoverText == "string" ) {
refreshHover = AjaxRCRefreshHoverText;
}
/**
* Sets the cookie
* @param c_name string Name of the cookie
* @param value string 'on' or 'off'
* @param expiredays integer Expiry time of the cookie in days
*/
function setCookie( c_name, value, expiredays ) {
var exdate = new Date();
exdate.setDate( exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ( ( expiredays === null ) ? "" : ";expires=" + exdate.toGMTString() );
}
/**
* Gets the cookie
* @param c_name string Cookie name
* @return The cookie name or empty string
*/
function getCookie( c_name ) {
if ( document.cookie.length > 0 ) {
var c_start = document.cookie.indexOf( c_name + "=" )
if ( c_start !== -1 ) {
c_start = c_start + c_name.length + 1;
var c_end = document.cookie.indexOf( ";", c_start );
if ( c_end === -1 ) {
c_end = document.cookie.length;
}
return unescape( document.cookie.substring( c_start, c_end ) );
}
}
return "";
}
/**
* Main function to start the Auto-refresh process
*/
function preloadAJAXRL() {
var ajaxRLCookie = (getCookie("ajaxload-" + wgPageName) == "on") ? true : false;
var appTo = ($('#WikiaPageHeader').length ) ? $('#WikiaPageHeader > h1') : $('.firstHeading');
appTo.append(' <span style="font-size: xx-small; line-height: 100%;" id="ajaxRefresh"><span style="border-bottom: 1px dotted; cursor: help;" id="ajaxToggleText" title="' + refreshHover + '">' + refreshText + ':</span><input type="checkbox" style="margin-bottom: 0;" id="ajaxToggle"><span style="display: none;" id="ajaxLoadProgress"><img src="' + ajaxIndicator + '" style="vertical-align: baseline;" border="0" alt="Refreshing page" /></span></span>');
$('#ajaxLoadProgress').ajaxSend(function(event, xhr, settings) {
if (location.href == settings.url) {
$(this).show();
}
} ).ajaxComplete(function(event, xhr, settings) {
if (location.href == settings.url) {
$(this).hide();
for(i in ajaxCallAgain) {
ajaxCallAgain[i]();
}
}
} );
$('#ajaxToggle').click(toggleAjaxReload).attr('checked', ajaxRLCookie);
if (getCookie("ajaxload-" + wgPageName) == "on") {
loadPageData();
}
}
/**
* Turn refresh on and off by toggling the checkbox
*/
function toggleAjaxReload() {
if ( $( '#ajaxToggle' ).prop( 'checked' ) == true ) {
setCookie( "ajaxload-" + wgPageName, "on", 30 );
doRefresh = true;
loadPageData();
} else {
setCookie( "ajaxload-" + wgPageName, "off", 30 );
doRefresh = false;
clearTimeout( ajaxTimer );
}
}
/**
* Does the actual refresh
*/
function loadPageData() {
var cC = ( $( '#WikiaArticle' ).length ) ? '#WikiaArticle' : '#bodyContent';
$( cC ).load( location.href + " " + cC, function ( data ) {
if ( doRefresh ) {
ajaxTimer = setTimeout( "loadPageData();", ajaxRefresh );
}
} );
}
/**
* Load the script on specific pages
*/
$( function () {
for ( x in ajaxPages ) {
if ( wgPageName == ajaxPages[x] && $( '#ajaxToggle' ).length === 0 ) {
preloadAJAXRL();
}
}
} );
/* ######################################################################## */
/* ######################################################################## */
function infoboxToggle() {
var page = window.pageName.replace(/\W/g, '_');
var nowShown;
if(document.getElementById('infoboxtoggle').innerHTML == '[Hide]') {
document.getElementById('infoboxinternal').style.display = 'none';
document.getElementById('infoboxtoggle').innerHTML = '[Show]';
nowShown = false;
} else {
document.getElementById('infoboxinternal').style.display = 'block';
document.getElementById('infoboxtoggle').innerHTML = '[Hide]';
nowShown = true;
}
if(window.storagePresent) {
var storage = globalStorage[window.location.hostname];
storage.setItem('infoboxshow-' + page, nowShown);
}
}
/**
* jQuery version of fillEditSummaries
* @author Grunny
*/
function fillEditSummaries() {
if( !$( '#wpSummaryLabel' ).length ) {
return;
}
var summaryOptionsHtml = '',
$summaryOptionsList;
$.get( wgScript, { title: 'Template:Stdsummaries', action: 'raw', ctype: 'text/plain' }, function( data ) {
var lines = data.split( '\n' );
for( var i = 0; i < lines.length; i++ ) {
var value = ( lines[i].indexOf( '-- ' ) === 0 ) ? lines[i].substring(3) : "";
summaryOptionsHtml += '<option value="' + value + '">' + lines[i] + '</option>';
}
$summaryOptionsList = $( '<select />' ).attr( 'id', 'stdEditSummaries' ).html( summaryOptionsHtml ).change( function() {
var value = $( this ).val();
if ( value !== '' ) {
if( skin === 'oasis' ) {
$( '#wpSummary' ).text( value );
} else {
$( '#wpSummary' ).val( value );
}
}
} );
$( '#wpSummaryLabel' ).prepend( 'Standard summaries: ', $summaryOptionsList, '<br />' );
} );
}
/**
* jQuery version of fillPreloads
* @author Grunny
*/
function fillPreloads() {
if( !$( '#lf-preload' ).length ) {
return;
}
var preloadOptionsHtml = '',
$preloadOptionsList;
$( '#lf-preload' ).attr( 'style', 'display: block' );
$.get( wgScript, { title: 'Template:Stdpreloads', action: 'raw', ctype: 'text/plain' }, function( data ) {
var lines = data.split( '\n' );
for( var i = 0; i < lines.length; i++ ) {
var value = ( lines[i].indexOf( '-- ' ) === 0 ) ? lines[i].substring(3) : "";
preloadOptionsHtml += '<option value="' + value + '">' + lines[i] + '</option>';
}
$preloadOptionsList = $( '<select />' ).attr( 'id', 'stdSummaries' ).html( preloadOptionsHtml ).change( function() {
var value = $( this ).val();
if ( value !== '' ) {
value = 'Template:' + value + '/preload';
value = value.replace( ' ', '_' );
$.get( wgScript, { title: value, action: 'raw', ctype: 'text/plain' }, function( data ) {
insertAtCursor( document.getElementById( 'wpTextbox1' ), data );
} );
}
} );
$( '#lf-preload-cbox' ).html( $preloadOptionsList );
} );
$( '#lf-preload-pagename' ).html( '<input type="text" class="textbox" />' );
$( '#lf-preload-button' ).html( '<input type="button" class="button" value="Insert" onclick="doCustomPreload()" />' );
}
function doCustomPreload() {
var value = $( '#lf-preload-pagename > input' ).val();
value = value.replace( ' ', '_' );
$.get( wgScript, { title: value, action: 'raw', ctype: 'text/plain' }, function( data ) {
insertAtCursor( document.getElementById( 'wpTextbox1' ), data );
} );
}
// ============================================================
// END AjaxRC
// ============================================================
/* Any JavaScript here will be loaded for all users on every page load. */
function addWikifButton() {
var toolbar = document.getElementById('toolbar')
if (!toolbar) return
var i = document.createElement('img')
i.src = 'http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png'
i.alt = i.title = 'викификатор'
i.onclick = Wikify
i.style.cursor = 'pointer'
toolbar.appendChild(i)
}
if (wgAction == 'edit' || wgAction == 'submit') {
importScriptURI('http://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript')
addOnloadHook(addWikifButton)
}
/* Случайный фон для вики */
function randomBg() {
var imgs = [
'http://img2.wikia.nocookie.net/__cb20141128041448/doctorwho/ru/images/thumb/1/11/4%D1%86.png/154px-4%D1%86.png',
'http://img2.wikia.nocookie.net/__cb20141128041508/doctorwho/ru/images/thumb/8/84/2%D1%83.png/139px-2%D1%83.png',
];
$('body').css('background-image','url(' + imgs[Math.floor((imgs.length) * Math.random())] + ')');
}
$(randomBg);