Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Bharatpedia Gadget: G13Notify (v1.0)
 * Adds "Notify page creator" checkbox to delete page.
 */
function g13NotifyInit() {
if (typeof mw === 'undefined' || !mw.config) return;
if (mw.config.get('wgAction') !== 'delete') return;
if (document.getElementById('g13notify-cb')) return;
var form = document.querySelector('form#deleteconfirm');
if (!form) return;
var cb = document.createElement('input');
cb.type = 'checkbox'; cb.id = 'g13notify-cb';
var lbl = document.createElement('label');
lbl.setAttribute('for', 'g13notify-cb');
lbl.appendChild(document.createTextNode(' Notify page creator with G13 undeletion info'));
var div = document.createElement('div');
div.setAttribute('style', 'margin:0.5em 0;padding:0.5em;border:2px solid blue;background:#eaf3fd;');
div.appendChild(cb); div.appendChild(lbl);
var btn = form.querySelector('button[name="wpConfirmB"]');
if (btn && btn.parentNode && btn.parentNode.parentNode) { btn.parentNode.parentNode.insertBefore(div, btn.parentNode); }
else { form.insertBefore(div, form.firstChild); }
var reason = form.querySelector('input[name="wpReason"]');
function autoCheck() { if (reason && /g13/i.test(reason.value)) cb.checked = true; }
if (reason) { reason.addEventListener('input', autoCheck); autoCheck(); }
form.addEventListener('submit', function (e) {
if (!cb.checked) return;
e.preventDefault(); e.stopImmediatePropagation();
var pageName = mw.config.get('wgPageName').replace(/_/g, ' ');
var reasonText = reason ? reason.value : '';
var api = new mw.Api();
api.get({action:'query',prop:'revisions',titles:pageName,rvprop:'user',rvlimit:1,rvdir:'newer',format:'json'}).then(function (data) {
var pages = data.query.pages;
var creator = pages[Object.keys(pages)[0]].revisions[0].user;
return api.postWithToken('csrf',{action:'delete',title:pageName,reason:reasonText}).then(function(){return creator;});
}).then(function (creator) {
return api.postWithToken('csrf',{action:'edit',title:'User talk:'+creator,appendtext:'\n\n{{'+'subst:Db-g13-deleted|'+creator+'|'+pageName+'}}',summary:'Notification: draft deleted under G13',minor:true});
}).then(function () {
window.location.href = mw.util.getUrl('Special:Log/delete',{page:pageName});
}).then(null, function(code){ alert('G13Notify error: '+code); });
}, true);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', g13NotifyInit);
} else {
g13NotifyInit();
}