', {'class': 'custom-toolbar'});
var putIt = function() {
$("#editform").before(toolbar);
};
if ( window.rightNow ) {
putIt();
} else {
$(putIt);
}
return toolbar;
}
if (mw.ext.isAction(['edit', 'submit'])) {
importScript('МедияУики:Common.js/edit.js');
}
/**
* Extends the functionality of an inputbox in a div.mwbot element.
* Appends { { MAINPAGE/SUBPAGE } } to MAINPAGE upon creation of MAINPAGE/SUBPAGE
*/
var Memory = {
memoryTtl: 86400, // last this many seconds
allowedActions: ["transcludeSubpage"],
delim1: "::",
delim2: ";;",
memorize: function(jsAction, jsArgs, mwPage, mwAction) {
mw.cookie.set(
Memory.getCookieName(mwPage, mwAction),
jsAction + Memory.delim1 + jsArgs.join(Memory.delim2),
new Date(Date.now() + Memory.memoryTtl*1000));
},
executeCurrentAction: function() {
var cookieName = Memory.getCookieName(mw.config.get('wgPageName'), mw.config.get('wgAction'));
var rawData = mw.cookie.get(cookieName);
if (rawData) {
mw.cookie.set(cookieName, null);
var p = rawData.split(Memory.delim1);
if ( $.inArray(p[0], Memory.allowedActions) !== -1 ) {
eval(p[0] + '("'
+ p[1].replace(/"/g, '\\"').split(Memory.delim2).join('", "')
+ '")');
}
}
},
getCookieName: function (mwPage, mwAction) {
return "on" + mwAction + "_" + mwPage;
}
};
function attachMemorizers() {
$('.mwbot').find('form[name="createbox"]').each(function() {
attachMemorizer(this);
});
}
function attachMemorizer(form) {
var mainpage = form.title.value.replace(/\/+$/g, '');
if ( mainpage == "" ) {
mainpage = mw.config.get('wgPageName');
}
form.title.value = "";
jQuery(form).submit(function() {
if ( $.trim(this.title.value) == "" ) {
alert( mw.msg("ta-emptyfield") );
return false;
}
var subpage = this.title.value;
var prefix = mainpage + "/";
var prefindex = subpage.indexOf(prefix);
if ( prefindex == 0 ) { // the prefix is already there, remove it
subpage = subpage.substr(prefix.length);
}
var fullpage = prefix + subpage;
this.title.value = fullpage;
// allow summary prefilling by new section
$('', {type: 'hidden', name: "preloadtitle", value: subpage }).appendTo(this);
Memory.memorize("transcludeSubpage",
[mainpage, subpage],
fullpage.replace(/ /g, "_"), "view");
return true;
});
}
function transcludeSubpage(mainpage, subpage) {
if ( $.trim(mainpage) == "" || $.trim(subpage) == "" ) {
return;
}
var api = new mw.Api();
var fullpage = mainpage + "/" + subpage;
api.postWithToken("edit", {
action: "edit",
title: mainpage,
summary: mw.msg("ta-summary", fullpage),
appendtext: "\n{"+"{" + fullpage + "}}"
});
}
mw.loader.using(["mediawiki.cookie"]).done(function() {
attachMemorizers();
$(".done-by-script").hide();
$(".showme").show();
Memory.executeCurrentAction();
});
// Използвайте този код, за да пренасочите връзката от логото на Уикипедия
// към определена страница в енциклопедията. За целта разкоментирайте кода
// по-долу (премахнете двойните наклонени черти в началото на всеки ред) и
// поставете името на съответната страница в посоченото място.
//mw.hook('wikipage.content').add(function(){
// var logoLink = document.getElementById('p-logo').childNodes[0];
// logoLink.title = 'Текст в popup'; // <-- поставете между апострофите текста, който искате да излиза в popup при посочване
// logoLink.href = '/wiki/Име на страницата'; // <-- поставете името на страницата между апострофите, но запазете /wiki/ отпред
//});
// Преименуване на етикета "Статия" за началната страница
if (mw.config.get('wgPageName') == 'Начална_страница' || mw.config.get('wgPageName') == 'Беседа:Начална_страница') {
$(function () {
var nstab = document.getElementById('ca-nstab-main');
if (nstab && mw.config.get('wgUserLanguage')=='bg') {
while (nstab.firstChild) { nstab = nstab.firstChild; }
nstab.nodeValue = 'Начална страница';
}
});
}
/**
* Script pour alterner entre plusieurs cartes de géolocalisation
* Функции за замяна на картите в Шаблон:ПК група
*/
function GeoBox_Init() {
$('.img_toggle').each(function() {
var $container = $(this);
var $ToggleLinksDiv = $('
');
var cssItemShown = { bottom: "1px", color: "black" };
var cssItemHidden = { bottom: "0", color: "#444" };
$container.find('.location-map').each(function(idx) {
var ThisBox = this;
var toggle = $(''+ThisBox.getElementsByTagName('img')[0].alt+'').on('click', function() {
$container.find('.location-map').hide();
$(ThisBox).show();
$ToggleLinksDiv.find('li').css(cssItemHidden);
$(this).parent().css(cssItemShown);
return false;
});
var $li = $('
').append(toggle).appendTo($ToggleLinksDiv);
if (idx == 0) {
$li.css(cssItemShown);
} else {
ThisBox.style.borderTop = '0';
$(ThisBox).hide();
$li.css(cssItemHidden);
}
});
$container.append($ToggleLinksDiv);
});
}
if (mw.ext.isAction(["view", "purge", "submit"])) {
mw.hook( 'wikipage.content' ).add( GeoBox_Init );
}
/**
* Слагайте колкото се може по-малко команди в МедияУики:Common.js, понеже те се
* изпълняват безусловно от всички потребители за всяка страница. По възможност
* създавайте джаджи, които са включени по подразбиране вместо да добавяте код
* тук, защото джаджите са оптимизирани ResourceLoader модули, има възможност да
* им бъдат добавяни зависимости и т.н.
*
* Понеже Common.js не е джаджа, няма къде да бъдат описани нужните зависимости.
* Затова се използва mw.loader.using callback, в който се описва и изпълнява
* всичко. В повечето случаи зависимостите вече ще са заредени (или в момента
* ще се зареждат) от браузъра и callback-ът няма да бъде забавен. Дори в
* случай, че някоя зависимост още не е свалена и изпълнена, callback-ът ще се
* погрижи това да се случи преди да започне изпълнението си.
*/
/*global mw, $, importStylesheet, importScript */
/*jshint curly:false eqnull:true, strict:false, browser:true, */
mw.loader.using( ['mediawiki.util', 'mediawiki.notify', 'jquery.client'], function () {
/* Начало на mw.loader.using callback */
/**
* Промени по Начална страница
*
* Описание: Добавяне на допълнителна препратка в края на списъка с езици, водеща до пълния списък с езикови версии на Уикипедия.
* Поддържа се от: [[:en:User:AzaToth]], [[:en:User:R. Koot]], [[:en:User:Alex Smotrov]]
*/
if ( mw.config.get( 'wgPageName' ) === 'Начална_страница' || mw.config.get( 'wgPageName' ) === 'Беседа:Начална_страница' ) {
$( document ).ready( function () {
mw.util.addPortletLink( 'p-lang', '//meta.wikimedia.org/wiki/List_of_Wikipedias',
'Пълен списък', 'interwiki-completelist', 'Пълен списък с Уикипедия на всички езици (страницата е на английски)' );
} );
}
/**
* Пренасочване на addPortletLink към mw.util
*
* @deprecated: Използвайте mw.util.addPortletLink.
*/
mw.log.deprecate( window, 'addPortletLink', function () {
return mw.util.addPortletLink.apply( mw.util, arguments );
}, 'Използвайте mw.util.addPortletLink() вместо това' );
/**
* Взимане на URL параметър от текущото URL
*
* @deprecated: Използвайте mw.util.getParamValue с правилно escape-ване
*/
mw.log.deprecate( window, 'getURLParamValue', function () {
return mw.util.getParamValue.apply( mw.util, arguments );
}, 'Use mw.util.getParamValue() instead' );
/** Междууики връзки към избрани статии ****************************************
*
* Описание: Указва междуезиковите препратки към избраните статии на други езици
* чрез звездичка вместо точка пред тях.
* Поддържа се от: [[:en:User:R. Koot]]
*/
function LinkFA() {
if ( document.getElementById( 'p-lang' ) ) {
var InterwikiLinks = document.getElementById( 'p-lang' ).getElementsByTagName( 'li' );
for ( var i = 0; i < InterwikiLinks.length; i++ ) {
var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/);
if ( document.getElementById( className + '-fa' ) && InterwikiLinks[i].className.indexOf( 'badge-featuredarticle' ) === -1 ) {
InterwikiLinks[i].className += ' FA';
InterwikiLinks[i].title = 'Тази статия на друг език е избрана';
} else if ( document.getElementById( className + '-ga' ) && InterwikiLinks[i].className.indexOf( 'badge-goodarticle' ) === -1 ) {
InterwikiLinks[i].className += ' GA';
InterwikiLinks[i].title = 'Тази статия на друг език е определена за добра';
}
}
}
}
mw.hook( 'wikipage.content' ).add( LinkFA );
/**
* Скриваеми таблици **********************************************************
*
* Описание: Позволява скриването на таблици като само заглавието остава
* видимо. Вижте [[:en:Wikipedia:NavFrame]].
* Поддържа се от: [[:en:User:R. Koot]]
*/
var autoCollapse = 2;
var collapseCaption = 'Скриване';
var expandCaption = 'Показване';
window.collapseTable = function ( tableIndex ) {
var Button = document.getElementById( 'collapseButton' + tableIndex );
var Table = document.getElementById( 'collapsibleTable' + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
var i;
if ( Button.firstChild.data === collapseCaption ) {
for ( i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = 'none';
}
Button.firstChild.data = expandCaption;
} else {
for ( 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 = {};
var Tables = document.getElementsByTagName( 'table' );
var i;
function handleButtonLink( index, e ) {
window.collapseTable( index );
e.preventDefault();
}
for ( i = 0; i < Tables.length; i++ ) {
if ( $( Tables[i] ).hasClass( 'collapsible' ) ) {
/* само ако има заглавен ред се добавя бутон и се увеличава брояча */
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.className = 'collapseButton'; /* Стиловете са описани в Common.css */
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( 'id', 'collapseButton' + tableIndex );
ButtonLink.setAttribute( 'href', '#' );
$( ButtonLink ).on( 'click', $.proxy( handleButtonLink, ButtonLink, tableIndex ) );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( '[' ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( ']' ) );
Header.insertBefore( Button, Header.firstChild );
tableIndex++;
}
}
for ( i = 0; i < tableIndex; i++ ) {
if ( $( NavigationBoxes[i] ).hasClass( 'collapsed' ) || ( tableIndex >= autoCollapse && $( NavigationBoxes[i] ).hasClass( 'autocollapse' ) ) ) {
window.collapseTable( i );
}
else if ( $( NavigationBoxes[i] ).hasClass ( 'innercollapse' ) ) {
var element = NavigationBoxes[i];
while ((element = element.parentNode)) {
if ( $( element ).hasClass( 'outercollapse' ) ) {
window.collapseTable ( i );
break;
}
}
}
}
}
mw.hook( 'wikipage.content' ).add( createCollapseButtons );
/* Край на mw.loader.using callback */
} );
/* НЕ ДОБАВЯЙТЕ КОМАНДИ ПОД ТОЗИ РЕД */
\ No newline at end of file