User:Fritz Saalfeld/monobook.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// 
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();
}

$(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();
}

$(orphan_FU_onload);
/* </nowiki></pre> */