MediaWiki:Gadget-desambiguacoes.js e Ajuda:Página de testes/1: diferenças entre as páginas

(Diferenças entre páginas)
Página 1
Página 2
Conteúdo apagado Conteúdo adicionado
aj. pelo Helder: http://pt.wikipedia.org/w/index.php?oldid=24256844#Problema_com_detetor_de_desambigua.C3.A7.C3.B5es
 
m Atualização de MediaWiki:Gadget-desambiguacoes.js para fazer uso de jQuery.getJSON( mw.util.wikiScript( 'api' ), {...}, function(data) { // data.query } ); como exemplificado na mw:RL/DM#wikiScript
 
Linha 22: Linha 22:
},
},


queryUrlView: {
queryUrlView : mw.config.get( 'wgScriptPath' ) + '/api.php?action=query&format=json'
'format': 'json',
+ '&prop=categories&pageids=' + mw.config.get( 'wgArticleId' ) + '&callback=bklCheck.viewResultArrived'
'action': 'query',
+ '&generator=links&redirects&gpllimit=max&gplnamespace=0&cllimit=max&indexpageids'
'prop': 'categories',
+ '&nocache=' + mw.config.get( 'wgCurRevisionId' ), //Break client caching, when page has been edited
'pageids': mw.config.get( 'wgArticleId' ),
queryUrlPreview : mw.config.get( 'wgScriptPath' ) + '/api.php?action=query&format=json&prop=categories'
'generator': 'links',
+ '&cllimit=max&redirects&indexpageids',
'redirects': '',
'gpllimit': 'max',
'gplnamespace': '0',
'cllimit': 'max',
'indexpageids': '',
'nocache': mw.config.get( 'wgCurRevisionId' ) //Break client caching, when page has been edited
},
queryUrlPreview: {
'format': 'json',
'action': 'query',
'prop': 'categories',
'redirects': '',
'cllimit': 'max',
'indexpageids': ''
},
titles : {},
titles : {},
count : 0,
count : 0,
previewQueryCount : 0,
previewQueryCount : 0,

execute : function () {
execute : function () {
if ( window.bklCheckOnlyCheckMainNS && mw.config.get( 'wgNamespaceNumber' ) !== 0 ) {
if ( window.bklCheckOnlyCheckMainNS && mw.config.get( 'wgNamespaceNumber' ) !== 0 ) {
Linha 41: Linha 55:
for ( name in bklCheck.cat ) {
for ( name in bklCheck.cat ) {
if ( bklCheck.cat[name].className ) {
if ( bklCheck.cat[name].className ) {
cats.push( encodeURIComponent( name ) );
cats.push( name );
}
}
}
}
bklCheck.queryUrlView += '&clcategories=' + cats.join( '|' );
bklCheck.queryUrlView.clcategories = cats.join( '|' );
bklCheck.queryUrlPreview += '&clcategories=' + cats.join( '|' );
bklCheck.queryUrlPreview.clcategories = cats.join( '|' );
if ( action === 'submit' ) {
if ( action === 'submit' ) {
bklCheck.doPreviewQueries();
bklCheck.doPreviewQueries();
} else if ( $.inArray(action, ['view', 'historysubmit', 'purge']) > -1 ) {
} else if ( $.inArray(action, ['view', 'historysubmit', 'purge']) > -1 ) {
mw.loader.load( bklCheck.queryUrlView );
$.getJSON( mw.util.wikiScript( 'api' ), bklCheck.queryUrlView, bklCheck.viewResultArrived );
} else {
} else {
//"Show preview on first edit" enabled?
//"Show preview on first edit" enabled?
prev = document.getElementById( 'wikiPreview' );
prev = document.getElementById( 'wikiPreview' );
if ( prev && prev.firstChild ) {
if ( prev && prev.firstChild ) {
mw.loader.load( bklCheck.queryUrlView );
$.getJSON( mw.util.wikiScript( 'api' ), bklCheck.queryUrlView, bklCheck.viewResultArrived );
}
}
}
}
Linha 128: Linha 142:
c = res['query-continue'];
c = res['query-continue'];
if ( c.categories ) {
if ( c.categories ) {
mw.loader.load( bklCheck.queryUrlView + '&clcontinue='
bklCheck.queryUrlView.clcontinue = c.categories.clcontinue;
$.getJSON( mw.util.wikiScript( 'api' ), bklCheck.queryUrlView, bklCheck.viewResultArrived );
+ encodeURIComponent( c.categories.clcontinue ) );
} else if ( c.links ) {
} else if ( c.links ) {
bklCheck.queryUrlView = bklCheck.queryUrlView.replace( /&gplcontinue=.*|$/,
bklCheck.queryUrlView.gplcontinue = c.links.gplcontinue;
$.getJSON( mw.util.wikiScript( 'api' ), bklCheck.queryUrlView, bklCheck.viewResultArrived );
'&gplcontinue=' + encodeURIComponent( c.links.gplcontinue ) );
mw.loader.load( bklCheck.queryUrlView );
}
}
} else {
} else {
Linha 143: Linha 156:
bklCheck.previewQueryCount++;
bklCheck.previewQueryCount++;
//We have to keep the titles in memory in case we get a query-continue
//We have to keep the titles in memory in case we get a query-continue
this.data = 'titles=' + titles.join( '|' );
this.titles = titles.join( '|' );
this.doQuery( bklCheck.queryUrlPreview );
this.doQuery( bklCheck.queryUrlPreview );
},
},
Linha 181: Linha 194:
};
};


bklCheck.PreviewQuery.prototype.doQuery = function ( url ) {
bklCheck.PreviewQuery.prototype.doQuery = function ( data ) {
var q = this,
data.titles = this.titles;
$.getJSON( mw.util.wikiScript( 'api' ), data, this.resultArrived );
req = sajax_init_object();
if ( !req ) {
return;
}
req.open( 'POST', url, true );
req.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
req.onreadystatechange = function () {
if ( req.readyState === 4 && req.status === 200 ) {
eval( 'q.resultArrived(' + req.responseText + ');' );
}
};
req.send( q.data );
};
};


Linha 200: Linha 202:
bklCheck.storeTitles( res );
bklCheck.storeTitles( res );
if ( res && res['query-continue'] && res['query-continue'].categories ) {
if ( res && res['query-continue'] && res['query-continue'].categories ) {
this.doQuery( bklCheck.queryUrlPreview + '&clcontinue='
bklCheck.queryUrlPreview.clcontinue = res['query-continue'].categories.clcontinue;
this.doQuery( bklCheck.queryUrlPreview );
+ encodeURIComponent( res['query-continue'].categories.clcontinue ) );
} else {
} else {
bklCheck.previewQueryCount--;
bklCheck.previewQueryCount--;