MediaWiki:Common.js

Материал из Абсурдопедии
Версия от 17:42, 19 ноября 2018; >Rappy 4187 (Fixing JS error. Removing Terms of Use violations and Monobook-only code.)
Перейти к навигации Перейти к поиску

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
importScript("MediaWiki:Dynavbar.js");
importScript("MediaWiki:Editsumm.js");
importScript("MediaWiki:Gadget-NikAvtoStav.js");
importScript("MediaWiki:Stars.js");
importScript("MediaWiki:Gadget-markadmins.js");

function addWikifButton() {
    var toolbar = (document.getElementById('cke_toolbar_source_1') || document.getElementById('toolbar')); // Monobook+Modern
    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);
}

/* Обеспечиваем фокус с {{sysdep}} — Edward. */
function sysdep_init() {
    var lo = document.getElementById('linux_only');
    var wo = document.getElementById('winds_only');
    if (navigator.userAgent.match("Linux") || navigator.userAgent.match("X11")) {
        if (lo) lo.style.display = "block";
        if (wo) wo.style.display = "none";
    } else {
        if (lo) lo.style.display = "none";
        if (wo) wo.style.display = "block";
    }
}

/* Обеспечиваем нигилистические фокусы (см., например, статью [[Google]]) */
$(function() {
    var nhl = $('#nihilism')[0];
    if (nhl && !document.location.href.match("diff")) {
        var msg = nhl.innerHTML;
        $('body')[0].style.backgroundColor = 'white';
        $('body').html("<div id='nihilism_message'" + (nhl.style.top == "0px" ? " style='top: 0px; left: 0px;'" : "") + ">" + msg + "</div>");
        $(document).dblclick(function() {
            window.location = 'http://absurdopedia.wikia.com/index.php?title=' + encodeURIComponent(wgPageName) + '&action=edit';
        });
    }
});

/* Обеспечиваем стирание памяти для «Людёй в чёрном» */
$(function() {
    if ($('#erase_memory')[0]) setTimeout("$('#erase_memory').hide()", 20000);
});

/* Заставляем работать шаблон {{title}} (удалить этот код, когда заработает {{DISPLAYTITLE}}) */
function rewrite_title() {
    if (wgAction == "view") {
        p = document.getElementById('correctTitle');
        if (p) {
            document.getElementById('firstHeading').innerHTML = p.innerHTML;
            document.getElementById('wrongTitle').style.display = "none";
        }
    }
}

/* + ссылка «править» для нулевой секции. */
$(function() {
    var zeroSectionTip = 'Править введение';

    if (!mw.config.get('wgArticleId')) {
        return;
    }

    var action = mw.config.get('wgAction');
    if (action != 'view' && action != 'purge')
        return;

    mw.util.$content.find('h2').children('.mw-editsection:first').clone().prependTo('#bodyContent').css('float', 'right').find('a').each(function(index) {
        $(this).attr('title', zeroSectionTip);
        if ($(this).attr('class') === 'mw-editsection-visualeditor') {
            $(this).attr('href', mw.config.get('wgScript') + '?title=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '&veaction=edit&vesection=0&summary=/*%20Преамбула%20*/%20');
        } else {
            $(this).attr('href', mw.config.get('wgScript') + '?title=' + mw.util.wikiUrlencode(mw.config.get('wgPageName')) + '&action=edit&section=0&summary=/*%20Преамбула%20*/%20');
        }
    });
});

/* Вставка юзернейма с помощью <span class="insertusername"></span> */
$(function() {
    if ((typeof(disableUsernameReplace) == 'undefined' || !disableUsernameReplace) && wgUserName != null)
        $('span.insertusername').html(wgUserName);
});

function defaultUploadInfo() {
    var rewrite = document.getElementById('wpForReUpload');
    if (!rewrite) return;
    if (rewrite.value == 1) return;

    var d = document.getElementById('wpUploadDescription');
    if (d) {
        if (!d.value.match(/\[\[(Категория|Category):/)) {
            d.value += "\n\n\n[[Категория:Некатегоризованные изображения]]";
        }
    }
}

// addOnloadHook(onPageInit);

/* Ссылка на случайную статью */
$(function() {
    $('.subnav-2a').each(function() {
        if ($(this).attr('data-canonical') == 'random')
            $(this).attr('href', '/wiki/Служебная:RandomInCategory/Абсурдопедия:Случайные статьи');
    });
});