User:Epicgenius/forceineditbox.js

Note: After saving, you have to bypass your browser's cache to see the changes. Internet Explorer: press Ctrl-F5, Mozilla: hold down Shift while clicking Reload (or press Ctrl-Shift-R), Opera/Konqueror: press F5, Safari: hold down Shift + Alt while clicking Reload, Chrome: hold down Shift while clicking Reload.
/*
// Force summary
// See https://en.wikipedia.org/wiki/Wikipedia:WikiProject_User_scripts/Scripts/Force_edit_summary
*/
 
function addForceSummary()
{
    if(!/&action=edit/.test(window.location.href) && !/&action=submit/.test(window.location.href)) return;
    if(/&section=new/.test(window.location.href)) return;
    if(!document.forms.editform) return;
    document.forms.editform.wpSave.onclick = forceSummary;
    // The second invocation of this will cause extra annoyance if there is no edit summary present. If there *is* an edit summary, the dialog box will not appear.
    document.forms.editform.wpSave.onfocus = forceSummary;
}
 
function forceSummary()
{
    if(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1'))
    {
        var r = prompt('Are you sure you want to submit without adding a summary?\nTo add a summary, type it in the box below:',document.forms.editform.wpSummary.value);
        if(r == null) { return false; }
        document.forms.editform.wpSummary.value = r;
    }
    return true;
}
 
$(addForceSummary);
 
/*
// Force preview, too
// https://en.wikipedia.org/wiki/User:X!/forcepreview.js
*/

function forcePreview() {
  if (mw.config.get('wgAction') == "edit")
{
  document.getElementById("wpSave").disabled=true;
  document.getElementById("wpSave").value = "Save (preview first)";
  document.getElementById("wpSave").style.fontWeight = "normal";
  document.getElementById("wpPreview").style.fontWeight = "bold";
}
}
 
$(forcePreview);