ব্যবহারকারী:Nokib Sarkar/GA.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
- অপেরা: Ctrl-F5 টিপুন।
var R ={};
var api =new mw.Api();
function GA(){
var title = mw.config.get("wgTitle");
fetch(api,title);
var status = prompt("নিবন্ধটির অবস্থা কী? \n2/২/প/GA = পর্যালোচনা শুরু, 1/১/গ/GAN = ভালো নিবন্ধ হিসেবে গৃহীত, 0/০/F/GAF = ভালো নিবন্ধ হতে ব্যর্থ");
switch(status){
case "1":
case "১":
case "GAN":
case "গ":
{R.status = 1;break;}
case "0":
case "০":
case " ন":
case "F":
{R.status = 0;break;}
default:
R.status = 2;
}
setTimeout(notify,6000);
/*R={sub:1,user:"Nokib Sarkar",topic:"K",status:1}
api.edit("user talk:Nokib Sarkar/GA.js",talk)
.done(()=>alert("OK"))
}*/
/*******/
function notify(){
/////
if(R.status ==1){
api.edit(R.title,function(rev){
return {
text:"{{ভালো নিবন্ধ}}\n" + rev.content,
summary:"[[ব্যবহারকারী:"+R.user+"|"+R.user+"]] কে অভিনন্দন!! নিবন্ধটি ভালো নিবন্ধ হিসেবে গৃহীত হয়েছে",
minor:1
};
}).done(()=>alert("নিবন্ধে ট্যাগ যুক্ত করা হয়েছে"))
}
/////
var h = "[["+R.title+"]] নিবন্ধের পর্যালোচনা"+((R.status==0||R.status==1)?"র ফলাফল":"");
var c = "{{subst:user:Nokib Sarkar/GA"+(R.status?(R.status==1?"N":""):"F")+"|"+R.title+"|"+R.cat+"|"+R.sub+"}}";
if(confirm(c)){
var k=api.newSection("ব্যবহারকারী আলাপ:"+R.user,h,c);
k.done(function(){
alert("Notified the User");
if(R.status < 2)
{updateMyList();}
})
k.fail(function(v){
alert(JSON.stringify(v))
});
}
}
function fetch(api,title){
var data ={
"action": "query",
"format": "json",
"prop": "revisions",
"titles": "উইকিপিডিয়া:প্রস্তাবিত ভালো নিবন্ধ",
"rvprop": "content",
"rvslots": "main",
"rvsection": "1"
}
api.get(data).done(function(v){
var sections,entry;
sections = v.query.pages["43067"].revisions[0].slots.main["*"].split("===");
sections.shift();
var l1=sections.length;
var i=0;
while(i<l1){
R.cat = sections[i++].trim();
entry = sections[i].split("# ");
entry.shift();
var j=0,l2=entry.length;
while(j<l2){
if(entry[j].includes(title))
{
var k = entry[j].match(/\|\s*2=\s*[\u09e6-\u09ef]/)[0]
k = k.replace(/\|\s*2=\s*/,"")
R.sub = k;
k = entry[j].match(/\[\[(user|User|ব্যবহারকারী)?:([\u0980-\u09ff]*|[A-z]*[0-9]*\s*)+\|/gi)[0].replace(/\[\[(User|user|ব্যবহারকারী):/i,"")
R.user = k.substr(0,k.length-1)
R.title = title;
alert("প্রাপ্ত উপাত্ত\nনিবন্ধ: " + R.title + "\nমনোয়নকারী: " + R.user + "\nবিভাগ :" + R.cat);
return
}
j++;
}
i++;
}
})
}
function updateMyList(){
api.edit("user:Nokib Sarkar/পর্যালোচিত",function(rev){
var l = rev.content.length;
var txt = "\n|[["+R.title+"]]||{{"+(R.status?"সফল":"ব্যর্থ")+"}}||~~"+"~~"+"~\n|-\n|}";
return {
text:rev.content.substring(0,l-3)+txt,
summary:"[["+R.title+"]] নিবন্ধের পর্যালোচনা সমাপ্ত",
minor:true,
bot:1,
redirect:1
}
}).done(()=>{alert("Updated List") })
}
function talk(rev){
var status = R.status;
var id = mw.config.get("wgCurRevisionId")
var list = rev.split("{{");
var l = list.length;
var s1,s2,n = 0,j;
for(var i = 0;i < l;i++){
if(j = list[i].match(/(নিবন্ধ ইতিহাস|ArticleHistory)\s*\n?\|/)){alert(" Match Found");
var c = /\s*action[0-9]+\s*=/g
n = 1*list[i].match(c).pop().match(/[0-9]+/)[0] + 1;
var k = list[i].search(/\|\s*currentstatus =/);
s1 = list[i].substr(0,k-1);
s2 = list[i].slice(k).replace(/\|\s*currentstatus\s*=\s*[A-z]+\s*\n?\|/,"| currentstatus = GA"+(status?"":"F")+"\n|")
list[i] = s1 + datafy(n,id,status) + s2;
break;
}
}
if(!n)
list[0] = "{{নিবন্ধ ইতিহাস"+datafy(1,id,status)+"| currentstatus = GA"+(status?"":"F")+"\n| itndate = \n| dykdate = \n| dyklink =\n| topic = "+R.topic+" \n| small = \n}}"
rev = list.join("{{");
if(status)
rev = rev.replace(/\|\s*((q|Q)uality|মান)\s*=)/,"| মান = ভাল");
return rev;
}
function datafy(n,id,status){
/***Main Data***/
var t = new Date();
var txt = "\n\n| action"+n+" = GAN\n";
txt+= "| action"+n+"date = "+t.toLocaleString("bn");
txt+= "\n| action"+n+"link = ভালো নিবন্ধ" + bn(R.sub);
txt+= "\n| action"+n+"result = "+(status?"Listed":"GAF")+"\n";
txt += "| action"+n+"oldid = "+id+"\n\n";
/****End Main Data***/
return txt;
}
/***********Load Portlet*********/
$.when( mw.loader.using('mediawiki.util'), $.ready ).then( function() {
$(mw.util.addPortletLink( 'p-views', '#', 'GA', 't', 'tooltip')).click(GA)
} );