Kävutai:Ebe123/vector.js
Homaičuz: Sauptamižen jäl'ges sinei, voib olda, pidab kacta sinun web-ecijan keš-failoid, miše nägištada vajehtusid.
- Firefox / Safari: PidäShift išktes Reload, libo udištoites Ctrl-F5 libo Ctrl-R (⌘-R Mac-sistemas)
- Google Chrome: PaindesCtrl-Shift-R (⌘-Shift-R Mac-sistemas)
- Internet Explorer / Edge: PidäCtrl išktes Refresh, libo paindes Ctrl-F5
- Opera: Paina Ctrl-F5.
function apiGetPage(title, func){
$.getJSON(
mw.util.wikiScript('api'),
{action:'query'
,format:'json'
,prop:'revisions'
,rvprop:'content'
,titles:title
},
function(d){
var txt
try{
d = d.query.pages
for( var i in d ) txt = d[i].revisions[0]['*']
}catch(e){}
func(txt || null)
}
)
}
function apiSavePage(dat, func){
$.extend(
dat,
{action: 'edit'
,format: 'json'
,token: mw.user.tokens.get('csrfToken')
}
)
$.post(
mw.util.wikiScript('api'),
dat,
function(d){
if ( d && d.edit && d.edit.result && d.edit.result == 'Success' )
func()
else
func( d.error ? d.error.info : 'unknown error' )
}
)
}
function removeMainCatAjax(){
var pgName = mw.config.get('wgPageName')
var sum = 'Removed main category (not needed anymore)'
apiGetPage(pgName, received)
return
function received(txt){
if( txt == null ) return jsMsg('<p class=error>Failed to receive page text</p>')
//process
var txt2 = txt.replace (/\[\[[Cc]ategory:Main [Cc]ategory *(\|[^\]]*)?\]\]/, '');
txt2 = $.trim(txt2)
if( txt2 == txt ) return jsMsg('"Category:Main Category" was not found in the page.')
//save
apiSavePage(
{title: pgName
,text: txt2
,summary: sum
,minor: true
},
saved
)
}
function saved(err){
if( err ) jsMsg('<p class=error>Error saving page: ' + err + '</p>')
else jsMsg('Page saved')
}
}
$(function(){
//some exclusions here ...
if( /edit|submit/.test( mw.config.get('wgAction') ) ) return
//add link
mw.util.addPortletLink('p-cactions', 'javascript:removeMainCatAjax()', 'Remove category','ca-delcat');
})