User:Fritz Saalfeld/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.
// 
function addLink(where, url, name, id, title, key, after){
    //* where is the id of the toolbar where the button should be added;
    //   i.e. one of "p-cactions", "p-personal", "p-navigation", or "p-tb".
    //
    //* url is the URL which will be called when the button is clicked.
    //   javascript: urls can be used to do more complex things.
    //
    //* name is what will appear as the name of the button.
    //
    //* id is the id of the button; it's best to define one.  
    //   Use a prefix to make sure its unique. Optional.
    //
    //* title is the tooltip title that gives a longer description 
    //   of the button; if you define a accesskey, mention it here. Optional.
    //
    //* key is the char you want for the accesskey. Optional.
    //
    //* after is the id of the button you want to follow this one. Optional.
    //
    var na = document.createElement('a');
    na.href = url;
    na.appendChild(document.createTextNode(name));
    var li = document.createElement('li');
    if(id) li.id = id;
    li.appendChild(na);
    var tabs = document.getElementById(where).getElementsByTagName('ul')[0];
    if(after) {
	tabs.insertBefore(li,document.getElementById(after));
    } else {
	tabs.appendChild(li);
    }
    if(id) {
	if(key && title) { ta[id] = [key, title]; }
	else if(key) { ta[id] = [key, '']; }
	else if(title) { ta[id] = ['', title];} 
    }
    // re-render the title and accesskeys from existing code in wikibits.js
    akeytt();
    return li;
}
 
//
function getPname() {
  z=document.getElementById("content").childNodes;
  for (var n=0;n<z.length;n++) { 
    if (z[n].className=="firstHeading") {
      var text = z[n].textContent ? z[n].textContent : z[n].innerText;
      return text;
    }
  }
}
 
/* This code may be problematic when it comes to titles with ampersands, etc, which are stored as ''& amp ;'' in HTML (without the spaces).
  A solution that solves this is the following:
    return document.title.substr(0, document.title.lastIndexOf(' - Wikipedia, the free'));
*/
 
/**** quick image delete ****/
document.write('<script type="text/javascript"' +
  'src="http://en.wikipedia.org/w/index.php?title=User:Howcheng/quickimgdelete.js' +
  '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
/* This is to keep track of who is using this extension: [[User:Howcheng/quickimgdelete.js]] */
/* <pre><nowiki> */
// One-click Speedy deletion I7 tagging
speedyi7_text = "CSD I7: Bad Fair Use";
speedyi7_tooltip = "Tag this image for speedy deletion";
 
function speedy_i7() {
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  window.location = editlk + '&fakeaction=csdi7_tag';
}
function speedy_i7Tag() {
  var txt = '{{db-badfairuse}}';
  var oldtxt = document.editform.wpTextbox1.value;
  document.editform.wpTextbox1.value = txt + '\n' + oldtxt;
  document.editform.wpSummary.value = 'tagged for [[WP:CSD#I7|speedy deletion]] (CSD I7)';
  if (qid_autosave) document.editform.wpSave.click();
}
 
function speedyi7_onload() {
  var pname = getPname();
  if (pname.indexOf('Image:') == 0) {
    addLink('p-tb', 'javascript:speedy_i7()', speedyi7_text, 'nom-for-del', speedyi7_tooltip);
  }
  var fakeaction = getParamValue('fakeaction');
  if (fakeaction == 'csdi7_tag')
    speedy_i7Tag();
}
 
addOnloadHook(speedyi7_onload);
 
// One-click unused FU image tagging
orphan_FU_text = "Orphan (don't warn)";
orphan_FU_tooltip = "Tag this image as orphaned fair use";
 
function orphan_FU() {
  var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  window.location = editlk + '&fakeaction=orphan_FU_tag';
}
function orphan_FUTag() {
  var txt = '{{subst:orfud}}';
  var oldtxt = document.editform.wpTextbox1.value;
  document.editform.wpTextbox1.value = txt + '\n' + oldtxt;
  document.editform.wpSummary.value = 'This fair use image is not used in any articles and will be deleted in seven days if it remains so.';
  if (qid_autosave) document.editform.wpSave.click();
}
 
function orphan_FU_onload() {
  var pname = getPname();
  if (pname.indexOf('Image:') == 0) {
    addLink('p-tb', 'javascript:orphan_FU()', orphan_FU_text, 'nom-for-del', orphan_FU_tooltip);
  }
  var fakeaction = getParamValue('fakeaction');
  if (fakeaction == 'orphan_FU_tag')
    orphan_FUTag();
}
 
addOnloadHook(orphan_FU_onload);
/* </nowiki></pre> */