/*
Kopioitu tänne sivulta ]:
https://en.wikipedia.orghttps://wiki95.com/fi/User:Anomie/unsignedhelper.js
ja lokalisoitu toimimaan fi-wikissä.
Tämä skripti helpottaa mallineiden ] ja ] lisäystä
lisäämällä ne muokkaustilan muokkauspainikkeisiin
ja hakemalla muutoshistoriasta kommentin tiedot automaattisesti.
Tämä käyttää ]-muokkaustyökalua:
https://en.wikipedia.orghttps://wiki95.com/fi/Help:CharInsert
Asennusohje:
Lisää common.js-sivullesi eli sivulle
https://fi.wikipedia.orghttps://wiki95.com/fi/Toiminnot:Oma_sivu/common.js
nämä kaksi riviä:
importScript('Käyttäjä:Atraie/Gadget-charinsert-core.js'); // Backlink: ]
importScript('Käyttäjä:Atraie/unsignedhelper.js'); // Backlink: ]
Käyttöohje:
1) Maalaa wikiteksti-muokkaustilassa allekirjoittamattoman kommentin loppuosa
2) Klikkkaa {{allekirjoittamaton}}-muokkauspainiketta muokkausruudun alapuolelta
3) Odota, että skripti hakee kommentin tiedot
Yllä oleva ohje animaationa:
https://upload.wikimedia.org/wikipedia/commons/f/fe/Unsignedhelper_localized_in_fi-wiki.gif
Linkkejä:
]
]
]
Englanninkielinen ohjesivu:
https://en.wikipedia.orghttps://wiki95.com/fi/User:Anomie/unsignedhelper
Päivitetty viimeksi: 11.1.2023
*/
var UnsignedHelper={
months:,
makeUnsignedTemplate:function(user,ts,anon){
ts=new Date(ts);
var h=ts.getHours(); if(h<10) h='0'+h;
var m=ts.getMinutes(); if(m<10) m='0'+m;
ts=ts.getDate()+'. '+UnsignedHelper.months+' '+ts.getFullYear()+' kello '+h+'.'+m+' {\{subst:#ifeq: -120 | '+ts.getTimezoneOffset()+' | (EET) | (EEST)}}';
if(anon){
return '\x7b\x7bsubst:AllekirjoittamatonIP|'+user+'|'+ts+'\x7d\x7d';
} else {
return '\x7b\x7bsubst:Allekirjoittamaton|'+user+'|'+ts+'\x7d\x7d';
}
},
addUnsignedTemplate:function(evt){
mw.loader.using(, function(){
var f=document.getElementById('editform');
var e=f.elements.wpTextbox1;
var pos=$(e).textSelection('getCaretPosition', {startAndEnd:true});
var txt;
if(pos!=pos){
txt=e.value.substring(pos,pos);
pos=pos;
} else {
pos=pos;
if(pos<=0) pos=e.value.length;
txt=e.value.substr(0,pos);
txt=txt.replace(new RegExp('*\\d\\d:\\d\\d, \\d+ ('+UnsignedHelper.months.join('|')+') \\d\\d\\d\\d'), '');
txt=txt.replace(/*\n=+.*=+\s*\n/, '');
}
txt=txt.replace(/^\s+|\s+$/g, '');
var rvct=1;
var dialog=$('<div>Examining revision 1...</div>').dialog({
buttons:{ Cancel:function(){ dialog.dialog('close'); } },
modal:true,
title:'Adding \x7b\x7ballekirjoittamaton\x7d\x7d'
});
var revid, user, ts, comment, anon;
var q={
url:mw.util.wikiScript('api'),
dataType:'json',
type:'POST',
data:{
format:'json',
action:'query',
titles:mw.config.get('wgPageName'),
prop:'revisions',
rvprop:'ids|timestamp|user|parsedcomment|content',
rvlimit:1,
rawcontinue:1
},
success:function(r,sts,xhr){
if(!dialog.dialog('isOpen')) return;
if(!r.query || !r.query.pages){
dialog.html('<span style="color:red"><b>Error:</b> Bad response from API</span>');
if(window.console && typeof(window.console.error)=='function')
window.console.error("Bad response", r);
return;
}
for(var k in r.query.pages){
var rr=r.query.pages.revisions;
var cont = function () {
if(r && r.revisions){
dialog.html('Evaluating revision '+(++rvct)+'...');
q.data.rvcontinue=r.revisions.rvcontinue;
$.ajax(q);
} else {
var t=UnsignedHelper.makeUnsignedTemplate(user,ts,anon);
var tt=e.value.substr(0,pos).replace(/\s*$/,' ')+t;
e.value=tt+e.value.substr(pos);
$(e).textSelection('setSelection', { start:tt.length });
dialog.dialog('close');
}
};
if(typeof(rr)!='undefined' && rr.indexOf(txt)<0){
if(!user){
dialog.html('<span style="color:red"><b>Error:</b> Text was not found in the starting revision! Did you edit it?</span>');
return;
}
var cb = function () {
var t=UnsignedHelper.makeUnsignedTemplate(user,ts,anon);
var tt=e.value.substr(0,pos).replace(/\s*$/,' ')+t;
e.value=tt+e.value.substr(pos);
$(e).textSelection('setSelection', { start:tt.length });
dialog.dialog('close');
};
if(/hylättiin|kumottiin|kumottu/i.test(comment)){
var dialog2 = $( '<div>' )
.append(
'The ',
$( '<a>' ).prop( { href: '/w/index.php?diff=prev&oldid=' + revid, target: '_blank' } ).text( 'found revision' ),
' may be a revert: ',
comment
)
.dialog( {
title: "Possible revert!",
modal: true,
buttons: {
"Use that revision": function () { dialog2.dialog( 'close' ); cb(); },
"Keep looking": function () { dialog2.dialog( 'close' ); cont(); },
"Cancel": function () { dialog2.dialog( 'close' ); dialog.dialog( 'close' ); },
}
} );
} else {
cb();
}
} else {
revid=rr.revid;
user=rr.user;
ts=rr.timestamp;
comment=rr.parsedcomment;
anon=(typeof(rr.anon)!='undefined');
cont();
}
return;
}
dialog.html('<span style="color:red"><b>Error:</b> No revisions found in the page!</span>');
},
error:function(xhr,textStatus,errorThrown){
if(!dialog.dialog('isOpen')) return;
dialog.html('<span style="color:red"><b>Error:</b> '+textStatus+' '+errorThrown+'</span>');
}
};
if(f.elements.baseRevId) q.data.rvstartid=f.elements.baseRevId.value;
$.ajax(q);
});
evt.preventDefault();
evt.stopPropagation();
return false;
}
};
if(!window.charinsertCustom) window.charinsertCustom={};
if(!window.charinsertCustom) window.charinsertCustom='';
window.charinsertCustom+=' \x7b\x7ballekirjoittamaton\x7d\x7d\x10UnsignedHelper.addUnsignedTemplate';
if(!window.charinsertCustom) window.charinsertCustom='';
window.charinsertCustom+=' \x7b\x7ballekirjoittamaton\x7d\x7d\x10UnsignedHelper.addUnsignedTemplate';
if(window.updateEditTools) window.updateEditTools();