MediaWiki:Gadget-Welcome.js
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
//Скрипт для приветствования новичков
//Разработан участником [[w:en:User:Whiteknight]]
/*
Creates a new tab at the top of user-talk-edit pages to automatically welcome a new user or
an anonymous user. Uses AJAX-based editing to post a welcome message automatically. Requires
Whiteknight's wknightcore.js library to handle the AJAX editing functions.
*/
if(mw.config.get('wgNamespaceNumber') != 3) $(function() {
if(mw.config.get('wgAction') == "edit" &&
(text = document.getElementById("wpTextbox1")) &&
text.value.length < 300) {
if(mw.config.get('wgTitle').match(/\d+\.\d+\.\d+\.\d+/)) {
var tab = "joinus";
} else {
var tab = "welcome";
}
add_toolbox_link("Javascript:WelcomeUser();", tab, 'ca-welcome');
}
add_toolbox_link("Javascript:WarnUser();", 'warn', 'ca-warn');
});
if(mw.config.get('wgPageName') == "Special:Contributions") $(function() {
add_toolbox_link("Javascript:WarnUser();", 'warn', 'ca-warn');
});
function WelcomeUser() {
if(confirm("Welcome this new user?")) {
if(mw.config.get('wgTitle').match(/\d+\.\d+\.\d+\.\d+/)) {
wk.postEdit(mw.config.get('wgPageName'), "{"+"{subst:joinus}}--~~"+"~~", "Join Us!",
{section:"new"});
} else {
wk.postEdit(mw.config.get('wgPageName'), "{"+"{subst:welcome}}--~~"+"~~", "Welcome!",
{section:"new"});
}
var w = document.getElementById("ca-welcome");
w.innerHTML = "Welcomed";
var form = document.getElementById("editform");
if(form) wk.toggleDisplay(form, "none");
}
}
function WarnUser() {
var username = mw.config.get('wgPageName');
if (mw.config.get('wgPageName') == "Special:Contributions") {
username = document.getElementsByName("target")[0].value;
if(!username) return;
username = "User talk:" + username;
} else if (mw.config.get('wgNamespaceNumber') != 3) {
return;
}
if (confirm("Warn this user? (" + username + ")")) {
wk.postEdit(username, "{"+"{subst:test|~~"+"~~}}", "You have been warned",
{section:"new"});
var w = document.getElementById("ca-warn");
w.innerHTML = "Warned";
var form = document.getElementById("editform");
if (form) wk.toggleDisplay(form, "none");
}
}