ব্যবহারকারী: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)
} );