Wikipedia:WikiProjekt Marxismus/monobook.js

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. Juni 2009 um 17:55 Uhr durch Tets (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.
// *************** SETUP Teil 1 **********************************
// Parameter für diese monobook.js (Quickbar, Module etc.)

var zeigeversion = false;        // monobook-Version anzeigen?
var zeigehilfe = false;          // kurze Hilfetexte beim überfahren mit der Maus anzeigen?
var qbnewpage = true;           // sollen Seiten aus dem QuickBar im neuen Fenster aufgerufen werden?
var rclimit = 500;              // angezeigte Anzahl auf "Letzte Änderungen"
var nplimit = 500;              // angezeigte Anzahl auf "Neue Artikel"
var nulimit = 1000;             // angezeigte Anzahl auf "Neuanmeldungs-Logbuch"
var nvlimit = 500;              // angezeigte Anzahl auf "Alte, gesichtete Seiten"
var usedropdown = false;        // Wenn keine Dropdowns gewünscht sind, hier false eintragen!
var timeout = 50000;            // 50 Sekunden auf das Neuladen der Seite warten
var timezoneshift = 0;          // Unterschied lokale Zeit zur Systemzeit (bleibt für Mitteleuropäer 0)
var debugme = false;            // Debug-Modus?
var qbfontsize = 100;            // Schriftgröße im QuickBar (relativ in Prozent)

// systemweite Default-Optionen aus MediaWiki:Monobook.js
NavigationBarShowDefault = 0;     // Navi-Leisten: alle einklappen == 0; alle ausklappen == 15 (z.B.)
var oldEditsectionLinks = false;  // "Bearbeiten"-Links bei Abschnitten ganz nach rechts?
var enable_linkFA = true;         // "Featured Articles" in fremdsprachigen Wikipedias markieren?

// 

 // Modul: hinweise.js
 var hinweis = true;             // Portal- und Redaktionshinweis verwenden?
 
 //  

// **************** SETUP Ende ***********************************

// (PDD: note to self: version auch in alert-Funktion ändern!)
var version  = '0.99a';

var user  = wgUserName;         // username wird automatisch übernommen

// aktuelle Zeit ermitteln
var jetzt = new Date();
// recalculate 4 furriners
var jetztfixed = jetzt.getTime();
jetztfixed += (timezoneshift * 3600 * 1000);
jetzt.setTime(jetztfixed);
// fill date variables
var Monate = new Array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var Monatekurz = new Array("", "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
var Jahr = jetzt.getYear();
if (Jahr < 999)  Jahr += 1900;
var Monat = jetzt.getMonth() + 1;
var Tag = jetzt.getDate();
var Stunde = jetzt.getHours();
var Minute = jetzt.getMinutes();
// fill WP date variables
var WPDatum = Tag + '._' + Monate[Monat] + '_' + Jahr;
var WPDatum2 = Jahr + '/' + Monate[Monat] + '/' + Tag;
var WPDatum3 = Monate[Monat] + ' ' + Jahr;
var WPDatum4 = Jahr + '-' + LeadingZero(Monat);
var WPDatum5 = Jahr + LeadingZero(Monat) + '/';
var refDatum = Tag + '. ' + Monatekurz[Monat] + '. ' + Jahr;
var refDatumlang = Tag + '. ' + Monate[Monat] + ' ' + Jahr;

// Lemma-Varianten (work in progress) + redundant zu addLogsLink etc.
// get page title
var pagetitle = wgPageName;
var spagetitle = wgTitle;
// do real spaces; fix for lemmas with '&'
var ptitle = pagetitle.replace(/_/g, " ").split('&').join('%26');
var sptitle = spagetitle.replace(/_/g, " ").split('&').join('%26');
// do + escaped (" " to "+")
var pesctitle = spaceEscape(ptitle);
var spesctitle = spaceEscape(sptitle);
// lemmatitle for external lookup
var spesctitlelookup = spesctitle.split('+(')[0];
// Komma-Lemma für Personen (Klammerzusätze weg etc.)
var personlemma = spagetitle.split(' (')[0];
var titlesplit = personlemma.split(' ');
if (titlesplit.length > 1) {
   personlemma = titlesplit[titlesplit.length-1] + ',';
   for (i=0; i<(titlesplit.length-1); i++)
       personlemma=personlemma + " "+titlesplit[i];
}

// get URL parameters (used for page type variables)
var UrlParameters = new Array ();
readparams();

function readparams() {
 var asReadInUrlParameters;
 var asReadInUrlParameter;

 // Get URL parameters
 asReadInUrlParameters = location.search.substring(1, location.search.length).split("&");
 for (i = 0; i < asReadInUrlParameters.length; i++) {
   asReadInUrlParameter = asReadInUrlParameters[i].split("=");
   UrlParameters[decodeURIComponent(asReadInUrlParameter[0])] = decodeURIComponent(asReadInUrlParameter[1]);
 }
}

// page type variables: namespaces
var isArticle       = (wgNamespaceNumber == 0);
var isArticleTalk   = (wgNamespaceNumber == 1);
var isDatei         = (wgCanonicalNamespace == "File");
var isCategory      = (wgCanonicalNamespace == "Category");
var isTemplate      = (wgCanonicalNamespace == "Template");
var isGeneric       = false;
if ((!isDatei) && (!isCategory) && (!isTemplate))
    isGeneric  = true;
var isProject       = (wgCanonicalNamespace == "Project"); /* NR Wikipedia: */
var isHelp          = (wgCanonicalNamespace == "Help");    /* NR Hilfe */

// page type variables: namespace == -1
var isSpecial  = (wgCanonicalNamespace == "Special");
var isRestore = (isSpecial && (wgCanonicalSpecialPageName == "Undelete"));
var isContrib = (isSpecial && (wgCanonicalSpecialPageName == "Contributions"));
var isDelContrib = (isSpecial && (wgCanonicalSpecialPageName == "DeletedContributions"));
var isWatchlist = (isSpecial && (wgCanonicalSpecialPageName == "Watchlist"));

// page type variables: namespace == -1
var isTalk = (!isSpecial && isOdd(wgNamespaceNumber));

// page type variables: other stuff
var isPHP     = (document.URL.indexOf('index.php') > 0);
var isDiff    = UrlParameters["diff"];
var isEdit    = ( (UrlParameters['action']=='edit')
               || (UrlParameters['action']=='submit') );
var isHistory = (UrlParameters['action']=='history');

// individual page specials
var isLKpage = false;
if ((isProject) && (wgTitle.indexOf('Löschkandidaten') != -1))
    isLKpage = true;

// userpage/name stuff, vor allem für IPs
var userPageOwner = "";
if (isContrib || isDelContrib)  {
  if (UrlParameters['target']) userPageOwner = UrlParameters['target'].split('+').join('_');
  else {
       userPageOwner = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
       userPageOwner = userPageOwner.substring(userPageOwner.indexOf("Beiträge/") + 9);
  }
}

// page type variables: user & user discussion lumped together
var isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
var isUserMainpage = false;
if (isUserpage)
   if (wgTitle == wgTitle.split("/")[0]) {
       isUserMainpage = true;
       userPageOwner = wgTitle;
   }

// handelt es sich um eine IP?
var isIPUser = false;
if (userPageOwner != "")
   if (userPageOwner.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) != null)
      if ((userPageOwner.split(".")[0] > 1) && (userPageOwner.split(".")[0] < 255))
         isIPUser = true;

// Admin & editor functions
var adminflag = false;
if (hasRight("sysop")) adminflag = true;

var editorflag = false;
if (hasRight("editor")) editorflag = true;

// Browserkram
var userbrowser = "Standard";
if (navigator.userAgent.indexOf("Opera") > -1)
    userbrowser = "Opera";
if (navigator.userAgent.indexOf("Safari") > -1)
    userbrowser = "Standard";
if (navigator.userAgent.indexOf("MSIE") > -1) {
    userbrowser = "IE";
    if (navigator.userAgent.indexOf("MSIE 7") > -1)
        userbrowser = "IE7";
}

// force Browserswitches
if ((userbrowser == "IE") || (userbrowser == "IE7")) {
    godmodelight = false;
    showredundantlinks = false;
}
if (userbrowser == "Opera") {
    godmodelight = false;
}

/*
 * ab hier wird der Quickbar (der Kasten oben links) zusammengebaut
 *
 * zuerst die allgemeinen Variablen (hier bitte nix ändern!)
 */

var Quickbar = '

';
// optional:  opacity:0.9;
var xxx      = ;

var trenner='
';
var br     ='
'; var qbtarget = '_self'; if (qbnewpage) qbtarget = '_blank'; var dropdown = usedropdown; var scrpt = ; var scrptn = 0; var indropdown; var ind; /* * Quickbar-Zusammenbau, Teil 1: * * zuerst die Reihenfolge der einzelnen Abschnitte: */ function buildQuickbar() { qbWPIntern(); // ab hier keine Dropdowns mehr closedropdown(); dropdown=false; } /* * Quickbar-Zusammenbau, Teil 2: * * die Belegung der einzelnen Abschnitte */ function qbWPIntern() { w (0,trenner,'Wikipedia',); // w (1,'/wiki/Hilfe:MediaWiki','MW',qbtarget,'MediaWiki-Hilfe'); // w (1,'/wiki/Wikipedia:Hilfe','RTFM',qbtarget,'Wikipedia-Hilfe'); // w (1,'/wiki/Hilfe:Textgestaltung','TG',qbtarget,'Hilfe zur Textgestaltung'); // w (1,'/wiki/Hilfe:Farben','FT',qbtarget,'Hilfe zur Farbgestaltung'); w (1,'/wiki/Wikipedia:Kurier','K',qbtarget,'Wikikurier - Das Wikipedia-Nachrichtenblatt'); w (1,'/wiki/Wikipedia:Fragen zur Wikipedia','FZW',qbtarget,'Fragen zur Wikipedia'); w (1,'/wiki/Wikipedia:Auskunft','A',qbtarget,'Auskunft'); // w (1,'/wiki/Wikipedia:Autorenportal','P',qbtarget,'Autorenportal'); w (1,'/wiki/Wikipedia:Projektneuheiten','NEU',qbtarget,'Projektneuheiten'); w (1,'/wiki/Wikipedia:Verbesserungsvorschläge','VV',qbtarget,'Verbesserungsvorschläge'); // w (1,'/wiki/Wikipedia:Tellerrand','TE',qbtarget,'Tellerrand'); w (1,'/wiki/Wikipedia:Administratoren/Anfragen','AAF',qbtarget,'Administratoren/Anfragen'); w (1,'/wiki/Wikipedia:Administratoren/Notizen','AN',qbtarget,'Administratoren/Notizen'); w (1,'/wiki/Wikipedia:Dritte_Meinung','3M',qbtarget,'Dritte Meinung'); // w (1,'/wiki/Wikipedia:Projektdiskussionen','PRD',qbtarget,'Projektdiskussionen'); w (1,'/wiki/Wikipedia:Kandidaturen','AK',qbtarget,'Adminkandidaturen'); w (1,'/wiki/Wikipedia:Schiedsgericht/Anfragen','SG/A',qbtarget,'Schiedsgericht/Anfragen'); w (1,'/wiki/Wikipedia:Checkuser/Anfragen','CU/A',qbtarget,'Checkuser/Anfragen'); // w (1,'/wiki/Wikipedia:Abkürzungen','ABK',qbtarget,'Abkürzungen'); } /* * hier wird der Quickbar in die Seite geschrieben * (ab hier bitte nichts ändern) */ buildQuickbar(); document.write(Quickbar); if (typeof(version) == 'undefined') var version = "?"; if (!isEdit || zeigeversion || isPHP) { document.write(
'
',
   (zeigeversion) ?
     ('<a href="#" onclick="amIuptodate()" title="Versionscheck">' + (adminflag ? 'A/' : ) + version + '</a>  ')
        : ,

   (!isEdit) ?
     ('<input type="checkbox" id="reloadme" name="reloadme" onchange="setReload()" title="Seite alle ' + (timeout/1000) + ' s neu laden?"></input>  ')
        : ' ',

     '<a href="/w/index.php?title=Spezial%3APrefixindex&prefix=',user,
         '&namespace=2" target="', qbtarget, '" title="Meine Seiten im Benutzernamensraum">',
         (user.split(' ')[0].length < 10) ? user.split(' ')[0] : 'MyPages',
     '</a>',

   (userbrowser != "Standard") ?
     ('  <a href="#" onclick="badBrowser()" title="Browser nicht unterstützt">'
             + userbrowser.charAt(0) + userbrowser.charAt(1) + '!</a>')
        : ,

'
');
}
document.write('
',xxx,'

');

if (scrpt > ) {
   document.write('<script> function _doopt (was) { switch (was) {', scrpt, '}}<\/script>');
   scrpt=;
}

//
// ab hier functions
//

function w (was,lurl,linktext,targt,title) {
 if (!title) title=linktext;
 if (!zeigehilfe) title=;
 if (!dropdown) {
  switch (was) {
   case 0 : xxx=xxx+lurl;break;
   case 1 : xxx=xxx+'<a href="'+lurl+'" target="'+targt+'" title="'+title+'">'+linktext+'</a>  ';break;
   case 2 : xxx=xxx+'<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a>  ';break;
   case 3 : xxx=xxx+'<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+linktext+'</a>  ';break;
   case 4 : xxx=xxx+'<a href="#" onclick="'+ lurl +'" title="'+title+'">'+linktext+'</a>  ';break;
  }
 } //if
 else //todo: Hilfe bei Dropdowns. Benutzt die überhaupt jemand????
 {
  var ltext='__________'.substr(1,ind)+linktext;
  switch (was) {
   case 0 : if (lurl==br) { xxx = xxx+'<option>'+linktext+'</option>';ind=2; }
            else
            if (lurl==trenner) newdropdown(linktext);
            break;
   case 1 : xxx=xxx+'<option value="1|'+lurl+'">'+ltext+'</option>';break;
   case 2 : xxx=xxx+'<option value="2|'+scrptn+'">'+ltext+'</option>';
            scrpt=scrpt+'case '+scrptn+':newtext('+lurl+');break;';scrptn++;break;
   case 3 : xxx=xxx+'<option value="3|'+scrptn+'">'+ltext+'</option>';
            scrpt=scrpt+'case '+scrptn+':insertTagsWrapper('+lurl+');break;';scrptn++;break;
   case 4 : xxx=xxx+'<option value="4|'+scrptn+'">'+ltext+'</option>';
            scrpt=scrpt+'case '+scrptn+':'+lurl+';break;';scrptn++;break;
  } //switch
 } //else
} //w

function dodropdown (aktion) {
 var zutun = aktion.split('|');
 var was = Number(zutun[0]);
 var wie = zutun[1];

 switch (was) {
  case 1 : window.open (wie); break;
  case 2 : _doopt (Number(wie)); break;
  case 3 : _doopt (Number(wie)); break;
  case 4 : _doopt (Number(wie)); break;
 } //switch
} //dodropdown

function newdropdown (oname) {
  closedropdown();
  xxx = xxx+'<select size=1 onchange="dodropdown(this.value);" style="width:135px;font-size:9px;">';
  if (oname > ) { xxx = xxx+'<option>'+oname+'</option>'; }
  indropdown = true;
  ind=2;
}

function closedropdown () {
 if (indropdown) xxx=xxx+'</select>';
 indropdown = false;
}

function newtext (subj,text,wo)
 {  //wo=1 : Text austauschen
    //wo=2 : Text am Ende anhängen
    //wo=3 : Text vorne Einfügen

  if (subj > "") {
     if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
     document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
  }

  switch (wo) {
      case 1 : document.editform.wpTextbox1.value=text+'\n'; break;
      case 2 : document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+'\n'+text;break;
      case 3 : document.editform.wpTextbox1.value=text+'\n'+document.editform.wpTextbox1.value;break;
  }
  document.editform.wpTextbox1.focus();
 }

function insertTagsWrapper(tagOpen, tagClose, sampleText, subj) {
  if (subj > "") {
     if (document.editform.wpSummary.value > "") document.editform.wpSummary.value += ", ";
     document.editform.wpSummary.value = document.editform.wpSummary.value + subj;
  }
  insertTags(untagEscape(tagOpen), untagEscape(tagClose), untagEscape(sampleText))
}

// ***** FOOT-Block *****
// </nowiki> <- nicht löschen!!!

// ausgelagerte obligatorische Funktionen
importJavascriptL('PDD/supportFuncs','de'); // Benutzer:PDD/supportFuncs.js
importJavascriptL('PDD/helperFunctions','de'); // Benutzer:PDD/helperFunctions.js
importJavascriptL('PDD/eintragen','de'); // Benutzer:PDD/eintragen.js
importJavascriptL('PDD/alertOnChanges','de'); // Benutzer:PDD/alertOnChanges.js

// obligatorisch nur für editpages
if (isEdit) {
   importJavascriptL('PDD/wpTextReplace','de'); // Benutzer:PDD/wpTextReplace.js
   importJavascriptL('BLueFiSH.as/JS/replaceQuoteSigns','de'); // Benutzer:BLueFiSH.as/JS/replaceQuoteSigns.js
   importJavascriptL('BLueFiSH.as/JS/markup','de'); // Benutzer:BLueFiSH.as/JS/markup.js
   importJavascriptL('PDD/convertEntities','de'); // Benutzer:PDD/convertEntities.js
   importJavascriptL('Euku/persDaten','de'); // Benutzer:Euku/persDaten.js
}

// Und hier ist die monobook.js zu Ende.