ব্যবহারকারী:Mahir256/Gadget-EIS.js
টীকা: সংরক্ষণ করার পর, পরিবর্তনসমূহ তৎক্ষণাৎ নাও দেখাতে পারে। আপনার ব্রাউজারের ক্যাশ কিভাবে এড়াবেন তা জানতে এখানে ক্লিক করুন।
- ফায়ারফক্স / সাফারি: Shift ধরে রাখা অবস্থায়পুনঃলোড করুন-এ ক্লিক করুন, অথবা Ctrl-F5 বা Ctrl-R (ম্যাক-এ ⌘-R) চাপুন
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাক-এ ⌘-Shift-R) চাপুন
- ইন্টারনেট এক্সপ্লোরার: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 চাপুন
- অপেরা: মেনু → ব্যবস্থাপনাসমূহ-এ যান (ম্যাকে অপেরা → পছন্দসমূহ) এবং এরপর গোপনীয়তা ও সুরক্ষা → ব্রাউজিং-এর তথ্য পরিষ্কার করুন → ক্যাশে করা ছবি ও ফাইলগুলি।
অন্যান্য ব্রাউজার সম্পর্কে বিশদ নির্দেশাবলীর জন্য, উইকিপিডিয়া:আপনার ক্যাশে বাইপাস করুন দেখুন।
mw.loader.load('//wikisource.org/w/index.php?title=MediaWiki:Base.js&action=raw&ctype=text/javascript'); // দেখি কি হয়
/*
Edit In Sequence, version 0.0 ottobre 2016
Alex brollo
Logics:
1. disable navigation and save/preview buttons
2. load a small new navigation + level setting tool
3. use normal edit boxes uploading wikicode and saving edited wikicode from them by ajax statements
Versión modificada (marzo 2017) por
Ninovolador
Cambios:
1. Traducido parcialmente al español
2. Compatibilidad con easyLST (sistema de seccionamiento con almohadillas (##seccion##) )
3. Agregados botones para previsualizar páginas sin cambiar
সংস্করণ (জানুয়ারি ২০১৮) মাহির২৫৬ পরিবর্তিত
*/
mw.loader.load("jquery.ui");
var alex={};
var eis={};
eis.cp={};
(function ($,mw) {
// console.log("passo 1");
if(mw.config.get("wgCanonicalNamespace")!=="Page" || mw.config.get("wgAction")!=="edit") {
console.log("eis non eseguito");
return false;}
// console.log("passo 2");
activate();
$(document).keyup(function(e) {
if (e.keyCode == 27 && $("#divPreview").is(":visible")) {
$('#wpPreviewExit').trigger('click');
}
});
/* passo 1 : costruire l'ambiente */
// in nsPage, and in view mode, eis environment is built
function activate() {
// access button
$('<li id="ca-eis"><span><a href="#" title="ক্রমানুসারে সম্পাদনা করেন" >ইআইএস</a></span></li>').click(function() {
$("#wptextbox1").css("font-size",".9pc");
creaEis();
pp();
}).insertAfter($("#ca-edit"));
// loading wikitext of three pages
return false;
}
// initializing function, it disables some buttons, builds preview box, build action buttons
function creaEis() {
// disabilitazioni
$("#ca-proofreadPagePrevLink a, #ca-proofreadPageNextLink a").remove();
$("#wpSave").remove();
$("#wpPreview, #wpDiff, #wikiPreview").css('display','none').attr('accesskey','');
$(".mw-summary, .editCheckboxes").remove();
$("#ca-eis").remove();
//$('<div id="sfondoeis" style="position:fixed; top:0; left:0; z-index:100;"></div>').appendTo($("#content"));
var box=$("<div id='editBox' style='background-color:#dfdfdf; min-height:10px; display:inline-block;position:fixed; top:0; left:0; z-index:100' ></div>");
if (mw.user.options.get("gadget-barbaforcutanew")===null) $("#content").append(box); else box.css("position","static").appendTo($(".editButtons"));
var qb='<span id="radiobuttons">'+
'<span class="quality0"><input tabindex="5" title="Pagine_SAL_00%" type="radio" value="0" name="wpQuality"></span>'+
'<span class="quality2"><input tabindex="6" title="Pagine_SAL_50%" type="radio" value="2" name="wpQuality"></span>'+
'<span class="quality1"><input tabindex="7" title="Pagine_SAL_25%" type="radio" value="1" name="wpQuality"></span>'+
'<span class="quality3"><input tabindex="8" title="Pagine_SAL_75%" checked="" type="radio" value="3" name="wpQuality"></span>'+
'<span id="radioQuality4" class="quality4" style="display:none;"><input tabindex="9" title="Pagine_SAL_100%" type="radio" value="4" name="wpQuality"> </span></span>';
qb+='<span> '+
'<button class="baseButton" id="wpPrev" style="display: inline; padding: 1px 2px;" type="button" title="পূর্বের পাতায় যান" ><small><</small></button>'+
'<button class="baseButton" id="wpNext" style="display: inline; padding: 1px 2px;" type="button" title="পরের পাতায় যান" ><small>></small></button>'+
'<button class="baseButton" id="wpSave" style="display: inline; padding: 1px 2px;" type="button" title="আপনার পরিবর্তনগুলি সংরক্ষিত করুন ও পরের পাতায় যান [alt+shift+s]" accesskey="s" ><small>প্রকাশ করুন ও আগান</small></button>'+
'<button class="baseButton" id="wpPreviewSave" style="display: inline; padding: 1px 2px;" type="button" title="আপনার পরিবর্তনগুলি প্রাকদর্শন করুন [alt+shift+p]" accesskey="p" ><small>প্রাকদর্শন করুন</small></button>'+
'<button class="baseButton" id="wpPreviewPrev" style="display: inline; padding: 1px 2px;" type="button" title="পূর্বের পাতা প্রাকদর্শন করুন" ><small>পূর্বের পাতা দেখেন</small></button>'+
'<button class="baseButton" id="wpPreviewNext" style="display: inline; padding: 1px 2px;" type="button" title="পরের পাতা প্রাকদর্শন করুন" ><small>পরের পাতা দেখেন</small></button>'+
'<button class="baseButton" id="wpExit" style="display: inline; padding: 1px 2px;" type="button" title="আপনার পরিবর্তনগুলি বাতিল করুন ও বের হয় যান" ><small>বাতিল</small></button>'+
' <input type="text" id="wpComment" value="Edición en secuencia (EIS)" size="50"></span>';
$("#editBox").append($(qb));
$("span[class^='quality'] input").click(function() {
var sumtext = "সম্পাদিত";
switch($(this).attr("value")){
case "0": sumtext = "লেখাবিহীন"; break;
case "1": sumtext = "মুদ্রণ সংশোধন করা হয়নি"; break;
case "2": sumtext = "সমস্যাসঙ্কুল"; break;
case "3": sumtext = "মুদ্রণ সংশোধন করা হয়েছে"; break;
case "4": sumtext = "বৈধকরণ"; break;
}
$("#wpComment").val("/* "+sumtext+" */");
});
$("#wpExit").click(function(){
window.open("/wiki/"+eis.cp.title,"_self");
});
$("#wpSave").click(function(){
pageSave();
});
$("#wpPreviewNext").click(function(){
pagePreviewNext();
});
$("#wpPreviewPrev").click(function(){
pagePreviewPrev();
});
$("#wpPreviewSave").click(function(){
pagePreview();
});
$("#wpPrev").click(function(){
$("#divPreview").css("display","none");
pp(prevPage());
});
$("#wpNext").click(function(){
$("#divPreview").css("display","none");
pp(nextPage());
});
//creazione box divPreview
var divPreview=$("<div>").css({
"position":"absolute",
"top":"20px",
"left":"100px",
"width":"580px",
"height":"700px",
"overflow":"scroll",
"padding":"20px",
"z-index":"150",
"background-color":"white",
"border":"1px dotted black",
"display":"none"
}).attr("id","divPreview")
.append($("<div>").attr("id","previewContent"));
$("#content").append(divPreview);
$("#divPreview").draggable();
var x=$("<div>").attr("style",'position:absolute; top:0;right:0;cursor:pointer; z-index:200;')
.append($('<button class="baseButton" id="wpPreviewExit" style="display: inline; padding: 1px 2px;" type="button" title="Salir" ><small>Cancelar</small></button>').click(function(){
$("#divPreview").toggle();
if (!window.proofreadpage_raw_lst) window.easy_lst();
}))
.append($("#wpSave").clone(true));
x.appendTo($("#divPreview"));
eis.baseImg=$(".prp-page-image img").attr("src").match(/(.+page)\d+(-\d+px.+)/);
// eis.baseImg[1]+[numero pagina]+eis.baseImg[2] è l'url dell'immagine
// della pagina [numero pagina)]
// può essere caricato con
// $(".prp-page-image img").attr("src",eis.baseImg[1]+211+eis.baseImg[2]);
}
function nextPage() {
var np=eis.cp.title.match(/(.+\/)([০১২৩৪৫৬৭৮৯]+)$/);
np[2] = np[2].replace(/[\u09e6-\u09ef]/g,function(c) { return '0123456789'[(c.charCodeAt(0)&0xf)-0x6]; } );
return np[1]+String(np[2]*1+1).replace(/\d/g,function(c) { return '০১২৩৪৫৬৭৮৯'[(c.charCodeAt(0)&0xf)]; } );
}
function prevPage() {
var np=eis.cp.title.match(/(.+\/)([০১২৩৪৫৬৭৮৯]+)$/);
np[2] = np[2].replace(/[\u09e6-\u09ef]/g,function(c) { return '0123456789'[(c.charCodeAt(0)&0xf)-0x6]; } );
return np[1]+String(np[2]*1-1).replace(/\d/g,function(c) { return '০১২৩৪৫৬৭৮৯'[(c.charCodeAt(0)&0xf)]; } );;
}
// splits wiki code into header,body,footer
function splitPagina(tpp) {
var testo = ["", "", ""];
testo[0] = tpp.substring(0, tpp.indexOf("</noinclude>") + 12);
testo[2] = tpp.substring(tpp.lastIndexOf("<noinclude>"));
testo[1] = tpp.substring(testo[0].length, tpp.length - testo[2].length);
return testo;
}
// reads three pages code (current, previous, previous of previous)
function pp(pageName) {
if (pageName===undefined) pageName=mw.config.get("wgPageName");
pageName=pageName.replace(/_/g," ");
var pagine={};
var t=(/(.+\/)(.+)$/).exec(pageName);
var t_lat = t[2].replace(/[\u09e6-\u09ef]/g,function(c) { return '0123456789'[(c.charCodeAt(0)&0xf)-0x6]; } );
var t1=String(t_lat*1-1).replace(/\d/g,function(c) { return '০১২৩৪৫৬৭৮৯'[(c.charCodeAt(0)&0xf)]; } );
var t2=String(t_lat*1-2).replace(/\d/g,function(c) { return '০১২৩৪৫৬৭৮৯'[(c.charCodeAt(0)&0xf)]; } );
var p_cor=pageName;
var p_prec1=t[1]+t1;
var p_prec2=t[1]+t2;
console.log(p_prec2,p_prec1,p_cor);
var api = new mw.Api();
$("#firstHeading").text("ক্রমানুসারে সম্পাদনা করছেন"+pageName);
// lettura di tre pagine
api.get( {
action: 'query',
prop: 'revisions',
titles:p_prec2+"|"+p_prec1+"|"+p_cor,
rvprop:"content"
} ).done( function ( data ) {
alex.query=data.query.pages;
$.each(data.query.pages, function(index,value) {
if (alex.query[index].missing!==undefined)
pagine[alex.query[index].title]=["","",""];
else
pagine[alex.query[index].title]=splitPagina(alex.query[index].revisions[0]["*"]);
});
eis.p_2=[p_prec2,pagine[p_prec2]];
eis.p_1=[p_prec1,pagine[p_prec1]];
eis.p_0=[p_cor,pagine[p_cor]];
alex.p_2=eis.p_2;
alex.p_1=eis.p_1;
alex.p_0=eis.p_0;
testoPag2Prec=alex.p_2[1];
testoPagPrec=alex.p_1[1];
// settaggi comuni
eis.cp.basePageName=t[1];
eis.cp.basePageNum=t_lat;
eis.cp.title=eis.p_0[0];
mw.config.set("wgTitle",eis.cp.title.slice(7));
if ($("#croptool").length>0) {
eis.cp.croptool=$("#t-cropNew a").attr("href").replace(/\d+$/,eis.cp.basePageNum);
$("#t-cropNew a").attr("href",eis.cp.croptool);
}
var urlImg=$(".prp-page-image img").attr("src").match(/(.+page)(\d+)(-.+)/);
eis.cp.imageUrl=urlImg[1]+eis.cp.basePageNum+urlImg[3];
// assegno valori alle variabili globali testoPagPrec e testo2PagPrec per renderli visibili a autoPt e autoRi7
testoPagPrec=eis.p_1[1];
testo2PagPrec=eis.p_2[1];
$("#radioQuality4").css("display","none");
$(".prp-page-image img").attr("src",eis.cp.imageUrl);
if (eis.p_0[1].toString()===",,") {
// caso pagina corrente non esistente
// leggo la pagina...
$.get( mw.config.get("wgServer")+"/w/index.php?title="+eis.cp.title+"&action=edit&redlink=1", function( data ) {
$("#wpTextbox1").val($("#wpTextbox1",$(data)).val());
$("#wpHeaderTextbox").val($("#wpHeaderTextbox",$(data)).val());
$("#wpFooterTextbox").val($("#wpFooterTextbox",$(data)).val());
//$("#wpHeaderTextbox").val(eis.cp.header);
//$("#wpFooterTextbox").val(eis.cp.footer);
// eseguo postOCR e autoRi
$("#button4").click();
$("#button0").click();
eis.p_0[1][1]= $("#wpTextbox1").val();
eis.cp.user=mw.config.get("wgUserName");
eis.cp.level="1";
if (!window.proofreadpage_raw_lst) window.easy_lst();
});
} else {
// caso pagina esistente
eis.cp.user=eis.p_0[1][0].match(/user=\"([^"]*)\" \/>/)[1];
eis.cp.level=eis.p_0[1][0].match(/level=\"(\d+)\" /)[1];
eis.cp.header=$.trim(eis.p_0[1][0].replace(/<noinclude\><pagequality.+?>/,"").replace("</noinclude>",""));
eis.cp.footer=$.trim(eis.p_0[1][2].replace("<noinclude>","").replace("<references/>","").replace("</noinclude>",""));
$("#wpHeaderTextbox").val(eis.cp.header);
$("#wpFooterTextbox").val(eis.cp.footer);
$("#wpTextbox1").val(eis.p_0[1][1]);
if (!window.proofreadpage_raw_lst) window.easy_lst();
// if level=3 and user is another one, or if level=4 display radiobutton4
if ( (eis.cp.level==="3" && eis.cp.user!==mw.config.get("wgUserName")) || eis.cp.level==="4") $("#radioQuality4").css("display","inline");
$("#radiobuttons input[value='"+eis.cp.level+"']").click();
}
});
$(".prp-page-image img").css("top","0");
$("#wpTextbox1").scrollTop(0);
};
function chiudiEditBox () {
$("#sfondoeis").toggle();
}
function pageBuild() {
var template= '<noinclude><pagequality level="#LEVEL#" user="#USER#" />#HEADER#</noinclude>' +
'#BODY#<noinclude>#FOOTER#\n</noinclude>';
var wikicode= template.replace("#HEADER#",$("#wpHeaderTextbox").val())
.replace("#BODY#",$("#wpTextbox1").val())
.replace("#FOOTER#",$("#wpFooterTextbox").val());
if (eis.cp.level ===$("input:checked","#radiobuttons").val()) {
wikicode=wikicode.replace("#LEVEL#",eis.cp.level).replace("#USER#", eis.cp.user);
} else {wikicode=wikicode.replace("#LEVEL#",$("input:checked","#radiobuttons").val())
.replace("#USER#", mw.config.get("wgUserName"));
}
return wikicode;
}
function pageSave() {
if (!window.proofreadpage_raw_lst) window.restore_lst();
var wikicode=pageBuild();
new mw.Api().postWithToken( 'csrf', {
action: 'edit',
title: eis.cp.title,
summary:$("#wpComment").val(),
text: wikicode
}).done(function( data ) {
if ( data && data.edit && data.edit.result === 'Success' ) {
console.log("OK, pagina " + eis.p_0[0] + " salvata");
$("#wpNext").click();
} else {
alert("Errore nel salvataggio della pagina");l
}
});
}
function pagePreview() {
// toggleButton generico (nasconde parent())
/* var toggleButton=$('<img>')
.attr("src","//upload.wikimedia.org/wikipedia/commons/f/f8/Tooltip-CloseButton.png")
.attr("style",'position:absolute; top:0;right:0;cursor:pointer; z-index:200;')
.click(function(){$(this).parent().toggle();});
*/
//caricamento preview
if (!window.proofreadpage_raw_lst) window.restore_lst();
var wikicode=pageBuild();
$("#divPreview").toggle();
$.ajax({
url: mw.util.wikiScript( 'api' ),
data: {
format: 'json',
action: 'parse',
contentmodel: 'proofread-page',
summary: "ajax preview",
text: wikicode,
time: $.now()
},
dataType: 'json',
type: 'POST',
success: function( data ) {
if ( data && data.parse ) {
$("#previewContent").html($(data.parse.text["*"]));
} else if ( data && data.error ) {
alert( 'Error: API returned error code "' + data.error.code + '": ' + data.error.info );
} else {
alert( 'Error: Unknown result from API.' );
}
},
error: function( xhr ) {
alert( 'Error: Request failed.' );
}
});
}
function pagePreviewPrev() {
var imagen=$(".prp-page-image img").attr("src").match(/.+page(\d+)-\d+px.+/);
$(".prp-page-image img").attr("src",eis.baseImg[1]+(imagen[1]*1-1)+eis.baseImg[2]);
}
function pagePreviewNext() {
var imagen=$(".prp-page-image img").attr("src").match(/.+page(\d+)-\d+px.+/);
$(".prp-page-image img").attr("src",eis.baseImg[1]+(imagen[1]*1+1)+eis.baseImg[2]);
}
})(jQuery,mw);