Участница:Lvova/wikilove.js: различия между версиями
Перейти к навигации
Перейти к поиску
Содержимое удалено Содержимое добавлено
Krinkle (обсуждение | вклад) Maintenance: mw:RL/MGU - addOnloadHook is deprecated, Updated deprecated module name |
Исправление отображения меню в Векторе |
||
Строка 601: | Строка 601: | ||
var menuHolidays= '<li id="wl-holidays"><span><a href="#">Празднества</a></span></li>'; |
var menuHolidays= '<li id="wl-holidays"><span><a href="#">Празднества</a></span></li>'; |
||
var menuFlowers= '<li id="wl-flowers"><span><a href="#">Цветы</a></span></li>'; |
var menuFlowers= '<li id="wl-flowers"><span><a href="#">Цветы</a></span></li>'; |
||
var wikiLoveMenu = '< |
var wikiLoveMenu = '<nav class="vector-menu vector-menu-dropdown vectorMenu" id="p-wikilove"><h3><span>WikiLove</span><span style="display:inline-block;width:16px;margin:0 0 0 .4em;background-position:0 60%;background-image:url(http://upload.wikimedia.org/wikipedia/commons/d/d9/Heart.png);background-repeat:no-repeat;"> </span></h3><div class="vector-menu-content"><ul class="vector-menu-content-list">'+menuBarnstar+menuPresents+menuHolidays+menuFlowers+'</ul></div></div>'; |
||
$('#p-cactions').after(wikiLoveMenu); |
$('#p-cactions').after(wikiLoveMenu); |
||
document.getElementById('wl-barnstar').onclick = menuItemClick; |
document.getElementById('wl-barnstar').onclick = menuItemClick; |
Версия от 17:47, 17 июня 2020
//<nowiki>
if(!$.wikiLove) {
var conf = mw.config.get();
var isSubPage = /(^.*\/.*$)/m.exec (conf.wgPageName);
var isNotMine = (conf.wgPageName.indexOf(conf.wgUserName) == -1);
var isVirtualUser = (conf.wgTitle.toLowerCase() == 'box' ||
conf.wgTitle.toLowerCase() == 'орденоносец' ||
conf.wgTitle.toLowerCase() == 'js');
// Разрешить для пространств имён 0 и 1, для скинов modern, vector, monobook, только в режиме просмотра
// Разрешить на своих подстраницах, но запретить на чужих
if ( (conf.wgNamespaceNumber==2 || conf.wgNamespaceNumber==3) && conf.wgAction == 'view' && (skin == 'vector' || skin == 'monobook' || skin == "modern") && !(isSubPage && isNotMine) && !isVirtualUser ) {
// Script depends on jQuery dialog widget
mw.loader.using( 'jquery.ui', function() {
// Construct object (to prevent namespace conflicts)
var talkPage = conf.wgPageName;
if( conf.wgNamespaceNumber==2 && !isSubPage) {
talkPage = 'User_talk:' + conf.wgTitle;
}
wikiLove = {
srcPageTitle: conf.wgPageName,
pageTitle: talkPage,
pageText : null,
pageTime : null,
//bottom: true,
displayProgress: function( form, message ) {
$('#'+form+' div').hide(); // remove everything else from the dialog box
$('#'+form).append ( $('<div style="text-align:center;margin:3em 0;"></div>').html( message+'<br/><img src="http://upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif" />' ) );
},
displayError: function( form, error ) {
$('#'+form+' div').hide(); // remove everything else from the dialog box
$('#'+form).append ( $('<div style="color:#990000;margin-top:0.4em;"></div>').html( 'Error: '+error ) );
},
getEditToken: function() {
$.ajax({
url: conf.wgScriptPath + '/api.php?',
data: 'action=query&prop=info&intoken=edit&titles=Main%20Page&indexpageids&format=json',
dataType: 'json',
success: function( data ) {
if ( data.query.pages && data.query.pageids ) {
var pageid = data.query.pageids[0];
wikiLove.editToken = data.query.pages[pageid].edittoken;
}
}
});
},
getPage: function() {
var setPage = function (json) {
if (json && json.query) {
if (json.query.pages) {
var page = json.query.pages[conf.wgArticleId === 0 ? "-1" : "" + conf.wgArticleId];
if (page) {
if (page.revisions && page.revisions.length > 0) {
wikiLove.pageText = page.revisions[0]['*'];
wikiLove.pageTime = page.revisions[0].timestamp;
//pageTime = page.revisions[0].timestamp.replace (/\D/g, "");
}
}
}
}
};
// We know we have an article here.
if (conf.wgArticleId === 0) {
// Doesn't exist yet.
pageText = "";
//pageTime = null;
//wikiLove.setupMode ();
} else {
$.ajax({
url: conf.wgScriptPath + '/api.php?',
data: 'format=json&action=query&titles='
+ encodeURIComponent (wikiLove.pageTitle)
+ '&prop=info%7Crevisions&rvprop=content%7Ctimestamp&meta=siteinfo&rvlimit=1&rvstartid='
+ conf.wgCurRevisionId,
dataType: 'json',
success: function( json ) {
setPage (json); //wikiLove.setupMode ();
}
});
}
},
getEmailable: function() {
// Test to see if the 'E-mail this user' link exists
wikiLove.emailable = $('#t-emailuser').length ? true : false;
},
editPage: function( form, summary, template ) {
var simpleMode = true;
if(wikiLove.pageText!==null && wikiLove.pageText!=='') {
var match = null;
match = /(\{\{[Нн]+овые сверху[^\}]*\}\})/.exec (wikiLove.pageText);
if (match) simpleMode = false;
}
var fullsummary = summary + ' ← выдано с помощью [[User:Lvova/wikilove|wikilove]]';
var post_data = {
format: 'json',
action: 'edit',
title: wikiLove.pageTitle,
summary: fullsummary
};
if(simpleMode) {
post_data['section'] = 'new';
post_data['text'] = template;
post_data['sectiontitle'] = summary;
} else {
var section = '== ' + summary + '==\n'+template;
match = /^(==[^=]+==)$/m.exec (wikiLove.pageText);
var newText = '';
if(match) {
newText = wikiLove.pageText.substring(0,match.index) + section + '\n';
} else {
newText = wikiLove.pageText + '\n'+section;
}
post_data['section'] = '0';
post_data['text'] = newText;
}
post_data['token'] = wikiLove.editToken; // token must be the last in data
$.ajax({
url: conf.wgScriptPath + '/api.php?',
data: post_data,
dataType: 'json',
type: 'POST',
success: function( data ) {
if ( data && data.edit && data.edit.result == 'Success' ) {
window.location.reload(); // reload page if edit was successful
} else if ( data && data.error ) {
wikiLove.displayError( form, 'API выдаёт ошибку '+'"' + data.error.code + '": ' + data.error.info );
} else {
wikiLove.displayError( form, 'API выдаёт что-то непонятное.' );
}
},
error: function( xhr ) {
wikiLove.displayError( form, 'Редактирование не удалось.' );
//console.debug( xhr.responseText );
}
});
},
sendEmail: function( form, subject, text ) {
$.ajax({
url: conf.wgScriptPath + '/api.php?',
data: 'action=emailuser&target='+encodeURIComponent(conf.wgTitle)+'&subject='+encodeURIComponent(subject)+'&text='+encodeURIComponent(text)+'&format=json&token='+encodeURIComponent(wikiLove.editToken),
dataType: 'json',
type: 'POST'
});
},
launchDialog: function( intf, emailOption ) {
if ( emailOption && typeof wikiLove.emailable !== 'undefined' && wikiLove.emailable ) {
if ( typeof intf.data('emailCheckboxAppended') == 'undefined' ) {
intf.append( $('<div style="margin-top:0.4em;"></div>').html('<input type="checkbox" name="notify"/> Оповещение пользователя по электронной почте') );
intf.data('emailCheckboxAppended', true);
}
}
intf.dialog('open');
wikiLove.getEditToken();
},
initialize: function() {
// Function to make a list of images selectable
$.fn.selectItem = function() {
return this.each(function() {
var containerId = this.id;
var customId = 0;
$('#'+containerId+' img').css('border', '8px solid transparent');
$('#'+containerId+' img').each(function() {
if (this.id === '') {
this.id = 'select_img_' + containerId +'_'+ customId;
customId++;
}
$('#'+this.id).click(function() {
$('#'+containerId+'Selected').val(this.title);
$('#'+containerId+' img').css('border', '8px solid transparent');
$('#'+this.id).css('border', '8px solid #AED0EA');
});
});
});
};
var nodesc = 'К сожалению, информации об этом ордене нет. Мы будем очень рады, если вы добавите описание об этой награде на странице <a href="http://ru.wikipedia.org/wiki/Википедия:Ордена">Википедия:Ордена</a>';
// Список всех доступных орденов
var $barnstarList = [
['15 статей в месяц', 'Является поощрительным призом и наградой за заслуги в административной деятельности проекта «15 статей в месяц», а также за написание 15 статей в рамках последнего.'],
['30 статей за 45 дней','Вручается участникам, создавшим 30 статей в рамках проекта «30 статей за 45 дней».'],
['E=mc2','Вручается за вклад в статьи Википедии по темам физика и математика, а также физическая химия, атомная и квантовая физика, теория относительности, разные измерения и вообще устройство Мироздания.'],
['Kotwica',nodesc],
['Pro Wiklesia',nodesc],
['Virtuti Wikipedi',nodesc],
['Ω','Вручается за вклад в статьи Википедии по темам физика, атомная физика, астрофизика.'],
['Авиационный орден','Вручается за вклад в статьи Википедии по истории авиации, пилотам, самолётам, их вооружению, воздухоплаванию, авиакатастрофам, боевым действиям с применением воздушных сил, частям ВВС, авиабазам, учебным заведениям воздушного флота и аэродинамике. Орден проекта «Авиация».'],
['Аниме-орден','Вручается за вклад в проект «Аниме и манга».'],
['Архитектурный орден','Вручается за вклад в Википедию по статьям и спискам архитектурой тематики.'],
['Астрономический орден','Вручается за вклад в статьи Википедии по астрономии, астрофизике, терраформированию, искусственным и другим спутникам и прочим телескопам, экзопланетам, туманностям и галактикам.'],
['Аудиоорден','Вручается за вклад в проект «Аудиостатьи».'],
['Баскетбольный орден','Вручается за существенный вклад в статьи о баскетболе.'],
['Биоорден 1 степени','Орден, вручаемый участнику Википедии за существенные заслуги в написании и улучшении статей по биологической тематике. Орден проекта «Биология».'],
['Биоорден 2 степени','Орден для поощрения начинающих в биопроекте и участников с весомыми заслугами. Орден проекта «Биология».'],
['Благодарность проекта «Мурманская область»',nodesc],
['Благороднейший орден подвязки','Благороднейший Орден Подвязки учреждён с целью соединить некоторое число достойных лиц для совершения добрых дел и оживления творческого духа в рамках экономических проектов Википедии. Орден проекта «Экономика».'],
['Бронзовая камера','Вручается за вклад в иллюстрацию Википедии, а также в статьи о фотографии.'],
['Будь героем!','Вручается за героическое отстаивание своих идей, принципов и взглядов. Орден проекта «Филателия».'],
['Взявшему рубеж','Вручается участнику, являющемуся автором «круглой» (N-тысячной) статьи, например, статьи № 1000, 10 000, 15 000, 20 000, 30 000, …, 1 000 000 и т.д.'],
['Военная галерея','Вручается участнику, написавшему либо улучшившему значительное количество военно-биографических статей хорошего качества.'],
['Военный исторический орден II степени','Вручается участникам за вклад в статьи на военно-историческую тематику: войны, сражения, воинские формирования, военные персоналии и т.д.'],
['Военный исторический орден I степени','Вручается участникам за вклад в статьи на военно-историческую тематику. Вручения производятся последовательно: сначала 2-я степень, потом 1-я степень.'],
['Восточный орден','Вручается за вклад в статьи Википедии по истории, политике, экономике стран и территорий ислама, а также Ближнего и Среднего Востока, Средней Азии и про их известных деятелей.'],
['Геймерский орден','Вручается за развитие статей по тематике компьютерных игр.'],
['Геозвезда','Вручается участникам, способствовавшим развитию геоинформационных возможностей Википедии и существенный вклад в статьи по географии.'],
['Геологический орден','Вручается за вклад в статьи Википедии по геологической тематике, а также за развитие и поддержание проекта «Геология».'],
['Готический орден','Вручается участникам, внёсшим значительный вклад в статьи о готической культуре и музыке.'],
['Доспехи и оружие','Вручается за заслуги при создании статей связанных с холодным оружием и доспехами.'],
['Европейский орден','Вручается за значительный вклад в развитие статей о Европейском союзе.'],
['За абсурд','Вручается самым юмористическим участникам Википедии (например, авторам нескольких статей, перенесённых впоследствии в Абсурдопедию).'],
['За борьбу с вандализмом','Вручается наиболее упорным борцам с вандализмом.'],
['За выдающиеся заслуги','Вручается участнику, внёсшему очень важный вклад в Википедию. Например, тому, кто постоянно производит правки, повышающие уровень Википедии, или тому, кто глубоко разрабатывает определённую тематику статей (или район административных работ).'],
['За выдающиеся заслуги с лаврами','Вручается участнику, внёсшему очень важный вклад в Википедию. Например, тому, кто постоянно производит правки, повышающие уровень Википедии, или тому, кто глубоко разрабатывает определённую тематику статей (или район административных работ).'],
['За заслуги','Вручается участнику, внёсшему значительный вклад в дело развития Википедии. Этим вкладом могут быть новые статьи, полезные дополнения в уже существующие статьи, борьба с вандализмом, административная работа, помощь в разрешении конфликтов.'],
['За корректное использование AWB','Вручается участникам, которые активно используют AutoWikiBrowser, улучшая качество Википедии малыми правками.'],
['За креатив','Вручается за заслуги в оформлении Википедии и дизайнерские инновации.'],
['За малые правки','Вручается за малые правки, несущие отнюдь не малую пользу.'],
['За написание статей о принтерах',nodesc],
['За поддержку','Вручается участникам, которые своими словами и действиями поддерживали других участников в написании статьи, помогали в устранении её недостатков и защищали здравый смысл при её обсуждении.'],
['За сотрудничество','Вручается участникам, проявившим конструктив, доброжелательность и обширные знания при совместной работе над статьёй.'],
['За удаление','Вручается за последовательную и непримиримую позицию в очищении Википедии от хлама и мусора.'],
['Заслуженному администратору','Вручается администраторам, хорошо справляющимся со своей работой.'],
['Заслуженному арбитру','Вручается за активный и конструктивный труд в составе арбитражного комитета в течение одного или более созывов'],
['Заслуженному патрульному!','Орден «Заслуженному патрульному» Высшей степени учреждён в 2011г. Новая степень ордена является знаком благодарности за особенные заслуги на ниве патрулирования. Орден вручается индивидуально и нерегулярно, по мере возникновения достойных кандидатов. Каждое вручение должно сопровождаться достаточно подробным описанием заслуг.'],
['Заслуженному патрульному I','Вручается трём лучшим патрульным за месяц.'],
['Заслуженному патрульному II','Вручается патрульным, показавшим хорошие результаты за месяц.'],
['Заслуженному художнику','Вручается за оперативную и качественную работу в Графической мастерской.'],
['Заслуженный ботовод','Вручается труженику в сфере ботоводства за выведение породистых ботов. Бот получает маркировку «Почётный бот Википедии».'],
['Заслуженный корректор','Вручается за существенный вклад в дело удаления орфографических, пунктуационных и стилистических ошибок из Википедии.'],
['Защитник Википедии','Вручается наиболее упорным борцам с нарушителями функционирования Википедии и за отстаивание её духа.'],
['Звезда пленительного счастья','Вручается деятельным последователям декабристов или участникам, считающим себя революционерами Википедии, в особенности таким, которые неправомерно либо на спорных основаниях подвергались блокировке.'],
['Зелёный орден','Вручается за заслуги в написании и улучшении статей по биотематике с уклоном во флору. Орден проекта «Биология».'],
['Золотое перо','Вручается участнику, написавшему много хороших статей в течение длительного периода времени.'],
['Золотой трак','Вручается за заслуги при создании статей в области бронетанковой техники, артиллерии и другой военно-технической тематики. Орден проекта «Бронетехника».'],
['Зоркий объектив','Вручается за вклад в иллюстрацию Википедии своими фотографиями, а также за размещённые как иллюстрация статей собственные особо художественные или уникальные фотографии.'],
['Избранная статья','Вручается участнику, создавшему и (или) внёсшему основной вклад в статью, которая по итогам обсуждения получила статус избранной. Орден проекта «Избранные статьи».'],
['Избранный список','Вручается участнику, создавшему и (или) внёсшему основной вклад в список, который по итогам обсуждения получил статус избранного. Орден проекта «Избранные списки и порталы».'],
['Интернет-орден','Вручается за развитие статей по тематике Интернет.'],
['Исторический орден','Вручается участникам за вклад в статьи на историческую тематику.'],
['Киевский орден им. Иосифа Каракиса','Вручается участникам за качественную и значимую работу в статьях, посвящённых городу Киеву, персонам, связанным с Киевом, их прошлому, настоящему и будущему.'],
['Киноорден','Вручается за весомый вклад в статьи Википедии по кинематографии, фильмам, актёрам, киностудиям и кинотеатрам.'],
['Комикс-орден','Вручается за значительный вклад в статьи, посвящённые тематике комиксов: сериям комиксов, графическим романам, авторам, художникам, студиям и издательствам комиксов.'],
['Королевский и дворянский орден','Вручается участнику, внёсшему значительный вклад в статьи о королевских семьях и знати, участникам, принимающим участие в создании статей о биографии людей, принадлежащих к королевской власти и/или дворянству.'],
['Криминальный орден','Вручается за существенный вклад в развитие статей о преступности.'],
['ЛГБТ-орден','ЛГБТ-орден вручается за значительный вклад в развитие статей о гомосексуальности, бисексуальности, трансгендерности и ЛГБТ-движении. Орден «ЛГБТ-проекта».'],
['ЛГБТ-орден с радужной лентой','Эквивалент ЛГБТ-орден.'],
['Лимон','Орденом Лимона может быть награждён любой участник Русской Википедии, внёсший свой посильный вклад в развитие проекта.'],
['Литературный орден','Вручается за существенный вклад в статьях по литературе.'],
['Литературный орден им. Виктора Некрасова',nodesc],
['Локомотив','Вручается за весомый вклад в разделы Википедии по железнодорожной тематике, трамваю, метрополитену, подземке, надземке, монорельсовому транспорту, поездам на магнитной подушке и прочим локомотивам.'],
['Медицинский орден','Вручается за существенный вклад в статьях медико-биологической тематики.'],
['Морской орден II степени','Вручается участникам, написавшим много хороших статей, посвящённых морской тематике.'],
['Морской орден I степени','Вручается участникам, написавшим много хороших статей, посвящённых морской тематике. Дополнительным бонусом к награде является получение права именоваться званием «Почётный адмиралтеец».'],
['Музыкальный орден','Вручается за вклад в статьи Википедии по музыке, её стилям, композиторам, исполнителям и группам.'],
['Недреманное око','Вручается участникам, быстро реагирующим на правки вандалов и неопытных новичков.'],
['Неоднозначный орден','Вручается за создания большого числа нужных страниц-неоднозначностей.'],
['Непримиримому борцу за качество статей','Вручается за уничтожение некачественных статей на корню и проведение массовых чисток.'],
['Нумизматика',nodesc],
['Нумизматика и бонистика',nodesc],
['Организатор Вики-конференции','Вручается за участие в организации очередной Вики-конференции.'],
['Орден Викиславы III степени','Вручается участникам за вклад в статьи о наградах и геральдике: орденах, медалях, почётных званиях, гербах и пр.'],
['Орден Викиславы II степени','Вручается участникам за вклад в статьи о наградах и геральдике. Награждение производится последовательно: сначала третьей, затем второй, потом первой степенью.'],
['Орден Викиславы I степени','Орден Викиславы имеет три степени, высшей степенью ордена является первая степень. Награждённому всеми тремя степенями присваивается звание полного кавалера ордена Викиславы.'],
['Орден Мурманской области',nodesc],
['Орден Носорога','Вручается за проявление несгибаемости намерения.'],
['Орден ПРО:1000 1 степени','Вручается участникам, создавшим за выдающийся вклад в рамках проекта «ПРО:1000».'],
['Орден ПРО:1000 2 степени','Вручается участникам, создавшим за значительный вклад в рамках проекта «ПРО:1000».'],
['Орден ПРО:1000 3 степени','Вручается участникам, создавшим за существенный вклад в рамках проекта «ПРО:1000».'],
['Орден СМИ','Вручается за значительное развитие статей Википедии по средствам массовой информации: прессе, радио, телевидению, радиостанциям и телеканалам.'],
['Орден Связности','Вручается за достижения в работе над связностью статей Википедии. Орден проекта Юные вики-связисты.'],
['Орден Тематическая неделя|степень=3','Вручается участникам, которые по результатам недели набрали максимальное количество баллов в проекте «ПРО:Тематическая неделя», чем участники с орденом II степени. Вручается участнику, который по результатам проведенной недели занял 1-ое место и при этом набрал более 60 баллов без учета дополнительных.'],
['Орден Тематическая неделя|степень=2','Вручается участникам, которые по результатам недели набрали меньшее количество баллов в проекте «ПРО:Тематическая неделя», чем участники с орденом I степени. Вручается участнику, который по результатам проведенной недели занял 2-ое место и при этом набрал более 40 баллов без учета дополнительных'],
['Орден Тематическая неделя|степень=1','Вручается участникам, которые по результатам недели набрали максимальное количество баллов в проекте «ПРО:Тематическая неделя». Вручается участнику, который по результатам проведенной недели занял 1-ое место и при этом набрал более 60 баллов без учета дополнительных'],
['Орден Совместная работа недели|степень=3','Вручается участникам, которые по результатам недели набрали меньшее количество баллов в проекте «ПРО:Тематическая неделя», чем участники с орденом II степени. Вручается участнику, который по результатам проведённой недели создал не менее 10 статей.'],
['Орден Совместная работа недели|степень=2','Вручается участникам, которые по результатам недели набрали меньшее количество баллов в проекте «ПРО:Тематическая неделя», чем участники с орденом I степени. Вручается участнику, который по результатам проведённой недели создал не менее 20 статей.'],
['Орден Совместная работа недели|степень=1','Вручается участникам, которые по результатам недели набрали максимальное количество баллов в проекте «ПРО:Тематическая неделя». Вручается участнику, который по результатам проведённой недели создал не менее 30 статей.'],
['Орден Харькова','Вручается за большие заслуги и вклад в развитие проекта «Харьков».'],
['Орден Черногории',nodesc],
['Орден за спасение статей','Вручается за активную деятельность по спасению статей от удаления.'],
['Орден за энциклопедическую содержательность','Орден «за энциклопедическую содержательность» за цикл статей, полностью раскрывающих какую-либо тему. \n(подразаумевается, что тематика достаточно узкая, чтобы её можно было реально полностью охватить циклом статей) \n NB: содержимое статей темы, за которую вручается Орден, должно соответсвовать ВП:ПРОВ.'],
['Орден шестерни','Вручается за общий вклад в статьи Википедии по тематике техники либо за вклад в статьи на конкретные технические темы, для которых не предусмотрены специальные награды.'],
['Панк-орден','Вручается участникам, внёсшим значительный вклад в статьи о панк-культуре.'],
['Подводящему итоги','Вручается за заслуги в деятельности по подведению итогов обсуждений.'],
['Подкультурный орден',nodesc],
['Половинка левая','Вручается за продуктивное сотрудничество; особенно достойны награды участники с абсолютно противоположными взглядами, продуктивно работающие в паре. Каждый из участников получает одну половинку — только совместный труд составляет целый орден.'],
['Половинка правая','Вручается за продуктивное сотрудничество; особенно достойны награды участники с абсолютно противоположными взглядами, продуктивно работающие в паре. Каждый из участников получает одну половинку — только совместный труд составляет целый орден.'],
['Почётный знак ПРО:1000','Вручается участникам, создавшим за большой вклад в рамках проекта «ПРО:1000».'],
['Права человека','Вручается за значительный вклад в развитие статей о правах человека.'],
['Признание прессы','Вручается участнику, который упоминался в СМИ в связи с Википедией, например, упоминавшийся в газете или давший интервью на радио или телевидении.'],
['Пси-орден III степени','Вручается за существенные заслуги в написании и улучшении содержимого статей, касающегося психологии и психиатрии. Орден проекта «Психология и психиатрия».'],
['Пси-орден II степени','Вручается за существенные заслуги в написании и улучшении содержимого статей, касающегося психологии и психиатрии. Орден проекта «Психология и психиатрия».'],
['Пси-орден I степени','Вручается за существенные заслуги в написании и улучшении содержимого статей, касающегося психологии и психиатрии. Орден проекта «Психология и психиатрия».'],
['Римский орден','Вручается за существенный вклад в статьи о Римской и/или Византийской империи.'],
['Розеттская звезда','Вручается за заслуги по переводу статей или за написание статей по лингвистике и письменностям.'],
['Российский исторический орден','Вручается за значительный вклад в статьи Википедии по истории России (также Советского Cоюза), а также стран и территорий, когда-либо входивших в её состав.'],
['Рыбный орден','Вручается за значительный вклад в статьи Википедии на рыбную и рыболовную тематику.'],
['Спортивный орден','Вручается за существенный вклад в статьи о спорте.'],
['Терпеливому посреднику','Вручается за успешное посредничество.'],
['Технический','Вручается участникам, внёсшим значительный вклад в техническое обеспечение проекта: например, написание персональных скриптов, гаджетов, сложных шаблонов.'],
['Тортик','Бросается в участника, имеющего проблемы с чувством юмора. Рекомендуется как альтернатива административным мерам. Предлагается не считать личным оскорблением.'],
['Трансгуманизм','Вручается за значительный вклад в развитие статей о трансгуманизме.'],
['Труженику','Вручается участникам, внёсшим большой вклад в течение длительного времени.'],
['Улыбка','Вручается за доброжелательное отношение к другим участникам и помощь новичкам.'],
['Формулический орден','Вручается за существенный вклад в статьи Википедии, посвящённые автогонкам в классе Формула-1.'],
['Футбольная звезда','Вручается за существенный вклад в статьи Википедии по футболу. Орден проекта «Футбол».'],
['Химический орден','Вручается за существенный вклад в статьи Википедии, посвящённые химической тематике.'],
['Хорошая статья','Вручается участнику, создавшему и (или) внёсшему основной вклад в статью, которая по итогам обсуждения получила статус хорошей. Орден проекта «Хорошие статьи».'],
['Хорошее настроение','Вручается участникам, которые своими словами или действиями подняли настроение и мотивировали на дальнейшую конструктивную работу в Википедии всех или часть участников сообщества.'],
['Честному человеку планеты','Вручается за стремление честно резать правду-матку, невзирая на последствия.'],
['Чёрный пенни','Вручается за существенные заслуги в написании и улучшении статей о филателии и почте. Главный орден проекта «Филателия».'],
['Шаблонный орден','Вручается за разработку и улучшение полезных шаблонов.'],
['Экзопедический','Почётное звание экзопедического гиганта вручается за весомый вклад в создание контента Русской Википедии.'],
['Эко-орден','Вручается участникам за вклад в статьи на тему «зелёных» технологий (альтернативная энергия, переработка отходов, «зелёная» архитектура, и т. д.).']
];
// Определение интерфейса орденов
$barnstars = $('<div id="barnstarForm" style="position:relative;"></div>')
.append( $('<div style="margin-top:0.4em;"></div>').html( 'Выберите орден: ' )
.append( $('<select id="barnstarSelect" style="padding:1px;vertical-align:baseline;"></select>') ) )
.append( $('<div style="margin-top:0.4em;"></div>').html( 'Описание ордена: ' )
.append( $('<div id="barnstarDescription" style="padding:1px;vertical-align:baseline;"></div>') )
.append('См. также: <a href="http://ru.wikipedia.org/wiki/Википедия:Ордена">Википедия:Ордена</a>') )
.append( $('<div style="margin-top:0.4em;"></div>').html( 'Введите сообщение (без подписи):<br/>' ).append( $('<textarea name="message" id="barnstarMessage" style="width:99%" rows="4" cols="60"></textarea>') ) )
.dialog({
width: 500,
autoOpen: false,
title: 'Наградить орденом',
modal: true,
buttons: { "Наградить орденом": function() {
$(this).dialog({buttons:{}});
if ( typeof wikiLove.editToken !== 'undefined' ) {
if ( $('#barnstarForm input[name="notify"]').attr('checked') ) {
// Send email
wikiLove.sendEmail( 'barnstarForm', 'Вы были награждены викиорденом!', 'Привет, '+conf.wgTitle+'!\n\nМной был вручён викиорден ('+$('#barnstarSelect').val()+') за твои заслуги; загляни к себе на личную страницу!' );
}
// Perform edit to page
wikiLove.displayProgress( 'barnstarForm', 'Добавление ордена на страницу...' );
var message = $('#barnstarMessage').val();
if ( message.indexOf( '~~~' ) == -1 ) {
message += ' ~~~~';
}
var template = '{{подст:Участник:Орденоносец/'+$('#barnstarSelect').val()+'|'+ message +'}}';
wikiLove.editPage( 'barnstarForm', 'Орден', template );
} else {
wikiLove.displayError( 'barnstarForm', 'Не получается.' );
}
}}
});
var el = document.getElementById('barnstarSelect');
el.onchange = function ( e ) {
//e.preventDefault();
var index = document.getElementById('barnstarSelect').selectedIndex;
//var index1 = e.selectedIndex;
var eld = document.getElementById('barnstarDescription');
eld.innerHTML = '<i>'+$barnstarList[index][1]+'</i>';
return false;
};
document.getElementById('barnstarDescription').innerHTML = '<i>'+$barnstarList[0][1]+'</i>';
// Выбор ордена
$.each( $barnstarList, function(index, value) { $('#barnstarSelect').append( $('<option></option>').val(value[0]).html(value[0]) ); });
// Общие параметры для картинок
var commonsPrefix = "http://upload.wikimedia.org/wikipedia/commons/thumb/";
// Размер (высота) картинок в диалоге
var flImgSize = 100;
if(typeof (window.wl_flower_size) != 'undefined') {
flImgSize = window.wl_flower_size;
}
// Ширина диалога цветочков/подарков/печенек
var flDlgWidth = 600;
if(typeof (window.wl_flower_dialog_width) != 'undefined') {
flDlgWidth = window.wl_flower_dialog_width;
}
// Определение интерфейса праздников
var $imgList = [
{src:"2/25/",title:"Roberta\'s WikiCake.jpg", w:534, h:800},
{src:"9/92/",title:"Guinness.jpg", w:348, h:536 },
{src:"2/20/",title:"Strawberry and champagne.jpg", w:1024, h:1280 },
{src:"b/b3/",title:"Pouring two champagne glasses.jpg", w:2592 , h:3888},
{src:"e/e2/",title:"Absinthe-glass.jpg", w:418, h:600},
{src:"0/03/",title:"Wikipe-tan Birthday.png", w:918, h:1500},
{src:"f/fa/",title:"Happy new year 06463.jpg", w:2048, h:1536},
{src:"2/24/",title:"Wikilove2.png", w:800, h:600},
{src:"3/37/",title:"Essen - Wikipedia10 06 ies.jpg", w:3888, h:2592 },
{src:"6/6a/",title:"St Patty\'s Day cupcakes in a row.jpg", w:600, h:400},
{src:"e/ed/",title:"GDJ 2008 tort malowany p.jpg", w:2282, h:2282},
{src:"8/8a/",title:"Flaschen im SonyCenter.jpg", w:1248, h:832},
{src:"4/43/",title:"The Gift-1.jpg", w:2076, h:2046 },
{src:"b/b4/",title:"Music present.jpg", w:2592, h:1944},
{src:"1/1a/",title:"Mary\'s chocates gift box, made in Japan.jpg", w:1024, h:768}
];
var buffer = [];
$.each( $imgList, function(index, fl) {
var title = mw.util.wikiUrlencode(fl['title']);
buffer.push('<img src="'+commonsPrefix + fl['src'] + title + '/'+ Math.floor(fl['w']*flImgSize/fl['h'])+
'px-' + title+'" title="'+fl['title']+'"/>');
});
var imagesHtml = buffer.join("");
var dlg = $('<div id="holidaysForm" style="position:relative;"></div>')
.html( '<input type="hidden" id="holidaysSelected" name="holidaysSelected" value="Roberta\'s WikiCake.jpg"/>' )
.append( $('<div style="margin-top:0.4em;"></div>').html( 'Выберите:' ) )
.append( $('<div style="margin-top:1em;text-align:center;" id="holidays"></div>').html( imagesHtml ) )
.append( $('<div style="margin-top:0.4em;"></div>')
.html( 'Введите сообщение (без подписи):<br/>' ).append( $('<textarea name="message" id="holidaysMessage" style="width:99%" rows="4" cols="60"></textarea>') ) );
$holidays = dlg.dialog({
width: flDlgWidth,
autoOpen: false,
title: 'Поздравить',
modal: true,
buttons: { "Поздравить": function() {
$(this).dialog({buttons:{}});
if ( typeof wikiLove.editToken !== 'undefined' ) {
if ( $('#holidaysForm input[name="notify"]').attr('checked') ) {
// Send email
wikiLove.sendEmail( 'holidaysForm', 'С праздником', 'Привет, '+conf.wgTitle+'!\n\nЗагляни на свою страницу обсуждения, пожалуйста' );
}
// Perform edit to page
wikiLove.displayProgress( 'holidaysForm', 'Поздравление в процессе доставки...' );
var message = $('#holidaysMessage').val();
if ( message.indexOf( '~~~' ) == -1 ) {
message += ' ~~~~';
}
var template = '<div style="border: 1px solid blue; background-color: White; text-align:left; padding:5px; margin-right: 2%; color:#526272;" class="plainlinks"> [[Файл:'+$('#holidaysSelected').val()+('|250px]]')+'<br />'+message +'</div>';
wikiLove.editPage( 'holidaysForm', 'С праздником!', template );
} else {
wikiLove.displayError( 'holidaysForm', 'Не получается.' );
}
}}
});
$('#holidays').selectItem();
// Определение интерфейса цветов
$imgList = [
{src:"0/09/",title:"Tulip Monsella 2006.jpg", w:1200, h:1600},
{src:"c/c1/",title:"Cymbidium Clarisse Austin \'Best Pink\' Flowers 2000px.JPG", w:2000, h:3008},
{src:"2/27/",title:"Flowers 247.jpg", w:1024, h:768},
{src:"0/0c/",title:"Leucanthemum vulgare qtl1.jpg", w:2613, h:2517},
{src:"9/9a/",title:"IMG 6732-Leucanthemum vulgare.jpg", w:3872, h:2571 },
{src:"5/52/",title:"Flower February 2008-2.jpg", w:3088, h:2431 },
{src:"8/8d/",title:"Urbana Illinois park 20070928 img 2120-crop.jpg", w:2000, h:1331 },
{src:"b/ba/",title:"DeltoidBalsamroot1.jpg", w:2048, h:2904 },
{src:"b/ba/",title:"Flower jtca001.jpg", w:2240, h:1680 },
{src:"4/41/",title:"Narzisse.jpg", w:4146, h:2764 },
{src:"b/b5/",title:"Rosa Gold Glow 2.jpg", w:1600, h:1570 },
{src:"1/1c/",title:"Blue closeup flowers.jpg", w:800, h:533},
{src:"3/3e/",title:"Convolvulus January 2008-1.jpg", w:3284, h:2592},
{src:"c/c2/",title:"- Flower 07 -.jpg", w:1476, h:1440},
{src:"e/e5/",title:"A Red Flower in a Pond.jpg", w:1024, h:768},
{src:"8/8f/",title:"Nymphaea tetragona.jpg", w:2560, h:1920 },
{src:"2/2a/",title:"Blue Parfum (Tantau 1978) 01.jpg", w:1951, h:1587 },
{src:"3/3a/",title:"Clematis white background.jpg", w:485, h:513}
];
buffer = [];
$.each( $imgList, function(index, fl) {
var title = mw.util.wikiUrlencode(fl['title']);
buffer.push('<img src="'+commonsPrefix + fl['src'] + title + '/'+ Math.floor(fl['w']*flImgSize/fl['h'])+
'px-' + title+'" title="'+fl['title']+'"/>');
});
var imagesHtml = buffer.join("");
dlg = $('<div id="flowersForm" style="position:relative;"></div>')
.html( '<input type="hidden" id="flowersSelected" name="flowersSelected" value="Leucanthemum vulgare qtl1.jpg"/>' )
.append( $('<div style="margin-top:0.4em;"></div>').html( 'Выберите:' ) )
.append( $('<div style="margin-top:1em;text-align:center;" id="flowers"></div>').html( imagesHtml ))
.append( $('<div style="margin-top:0.4em;"></div>').html( 'Введите сообщение (без подписи):<br/>' ).append( $('<textarea name="message" id="flowersMessage" style="width:99%" rows="4" cols="60"></textarea>') ) );
$flowers = dlg.dialog({
width: flDlgWidth,
autoOpen: false,
title: 'Make Wikilove!',
modal: true,
buttons: { "Make Wikilove!": function() {
$(this).dialog({buttons:{}});
if ( typeof wikiLove.editToken !== 'undefined' ) {
if ( $('#flowersForm input[name="notify"]').attr('checked') ) {
// Send email
wikiLove.sendEmail( 'flowersForm', 'WikiLove!', 'Привет, '+conf.wgTitle+'!\n\nЗагляни на свою страницу обсуждения, пожалуйста' );
}
// Perform edit to page
wikiLove.displayProgress( 'flowersForm', 'Wikilove в процессе доставки...' );
var message = $('#flowersMessage').val();
if ( message.indexOf( '~~~' ) == -1 ) {
message += ' ~~~~';
}
var template = '<div style="border: 1px solid blue; background-color: White; text-align:left; padding:5px; margin-right: 2%; color:#526272;" class="plainlinks">[[Файл:'+$('#flowersSelected').val()+('|250px]]')+'<br />'+message +'</div>';
wikiLove.editPage( 'flowersForm', 'WikiLove!', template );
} else {
wikiLove.displayError( 'flowersForm', 'Не получается.' );
}
}}
});
$('#flowers').selectItem();
$imgList = [
{src:"b/b4/",title:"Choco chip cookie.png", w:800, h:557, tpl:"Печенька", alt:"Печенька"},
{src:"e/e8/",title:"Teacup clipart.svg", w:672, h:522, tpl:"Tea", alt:"Чай"},
{src:"8/84/",title:"WLANL - Sandra Voogt - Kunstcafé - Kunsthal Rotterdam (3).jpg", w:1024, h:685, tpl:"WikiCoffee", alt:"Кофе"},
{src:"1/17/",title:"Shashlik.jpg", w:1600, h:1200, tpl:"WikiMeat", alt:"Шашлык"},
{src:"8/87/",title:"Cup of tea, Scotland.jpg", w:2288, h:1712, tpl:"WikiTea", alt:"Чашка чая"},
{src:"3/3e/",title:"Weizenbier.jpg", w:750, h:1486, tpl:"WikiBeer", alt:"Пиво"},
{src:"c/c6/",title:"Birthday cake 01.jpg", w:1354, h:1556 , tpl:"WikiТортик", alt:"Тортик"}
];
buffer = [];
$.each( $imgList, function(index, fl) {
var title = mw.util.wikiUrlencode(fl['title']);
var commonsTitle = title;
if(commonsTitle.indexOf(".svg", commonsTitle.length - 4) !== -1) {
commonsTitle = title + ".png"
}
buffer.push('<img src="'+commonsPrefix + fl['src'] + title + '/'+ Math.floor(fl['w']*flImgSize/fl['h']) +
'px-' + commonsTitle+'" title="'+fl['tpl']+'" alt="'+fl['alt']+'"/>');
});
var imagesHtml = buffer.join("");
//Меню подарков
dlg = $('<div id="presentsForm" style="position:relative;"></div>')
.html( '<input type="hidden" id="presentsSelected" name="presentsSelected" value="Печенька"/>' )
.append( $('<div style="margin-top:0.4em;"></div>').html( 'Выберите вкусность:' ) )
.append( $('<div style="margin-top:1em;text-align:center;" id="presents"></div>').html(imagesHtml) )
.append( $('<div style="margin-top:0.4em;"></div>')
.html( 'Введите сообщение (без подписи):<br/>' ).append( $('<textarea name="message" id="presentsMessage" style="width:99%" rows="1" cols="60"></textarea>') ) );
$presents = dlg.dialog({
width: flDlgWidth,
autoOpen: false,
title: 'Выдать вкусненькое',
modal: true,
buttons: { "Выдать вкусненькое": function() {
$(this).dialog({buttons:{}});
if ( typeof wikiLove.editToken !== 'undefined' ) {
if ( $('#presentsForm input[name="notify"]').attr('checked') ) {
// Send email
wikiLove.sendEmail( 'presentsForm', 'Викиугощение :)', 'Привет, '+conf.wgTitle+'!\n\nНа твоей странице Википедии на русском языке есть кое-что приятное; загляни!' );
}
// Perform edit to page
wikiLove.displayProgress( 'presentsForm', 'Добавление вкусности...' );
var message = $('#presentsMessage').val();
if(message!='') {
if ( message.indexOf( '~~~' ) == -1 ) {
message += ' ~~~~';
}
} else {
message = '<br/>';
}
var template = '{{subst:'+$('#presentsSelected').val()+'}}'+'\n'+message;
wikiLove.editPage( 'presentsForm', 'Угощайся!', template );
} else {
wikiLove.displayError( 'presentsForm', 'Не получается.' );
}
}}
});
// Специальное меню для выбора
$('#presents').selectItem();
var dlgs = {"wl-barnstar": [$barnstars,true],
"wl-cookie": [$presents,true],
"wl-holidays": [$holidays,false],
"wl-flowers": [$flowers,false]};
var menuItemClick = function ( e ) {
e.preventDefault();
var dlg = dlgs[this.id];
wikiLove.launchDialog( dlg[0], dlg[1] );
var m = $("#wlMonobookMenu");
if(m) m.dialog("close");
return false;
};
// Insert new tab into page
if (skin == 'vector') {
var menuBarnstar = '<li id="wl-barnstar"><span><a href="#">Ордена</a></span></li>';
var menuPresents= '<li id="wl-cookie"><span><a href="#">Приятности</a></span></li>';
var menuHolidays= '<li id="wl-holidays"><span><a href="#">Празднества</a></span></li>';
var menuFlowers= '<li id="wl-flowers"><span><a href="#">Цветы</a></span></li>';
var wikiLoveMenu = '<nav class="vector-menu vector-menu-dropdown vectorMenu" id="p-wikilove"><h3><span>WikiLove</span><span style="display:inline-block;width:16px;margin:0 0 0 .4em;background-position:0 60%;background-image:url(http://upload.wikimedia.org/wikipedia/commons/d/d9/Heart.png);background-repeat:no-repeat;"> </span></h3><div class="vector-menu-content"><ul class="vector-menu-content-list">'+menuBarnstar+menuPresents+menuHolidays+menuFlowers+'</ul></div></div>';
$('#p-cactions').after(wikiLoveMenu);
document.getElementById('wl-barnstar').onclick = menuItemClick;
document.getElementById('wl-cookie').onclick = menuItemClick;
document.getElementById('wl-holidays').onclick = menuItemClick;
document.getElementById('wl-flowers').onclick = menuItemClick;
} else if ((skin == 'monobook' || skin == 'modern')) {
if(typeof _cactions !== 'undefined') {
var monobookDropDownMenu = function () {
if (_cactions.uname) {
with (_cactions) {
menus[menus.length] = createMenu('opt-love', Array(
['wl-barnstar', 'Ордена', ''],
['wl-cookie', 'Приятности', ''],
['wl-holidays', 'Празднества', ''],
['wl-flowers', 'Цветы', '']
));
document.getElementById('p-cactions').getElementsByTagName('div')[0].getElementsByTagName('ul')[0].appendChild(createTab('ca-love','opt-love','WikiLove'));
}
document.getElementById('wl-barnstar').onclick = menuItemClick;
document.getElementById('wl-cookie').onclick = menuItemClick;
document.getElementById('wl-holidays').onclick = menuItemClick;
document.getElementById('wl-flowers').onclick = menuItemClick;
}
};
$(monobookDropDownMenu);
} else {
// Create portlet link
var portletLink = mw.util.addPortletLink( 'p-cactions', '#',
'WikiLove', 'ca-wikilove', 'Вызов меню WikiLove'
);
// Bind click handler
$( portletLink ).click( function ( e ) {
e.preventDefault();
// doSomeStuff();
if(typeof $wlMonobookMenu == 'undefined' || $wlMonobookMenu == null) {
var menuBarnstar= '<li id="wl-barnstar"><span><a href="#">Ордена</a></span></li>';
var menuPresents= '<li id="wl-cookie"> <span><a href="#">Приятности</a></span></li>';
var menuHolidays= '<li id="wl-holidays"><span><a href="#">Празднества</a></span></li>';
var menuFlowers = '<li id="wl-flowers"> <span><a href="#">Цветы</a></span></li>';
var dlg = $('<div id="wlMonobookMenu" style="position:relative;"></div>')
.html( '<div class="menu"><ul>'+menuBarnstar+menuPresents+menuHolidays+menuFlowers+'</ul></div>' );
$wlMonobookMenu = dlg.dialog({
width: 200,
autoOpen: false,
title: 'Что хотим выдать?',
modal: true,
buttons: {}
});
document.getElementById('wl-barnstar').onclick = menuItemClick;
document.getElementById('wl-cookie').onclick = menuItemClick;
document.getElementById('wl-holidays').onclick = menuItemClick;
document.getElementById('wl-flowers').onclick = menuItemClick;
}
$wlMonobookMenu.dialog('open');
});
}
}
} // close initialize function
} // close wikiLove object
wikiLove.initialize();
wikiLove.getEmailable();
wikiLove.getPage();
}) // close mw.loader
} // close if
} // close if
//</nowiki>