MediaWiki:Upload.js: различия между версиями
Материал из ЕЖЕВИКИ - EJWiki.org - Академической Вики-энциклопедии по еврейским и израильским темам
Перейти к навигацииПерейти к поиску
Ariely (обсуждение | вклад) Новая страница: «function uploadPage(){ if (wgUploadAutoFill){ upForm = document.getElementById('mw-upload-form') upForm.action = 'javascript:checkUpForm("'+encodeURI(upForm.act…» |
Mliris (обсуждение | вклад) м 1 версия |
(нет различий)
| |
Текущая версия от 07:42, 11 марта 2010
function uploadPage(){
if (wgUploadAutoFill){
upForm = document.getElementById('mw-upload-form')
upForm.action = 'javascript:checkUpForm("'+encodeURI(upForm.action)+'");void(0);'
}
var desc = document.getElementById('wpUploadDescription')
var tmpl = document.getElementById('imageinfo')
if (wgUploadAutoFill && tmpl && desc && !desc.value) desc.value = tmpl.innerHTML
var span = document.getElementById('insertlink')
if (!span) return
var a = document.createElement('a')
a.href = 'javascript:addRationaleTemplate()'
a.id = 'insertlink2'
appendCSS('a#insertlink2:hover { text-decoration: none; }')
span.parentNode.insertBefore(a, span)
a.appendChild(span)
span.style.display = 'inline'
}
function addRationaleTemplate(){
var desc = document.getElementById('wpUploadDescription')
var oldTmpl = document.getElementById('imageinfo')
var tmpl = document.getElementById('rationale')
if (desc && oldTmpl && desc.value == oldTmpl.innerHTML){
desc.value = tmpl.innerHTML
desc.rows = 16
}
else if (desc && tmpl && desc.value.indexOf(tmpl.innerHTML.substring(0,8)) == -1){
desc.value += '\n' + tmpl.innerHTML
desc.rows = 16
}
}
function checkUpForm(upAct){
upForm = document.getElementById('mw-upload-form')
upForm.action = upAct
var desc = document.getElementById('wpUploadDescription')
var lcns = document.getElementById('wpLicense')
var wrn = document.createElement('td')
wrn.innerHTML = ''
if (lcns.value == '' && /^[^\{\}]*(\{\{(Изображение|Несвободный файл|Обоснование добросовестного использования|ОДИ)[^\{\}]+\}\}[^\{\}]*)*$/i.exec(desc.value))
wrn.innerHTML += '<li>Не указана лицензия. Выберите лицензию в выпадающем списке выше.</li>'
if (lcns.value != '' && /\{\{fair ?use ?in *(\|[^\{\}]*)? *\}\}/i.exec(desc.value))
wrn.innerHTML += '<li>Лицензия указана и в описании, и в выпадающем списке. Возможно, вы где-то ошиблись.</li>'
if (/\{\{fair ?use ?in *\|? *\}\}/i.exec(desc.value))
wrn.innerHTML += '<li>В шаблоне {'+'{fairusein}} не указано название статьи.</li>'
if (/\{\{fair ?use ?in *\| *название статьи *\}\}/i.exec(desc.value))
wrn.innerHTML += '<li>В шаблоне {'+'{fairusein}} текст «название статьи» не изменён на реальное название.</li>'
if (lcns.value == '' && /\{\{Изображение\s*((\|\s*)+[\s\wа-яё]+=\s*)*(\|\s*)*\}\}/i.exec(desc.value))
wrn.innerHTML += '<li>Не заполнен шаблон {'+'{Изображение}}.</li>'
if (lcns.value == '' && /\{\{(Обоснование добросовестного использования|ОДИ)\s*((\|\s*)+([\wа-яё]+\s*)+=\s*)*(\|\s*)*\}\}/i.exec(desc.value))
wrn.innerHTML += '<li>Не заполнен шаблон {'+'{Обоснование добросовестного использования}}.</li>'
if (lcns.value == '' && /\{\{Несвободный файл\s*((\|\s*)+([\wа-яё]+\s*)+=\s*)*(\|\s*)*\}\}/i.exec(desc.value))
wrn.innerHTML += '<li>Не заполнен шаблон {'+'{Несвободный файл}}.</li>'
if (lcns.value == '' && /\{\{Несвободный файл\/ОДИ\s*((\|\s*)+([\wа-яё]+\s*)+=\s*)*(\|\s*)*\}\}/i.exec(desc.value))
wrn.innerHTML += '<li>Не заполнен шаблон {'+'{Несвободный файл/ОДИ}}.</li>'
if (/\{\{(Обоснование добросовестного использования|Несвободный файл|ОДИ|Изображение)[^\{\}]*Источник\s*=\s*(из|с|http:\/\/(www\.)?)?\s*(интернет|internet|гугл|google|яндекс|yandex|яху|yahoo|рамблер|rambler)[^\{\}]*\}\}/i.test(desc.value))
wrn.innerHTML += '<li>«Интернет» или поисковая система не являются источником, подтверждающим лицензионный статус изображения. Укажите более конкретный источник.</li>'
if (wrn.innerHTML != ''){
var wrnPrnt = document.createElement('tr')
wrnPrnt.appendChild(document.createElement('td'))
wrnPrnt.appendChild(wrn)
wrn.style.border = '1px solid red'
wrn.style.background = '#ffe4e1'
wrn.innerHTML = '<p style="text-align:center; font-weight:bold;">Автоматическая проверка выявила следующие ошибки:</p><ul style="font-weight:bold">' + wrn.innerHTML
wrn.innerHTML += '</ul><p style="padding:0.2em 0.8em">При повторном нажатии на кнопку «Загрузить файл» данное предупреждение будет проигнорировано. Помните, что файлы без лицензии или с некорректной лицензией будут удалены.</p>'
var upNode = document.getElementsByName('wpUpload')[0].parentNode.parentNode
upNode.parentNode.insertBefore(wrnPrnt, upNode)
}
else upForm.submit()
}
addOnloadHook(uploadPage)