MediaWiki:Gadget-twinklerevdel.js
Not: Sayfayı kaydettikten sonra değişiklikleri görebilmek için tarayıcınızın önbelleğinizi temizlemeniz gerekir. Google Chrome, Firefox, Microsoft Edge ve Safari: ⇧ Shift tuşuna basılı tutun ve Yeniden Yükle araç çubuğu düğmesine tıklayın. Ayrıntılar ve diğer tarayıcılara yönelik yönergeler için Vikipedi:Önbelleğinizi atlayın sayfasını inceleyin.
// <nowiki>
(function($) {
if(typeof Twinkle === 'undefined') return;
/*
****************************************
*** twinklerevdel.js: Sürüm gizleme talebi iletme modülü
****************************************
* Çağırma modu: ("SGT") sekmesi
* Etkin olduğu yerler: Fark sayfaları
*/
Twinkle.revdel = function twinklerevdel() {
// Araç sadece değişiklik farklarında çalışmalı
if (!mw.config.get('wgDiffNewId') || !mw.config.get('wgDiffOldId')) {
return;
}
var title = 'Sürüm gizleme talebi oluştur';
var oldID = mw.config.get('wgDiffOldId');
var newID = mw.config.get('wgDiffNewId');
Twinkle.addPortletLink(function() {
Twinkle.revdel.callback(oldID, newID);
}, 'SGT', 'tw-revdel', title);
};
Twinkle.revdel.callback = function (oldID, newID) {
var Window = new Morebits.simpleWindow(600, 500);
Window.setTitle('Sürüm gizleme talebi oluştur');
Window.setScriptName('Twinkle');
Window.addFooterLink('Sürüm gizleme talepleri', 'VP:SGT');
Window.addFooterLink('Twinkle yardım', 'VT:TW');
var form = new Morebits.quickForm(Twinkle.revdel.callback.evaluate);
form.append({
type: 'input',
name: 'newID',
label: 'Gizlenmesi gereken revizyonun kimliği: ',
value: newID
});
form.append({
type: 'checkbox',
name: 'revdeltype',
list: [
{
label: 'Aleni kılınmamış kişisel bilginin çıkarılması',
value: 'kişisel bilgi'
},
{
label: 'Küfür ve hakaret içeren içerik',
value: 'küfür'
},
{
label: 'Potansiyel olarak iftira niteliği taşıyabilecek bilginin çıkarılması',
value: 'iftira',
},
{
label: 'Madde ile ilgisiz, topluluğu kışkırtmaya yönelik içerik',
value: 'kışkırtma',
},
{
label: 'Telif hakkı ihlâlinin çıkarılması',
value: 'telif',
}
]
});
form.append({
type: 'textarea',
name: 'comment',
label: 'Yorum: '
});
form.append({ type: 'submit' });
var result = form.render();
Window.setContent(result);
Window.display();
};
Twinkle.revdel.callback.evaluate = function(e) {
var form = e.target;
var comment = '';
var reason = form.getChecked('revdeltype');
if (form.comment) {
comment = form.comment.value;
}
var newID = form.newID.value;
reason = reason.map(function(v) {
switch (v) {
case 'kişisel bilgi':
return 'aleni kılınmamış kişisel bilginin yayımlanması';
case 'küfür':
return 'küfür ve hakaret içeren içerik';
case 'iftira':
return 'potansiyel olarak iftira niteliği taşıyabilecek bilgi';
case 'kışkırtma':
return 'madde ile ilgisiz, topluluğu kışkırtmaya yönelik içerik';
case 'telif':
return 'telif hakkı ihlâli';
default:
return 'bilinmeyen gerekçe';
}
});
if (reason.length <= 2) {
reason = reason.join(' ve ');
} else {
reason = [ reason.slice(0, -1).join(', '), reason.slice(-1) ].join(' ve ');
}
var diffLink = "[[Özel:Fark/" + newID + "]]";
var report = "{{kopyala:Vikipedi:Sürüm gizleme talepleri/Önyükleme-şablon |1= " + diffLink + " |2= " + reason + ". " + comment + "}}";
console.log(report)
Morebits.simpleWindow.setButtonsEnabled(false);
Morebits.status.init(form);
Morebits.wiki.actionCompleted.redirect = 'Vikipedi:Sürüm gizleme talepleri';
Morebits.wiki.actionCompleted.notice = 'Raporlama tamamlandı';
var repPage = new Morebits.wiki.page('Vikipedi:Sürüm gizleme talepleri', 'Sürüm gizleme talebi işleniyor');
repPage.setFollowRedirect(true);
repPage.load(function() {
var text = repPage.getPageText();
// check if something is missing
if (!reason || reason == undefined) {
repPage.getStatusElement().error('Bir gerekçe seçmediğiniz için talep iptal ediliyor.');
return;
}
if (!newID) {
repPage.getStatusElement().error('Revizyon kimliği eksik olduğu için talep iptal ediliyor.');
return;
}
repPage.getStatusElement().status('Yeni talep ekleniyor...');
repPage.setEditSummary(diffLink + ' raporlanıyor.');
repPage.setChangeTags(Twinkle.changeTags);
repPage.setPageText(text + '\n' + report);
repPage.save();
});
};
Twinkle.addInitCallback(Twinkle.revdel, 'revdel');
})(jQuery);
// </nowiki>