User:Bdamokos/Extra-tabs.js

A Wikipédiából, a szabad lexikonból.

/*

Top of Javascript */

/* tooltips and access keys */ // ========================================================================== // BEGIN: MediaWiki interface button definition for Duesentrieb's image tools: // "Check usage", "User image gallery", "Orphaned images of user" and // "Untagged images of user". // If you are located at an "Image:" you get the "check usage" tab, if you // are at a "User:" page you get the "gallery", "orphans" and "untagged" tab. // If you are on other pages these tabs do not get shown. These functions are // enabled in Wikimedia Commons by default via Mediawiki:Monobook.js and // its local language subpages. // This script has been tested with Konqueror 3.5 and Firefox 1.5 and other // browsers including Opera and Internet Explorer have been reported to work // as well. If you enhance or change this template please test it previous to // editing here in your local monobook.js with as many as possible browsers // (in order not to clash with the function names here change in your local // monobook.js all "global_" to "local_"). // Be aware that the global JavaScripts do not get updated by the Wikimedia // servers that fast after saving them.

// written by Dbenbenn, Avatar, Duesentrieb and Arnomane

// Translations (variables for internationalisation and localisation):

// project var tab_project = 'hu.wikipedia.org';

// namespace names var tab_ns_image = 'K%C3%A9p:'; var tab_ns_imagetalk = 'K%C3%A9p_vita:'; var tab_ns_user = 'User:'; var tab_ns_usertalk = 'User_vita:'; var tab_ns_category = 'Kateg%C3%B3ria:'; var tab_ns_special = 'Speci%C3%A1lis:';

// Interface strings, get defined in the localised Mediawiki:Monobook.js/<ISO-Code>

var tab_check_usage = 'használat';
var tab_categorize = 'kategorizál';

var tab_log = 'log';

var tab_gallery = 'galéria';
var tab_orphans = 'árva';
var tab_untagged = 'nincsforrás';
var tab_tree = 'fa';
var tab_stubs = 'csonkok';
var tab_catscan = 'CatScan';

var tab_blocklog = 'Blocklog';

// Appends a new tab. function global_append_tab(url, name) {

 var na = document.createElement('a');
 na.setAttribute('href', url);  

 var txt = document.createTextNode(name);
 na.appendChild(txt);

 var li = document.createElement('li');
 li.appendChild(na);
 // Grab the element we want to append the tab and append the tab to it.
 var c1 = document.getElementById('column-one');
 var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
 tabs.appendChild(li);

}

// Gets the article lemma, with the namespace and with sub pages. function global_get_tidy_title() {

 // get the article link from the label 'ca-edit' out of the document text.
 var editlk = document.getElementById('ca-edit');
 // If a page is write protected (for that user, a sysop will always have 'ca-edit')
 // we need 'ca-viewsource' as 'ca-edit' does not exist there.
 if (editlk == null)
 {
   editlk = document.getElementById('ca-viewsource');
 }
 // editlk will still be null on a Special page.  Now we try the ca-article tab.
 if (editlk == null)
 {
   editlk = document.getElementById('ca-article');
 }
 editlk = editlk.getElementsByTagName('a')[0].href;
 // If we found the ca-edit or ca-viewsource tab, the link will have title=.
 // If we found the ca-article tab (on a Special page) it won't.
 if (editlk.indexOf('title=') >= 0)
 {
   // Cut everything up to "title=" from the start and everything past "&action=edit"
   // from the end.
   editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.indexOf('&'));
 }
 else
 {
   // Cut everything up to "/wiki/" from the start.
   editlk = editlk.substring(editlk.indexOf('/wiki/') + 6);
 }
 return editlk;

}

function global_add_image_tabs(imagetitle) {

 imagetitle = imagetitle.substring(imagetitle.indexOf(':') + 1); // strip off "Image:" namespace
 global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/CheckUsage.php?i=' + imagetitle + '&w=_100000', tab_check_usage);
 global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/CommonSense.php?i=' + imagetitle + '&go-clean=yes' , tab_categorize);
 global_append_tab('/w/index.php?title=' + tab_ns_special + 'Log&page=' + tab_ns_image + imagetitle, tab_log);
 // Add an "unthumb" link.  For Image:123px-Foo, links to Image:Foo.
 if (imagetitle.match(/^\d+px-/)) {
   imagetitle = imagetitle.substring(imagetitle.indexOf("px-") + 3);
   global_append_tab('/wiki/Image:' + imagetitle, 'unthumb');
 }

}

function global_add_user_tabs(username) {

 username = username.substring(username.indexOf(':') + 1); // strip off namespaces like "User:"
 username = username.replace(/\/.*$/, ); //removing subpages from the link
 global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/Gallery.php?&wiki=' + tab_project + '&img_user_text=' + username , tab_gallery);
/* nieużywane
global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/OrphanImages.php?wiki=' + tab_project + '&img_user_text=' + username , tab_orphans);
*/

global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/UntaggedImages.php?wiki=' + tab_project + '&img_user_text=' + username , tab_untagged); }

function global_add_category_tabs(category) {

 category = category.substring(category.indexOf(':') + 1); // strip off "Category:" namespace
 global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/CategoryTree.php?wiki=' + tab_project + '&cat=' + category , tab_tree);
 global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/CategoryIntersect.php?wiki=' + tab_project + '&basecat=' + category , tab_catscan);
 global_append_tab('http://tools.wikimedia.de/~daniel/WikiSense/CategoryIntersect.php?basecat=' + category + '&basedeep=2&mode=ts&templates=stub&go=Skanuj&userlang=pl&wikilang=pl&wikifam=.wikipedia.org' , tab_stubs);

}

// On Special:Contributions, we add the user tabs just like for a user page. // On Special:Blockip, we add a blocklog tab. function global_add_special_tabs(title) {

 if (title.indexOf(tab_ns_special + 'Blockip') == 0)
 {
   var username = document.getElementsByName('wpBlockAddress')[0].defaultValue;
   if (username != )
   {
     global_append_tab('/w/index.php?title=' + tab_ns_special + 'Log&type=block&page=' + tab_ns_user + username, tab_blocklog);
   }
 }
 else if (title.indexOf(tab_ns_special + 'Contributions') == 0)
 {
   var username = document.getElementById('contentSub').getElementsByTagName('a')[0].firstChild.nodeValue;
   global_add_user_tabs(tab_ns_user + username);
 }

}

function global_do_onload() {

   // extract the namespace
   var title = global_get_tidy_title();
   if (title.indexOf(tab_ns_image) == 0 || title.indexOf(tab_ns_imagetalk) == 0)
   {
     global_add_image_tabs(title);
   }
   else if (title.indexOf(tab_ns_user) == 0 || title.indexOf(tab_ns_usertalk) == 0)
   {
     global_add_user_tabs(title);
   }
   else if (title.indexOf(tab_ns_category) == 0)
   {
     global_add_category_tabs(title);
   }
   else if (title.indexOf(tab_ns_special) == 0)
   {
     global_add_special_tabs(title);
   }

}

if (window.addEventListener)

 window.addEventListener("load", global_do_onload, false);

else if (window.attachEvent)

 window.attachEvent("onload", global_do_onload);

// END: MediaWiki interface button definition for Duesentrieb's image tools. // ======================================================================== /* Bottom of Javascript

  • /