صارف:Aafi/مباحث بند.js
(صارف:TheAafi/مباحث بند.js سے رجوع مکرر)
آپ کی توجہ درکار ہے۔ اس صفحہ میں جو اسکرپٹ شامل ہیں، وہ صفحہ لوڈ ہونے پر ہر دفعہ چلیں گی۔ لہذا خراب، غلط اور نامناسب کوڈ یا اسکرپٹ یہاں درج نہ کریں۔ اس سے آپ کے کھاتے کو بھی خطرہ لاحق ہو سکتا ہے۔ |
یاددہانی: محفوظ کرنے کے بعد تازہ ترین تبدیلیوں کو دیکھنے کے لیے آپ کو اپنے براؤزر کا کیش صاف کرنا ہوگا۔
- فائرفاکس/ سفاری: جب Reload پر کلک کریں تو Shift دبا کر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R- )
- گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
- انٹرنیٹ ایکسپلورر: جب Refresh پر کلک کریں تو Ctrl یا Ctrl-F5 دبائیں
- اوپیرا: Tools → Preferences میں جائیں اور کیش صاف کریں
شاید اس اسکرپٹ کی دستاویزی تفصیلات صارف:Aafi/مباحث بند پر، اور متعاقب .css صفحہ صارف:Aafi/مباحث بند.css پر موجود ہیں۔ |
//<nowiki>
//Credits to Equazcion, Evad37, DannyS712, and Abelmoschus Esculentus
//Date: 6 Mar 2019
//Forked from [[User:Abelmoschus Esculentus/DiscussionCloser.js]
//Maintained by TheAafi
var DiscussionCloser_config = {
name: '[[صارف:TheAafi/مباحث بند|مباحث بند]]',
version: '1.7.3',
debug: false
};
var DiscussionCloser_ending = ' (' + DiscussionCloser_config.name + ' v.' + DiscussionCloser_config.version + ')';
/* HELPER FUNCTIONS */
function dc_make_bottom(template){
var bottom;
switch (template) {
case "atop":
case "atopr":
case "atopy":
case "atopg":
case "subst:RMT":
bottom = "abot";
break;
case "hat":
bottom = "hab";
break;
default:
bottom = "closed rfc bottom";
break;
}
bottom = "{{" + bottom + "}}";
return bottom;
}
function alreadyClosed ( content ){
content = content.toLowerCase();
if (content.includes('{{atop') ||
content.includes('{{hat') ||
content.includes('{{abot') ||
content.includes('{{archive') ||
content.includes('{{rfctop') ||
content.includes('{{rfc bottom') ||
content.includes('{{archive bottom') ||
content.includes('{{hidden archive bottom') ||
content.includes('<!-- template:rm top -->')
) return true;
return false;
}
function dc_radio(i) {
$('#DC-e').val("");
if (i == 1) {
$('#DC-e').prop('disabled', false);
}
if (i == 2) {
$('#DC-e').prop('disabled', true);
}
}
/* MAIN FUNCTIONs */
function dc_init(){
if ((($('#ca-addsection').length > 0) ||
(mw.config.get('wgPageName') == 'Wikipedia:Administrators\'_noticeboard/Edit_warring') ||
(mw.config.get('wgPageName') == 'ویکیپیڈیا:خبروں_میں/امیدوار')) ||
(mw.config.get('wgPageName') == 'ویکیپیڈیا:دیوان_عام_(حکمت_عملی)') ||
(mw.config.get('wgPageName') == 'ویکیپیڈیا:دیوان_عام_(متفرقات)') ||
(mw.config.get('wgAction') == 'view')) {
dc_run();
}
}
function dc_run() {
$('span.mw-headline').each(function(index, value){
var editSectionUrl = $(this).parent().find('.mw-editsection a:first').attr('href');
var sectionReg = /§ion=(.*)/;
var sectionRaw = sectionReg.exec(editSectionUrl);
if ((sectionRaw !== null) && (sectionRaw[1].indexOf('T') < 0)){
var section = parseInt(sectionRaw[1]);
var sectionLevel = false;
switch ($(this).parent().prop("tagName")) {
case 'H2':
sectionLevel = 'h2';
break;
case 'H3':
sectionLevel = 'h3';
break;
case 'H4':
sectionLevel = 'h4';
break;
default:
break;
}
if (sectionLevel && sectionLevel !== false) {
$(this).parent(sectionLevel).append(' <div style="font-size:.6em;font-weight:bold;float:right"> | <a id="' + section +
'" class="closeLink">' + 'بند کریں' + '</a></div>');
$(this).parent(sectionLevel).find('a.closeLink').click(function(){
$('body').prepend('<div id="DC-modal">'+
'<div id="DC-interface">'+
'<h4 id="DC-interface-header"></h4>'+
'<hr>'+
'<div id="DC-interface-content"></div>'+
'<hr>'+
'<div id="DC-interface-footer"></div>'+
'</div>'+
'</div>');
$("#DC-interface-header, #DC-interface-content, #DC-interface-footer").empty();
$("#DC-interface-header").text("مباحث بند");
$("#DC-interface-content").append(
$('<div class="DC-bottom">').append(
$('<label>').attr({'id':'DC-label'}).text('Options: '),
$('<input>').attr({'type':'radio', 'name':'DC-radio','id':'DC-radio1','value':'atop','checked':'true','onchange':'dc_radio(1)'}),
$('<label>').text('مطلق (نیلا) '),
$('<input>').attr({'type':'radio', 'name':'DC-radio','id':'DC-radio2','value':'atopg','onchange':'dc_radio(1)'}),
$('<label>').text('مطلق (سبز) '),
$('<input>').attr({'type':'radio', 'name':'DC-radio','id':'DC-radio3','value':'atopy','onchange':'dc_radio(1)'}),
$('<label>').text('مطلق (پیلا) '),
$('<input>').attr({'type':'radio', 'name':'DC-radio','id':'DC-radio4','value':'atopr','onchange':'dc_radio(1)'}),
$('<label>').text('مطلق (لال) '),
$('<input>').attr({'type':'radio', 'name':'DC-radio','id':'DC-radio5','value':'closed rfc top','onchange':'dc_radio(2)'}),
$('<label>').text('درخواست برائے تبصرہ '),
$('<input>').attr({'type':'radio', 'name':'DC-radio','id':'DC-radio6','value':'hat','onchange':'dc_radio(2)'}),
$('<label>').text('چھپی ہوئی وثق '),
$('<input>').attr({'type':'radio', 'name':'DC-radio','id':'DC-radio7','value':'subst:RMT','onchange':'dc_radio(2)'}),
$('<label>').text('درخواست شدہ منتقلی ')
),
$('<div class="DC-bottom">').append(
$('<label>').text('نتیچہ (آپشنل): '),
$('<input>').attr({'type':'text','name':'DC-e','id':'DC-e'})
),
$('<div class="DC-bottom">').append(
$('<label>').text('تبصرہ برائے بند:'),
$('<textarea>').css({'resize':'none'}).attr({'name':'DC-com','id':'DC-com','rows':'17','cols':'30'})
),
$('<div class="DC-bottom">').append(
$('<label>').text('خلاصہ ترمیم: اگر خالی چھوڑا گیا تو؛ گفتگو کو مقفل کیا جارہا ہے '),
$('<input>').attr({'type':'text','name':'DC-es','id':'DC-es'})
),
$('<div class="DC-bottom">').attr('id','DC-prevt'),
$('<div class="DC-bottom">').attr('id','DC-prevdiv'),
$('<button>').attr('id', 'DC-closeprev').text('نمائش بند کریں').hide()
);
$("#DC-interface-footer").append(
$('<button>').attr({'name':'DC-done', 'id':'DC-done'}).text('بحث بند کریں'),
$('<button>').attr({'name':'DC-prev', 'id':'DC-prev'}).text('نمائش'),
$('<button>').attr('id', 'DC-cancel').text('کینسل'),
$('<label>').attr('id','DC-loading').text(' نمائش لوڈ ہورہی ہے...').hide()
);
document.getElementById("DC-modal").addEventListener( "keydown", function ( key ) {
if( key.ctrlKey && ( key.keyCode == 10 || key.keyCode == 13 ) ) {
document.getElementById("DC-done").click();
}
else if ( key.keyCode == 27 ){
document.getElementById("DC-cancel").click();
}
});
$('#DC-cancel').click(function() {
$('#DC-modal').remove();
});
$('#DC-prev').click(function() {
$('#DC-loading').show();
var template = $("input[name=DC-radio]:checked").val();
var status = $('#DC-e').val();
var comment = $('#DC-com').val();
var request = {
action:"query",
titles: mw.config.get('wgPageName'),
rvsection: section,
prop: "revisions|info",
intoken: "edit",
rvprop: "content",
indexpageids: 1,
dataType: "xml",
format: "xml"
};
var bottom = dc_make_bottom( template );
$.get(mw.config.get("wgScriptPath")+"/api.php", request, function(response){
var contentSection = '\r\r' + $(response).find('rev').text();
var discussiontext = contentSection.substring(contentSection.substring(3,contentSection.length).indexOf('\n')+3, contentSection.length);
var title = contentSection.substring(2, contentSection.length - discussiontext.length);
var wikitext = title + '\n{{'+template+'\n| status = '+status+'\n| result = '+comment+'\n}}'+discussiontext+'\n'+bottom;
var sectiontitle = title.replace('==', '').replace('==', '').replace('\n', '').replace('/r','').trim();
var sectiontitle2 = sectiontitle.replace(/ /g, '_');
if (template === "closed rfc top") {
wikitext = wikitext.replace(/(\r|\n)?{{rfc[^\}]*}}/g, '')
.replace(/(\r|\n)?<!--\s\[\[User:DoNotArchiveUntil\]\][^->]*-->{{[^C]+ClueBot\sIII\/DoNotArchiveUntil\|\d*}}/g, '');
} else if (template === "subst:RMT"){
wikitext = wikitext.replace(/{{requested move\/dated\|[^}]*?}}\n?/i, '');
}
jQuery.ajax({
url:mw.util.wikiScript('api'),
dataType:'json',
type:'POST',
data:{
format:'json',
action:'parse',
pst:1,
text:wikitext,
title:mw.config.get('wgPageName'),
prop:'text'
}
}).done(function(r) {
if(!r.parse || !r.parse.text || !r.parse.text['*']){
alert('Error previewing.');
}
$('#DC-loading').hide();
$('#DC-prevt').html('<hr>نمائش:<br>');
$('#DC-prevdiv').html(r.parse.text['*']+'<br />').css({'display':'block','background-color':'white'});
$('#DC-closeprev').show();
$('#DC-closeprev').click(function() {
$('#DC-prevt').empty();
$('#DC-prevdiv').empty().css({'display':'','background-color':'','border-color':'',"border-width":"", "border-style":""});
$('#DC-closeprev').hide();
});
});
});
});
$('#DC-done').click(function() {
var template = $("input[name=DC-radio]:checked").val();
var status = $('#DC-e').val();
var editsummary = $('#DC-es').val();
if (editsummary === "") {
editsummary = "گفتگو کو مقفل کیا جارہا ہے";
}
var comment = $('#DC-com').val();
$('#DC-done').remove();
$('#DC-prev').remove();
$('#DC-cancel').remove();
$('#DC-interface-content').empty();
$("#DC-interface-content").text('معلومات اخذ کی جارہی ہیں...');
var request = {
action:"query",
titles: mw.config.get('wgPageName'),
rvsection: section,
prop: "revisions|info",
intoken: "edit",
rvprop: "content",
indexpageids: 1,
dataType: "xml",
format: "xml"
};
$("#DC-interface-content").append('<b>تکمیل!</b><br>گفتگو کو مقفل کیا جارہا ہے...');
var bottom = dc_make_bottom( template );
$.get(mw.config.get("wgScriptPath")+"/api.php", request, function(response){
var contentSection = '\r\r' + $(response).find('rev').text();
var discussiontext = contentSection.substring(contentSection.substring(3,contentSection.length).indexOf('\n')+3, contentSection.length);
var title = contentSection.substring(2, contentSection.length - discussiontext.length);
var wikitext = title + '\n{{'+template+'\n| status = '+status+'\n| result = '+comment+'\n}}\n\n'+discussiontext+'\n'+bottom;
var sectiontitle = title.replace(/=/g, '').replace('\n', '').replace('/r','').trim();
var sectiontitle2 = sectiontitle.replace(/ /g, '_');
if (template === "closed rfc top") {
wikitext = wikitext.replace(/(\r|\n)?{{rfc[^\}]*}}/g, '')
.replace(/(\r|\n)?<!--\s\[\[User:DoNotArchiveUntil\]\][^->]*-->{{[^C]+ClueBot\sIII\/DoNotArchiveUntil\|\d*}}/g, '');
} else if (template === "subst:RMT" ){
wikitext = wikitext.replace(/\n?{{requested move\/dated\|[^}]*?}}\n?\n?/i, '');
}
var request2 = {
action:"edit",
section: section,
title: mw.config.get('wgPageName'),
text: wikitext,
summary: '/* ' + sectiontitle + ' */ ' + editsummary + DiscussionCloser_ending,
token: mw.user.tokens.get("csrfToken")
};
var willClose = true;
if (alreadyClosed( contentSection )) {
willClose = confirm('یہ بحث شاید پہلے ہی بند کی گئی ہے۔ جاری رکھیں؟');
}
if (!willClose) {
$("#DC-interface-content").append('<b>صارف نے ایبارٹ کردیا</b><br><b>تکمیل شد!</b>');
$('#DC-interface-footer').append(
$('<button>').attr('id', 'DC-close').text('تکمیل')
);
$('#DC-close').click(function() {
$('#DC-modal').remove();
window.location.href = 'https://ur.wikipedia.org/wiki/'+mw.config.get('wgPageName')+'#'+sectiontitle2;
window.location.reload();
});
}
else {
$.when(
$.post(mw.config.get("wgScriptPath")+"/api.php", request2, function(response2){
}).done(function() {
$("#DC-interface-content").append('<b>Done!</b><br><b>تکمیل شد!</b>');
$('#DC-interface-footer').append(
$('<button>').attr('id', 'DC-close').text('Done')
);
$('#DC-close').click(function() {
$('#DC-modal').remove();
window.location.href = 'https://en.wikipedia.org/wiki/'+mw.config.get('wgPageName')+'#'+sectiontitle2;
window.location.reload();
});
}));
}
});
});
});
}
}
});
}
mw.loader.using(['mediawiki.util', 'mediawiki.api', 'mediawiki.Title'], function() {
mw.loader.load('//ur.wikipedia.org/w/index.php?title=User:TheAafi/مباحث_بند.css&action=raw&ctype=text/css', 'text/css'); // Import stylesheet
dc_init();
});
//</nowiki>