میڈیاویکی:Gadget-UploadForm.js
یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔
- فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
- گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
- انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
- اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں
شاید اس اسکرپٹ کی دستاویزی تفصیلات میڈیاویکی:Gadget-UploadForm پر، اور متعاقب .css صفحہ میڈیاویکی:Gadget-UploadForm.css پر موجود ہیں۔ |
/**
* Adiciona novos campos ao formulário original e reúne
* as informações na [[Predefinição:Informação]].
* @author: [[User:Danilo.mac]]
*/
mw.loader.load('//commons.wikimedia.org/w/index.php?title=MediaWiki:Gadget-HotCat.js&action=raw&ctype=text/javascript&smaxage=21600&maxage=86400');
// Previne mais de uma inclusão
if ( typeof (UploadForm) === 'undefined' ) {
var UploadForm = {
campo : [ //linhas, colunas, descrição, dica, texto padrão
[ 3, 80, 'Descrição:', ''],
[ 2, 80, 'Fonte:', 'Qual é a fonte deste ficheiro?' ],
[ 2, 80, 'Autor:', 'Quem criou? Se mostra alguma obra artística, quem a criou?' ],
[ 2, 80, 'Direitos:', 'Quem é o detentor dos direitos de autor?' ],
[ 1, 50, 'Artigo/anexo:', 'Para qual artigo ou anexo da Wikipédia essa imagem é necessária?' ],
[ 1, 50, 'Integral ou parte:', 'Essa é a obra integral citada na fonte ou parte dela?' ],
[ 1, 5, 'Carregamento:', 'Sob qual ponto da política de uso restrito este ficheiro está sendo carregado? Indique apenas o número.' ],
[ 2, 60, 'Propósito:', 'Qual é a importância para o artigo/anexo?', 'Prover informação visual indispensável para a compreensão do artigo' ],
[ 2, 60, 'Insubstituível:', 'Por que não existe material semelhante sob licença livre? Você procurou? Onde?', 'Não há versões da imagem sob licença livre.'],
[ 3, 60, 'Outras informações:', 'Se tiver alguma consideração adicional coloque aqui.' ],
[ 1, 20, 'Permissão:', 'Insira a permissão correta']
],
licencas : [ //Licenças; apenas aparece quando carregado pelo próprio autor e para imagens do Flickr *
'não=©Todos os direitos reservados',
'cc-by-nd=Creative Commons Attribution No-Derivs',
'cc-by-nc=Creative Commons Attribution Non-Commercial',
'cc-by-nc-sa=Creative Commons Attribution Non-Commercial Share-Alike',
'cc-by-nc-nd=Creative Commons Attribution Non-Commercial No-Derivs'
],
setupForm: function (){
var tabela = document.getElementById( 'mw-htmlform-description' );
var carregamento = document.getElementById( 'mw-upload-form' );
var license = document.getElementById( 'wpLicense' );
var tools = document.getElementById( 'editpage-specialchars' );
var linha=[];
var dica = document.createElement( 'div' );
var campo_atual;
var ninput;
var nlabel;
if ( !tabela ) {
return;
}
desc = document.getElementById( 'wpUploadDescription' );
desc = desc.parentNode.parentNode;
desc.parentNode.removeChild( desc );
license = license.parentNode.parentNode;
license.parentNode.removeChild( license );
if ( tools ) {
tools = tools.parentNode.parentNode.parentNode;
tools.parentNode.removeChild( tools );
}
desc = document.createElement( 'input' );
desc.setAttribute( 'name', 'wpUploadDescription' );
desc.setAttribute( 'id', 'wpUploadDescription' );
desc.setAttribute( 'type', 'hidden' );
tabela.appendChild( desc );
carregamento.onsubmit = (function (oldSubmit) {
return function () {
// First, let's construct the information template
var do_submit = UploadForm.carregar();
// Then call whatever onsubmit hook already was present. If this is HotCat's submission
// handler, it will add the categories to the 'wpUploadDescription' field.
if (do_submit && oldSubmit) {
if (typeof(oldSubmit) == 'string') {
do_submit = eval(oldSubmit);
}
else if ( $.isFunction(oldSubmit) ) {
do_submit = oldSubmit.apply(carregamento, arguments);
}
}
return do_submit;
};
})(carregamento.onsubmit);
dados = [];
dica.style.fontSize = 'smaller';
dica.innerHTML = 'Nome do arquivo depois do carregamento.';
dica.style.minHeight = '25px';
tabela.rows[2].cells[1].appendChild( dica );
for ( i=0 ; i < UploadForm.campo.length ; i++ ) {
campo_atual = UploadForm.campo[i];
linha[i] = tabela.insertRow( 3 + i );
dados[i] = [];
dados[i][0] = linha[i].insertCell( 0 );
dados[i][1] = linha[i].insertCell( 1 );
//LABEL
dados[i][0].setAttribute( 'class', 'mw-label' );
nlabel = document.createElement( 'label' );
nlabel.innerHTML = campo_atual[2];
dados[i][0].appendChild( nlabel );
//INPUT
if ( typeof campo_atual[0] === 'number' ) {
if ( campo_atual[0] === 1 || !campo_atual[0] ) {
ninput = document.createElement( 'input' );
ninput.size = campo_atual[1];
} else {
ninput = document.createElement( 'textarea' );
ninput.style.width = 'auto';
ninput.rows = campo_atual[0];
ninput.cols = campo_atual[1];
}
if ( typeof campo_atual[4] !== 'undefined' ) {
ninput.value = campo_atual[4];
}
}
if ( /fonte\=prop/.test( document.URL ) && /autor/i.test( campo_atual[2] ) ) {
ninput.value = '[[Usuário:' + mw.config.get( 'wgUserName' ) + '|' + mw.config.get( 'wgUserName' ) + ']]';
}
dados[i][1].setAttribute( 'class', 'mw-input' );
dados[i][1].appendChild( ninput );
dica = document.createElement( 'div' );
dica.style.fontSize = 'smaller';
if ( campo_atual[3] ) {
dica.innerHTML = campo_atual[3];
}
dica.style.minHeight = '25px';
dados[i][1].appendChild( dica );
}
if ( /fonte\=(?:prop|flickr)/.test( document.URL ) ) {
linha[i] = tabela.insertRow( 3 + i );
dados[i] = [];
dados[i][0] = linha[i].insertCell( 0 );
dados[i][1] = linha[i].insertCell( 1 );
dados[i][0].setAttribute( 'class', 'mw-label' );
nlabel = document.createElement( 'label' );
UploadForm.campo[i] = []; //necessário para a função carregar()
UploadForm.campo[i][2] = 'Licença:';
nlabel.innerHTML = UploadForm.campo[i][2];
dados[i][0].appendChild( nlabel );
var nselect = document.createElement( 'select' );
for ( l=0 ; l < UploadForm.licencas.length; l++ ) {
brr = UploadForm.licencas[l].search( '=' );
if ( brr > 0 ) {
var noption = document.createElement( 'option' );
noption.setAttribute( 'value', UploadForm.licencas[l].substr( 0, brr ) );
noption.innerHTML = UploadForm.licencas[l].substr( brr + 1 );
nselect.appendChild( noption );
}
}
dados[i][1].appendChild( nselect );
}
},
carregar: function () {
var info = '{' + '{Informação\n';
var i;
for ( i=0; i < dados.length; i++ ) {
var item = UploadForm.campo[i][2].replace( /[\/():].*/g, '' ).toLowerCase();
var dado = dados[i][1].firstChild;
if ( dado.nodeName === 'INPUT' ) {
dado = dado.value;
} else if ( dado.nodeName === 'TEXTAREA' ) {
dado = dado.value || dado.innerHTML;
} else if ( dado.nodeName === 'SELECT' ) {
dado = dado.options[ dado.selectedIndex ].value;
} else {
dado = '';
}
info += '| ' + item + ' = ' + dado + '\n';
}
info += '}' + '}\n';
desc.value = info;
return true;
}
};// end UploadForm
}
if ( 'Upload' === mw.config.get( 'wgCanonicalSpecialPageName' ) ) {
$( UploadForm.setupForm );
}