User:Khanson/check sign.js

//Скрипт проверяет наличие подписи. //Автор: X-romix

if (wgAction == 'edit' || wgAction == 'submit') addOnloadHook(function{	var wpSave = document.getElementById('wpSave');	if (!wpSave) return;	addHandler(wpSave, 'click', XRomix_CheckSignHandler); });

function XRomix_CheckSign(text){

if(wgNamespaceNumber==0) return true; //основное пространство статей if(wgNamespaceNumber==2) return true; //страницы участника if(wgNamespaceNumber==4){ //Википедия if (!wgTitle.match('^(Форум[/ ]|Голосования/|Опросы/|Обсуждение правил/|Заявки на .*\/|Запросы.|Кандидаты в .*\/|К (удалению|объединению|переименованию|разделению|улучшению)/|Проверка участников/)') || wgTitle.match ('/Архив')) return	true; }	if (document.editform.wpTextbox1.value.indexOf('\') >= 0 ) return true; //есть подпись return false; }//function

function XRomix_CheckSignHandler(e){ var isCancel=false; var text=document.editform.wpTextbox1.value; var w = document.getElementById('XRomix_editpage_sigwarn'); if(w) return; //уже есть надпись с предупреждением if (!XRomix_CheckSign(text)){ var input = document.getElementById('wpSummary') if (!input) return var w = document.createElement('span') w.id = 'XRomix_editpage_sigwarn' input.parentNode.insertBefore(w, input.nextSibling) w.innerHTML = ' '+ 'Пожалуйста, подпишитесь, добавив в конце своего сообщения ' + '\' + ' (подробнее ↗) '; isCancel=true; }	if (isCancel){ //отменить нажатие кнопки e = e || window.event //из-за различий в IE и стандартных браузерах if (e.preventDefault) e.preventDefault; else e.returnValue = false //остановить действие, снова по-разному return false //на всякий случай } }