Benutzer:BLueFiSH.as/JS/addtabs.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* =============================================================================================== */
/* die folgenden Funktionen fügen ein paar hilfreiche Tabs in die Tableiste über einer Seite hinzu */
/* gefunden bei [[en:User:Dbenbenn/monobook.js]] und mit eigenen Sachen erweitert                  */

var editlk;
var username;

if ( typeof IamAdmin == 'undefined' ) IamAdmin = false;

includePage('Benutzer:BLueFiSH.as/JS/commonsmover.js');

// Returns <li><a href="url">name</a></li>
function addlilink(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);
  return li;
}

// Gets the URL version of the page title.
function get_tidy_title()
{ editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href;
  // cut everything up to "title=" from the start and everything past "&action=edit" from the end
  editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit'));
  return editlk;
}

function get_username()
{ if ( wgCanonicalSpecialPageName == "Contributions" )
  { if ( docURL.indexOf('&target=') > 0 )
    { username = docURL.substr(docURL.indexOf('&target=')+8, docURL.length - docURL.indexOf('&target=')+8);
    }
    else
    { username = docURL.substr(docURL.indexOf('Beitr%C3%A4ge/')+14, docURL.length - docURL.indexOf('Beitr%C3%A4ge/')+14);
    }
  }
  else if (editlk)
  {  username = editlk.replace('Benutzer_Diskussion:','');
     username = editlk.replace('Benutzer:','');
  }
}

// Adds "userlog", "block" and "blocklog" tabs to User: and User talk: pages.
function add_user_tabs(tabs, editlk)
{ editlk = editlk.substring(editlk.indexOf(':') + 1);
  var slloc = editlk.indexOf('/');
  if (slloc > 0) editlk = editlk.substring(0, slloc);
  tabs.appendChild(addlilink(wplang+'Special:Blockip&ip=' + editlk, 'block'));
  tabs.appendChild(addlilink(wplang+'Special:Log&type=block&page=Benutzer:' + editlk, 'blocklog'));
  tabs.appendChild(addlilink(wplang+'Special:Log&user=' + editlk, 'userlog'));
  if (!isNaN(editlk.substr(0, 2))) tabs.appendChild(addlilink('http://whois.domaintools.com/' + editlk, 'WhoIs'));
}

// Adds "userlog", "block" and "blocklog" tabs to Special:Contributions
function add_contributions_tabs(tabs, username)
{ 
  if (!isNaN(username.substr(0, 2))) tabs.appendChild(addlilink(wpkurz+'Benutzer:' + username, 'Userpage'));
  if (!isNaN(username.substr(0, 2))) tabs.appendChild(addlilink('http://whois.domaintools.com/' + username, 'WhoIs'));
  tabs.appendChild(addlilink(wplang+'Spezial:Logbuch&type=upload&user='+username, 'Bilder'));
}

// Adds watchlist tabs to commons and en.wp to Special:Watchlist
function add_watchlist_tabs(tabs)
{
  //tabs.appendChild(addlilink(wplang+'Spezial:Beobachtungsliste&action=edit', 'bearbeiten'));
  //tabs.appendChild(addlilink(wplang+'Spezial:Beobachtungsliste&action=raw', 'im-/export'));
  tabs.appendChild(addlilink(commonslang+'Special:Watchlist&hideOwn=1', 'commons'));
  tabs.appendChild(addlilink(wpenkurz+'Special:Watchlist', 'en.wp'));
  tabs.appendChild(addlilink(wplang+'Spezial:Logbuch&type=delete&user=BLueFiSH.as', 'mylog'));
}

// Adds "pagelog" to other pages
function add_pagelog_tab(tabs)
{ tabs.appendChild(addlilink(wplang+'Special:Log&page=' + wgPageName, 'pagelog'));
}

function openInterwikiImage()
{ wpdomain = prompt('Sprachdomain?','');
  if (wpdomain != false) window.open('http://'+wpdomain+'.wikipedia.org/wiki/Image:' + wgTitle);
}

function add_image_tabs(tabs)
{ tabs.appendChild(addlilink(commonskurz+'Image:'+wgTitle, 'commons'));
  tabs.appendChild(addlilink('javascript:GetImageInfoAndOpenUploadpage();', 'C-UP'));
  tabs.appendChild(addlilink(wpenkurz+'Image:'+wgTitle, 'en'));
  tabs.appendChild(addlilink('javascript:openInterwikiImage();', 'lang..'));
  tabs.appendChild(addlilink('http://tools.wikimedia.de/~daniel/WikiSense/CheckUsage.php?i='+wgTitle +'&w=_160&m=&x=&go=Check+Usage&b=0', 'Usage'));
  add_pagelog_tab(tabs, wgPageName);
}

function addTabs()
{ var tabs = document.getElementById('column-one').getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
  get_username();
  if ( document.getElementById("ca-edit") )
  { var title = get_tidy_title();
    if ( wgCanonicalNamespace == "Image" )
      add_image_tabs(tabs);
    else if ( IamAdmin && (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") ) 
      {  add_user_tabs(tabs, title);
         add_pagelog_tab(tabs);
      }
    else add_pagelog_tab(tabs);
  }
  else if ( wgCanonicalSpecialPageName == "Contributions" )
    add_contributions_tabs(tabs, username);
  else if ( wgCanonicalSpecialPageName == "Watchlist" )
    add_watchlist_tabs(tabs);
}