Участник:Ole Førsten/rollback.js
Материал из Викиреальностя
Замечание. Возможно, после сохранения вам придётся очистить кеш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить, или нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl нажмите Обновить, или нажмите Ctrl-F5
- Opera: Выберите очистку кеша в меню Инструменты → Настройки
/* */ //Этот скрипт замещает на страницах сравнений версий надпись в левом верхнем углу //''(Различия между версиями)'' на кнопки быстрого отката и предупреждения участника //За инструкциями обращайтесь на страницу обсуждения. // Инструмент отката создан Lorian function getElementsByClass(searchClass,node,tag) { // Функции с сайта http://www.dustindiaz.com/getelementsbyclass/ var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag = '*'; var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)"); for (i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++; } } return classElements; } // _GET code из NoGray JS Library http://www.nogray.com/new_site/ var _GET = new Array(); var _uri = location.href; var _temp_get_arr = _uri.substring(_uri.indexOf('?')+1, _uri.length).split("&"); var _temp_get_arr_1 = new Array(); for(_get_arr_i=0; _get_arr_i<_temp_get_arr.length; _get_arr_i++){ _temp_get_arr_1 = _temp_get_arr[_get_arr_i].split("="); _GET[decodeURI(_temp_get_arr_1[0])] = decodeURI(_temp_get_arr_1[1]); } delete _uri; delete _temp_get_arr; delete _temp_get_arr_1; function getMessage (where, user1, user2) { var message = prompt ('Описание правки', ''); window.location = 'http://wikireality.ru/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&'+where+'=2&user1='+user1+'&user2='+user2+'&message='+message; } addOnloadHook(function (){ if (location.href.match(/diff=/)) { // Get username of submitter var user1 = getElementsByClass('diff-otitle',null,'td'); user1 = user1[0].getElementsByTagName('a')[2].innerHTML; var user2 = getElementsByClass('diff-ntitle',null,'td'); user2 = user2[0].getElementsByTagName('a')[3].innerHTML; document.getElementById('contentSub').innerHTML = '(<a href="http://wikireality.ru/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=1&user1='+user1+'&user2='+user2+'">Откатить</a> | Комментарий: <a href="http://wikireality.ru/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=2&user1='+user1+'&user2='+user2+'">Тест</a> | <a href="http://wikireality.ru/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=3&user1='+user1+'&user2='+user2+'">Вандализм</a> | <a href="http://wikireality.ru/w/index.php?title=' + _GET['title'] + '&action=edit&oldid=' + _GET['oldid'] + '&revert=4&user1='+user1+'&user2='+user2+'">Спам</a> | <a href="javascript:var message = getMessage(\'revert=5\', \''+user1+'\', \''+user2+'\');">Другая причина</a>)(Предупреждения: <a href="http://wikireality.ru/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=1">Тест</a> | <a href="http://wikireality.ru/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=2">Вандализм</a> | <a href="http://wikireality.ru/w/index.php?title=User_talk:'+user2+'&action=edit§ion=new&warn=3">Спам</a>)'; } else if (location.href.match(/revert=1/)) { document.getElementById('wpSummary').value = 'Правка [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (№' + _GET['oldid']+') откачена к версии участника [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']]'; document.getElementById('editform').submit(); } else if (location.href.match(/revert=2/)) { document.getElementById('wpSummary').value = 'Правка [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (№' + _GET['oldid']+') откачена к версии участника [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] (тестовая правка)'; document.getElementById('editform').submit(); } else if (location.href.match(/revert=3/)) { document.getElementById('wpSummary').value = 'Правка [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (№' + _GET['oldid']+') откачена к версии участника [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] (вандализм)'; document.getElementById('editform').submit(); } else if (location.href.match(/revert=4/)) { document.getElementById('wpSummary').value = 'Правка [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (№' + _GET['oldid']+') откачена к версии участника [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] (спам)'; document.getElementById('editform').submit(); } else if (location.href.match(/revert=5/)) { document.getElementById('wpSummary').value = 'Правка [[Special:Contributions/'+_GET['user2']+'|'+_GET['user2']+']] (№' + _GET['oldid']+') откачена к версии участника [[Special:Contributions/'+_GET['user1']+'|'+_GET['user1']+']] ('+_GET['message']+')'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=1/)) { document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:тест}}—~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=2/)) { document.getElementById('wpSummary').value = 'Предупреждение'; document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:вандализм}}—~~'+'~~'; document.getElementById('editform').submit(); } else if (location.href.match(/warn=3/)) { document.getElementById('wpTextbox1').value = '{'+'{sub'+'st:спам}}—~~'+'~~'; document.getElementById('editform').submit(); } }); /*