Jump to content

User:DESiegel/monobook.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by DESiegel (talk | contribs) at 01:05, 12 October 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
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.
// [[User:Lupin/popups.js]] - please include this line 

// document.write('<script type="text/javascript" src="' 
//              + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' 
//            + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

// popupAdminLinks=true;   // optional: enable admin links
// popupStructure='fancy'; // links in popup itself
// popupFixRedirs=true;
// popupFixDabs=true;


//function MODULE_NAME(){
//    MODULE_CODE;
//}

//if (window.addEventListener) window.addEventListener("load", MODULE_NAME, false);
//else if (window.attachEvent) window.attachEvent("onload", MODULE_NAME);

// 

// This will add an [edit top] link at the top of all pages except preview pages // by 


setTimeout("editTopLink()", 0) // this is equivalent of onload 
function editTopLink() {

   // if this is preview page or generated page, stop
  if(document.getElementById("wikiPreview") || window.location.href.indexOf("w/index.php?title=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='+pageTitle+'&action=edit&section=0" title="'+document.title.split(" - ")[0]+'">edit top</a>]</div>';

  // insert divContainer into the DOM before the h1
  document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]);

}

// //Add purge to tabs 
function addPurge(){

   ta['ca-purge'] = ['g', 'Purge the internal cache for this page'];
   var x = document.getElementById('ca-history');
   if(!x) return;
   if(x.children) x = x.children[0].href;
   else x = x.childNodes[0].href;
   addTab(x.replace(/=history/, "=purge"), 'purge', 'ca-purge');
   akeytt();
}

if (window.addEventListener) window.addEventListener("load", addPurge, false); else if (window.attachEvent) window.attachEvent("onload", addPurge);

//

//From http://en.wikipedia.org/w/index.php?title=User:JesseW/monobook.js&oldid=20755510
function addSinceTab() {
    var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
    if (window.location.href.indexOf("&action=history&gotosince=true")!=-1) {
       do_since_I_last_edited()
    }
    else if (!/wiki\/Special:|w\/index.php?title=Special:/.test(window.location.href)) {
       var thetitle=document.title.slice(0, String(document.title).indexOf(" - "));
       var l=addlilink(tabs, "/w/index.php?title="+thetitle+"&action=history&gotosince=true", 'since', '');
       l.lastChild.title="Changes since I last edited";
    }
}
function do_since_I_last_edited() {
        var csub=document.getElementById("contentSub");
        var msg=document.createElement("p");
        msg.appendChild(document.createTextNode
                        ("Parsing history... please wait..."));
        msg.className="error";
        csub.insertBefore(msg, csub.firstChild)

        var username=document.getElementById("pt-userpage").textContent;
        var hists=document.getElementById("pagehistory").childNodes;
        for (n=0;n<hists.length;n++) {
            if (hists[n].getElementsByTagName("span")[0].textContent==username) {
                document.location=hists[n].childNodes[1].href; 
                return;
            }
        }

        msg.replaceChild(document.createTextNode
                         ("You have not edited this page! (recently)"),
                         msg.firstChild);
}


if (window.addEventListener) window.addEventListener("load", addSinceTab, false);
else if (window.attachEvent) window.attachEvent("onload", addSinceTab);

// 


//Auto AFD script

//Please include the two following lines //Modified version of AutoVFD script to work with AFD //Script Modified by User:Jtkiefer


// This needs to change depending on skin used. function add_link(url, name) {

 var na = document.createElement('a');
 na.setAttribute('href', url);
 na.appendChild(document.createTextNode(name));
 var li = document.createElement('li');
 li.appendChild(na);
 var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
 tabs.appendChild(li);
}

function strip_namespace(target) {

 var colon = target.indexOf(':');
 if (colon != -1)
   {
     var spaces = new Array('User', 'Wikipedia', 'Image', 'MediaWiki', 'Template', 'Help', 'Category');
     var ns = target.substring(0, colon);
     if (ns ==  || ns == 'Talk')
       return target.substring(colon + 1);
     else
       for (var i = 0; i < spaces.length; ++i)
         {
           if (ns == spaces[i]
               || ns == spaces[i] + '_talk')
             return target.substring(colon + 1);
         }
   }
 return target;
}

function afd() {

 document.editform.wpTextbox1.value = '{{' + 'subst:afd}}\n' + document.editform.wpTextbox1.value;
 document.editform.wpSummary.value = 'afd';
 var target = document.editform.action;
 target = target.substring(target.indexOf('title=') + 6,
                           target.lastIndexOf('&action=submit'));
 var months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
 var date = new Date();
 date = date.getUTCFullYear() + '_' + months[date.getUTCMonth()] + '_' + date.getUTCDate();
 var pagename = strip_namespace(target);
 window.open('/w/index.php?title=Wikipedia:Articles_for_deletion/' + pagename + '&action=edit&fakeaction=afdsub&faketarget=' + target,
             'Afd ' + unescape(target),
             'status,toolbar,location,menubar,directories,resizeable,scrollbars');
 window.open('/w/index.php?title=Wikipedia:Articles_for_deletion/Log/' + date + '&action=edit&fakeaction=afdlist&faketarget=' + pagename,
             'AfdLog ' + unescape(target),
             'status,toolbar,location,menubar,directories,resizeable,scrollbars');
}

function autoafd() {

 if (document.title.indexOf('Editing ') == 0)
   {
     var action = ;
     var target = ;
     if (location.search)
       {
         var l = location.search.substring(1).split('&');
         for (var i = 0; i < l.length; ++i)
           {
             var eq = l[i].indexOf('=');
             var name = l[i].substring(0, eq);
             if (name == 'fakeaction')
               action = l[i].substring(eq + 1);
             else if (name == 'faketarget')
               target = unescape(l[i].substring(eq + 1)).replace(/_/g, ' ');
           }
       }
     if (action == 'afdlist')
       {
         document.editform.wpTextbox1.value += '{{' + 'Wikipedia:Articles for deletion/' + target + '}}\n';
         document.editform.wpSummary.value = '[[Wikipedia:Articles for deletion/' + target + ']]';
       }
     else if (action == 'afdsub')
       {
         if (document.editform.wpTextbox1.value.length > 0)
           {
             target = document.editform.action;
             target = unescape(target.substring(target.indexOf('title=') + 6, target.lastIndexOf('&action=submit'))).replace(/_/g, ' ');
             window.alert("There's an old afd at the default location already.\n\n" +
                          'Please either move it out of the way (and update existing links to it), or file the Afd by hand in another location (such as [[' + target + ' (2)]]).');
           }
         else
           document.editform.wpTextbox1.value += '===[[' + target + ']]===\n' +
             'Reason for nomination. ~~' + '~~\n*\n*\n*\n';
       }
     else
       add_link('javascript:afd()', 'Afd');
   }
}

if (window.addEventListener)

 window.addEventListener('load', autoafd, false);
else if (window.attachEvent)

 window.attachEvent('onload', autoafd);
Retrieved from "http://en.wikipedia.org/wiki/Wikipedia:WikiProject_User_scripts/Scripts/AutoAFD.js"


// **** Functions called by Modules ****

function addlilink(tabs, url, name, id, title, key){

   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);
   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 addTab(url, name, id, title, key){

   var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
   addlilink(tabs, url, name, id, title, key);
} //

Retrieved from "http://en.wikipedia.org/wiki/User:DESiegel/monobook.js/addons"