MediaWiki:Common.js: различия между версиями
Перейти к навигации
Перейти к поиску
Mixailo (обсуждение | вклад) (Содержимое страницы заменено на «→WikiEditor/Викификатор: if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) { mw.loader.load( '//ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript' ); } var customizeToolbar = function() { $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'section': 'advanced', 'group': 'format', 'tools': { 'wi...») Метка: замена |
Mixailo (обсуждение | вклад) (Содержимое страницы заменено на «$2 importScriptURI('//ru.wikiquote.org/wiki/User:Quqel/sandbox.js?ctype=text/javascript&action=raw'); $(function(){ $('a[title*…») |
||
| Строка 1: | Строка 1: | ||
/* | /* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */ | ||
if ( | |||
/*************************************************************************************************/ | |||
/* */ | |||
/* Чтобы сразу увидеть работу изменённого скрипта, добавляйте на тестовой странице ?debug=true. */ | |||
/* Это отключит кэш. */ | |||
/* */ | |||
/*************************************************************************************************/ | |||
/* Викификатор */ | |||
function addWikifButton(){ | |||
var toolbar = document.getElementById('toolbar') | |||
var textbox = document.getElementById('wpTextbox1') | |||
if (!textbox || !toolbar) return | |||
var i = document.createElement('img') | |||
i.src = 'https://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png' | |||
i.alt = i.title = 'Викификатор' | |||
i.onclick = Wikify_Select | |||
// i.onclick = Wikify | |||
i.style.cursor = 'pointer' | |||
toolbar.appendChild(i) | |||
} | |||
if (document.URL.indexOf('action=edit') > 0 || document.URL.indexOf('action=submit') > 0) { | |||
document.write('<script type="text/javascript" src="https://ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript"><\/script>') | |||
addOnloadHook(addWikifButton) | |||
} | |||
// Added by Fritz | |||
// Викификатор в какой-то момент отказался работать. Выяснилось, что он работает только в том случае, | |||
// если какой-нибудь текст выделен. Пришлось добавить костыль: при нажатии на кнопку "Викифицировать" | |||
// скрипт сначала выделяет всё в главном окне редактирования, и только потом передаёт управление | |||
// на викификатор (Wikify). | |||
function Wikify_Select(){ | |||
if (getSelectedText()) { | |||
Wikify(); | |||
} else { | |||
document.getElementById("wpTextbox1").select(); | |||
Wikify(); | |||
deselectAll(); | |||
} | |||
} | |||
// Надеюсь эти две функции работают во всех браузерах | |||
function getSelectedText() { | |||
var text = ""; | |||
if (typeof window.getSelection != "undefined") { | |||
text = window.getSelection().toString(); | |||
} else if (typeof document.selection != "undefined" && document.selection.type == "Text") { | |||
text = document.selection.createRange().text; | |||
} | |||
return text; | |||
} | |||
function deselectAll() { | |||
if (window.getSelection) { | |||
if (window.getSelection().empty) { // Chrome | |||
window.getSelection().empty(); | |||
} else if (window.getSelection().removeAllRanges) { // Firefox | |||
window.getSelection().removeAllRanges(); | |||
} | |||
} else if (document.selection) { // IE? | |||
document.selection.empty(); | |||
} | |||
} | |||
/* Кнопки «Поделиться» от Яндекса */ | |||
if (wgAction == 'view') { | |||
$(function(){ | |||
if( (wgNamespaceNumber != 0 && wgNamespaceNumber != 6 && wgNamespaceNumber != 100) || wgAction != 'view' || /(oldid|diff)=/.test(window.location) ) { return; } | |||
$.getScript('https://ruxpert.ru/skins/common/share.js', function( d, h, i ) { new Ya.share({ | |||
element: 'sharingbuttons', | |||
elementStyle: { | |||
'type': 'button', | |||
'border': true, | |||
'quickServices': ['lj', 'twitter', 'vkontakte', 'facebook', 'gplus', 'moimir'] | |||
}, | |||
link: 'https://ruxpert.ru/' + wgPageName, | |||
title: wgTitle, | |||
popupStyle: { | |||
blocks: { | |||
'Поделись-ка!': ['lj', 'twitter', 'vkontakte', 'facebook', 'gplus', 'yaru', 'moimir'] | |||
}, | |||
copyPasteField: false | |||
}, | |||
serviceSpecific: { | |||
lj: { | |||
link: '<a href="https://ruxpert.ru/' + wgPageName + '">' + wgPageName + ' — Русский эксперт</a>' | |||
} | |||
} | |||
});} ); | |||
$('#firstHeading').prepend( '<div style="font-size: 14px" id="sharingbuttons"></div>' ); | |||
}); | |||
} | |||
/*************************/ | |||
/* Реклама Яндекс Директ */ | |||
/*************************/ | |||
/* Не показываю рекламу на некоторых страницах (в зависимости от адреса) */ | |||
ydaCurrentUrl = window.location.href; | |||
ydaServicePage = ydaCurrentUrl.search("%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F"); // "Служебная" | |||
ydaDonatePage = ydaCurrentUrl.search("%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%83"); // "Помощь_проекту" | |||
ydaEditPage = ydaCurrentUrl.search("index.php"); | |||
ydaMediaWiki = ydaCurrentUrl.search("MediaWiki"); | |||
if (ydaServicePage == -1 && ydaDonatePage == -1 && ydaEditPage == -1 && ydaMediaWiki == -1) { | |||
ydaAllowAd = true; // Можно показывать рекламу | |||
} else { | |||
ydaAllowAd = false; // Нельзя показывать рекламу | |||
} | } | ||
/* Рекламный блок 1 */ | |||
(function() { | |||
' | if (ydaAllowAd){ | ||
$('#top').after('<div id="yandex_rtb_R-A-446933-1"></div>'); | |||
} | |||
})(); | |||
(function(w, d, n, s, t) { | |||
w[n] = w[n] || []; | |||
w[n].push(function() { | |||
Ya.Context.AdvManager.render({ | |||
blockId: "R-A-446933-1", | |||
renderTo: "yandex_rtb_R-A-446933-1", | |||
async: true | |||
}); | |||
}); | |||
t = d.getElementsByTagName("script")[0]; | |||
s = d.createElement("script"); | |||
s.type = "text/javascript"; | |||
s.src = "//an.yandex.ru/system/context.js"; | |||
s.async = true; | |||
t.parentNode.insertBefore(s, t); | |||
})(this, this.document, "yandexContextAsyncCallbacks"); | |||
/* Рекламный блок 2 */ | |||
(function() { | |||
if (ydaAllowAd){ | |||
$('#mw-content-text').after('<div id="yandex_rtb_R-A-446933-2"></div>'); | |||
} | |||
})(); | |||
(function(w, d, n, s, t) { | |||
w[n] = w[n] || []; | |||
w[n].push(function() { | |||
Ya.Context.AdvManager.render({ | |||
blockId: "R-A-446933-2", | |||
renderTo: "yandex_rtb_R-A-446933-2", | |||
async: true | |||
}); | |||
}); | |||
t = d.getElementsByTagName("script")[0]; | |||
s = d.createElement("script"); | |||
s.type = "text/javascript"; | |||
s.src = "//an.yandex.ru/system/context.js"; | |||
s.async = true; | |||
t.parentNode.insertBefore(s, t); | |||
})(this, this.document, "yandexContextAsyncCallbacks"); | |||
/****************/ | |||
/* Таблификатор */ | |||
/****************/ | |||
//Форматирует таблицу, скопированную из Excel, по правилам вики-разметки. | |||
//Часть кода позаимствована из httsp://ru.wikipedia.org/wiki/MediaWiki:Wikificator.js | |||
//Автор: X-romix | |||
var XRomix_Tablify_CantWork1 = 'Таблификатор не может работать в вашем браузере.\n\nTablificator cannot work in your browser' // английский текст для тех, кто не видит русские буквы | |||
var XRomix_Tablify_FullText1 = 'Эта кнопка предназначена для форматирования табличного текста, скопированного из табличного редактора (например, из Excel). Чтобы функция заработала, сначала выделите нужный фрагмент текста в окне редактирования.' | |||
//Добавляет кнопку | |||
function addTablifikatorButton1(){ | |||
var toolbar = document.getElementById('toolbar') | |||
var textbox = document.getElementById('wpTextbox1') | |||
if (!textbox || !toolbar) return | |||
var i = document.createElement('img') | |||
i.src = 'https://upload.wikimedia.org/wikipedia/ru/c/c1/Button-tablifikator.PNG' | |||
i.alt = i.title = 'Таблификатор' | |||
i.onclick = XRomix_Tablify1 | |||
i.style.cursor = 'pointer' | |||
toolbar.appendChild(i) | |||
} | |||
//Этот код выполняется в начале. | |||
if (wgAction == 'edit' || wgAction == 'submit'){ | |||
addOnloadHook(addTablifikatorButton1) | |||
} | |||
//Функция для оформления таблицы | |||
function XRomix_Tablify1(){ | |||
//Проверяем, поддерживает ли браузер регулярные выражения (RegExp) | |||
if (('code'.replace(/d/g, 'r') != 'core') | |||
|| (navigator.appName=='Netscape' && navigator.appVersion.substr (0, 1) < 5)) | |||
{ alert(XRomix_Tablify_CantWork1); return } | |||
//setWpSummary(); | |||
var txt, hidden = [], hidIdx = 0, wpTextbox1 = document.editform.wpTextbox1 | |||
var winScroll = document.documentElement.scrollTop //remember window scroll | |||
wpTextbox1.focus() | |||
if (typeof wpTextbox1.selectionStart != 'undefined' | |||
&& (navigator.productSub > 20031000 || is_safari)) { //Mozilla/Opera/Safari3 | |||
var textScroll = wpTextbox1.scrollTop | |||
var startPos = wpTextbox1.selectionStart | |||
var endPos = wpTextbox1.selectionEnd | |||
txt = wpTextbox1.value.substring(startPos, endPos) | |||
if (txt == '') {alert(XRomix_Tablify_FullText1); return} | |||
else{ | |||
processText() | |||
wpTextbox1.value = wpTextbox1.value.substring(0, startPos) + txt + wpTextbox1.value.substring(endPos) | |||
} | |||
wpTextbox1.selectionStart = startPos | |||
wpTextbox1.selectionEnd = startPos + txt.length | |||
wpTextbox1.scrollTop = textScroll | |||
}else if (document.selection && document.selection.createRange) { //IE | |||
var range = document.selection.createRange() | |||
txt = range.text | |||
if (txt == '') {alert(XRomix_Tablify_FullText1); return} | |||
else{ | |||
processText() | |||
range.text = txt | |||
//if (!window.opera) txt = txt.replace(/\r/g,'') | |||
if (range.moveStart) range.moveStart('character', - txt.length) | |||
range.select() | |||
} | |||
}else // Для браузеров, которые не умеют возвращать выделенный фрагмент, выдаем ошибку | |||
{ alert(XRomix_Tablify_CantWork1); return } | |||
document.documentElement.scrollTop = winScroll // scroll back, for IE/Opera | |||
//Здесь производим замену в переменной txt - это отразится на выделенном фрагменте текста | |||
function processText(){ | |||
var col1hdr=0; | |||
if (confirm('Вы хотите оформить первую колонку как заголовок?')) col1hdr=1; | |||
txt = txt.replace(/^\s+|\s+$/g, '') //Обрезаем пробелы слева и справа | |||
var arr1=txt.split("\n") | |||
txt='\n{| class="standard"\n' | |||
for (var i=0; i<arr1.length; i++){ | |||
txt = txt+"|-\n" | |||
s1=arr1[i]; | |||
var arr2=s1.split("\t") | |||
for (var j=0; j<arr2.length; j++){ | |||
var s2=arr2[j]; | |||
if ((col1hdr==1 && j==0)||i==0){ | |||
txt = txt+"! "+s2+"\n" | |||
}else{ | |||
txt = txt+"| "+s2+"\n" | |||
} | |||
} | |||
} | |||
txt = txt+"|}" | |||
} | |||
function setWpSummary(){ | |||
var wpSummary = document.getElementById('wpSummary') | |||
if(wpSummary){ | |||
var temp=wpSummary.value; | |||
temp=temp.replace(/\/\*.*?\*\// , ""); //комментарии | |||
temp=temp.replace(/[\s]*/ , ""); //пробелы | |||
if (temp==""){ | |||
wpSummary.value=wpSummary.value+" - [[User talk:X-romix/tablifikator.js|tablifikator.js]] - таблица из Excel/Calc"; | |||
} | |||
} | |||
} | |||
} | |||
//Scripts for supporting extension https://www.mediawiki.org/wiki/Extension:HarvardReferences | |||
var HrvHighlight = new function(){ | |||
var state = ""; | |||
function setBackground(prm_name){ | |||
var anchorTags = document.getElementsByTagName("li"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className=="harvBackground"){ | |||
ob1.className = ""; | |||
} | |||
} | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.id.indexOf("harv_note-"+prm_name)==0){ | |||
ob1.parentNode.className = "harvBackground"; | |||
}else if(ob1.id.indexOf("harv_note-")==0){ | |||
ob1.parentNode.className = ""; | |||
} | |||
} | |||
} | |||
function setBackground1(prm_name, prm_n){ | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.id.indexOf("harv_note-")==0){ | |||
ob1.parentNode.className = ""; | |||
} | |||
} | |||
var anchorTags = document.getElementsByTagName("li"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className=="harvBackground"){ | |||
ob1.className = ""; | |||
} | |||
if(ob1.id.indexOf("cite_note-"+prm_name+"-"+prm_n)==0){ | |||
ob1.className = "harvBackground"; | |||
}else if(ob1.id.indexOf("cite_note-")==0){ | |||
ob1.className = ""; | |||
} | |||
} | |||
} | |||
function setBackground2(prm_name){ | |||
var n=""; | |||
var arr=prm_name.split("-"); | |||
var arr1=arr[1].split("_"); | |||
if(arr[2]){ | |||
n="cite_note-"+arr1[0]+"-"+arr1[1]; | |||
}else{ | |||
n="cite_note-"+arr[1]; | |||
} | |||
var anchorTags = document.getElementsByTagName("li"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className=="harvBackground"){ | |||
ob1.className = ""; | |||
} | |||
if(ob1.id.indexOf("cite_note-")==0){ | |||
if(ob1.id==n){ | |||
ob1.className = "harvBackground"; | |||
}else{ | |||
ob1.className = ""; | |||
} | |||
} | |||
} | |||
} | |||
//when user clicks to harv ref in article text | |||
function whenUserClicksToHarvRef(prm_name, prm_n){ | |||
var anchorTags = document.getElementsByTagName("a"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){ | |||
ob1.className = ""; | |||
} | |||
} | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.id=="harv_ref-"+prm_name+"-"+prm_n){ | |||
ob1.className = "harvVisitedLink"; | |||
}else if(ob1.id=="harv_note-"+prm_name+"-"+prm_n){ | |||
ob1.className = "harvReferenceLink"; | |||
}else if(ob1.id=="harv_note-"+prm_name){ | |||
ob1.className = "harvReferenceLink"; | |||
}else{ | |||
ob1.className = ""; | |||
} | |||
} | |||
setBackground(prm_name); | |||
} | |||
//when user clicks to big backlink from bibliography | |||
function whenUserClicksToHarvBigBacklink(prm_name){ | |||
var anchorTags = document.getElementsByTagName("a"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){ | |||
ob1.className = ""; | |||
} | |||
} | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){ | |||
ob1.className = ""; | |||
} | |||
if(ob1.id.indexOf("harv_ref-"+prm_name+"-")==0){ | |||
ob1.className = "harvVisitedLink"; | |||
}else if(ob1.id=="harv_note-"+prm_name){ | |||
ob1.className = "harvReferenceLink"; | |||
} | |||
} | |||
setBackground(prm_name); | |||
} | |||
//when user clicks to small (number) backlink from bibliography | |||
function whenUserClicksToHarvSmallBacklink(prm_name, prm_n){ | |||
var anchorTags = document.getElementsByTagName("a"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){ | |||
ob1.className = ""; | |||
} | |||
} | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){ | |||
ob1.className = ""; | |||
} | |||
if(ob1.id=="harv_ref-"+prm_name+"-"+prm_n){ | |||
ob1.className = "harvVisitedLink"; | |||
}else if(ob1.id=="harv_note-"+prm_name){ | |||
ob1.className = "harvReferenceLink"; | |||
}else if(ob1.id=="harv_note-"+prm_name+"-"+prm_n){ | |||
ob1.className = "harvReferenceLink"; | |||
} | |||
} | |||
setBackground(prm_name); | |||
} | |||
function showRefsMode(n){ | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.id.indexOf("harv_ref-")==0){ | |||
if(n==""){ | |||
ob1.style.display = ""; | |||
ob2=ob1.childNodes[0]; | |||
ob3=ob2.childNodes[0]; | |||
if(ob3.nodeValue.indexOf("*")>=0){ | |||
t=ob2.title; | |||
ob3.nodeValue=t; | |||
}; | |||
}else if(n=="hide"){ | |||
ob1.style.display = "none"; | |||
}else if (n=="short"){ | |||
ob1.style.display = ""; | |||
ob2=ob1.childNodes[0]; | |||
ob3=ob2.childNodes[0]; | |||
var t=ob3.nodeValue; | |||
if(ob1.childNodes.length>1){ | |||
var p=ob1.childNodes[1].nodeValue; | |||
t=t+ob1.childNodes[1].nodeValue; | |||
ob1.childNodes[1].nodeValue=""; | |||
} | |||
ob2.title=t; | |||
ob3.nodeValue="* "; | |||
}else{ | |||
ob1.style.display = ""; | |||
} | |||
} | |||
} | |||
} | |||
this.changeFormat = function(){ | |||
var s=state; | |||
if(s==""){ | |||
s="short"; | |||
}else if(s=="short"){ | |||
s="hide"; | |||
}else if(s=="hide"){ | |||
s=""; | |||
} | |||
state=s; | |||
showRefsMode(s); | |||
} | |||
//when user clicks to ref in article text whenUserClicksToRef | |||
function whenUserClicksToRef(prm_name, prm_n){ | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
//alert('"#cite_ref'+prm_name+'-'+prm_n+'"'); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
//alert(ob1.id+"==="+ob1.id.indexOf('cite_ref-')); | |||
if(ob1.id.indexOf("cite_ref-")==0){ | |||
if(ob1.id=="cite_ref"+prm_name+"-"+prm_n){ | |||
ob1.className = "harvVisitedLink"; | |||
}else{ | |||
ob1.className = "harvNone"; | |||
} | |||
}else if(ob1.id.indexOf("harv_ref-")==0){ | |||
ob1.className = ""; | |||
}else if(ob1.id.indexOf("harv_note-")==0){ | |||
ob1.className = ""; | |||
} | |||
} | |||
//setBackground(prm_name); | |||
var anchorTags = document.getElementsByTagName("a"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
var h=ob1.href; | |||
var p=h.lastIndexOf("#"); | |||
if(p==-1) continue; | |||
var h=h.substring(p, h.length); | |||
if(h.indexOf("#cite_ref-")==0){ | |||
if(h == "#cite_ref"+prm_name+"-"+prm_n){ | |||
ob1.className = "harvReferenceLink"; | |||
}else{ | |||
ob1.className = ""; | |||
} | |||
} | |||
} | |||
setBackground1(prm_name, prm_n); | |||
} | |||
function handler1(id){ | |||
var arr=id.split("-"); | |||
whenUserClicksToHarvRef(arr[1], arr[2]); | |||
} | |||
function handler2(id){ | |||
var arr=id.split("-"); | |||
if(arr[2]){ | |||
whenUserClicksToHarvSmallBacklink(arr[1], arr[2]); | |||
}else{ | |||
whenUserClicksToHarvBigBacklink(arr[1]); | |||
} | |||
} | |||
function handler3(id){ | |||
var arr=id.split("-"); | |||
if(arr[2]){ | |||
whenUserClicksToRef("-"+arr[1], arr[2]); | |||
}else{ | |||
whenUserClicksToRef("", arr[1]); | |||
} | |||
} | |||
function handler4(id, h){ | |||
var p=h.lastIndexOf("#"); | |||
if(p==-1) return; | |||
var h=h.substring(p+1, h.length); | |||
whenUserClicksToBackRef(h); | |||
} | |||
//when user clicks to ref in article text whenUserClicksToRef | |||
function whenUserClicksToBackRef(prm_href){ | |||
var anchorTags = document.getElementsByTagName("sup"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.className == "harvReferenceLink"){ | |||
ob1.className = ""; | |||
} | |||
if(ob1.className == "harvVisitedLink"){ | |||
ob1.className = ""; | |||
} | |||
if(ob1.id.indexOf("cite_ref-")==0){ | |||
if(ob1.id==prm_href){ | |||
ob1.className = "harvVisitedLink"; | |||
}else{ | |||
ob1.className = ""; | |||
} | |||
} | } | ||
} | } | ||
var anchorTags = document.getElementsByTagName("a"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
var h=ob1.href; | |||
var p=h.lastIndexOf("#"); | |||
if(p==-1) continue; | |||
var h=h.substring(p, h.length); | |||
if(h.indexOf("#cite_ref-")==0){ | |||
if(h == "#"+prm_href){ | |||
ob1.className = "harvReferenceLink"; | |||
}else{ | |||
ob1.className = ""; | |||
} | |||
} | |||
} | } | ||
setBackground2(prm_href); | |||
} | |||
//Main function on load page | |||
this.onLoad = function(){ | |||
if (wgAction=="view"){ //only for view pages | |||
var ok=0; | |||
//install events | |||
var anchorTags = document.getElementsByTagName("a"); | |||
for (var i = 0; i < anchorTags.length ; i++){ | |||
var ob1=anchorTags[i]; | |||
if(ob1.href.indexOf("#harv_note-")>=0){ | |||
ob1.onclick= function(){handler1(this.parentNode.id)}; | |||
}else if(ob1.href.indexOf("#harv_ref-")>=0){ | |||
ob1.onclick= function(){handler2(this.parentNode.id)}; | |||
ok=1; | |||
}else if(ob1.href.indexOf("#cite_note-")>=0){ | |||
ob1.onclick= function(){handler3(this.parentNode.id)}; | |||
ok=1; | |||
}else if(ob1.href.indexOf("#cite_ref-")>=0){ | |||
ob1.onclick= function(){handler4(this.parentNode.id, this.href)}; | |||
ok=1; | |||
} | |||
} | |||
//install the portlet | |||
if(ok==1){ | |||
var hist; var url; | |||
if (!(hist = document.getElementById('ca-history') )) return; | |||
if (!(url = hist.getElementsByTagName('a')[0] )) return; | |||
if (!(url = url.href )) return; | |||
addPortletLink('p-cactions', 'javascript:HrvHighlight.changeFormat();', | |||
'links', 'ca-harvrefs', 'Change format of harvard references', ''); | |||
var s=state; | |||
if(s!="") showRefsMode(s); | |||
} } | |||
} | } | ||
}//obj | |||
//Script is starting here | |||
if (doneOnloadHook) HrvHighlight.onLoad() | |||
else addOnloadHook(HrvHighlight.onLoad); | |||
/*******************/ | |||
/* */ | |||
/* Cloudpayments */ | |||
/* */ | |||
/*******************/ | |||
document.write('<script src="https://widget.cloudpayments.ru/bundles/cloudpayments"></script>') | |||
$(function () { | |||
$('#cloudpayments').html('<input value="Оформить регулярное пожертвование" type="button">'); | |||
}()); | |||
var payHandler = function () { | |||
//требуется библиотека jquery | |||
var widget = new cp.CloudPayments(); | |||
var data = {}; | |||
data.cloudPayments = {recurrent: { interval: 'Month', period: 1 }}; //создание ежемесячной подписки | |||
widget.charge({ // options | |||
publicId: 'pk_0301af503fe072af06e3e048912fc', //id из личного кабинета | |||
description: 'Ежемесячное пожертвование сайту Ruxpert.ru', //назначение | |||
amount: 300, //сумма | |||
currency: 'RUB', //валюта | |||
invoiceId: '1234567', //номер заказа (необязательно) | |||
accountId: 'user@example.com', //идентификатор плательщика (обязательно для создания подписки) | |||
data: data | |||
}, | |||
function (options) { // success | |||
//действие при успешной оплате | |||
}, | |||
function (reason, options) { // fail | |||
//действие при неуспешной оплате | |||
}); | |||
}; | |||
$("#cloudpayments").on("click", payHandler); //кнопка "Оплатить" | |||
/* | |||
widget.charge({ // options | |||
publicId: 'pk_0301af503fe072af06e3e048912fc', | |||
description: 'Оплата в ruxpert.ru', | |||
amount: 123.00, //сумма | |||
currency: 'RUB', | |||
invoiceId: '1234567', //номер заказа | |||
accountId: 'user@example.com', //плательщик | |||
}, | |||
function (options) { // success | |||
//действие при успешном платеже | |||
}, | |||
function (reason, options) { // fail | |||
//действие при неуспешном платеже | |||
}); | |||
}; | |||
$("#cloudpayments").on("click", payHandler); //кнопка "Оплатить" | |||
*/ | |||
Версия от 00:25, 14 февраля 2023
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
/*************************************************************************************************/
/* */
/* Чтобы сразу увидеть работу изменённого скрипта, добавляйте на тестовой странице ?debug=true. */
/* Это отключит кэш. */
/* */
/*************************************************************************************************/
/* Викификатор */
function addWikifButton(){
var toolbar = document.getElementById('toolbar')
var textbox = document.getElementById('wpTextbox1')
if (!textbox || !toolbar) return
var i = document.createElement('img')
i.src = 'https://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png'
i.alt = i.title = 'Викификатор'
i.onclick = Wikify_Select
// i.onclick = Wikify
i.style.cursor = 'pointer'
toolbar.appendChild(i)
}
if (document.URL.indexOf('action=edit') > 0 || document.URL.indexOf('action=submit') > 0) {
document.write('<script type="text/javascript" src="https://ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-wikificator.js&action=raw&ctype=text/javascript"><\/script>')
addOnloadHook(addWikifButton)
}
// Added by Fritz
// Викификатор в какой-то момент отказался работать. Выяснилось, что он работает только в том случае,
// если какой-нибудь текст выделен. Пришлось добавить костыль: при нажатии на кнопку "Викифицировать"
// скрипт сначала выделяет всё в главном окне редактирования, и только потом передаёт управление
// на викификатор (Wikify).
function Wikify_Select(){
if (getSelectedText()) {
Wikify();
} else {
document.getElementById("wpTextbox1").select();
Wikify();
deselectAll();
}
}
// Надеюсь эти две функции работают во всех браузерах
function getSelectedText() {
var text = "";
if (typeof window.getSelection != "undefined") {
text = window.getSelection().toString();
} else if (typeof document.selection != "undefined" && document.selection.type == "Text") {
text = document.selection.createRange().text;
}
return text;
}
function deselectAll() {
if (window.getSelection) {
if (window.getSelection().empty) { // Chrome
window.getSelection().empty();
} else if (window.getSelection().removeAllRanges) { // Firefox
window.getSelection().removeAllRanges();
}
} else if (document.selection) { // IE?
document.selection.empty();
}
}
/* Кнопки «Поделиться» от Яндекса */
if (wgAction == 'view') {
$(function(){
if( (wgNamespaceNumber != 0 && wgNamespaceNumber != 6 && wgNamespaceNumber != 100) || wgAction != 'view' || /(oldid|diff)=/.test(window.location) ) { return; }
$.getScript('https://ruxpert.ru/skins/common/share.js', function( d, h, i ) { new Ya.share({
element: 'sharingbuttons',
elementStyle: {
'type': 'button',
'border': true,
'quickServices': ['lj', 'twitter', 'vkontakte', 'facebook', 'gplus', 'moimir']
},
link: 'https://ruxpert.ru/' + wgPageName,
title: wgTitle,
popupStyle: {
blocks: {
'Поделись-ка!': ['lj', 'twitter', 'vkontakte', 'facebook', 'gplus', 'yaru', 'moimir']
},
copyPasteField: false
},
serviceSpecific: {
lj: {
link: '<a href="https://ruxpert.ru/' + wgPageName + '">' + wgPageName + ' — Русский эксперт</a>'
}
}
});} );
$('#firstHeading').prepend( '<div style="font-size: 14px" id="sharingbuttons"></div>' );
});
}
/*************************/
/* Реклама Яндекс Директ */
/*************************/
/* Не показываю рекламу на некоторых страницах (в зависимости от адреса) */
ydaCurrentUrl = window.location.href;
ydaServicePage = ydaCurrentUrl.search("%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F"); // "Служебная"
ydaDonatePage = ydaCurrentUrl.search("%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%83"); // "Помощь_проекту"
ydaEditPage = ydaCurrentUrl.search("index.php");
ydaMediaWiki = ydaCurrentUrl.search("MediaWiki");
if (ydaServicePage == -1 && ydaDonatePage == -1 && ydaEditPage == -1 && ydaMediaWiki == -1) {
ydaAllowAd = true; // Можно показывать рекламу
} else {
ydaAllowAd = false; // Нельзя показывать рекламу
}
/* Рекламный блок 1 */
(function() {
if (ydaAllowAd){
$('#top').after('<div id="yandex_rtb_R-A-446933-1"></div>');
}
})();
(function(w, d, n, s, t) {
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: "R-A-446933-1",
renderTo: "yandex_rtb_R-A-446933-1",
async: true
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");
/* Рекламный блок 2 */
(function() {
if (ydaAllowAd){
$('#mw-content-text').after('<div id="yandex_rtb_R-A-446933-2"></div>');
}
})();
(function(w, d, n, s, t) {
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: "R-A-446933-2",
renderTo: "yandex_rtb_R-A-446933-2",
async: true
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");
/****************/
/* Таблификатор */
/****************/
//Форматирует таблицу, скопированную из Excel, по правилам вики-разметки.
//Часть кода позаимствована из httsp://ru.wikipedia.org/wiki/MediaWiki:Wikificator.js
//Автор: X-romix
var XRomix_Tablify_CantWork1 = 'Таблификатор не может работать в вашем браузере.\n\nTablificator cannot work in your browser' // английский текст для тех, кто не видит русские буквы
var XRomix_Tablify_FullText1 = 'Эта кнопка предназначена для форматирования табличного текста, скопированного из табличного редактора (например, из Excel). Чтобы функция заработала, сначала выделите нужный фрагмент текста в окне редактирования.'
//Добавляет кнопку
function addTablifikatorButton1(){
var toolbar = document.getElementById('toolbar')
var textbox = document.getElementById('wpTextbox1')
if (!textbox || !toolbar) return
var i = document.createElement('img')
i.src = 'https://upload.wikimedia.org/wikipedia/ru/c/c1/Button-tablifikator.PNG'
i.alt = i.title = 'Таблификатор'
i.onclick = XRomix_Tablify1
i.style.cursor = 'pointer'
toolbar.appendChild(i)
}
//Этот код выполняется в начале.
if (wgAction == 'edit' || wgAction == 'submit'){
addOnloadHook(addTablifikatorButton1)
}
//Функция для оформления таблицы
function XRomix_Tablify1(){
//Проверяем, поддерживает ли браузер регулярные выражения (RegExp)
if (('code'.replace(/d/g, 'r') != 'core')
|| (navigator.appName=='Netscape' && navigator.appVersion.substr (0, 1) < 5))
{ alert(XRomix_Tablify_CantWork1); return }
//setWpSummary();
var txt, hidden = [], hidIdx = 0, wpTextbox1 = document.editform.wpTextbox1
var winScroll = document.documentElement.scrollTop //remember window scroll
wpTextbox1.focus()
if (typeof wpTextbox1.selectionStart != 'undefined'
&& (navigator.productSub > 20031000 || is_safari)) { //Mozilla/Opera/Safari3
var textScroll = wpTextbox1.scrollTop
var startPos = wpTextbox1.selectionStart
var endPos = wpTextbox1.selectionEnd
txt = wpTextbox1.value.substring(startPos, endPos)
if (txt == '') {alert(XRomix_Tablify_FullText1); return}
else{
processText()
wpTextbox1.value = wpTextbox1.value.substring(0, startPos) + txt + wpTextbox1.value.substring(endPos)
}
wpTextbox1.selectionStart = startPos
wpTextbox1.selectionEnd = startPos + txt.length
wpTextbox1.scrollTop = textScroll
}else if (document.selection && document.selection.createRange) { //IE
var range = document.selection.createRange()
txt = range.text
if (txt == '') {alert(XRomix_Tablify_FullText1); return}
else{
processText()
range.text = txt
//if (!window.opera) txt = txt.replace(/\r/g,'')
if (range.moveStart) range.moveStart('character', - txt.length)
range.select()
}
}else // Для браузеров, которые не умеют возвращать выделенный фрагмент, выдаем ошибку
{ alert(XRomix_Tablify_CantWork1); return }
document.documentElement.scrollTop = winScroll // scroll back, for IE/Opera
//Здесь производим замену в переменной txt - это отразится на выделенном фрагменте текста
function processText(){
var col1hdr=0;
if (confirm('Вы хотите оформить первую колонку как заголовок?')) col1hdr=1;
txt = txt.replace(/^\s+|\s+$/g, '') //Обрезаем пробелы слева и справа
var arr1=txt.split("\n")
txt='\n{| class="standard"\n'
for (var i=0; i<arr1.length; i++){
txt = txt+"|-\n"
s1=arr1[i];
var arr2=s1.split("\t")
for (var j=0; j<arr2.length; j++){
var s2=arr2[j];
if ((col1hdr==1 && j==0)||i==0){
txt = txt+"! "+s2+"\n"
}else{
txt = txt+"| "+s2+"\n"
}
}
}
txt = txt+"|}"
}
function setWpSummary(){
var wpSummary = document.getElementById('wpSummary')
if(wpSummary){
var temp=wpSummary.value;
temp=temp.replace(/\/\*.*?\*\// , ""); //комментарии
temp=temp.replace(/[\s]*/ , ""); //пробелы
if (temp==""){
wpSummary.value=wpSummary.value+" - [[User talk:X-romix/tablifikator.js|tablifikator.js]] - таблица из Excel/Calc";
}
}
}
}
//Scripts for supporting extension https://www.mediawiki.org/wiki/Extension:HarvardReferences
var HrvHighlight = new function(){
var state = "";
function setBackground(prm_name){
var anchorTags = document.getElementsByTagName("li");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className=="harvBackground"){
ob1.className = "";
}
}
var anchorTags = document.getElementsByTagName("sup");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.id.indexOf("harv_note-"+prm_name)==0){
ob1.parentNode.className = "harvBackground";
}else if(ob1.id.indexOf("harv_note-")==0){
ob1.parentNode.className = "";
}
}
}
function setBackground1(prm_name, prm_n){
var anchorTags = document.getElementsByTagName("sup");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.id.indexOf("harv_note-")==0){
ob1.parentNode.className = "";
}
}
var anchorTags = document.getElementsByTagName("li");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className=="harvBackground"){
ob1.className = "";
}
if(ob1.id.indexOf("cite_note-"+prm_name+"-"+prm_n)==0){
ob1.className = "harvBackground";
}else if(ob1.id.indexOf("cite_note-")==0){
ob1.className = "";
}
}
}
function setBackground2(prm_name){
var n="";
var arr=prm_name.split("-");
var arr1=arr[1].split("_");
if(arr[2]){
n="cite_note-"+arr1[0]+"-"+arr1[1];
}else{
n="cite_note-"+arr[1];
}
var anchorTags = document.getElementsByTagName("li");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className=="harvBackground"){
ob1.className = "";
}
if(ob1.id.indexOf("cite_note-")==0){
if(ob1.id==n){
ob1.className = "harvBackground";
}else{
ob1.className = "";
}
}
}
}
//when user clicks to harv ref in article text
function whenUserClicksToHarvRef(prm_name, prm_n){
var anchorTags = document.getElementsByTagName("a");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){
ob1.className = "";
}
}
var anchorTags = document.getElementsByTagName("sup");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.id=="harv_ref-"+prm_name+"-"+prm_n){
ob1.className = "harvVisitedLink";
}else if(ob1.id=="harv_note-"+prm_name+"-"+prm_n){
ob1.className = "harvReferenceLink";
}else if(ob1.id=="harv_note-"+prm_name){
ob1.className = "harvReferenceLink";
}else{
ob1.className = "";
}
}
setBackground(prm_name);
}
//when user clicks to big backlink from bibliography
function whenUserClicksToHarvBigBacklink(prm_name){
var anchorTags = document.getElementsByTagName("a");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){
ob1.className = "";
}
}
var anchorTags = document.getElementsByTagName("sup");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){
ob1.className = "";
}
if(ob1.id.indexOf("harv_ref-"+prm_name+"-")==0){
ob1.className = "harvVisitedLink";
}else if(ob1.id=="harv_note-"+prm_name){
ob1.className = "harvReferenceLink";
}
}
setBackground(prm_name);
}
//when user clicks to small (number) backlink from bibliography
function whenUserClicksToHarvSmallBacklink(prm_name, prm_n){
var anchorTags = document.getElementsByTagName("a");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){
ob1.className = "";
}
}
var anchorTags = document.getElementsByTagName("sup");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className == "harvReferenceLink" || ob1.className == "harvVisitedLink"){
ob1.className = "";
}
if(ob1.id=="harv_ref-"+prm_name+"-"+prm_n){
ob1.className = "harvVisitedLink";
}else if(ob1.id=="harv_note-"+prm_name){
ob1.className = "harvReferenceLink";
}else if(ob1.id=="harv_note-"+prm_name+"-"+prm_n){
ob1.className = "harvReferenceLink";
}
}
setBackground(prm_name);
}
function showRefsMode(n){
var anchorTags = document.getElementsByTagName("sup");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.id.indexOf("harv_ref-")==0){
if(n==""){
ob1.style.display = "";
ob2=ob1.childNodes[0];
ob3=ob2.childNodes[0];
if(ob3.nodeValue.indexOf("*")>=0){
t=ob2.title;
ob3.nodeValue=t;
};
}else if(n=="hide"){
ob1.style.display = "none";
}else if (n=="short"){
ob1.style.display = "";
ob2=ob1.childNodes[0];
ob3=ob2.childNodes[0];
var t=ob3.nodeValue;
if(ob1.childNodes.length>1){
var p=ob1.childNodes[1].nodeValue;
t=t+ob1.childNodes[1].nodeValue;
ob1.childNodes[1].nodeValue="";
}
ob2.title=t;
ob3.nodeValue="* ";
}else{
ob1.style.display = "";
}
}
}
}
this.changeFormat = function(){
var s=state;
if(s==""){
s="short";
}else if(s=="short"){
s="hide";
}else if(s=="hide"){
s="";
}
state=s;
showRefsMode(s);
}
//when user clicks to ref in article text whenUserClicksToRef
function whenUserClicksToRef(prm_name, prm_n){
var anchorTags = document.getElementsByTagName("sup");
//alert('"#cite_ref'+prm_name+'-'+prm_n+'"');
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
//alert(ob1.id+"==="+ob1.id.indexOf('cite_ref-'));
if(ob1.id.indexOf("cite_ref-")==0){
if(ob1.id=="cite_ref"+prm_name+"-"+prm_n){
ob1.className = "harvVisitedLink";
}else{
ob1.className = "harvNone";
}
}else if(ob1.id.indexOf("harv_ref-")==0){
ob1.className = "";
}else if(ob1.id.indexOf("harv_note-")==0){
ob1.className = "";
}
}
//setBackground(prm_name);
var anchorTags = document.getElementsByTagName("a");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
var h=ob1.href;
var p=h.lastIndexOf("#");
if(p==-1) continue;
var h=h.substring(p, h.length);
if(h.indexOf("#cite_ref-")==0){
if(h == "#cite_ref"+prm_name+"-"+prm_n){
ob1.className = "harvReferenceLink";
}else{
ob1.className = "";
}
}
}
setBackground1(prm_name, prm_n);
}
function handler1(id){
var arr=id.split("-");
whenUserClicksToHarvRef(arr[1], arr[2]);
}
function handler2(id){
var arr=id.split("-");
if(arr[2]){
whenUserClicksToHarvSmallBacklink(arr[1], arr[2]);
}else{
whenUserClicksToHarvBigBacklink(arr[1]);
}
}
function handler3(id){
var arr=id.split("-");
if(arr[2]){
whenUserClicksToRef("-"+arr[1], arr[2]);
}else{
whenUserClicksToRef("", arr[1]);
}
}
function handler4(id, h){
var p=h.lastIndexOf("#");
if(p==-1) return;
var h=h.substring(p+1, h.length);
whenUserClicksToBackRef(h);
}
//when user clicks to ref in article text whenUserClicksToRef
function whenUserClicksToBackRef(prm_href){
var anchorTags = document.getElementsByTagName("sup");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.className == "harvReferenceLink"){
ob1.className = "";
}
if(ob1.className == "harvVisitedLink"){
ob1.className = "";
}
if(ob1.id.indexOf("cite_ref-")==0){
if(ob1.id==prm_href){
ob1.className = "harvVisitedLink";
}else{
ob1.className = "";
}
}
}
var anchorTags = document.getElementsByTagName("a");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
var h=ob1.href;
var p=h.lastIndexOf("#");
if(p==-1) continue;
var h=h.substring(p, h.length);
if(h.indexOf("#cite_ref-")==0){
if(h == "#"+prm_href){
ob1.className = "harvReferenceLink";
}else{
ob1.className = "";
}
}
}
setBackground2(prm_href);
}
//Main function on load page
this.onLoad = function(){
if (wgAction=="view"){ //only for view pages
var ok=0;
//install events
var anchorTags = document.getElementsByTagName("a");
for (var i = 0; i < anchorTags.length ; i++){
var ob1=anchorTags[i];
if(ob1.href.indexOf("#harv_note-")>=0){
ob1.onclick= function(){handler1(this.parentNode.id)};
}else if(ob1.href.indexOf("#harv_ref-")>=0){
ob1.onclick= function(){handler2(this.parentNode.id)};
ok=1;
}else if(ob1.href.indexOf("#cite_note-")>=0){
ob1.onclick= function(){handler3(this.parentNode.id)};
ok=1;
}else if(ob1.href.indexOf("#cite_ref-")>=0){
ob1.onclick= function(){handler4(this.parentNode.id, this.href)};
ok=1;
}
}
//install the portlet
if(ok==1){
var hist; var url;
if (!(hist = document.getElementById('ca-history') )) return;
if (!(url = hist.getElementsByTagName('a')[0] )) return;
if (!(url = url.href )) return;
addPortletLink('p-cactions', 'javascript:HrvHighlight.changeFormat();',
'links', 'ca-harvrefs', 'Change format of harvard references', '');
var s=state;
if(s!="") showRefsMode(s);
} }
}
}//obj
//Script is starting here
if (doneOnloadHook) HrvHighlight.onLoad()
else addOnloadHook(HrvHighlight.onLoad);
/*******************/
/* */
/* Cloudpayments */
/* */
/*******************/
document.write('<script src="https://widget.cloudpayments.ru/bundles/cloudpayments"></script>')
$(function () {
$('#cloudpayments').html('<input value="Оформить регулярное пожертвование" type="button">');
}());
var payHandler = function () {
//требуется библиотека jquery
var widget = new cp.CloudPayments();
var data = {};
data.cloudPayments = {recurrent: { interval: 'Month', period: 1 }}; //создание ежемесячной подписки
widget.charge({ // options
publicId: 'pk_0301af503fe072af06e3e048912fc', //id из личного кабинета
description: 'Ежемесячное пожертвование сайту Ruxpert.ru', //назначение
amount: 300, //сумма
currency: 'RUB', //валюта
invoiceId: '1234567', //номер заказа (необязательно)
accountId: 'user@example.com', //идентификатор плательщика (обязательно для создания подписки)
data: data
},
function (options) { // success
//действие при успешной оплате
},
function (reason, options) { // fail
//действие при неуспешной оплате
});
};
$("#cloudpayments").on("click", payHandler); //кнопка "Оплатить"
/*
widget.charge({ // options
publicId: 'pk_0301af503fe072af06e3e048912fc',
description: 'Оплата в ruxpert.ru',
amount: 123.00, //сумма
currency: 'RUB',
invoiceId: '1234567', //номер заказа
accountId: 'user@example.com', //плательщик
},
function (options) { // success
//действие при успешном платеже
},
function (reason, options) { // fail
//действие при неуспешном платеже
});
};
$("#cloudpayments").on("click", payHandler); //кнопка "Оплатить"
*/