User:Edward Z. Yang/monobook.js

From Wikipedia, the free encyclopedia

If a message on your talk page led you here, please be wary of who left it. The code below could contain malicious content capable of compromising your account; if your account appears to be compromised, it will be blocked. If you are unsure whether the code is safe, you can ask at the appropriate village pump.
Note: After saving, you have to bypass your browser's cache to see the changes. In Internet Explorer and Firefox, hold down the Ctrl key and click the Refresh or Reload button. Opera users have to clear their caches through Tools→Preferences, see the instructions for Opera. Konqueror and Safari users can just click the Reload button.
/*<pre>*/
 
function editTopLink() {
  // if this is preview page or generated page, stop
  if(document.getElementById("wikiPreview") || window.location.href.indexOf("Special:") != -1) return;
 
  // get the page title
  var pageTitle = document.title.split(" - ")[0].replace(/ /, "_"); 
 
  // create div and set innerHTML to link
  var divContainer = document.createElement("div");
  divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-top:3px;">[<a href="/w/index.php?title='+encodeURIComponent(pageTitle)+'&amp;action=edit&amp;section=0" title="'+document.title.split(" - ")[0]+'">edit top</a>]</div>';
 
  // this is a hack so I can refer to the h1 by an id
  document.getElementsByTagName("h1")[0].id = "js_firstHeading";
  var theH1 = document.getElementById("js_firstHeading"); 
 
  // insert divContainer into the DOM before the h1
  document.getElementById("content").insertBefore(divContainer, theH1);
 
}
 
addOnloadHook(editTopLink);
 
//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;
}
 
function forceSummary()
{
    //modification of standard: do not allow any edits without summaries
    while(!document.forms.editform.wpSummary.value.replace(/^(?:\/\\*.*\\*\/)? *(.*) *$/,'$1'))
    {
        var r = prompt('Enter a summary:',document.forms.editform.wpSummary.value);
        if(r == null) { return false; }
        document.forms.editform.wpSummary.value = r;
    }
    return true;
}
 
addOnloadHook(addForceSummary);
 
document.write('<script type="text/javascript" src="' 
             + 'http://en.wikipedia.org/w/index.php?title=User:Zocky/SearchBox.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
/*</pre>*/