Benutzer:WWWIG/monobook.js: Unterschied zwischen den Versionen

Aus Watch-Wiki
Zur Navigation springen Zur Suche springen
(+ kat)
 
(128 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* ------------------------------------------------------------------ */
+
/* -- */
/* Farbliche Kennzeichnung von gesperrten Seiten (edit-Tab)          */
+
// my_vkdebug = true;
/* ------------------------------------------------------------------ */
 
  
var c_orange = '#FFA500';
+
importScript('MediaWiki:Gadget-CheckRCForm.js');
var c_indianred = '#CD5C5C';
+
importScript('MediaWiki:Gadget-CatGenRepairForm.js');
  
var c_col_autoconfirmed = c_orange;
+
if ( wgAction=="edit" &&
var c_col_sysop = c_indianred;
+
  ( wgNamespaceNumber==0 || wgNamespaceNumber==10 ) )
 +
addOnloadHook(function() {
 +
 +
  if ( t_Position = document.getElementById( 'firstHeading' ) ) {
 +
 +
      var t_NewElement = document.createElement('input');
 +
      t_NewElement.setAttribute( 'id', 'mw-new-element' );
 +
      t_NewElement.setAttribute( 'type', 'button' );
 +
      t_NewElement.setAttribute( 'onclick', 'do_new_action();' );
 +
 +
      t_Position.insertBefore( t_NewElement, t_Position.firstChild );
 +
      t_Position.insertBefore( document.createTextNode( ' ' ), t_Position.firstChild );
 +
  }
 +
});
  
addOnloadHook(function () {
+
function do_new_action() {
   var EditTabFarbe = '';
+
  if ( !document.getElementById( 'wpTextbox1' ) ) return;
   var RandBreite = 0;
+
  var t_Inhalt = document.getElementById( 'wpTextbox1' ).value;
 +
   var t_Template = '';
 +
   var t_Sprache = '';
 +
  if ( t_Inhalt.indexOf('{{Andere Sprachen|') != -1 ) {
 +
      t_Template = 'Andere Sprachen';
 +
      t_Sprache = 'de';
 +
  } else
 +
  if ( t_Inhalt.indexOf('{{andere Sprachen|') != -1 ) {
 +
      t_Template = 'andere Sprachen';
 +
      t_Sprache = 'de';
 +
  } else
 +
  if ( t_Inhalt.indexOf('{{другие языки|') != -1 ) {
 +
      t_Template = 'другие языки';
 +
      t_Sprache = 'ru';
 +
  } else
 +
  if ( t_Inhalt.indexOf('{{Andere talen|') != -1 ) {
 +
      t_Template = 'Andere talen';
 +
      t_Sprache = 'nl';
 +
  } else
 +
  if ( t_Inhalt.indexOf('{{andere talen|') != -1 ) {
 +
      t_Template = 'andere talen';
 +
      t_Sprache = 'nl';
 +
  } else
 +
  if ( t_Inhalt.indexOf('{{Other languages|') != -1 ) {
 +
      t_Template = 'Other languages';
 +
      t_Sprache = 'en';
 +
  } else
 +
  if ( t_Inhalt.indexOf('{{other languages|') != -1 ) {
 +
      t_Template = 'other languages';
 +
      t_Sprache = 'en';
 +
  } else
 +
  if ( t_Inhalt.indexOf('{{Andere Sprachen|') != -1 ) {
 +
      t_Template = 'Andere Sprachen';
 +
      t_Sprache = '';
 +
  } else {
 +
      alert( 'Vorlage nicht gefunden!' );
 +
      return;
 +
  }
  
   var EditTab = document.getElementById('ca-edit') ||
+
   if ( ( t_PositionStart = t_Inhalt.indexOf( '{{'+t_Template+'|' ) ) != -1 ) {
                document.getElementById('ca-viewsource');
+
      t_PositionEnd = t_Inhalt.indexOf('}}', t_PositionStart );
 +
      var t_Andere_Sprachen = t_Inhalt.slice( t_PositionStart, t_PositionEnd + 2 );
  
  if (EditTab)
+
       // alert( 't_Andere_Sprachen' + t_Andere_Sprachen );
    {
 
       var RestrictionEditVar = String(wgRestrictionEdit);
 
  
       if (RestrictionEditVar == 'autoconfirmed') EditTabFarbe = c_col_autoconfirmed; else
+
       t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen + '\r\n', '' );
       if (RestrictionEditVar == 'sysop') EditTabFarbe = c_col_sysop; else
+
      t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen + '\r', '' );
       if (wgCanonicalNamespace == 'MediaWiki') EditTabFarbe = c_col_sysop;
+
       t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen + '\n', '' );
 +
       t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen, '' );
  
       if (EditTabFarbe != '')
+
       t_Andere_Sprachen = t_Andere_Sprachen.replace( '}}', '' );
        {
+
      var t_Interwikis = t_Andere_Sprachen.split("|[[");
        EditTab.firstChild.style.backgroundColor = EditTabFarbe;
+
      var t_InterwikiAusgabe = '';
        }
 
    }
 
});
 
  
/* ------------------------------------------------------------------ */
+
      for ( var i = 1; i < t_Interwikis.length; i++ ) {
/* Anzeigen von (Bearbeiten)-Links in Suchseiten, Beobachtungslisten  */
+
          t_Interwikis[i] = t_Interwikis[i].replace( ']]', '' );
/* und Beitragslisten (Speziel:Contribution)                          */
+
          var t_Interwiki = t_Interwikis[i].split("|");
/* ------------------------------------------------------------------ */
+
          if ( t_Interwiki[1] && ( t_Interwiki[1] != t_Sprache || t_Interwiki[0] != wgTitle ) ) {
 +
            t_InterwikiAusgabe += '[[' + t_Interwiki[1] + ':' + t_Interwiki[0] + ']]\r\n';
 +
          }
 +
      }
 +
      t_Inhalt += t_InterwikiAusgabe;
 +
 
 +
      // alert( 'Go' + t_InterwikiAusgabe );
  
Do_addeditLinks = true;
+
      document.getElementById( 'wpTextbox1' ).value = t_Inhalt;
var Do_Debug = false;
 
  
function addeditLinks()
+
       document.editform.wpSummary.value = 'Vorlage '+t_Template+' in Interwikis getauscht';
  {
+
      document.editform.wpMinoredit.checked = true;
  if (!Do_addeditLinks) return;
+
      document.editform.submit();
 
+
  }
  var Browser = navigator.appName;
+
}
  if ( navigator.userAgent.indexOf('Opera') > 0 ) Browser = 'Opera';
 
  if ( navigator.userAgent.indexOf('MSIE 6.0') > 0 ) Browser = 'MSIE6';
 
 
 
  if (wgCanonicalSpecialPageName &&
 
      (wgCanonicalSpecialPageName == "Search" ||
 
        wgCanonicalSpecialPageName == "Contributions" ||
 
        wgCanonicalSpecialPageName == "Recentchanges" ||
 
        wgCanonicalSpecialPageName == "Watchlist"))
 
    {
 
       for (var i = 0; i < document.getElementsByTagName("A").length; i++)
 
        {
 
        Artikel = "";
 
        if (href = document.getElementsByTagName("A")[i].getAttribute("href"))
 
          {
 
            if ((href.indexOf("/wiki/") != -1) && (href.indexOf("Spezial:") == -1))
 
              {
 
              Artikel = href.split("/wiki/");
 
              Artikel = Artikel[1];
 
              }
 
            else
 
            if ((href.indexOf("title=") != -1) && (href.indexOf("&redirect=no") != -1))
 
              {
 
              /* z. B. Weiterleitungen */
 
              Artikel = href.split("title=");
 
              Artikel = Artikel[1].split("&redirect=no");
 
              Artikel = Artikel[0];
 
              }
 
            else
 
              {
 
              if ( Do_Debug && href + '' != '' )
 
                  alert('href ['+ href +']');
 
              }
 
 
 
            // if( Browser == 'Firefox' )
 
              Artikel = decodeURIComponent(Artikel); /* nötig für FF und IE 8.0 */
 
            if ( Browser == 'MSIE6' )
 
              Artikel = decode_utf8(Artikel); /* nötig für IE */
 
            Artikel = Artikel.replace(/_/g, " ");
 
            Artikel = Artikel.replace(/\&/g, "&amp;");
 
            Artikel = Artikel.replace(/\%26/g, "&amp;");
 
            Artikel = Artikel.replace(/\%22/g, '"');
 
          }
 
        if (( Artikel ) &&
 
            ( Artikel === document.getElementsByTagName("A")[i].innerHTML ) &&
 
            ( Artikel != "Hauptseite" ) )
 
          {
 
            var editLink = document.createElement("a");
 
            editLink.setAttribute('href', wgScriptPath + '/index.php?title=' +
 
                                          Artikel.replace(/\&amp;/g, "%26") + '&action=edit');
 
            editLink.setAttribute('title', 'Seite bearbeiten');
 
            var editLinkText = document.createTextNode('Bearbeiten');
 
            editLink.appendChild(editLinkText);
 
 
            document.getElementsByTagName("A")[i].parentNode.insertBefore(document.createTextNode('('),
 
                                                                          document.getElementsByTagName("A")[i]);
 
            document.getElementsByTagName("A")[i].parentNode.insertBefore(editLink,
 
                                                                          document.getElementsByTagName("A")[i]);
 
            i++;
 
            document.getElementsByTagName("A")[i].parentNode.insertBefore(document.createTextNode(') '),
 
                                                                          document.getElementsByTagName("A")[i]);
 
          }
 
        else
 
          {
 
            if ( Do_Debug )
 
              if ( Artikel + '' != '' )
 
                  alert('Artikel [' + Artikel + '] innerHTML [' + document.getElementsByTagName("A")[i].innerHTML + ']');
 
          }
 
        }
 
    }
 
  }
 
addOnloadHook(addeditLinks);
 

Aktuelle Version vom 17. August 2011, 07:54 Uhr

/* -- */
// my_vkdebug = true;

importScript('MediaWiki:Gadget-CheckRCForm.js');
importScript('MediaWiki:Gadget-CatGenRepairForm.js');

if ( wgAction=="edit" &&
   ( wgNamespaceNumber==0 || wgNamespaceNumber==10 ) )
addOnloadHook(function() {
 
   if ( t_Position = document.getElementById( 'firstHeading' ) ) {
 
      var t_NewElement = document.createElement('input');
      t_NewElement.setAttribute( 'id', 'mw-new-element' );
      t_NewElement.setAttribute( 'type', 'button' );
      t_NewElement.setAttribute( 'onclick', 'do_new_action();' );
 
      t_Position.insertBefore( t_NewElement, t_Position.firstChild );
      t_Position.insertBefore( document.createTextNode( ' ' ), t_Position.firstChild );
   }
});

function do_new_action() {
   if ( !document.getElementById( 'wpTextbox1' ) ) return;
   var t_Inhalt = document.getElementById( 'wpTextbox1' ).value;
   var t_Template = '';
   var t_Sprache = '';
   if ( t_Inhalt.indexOf('{{Andere Sprachen|') != -1 ) {
      t_Template = 'Andere Sprachen';
      t_Sprache = 'de';
   } else
   if ( t_Inhalt.indexOf('{{andere Sprachen|') != -1 ) {
      t_Template = 'andere Sprachen';
      t_Sprache = 'de';
   } else
   if ( t_Inhalt.indexOf('{{другие языки|') != -1 ) {
      t_Template = 'другие языки';
      t_Sprache = 'ru';
   } else
   if ( t_Inhalt.indexOf('{{Andere talen|') != -1 ) {
      t_Template = 'Andere talen';
      t_Sprache = 'nl';
   } else
   if ( t_Inhalt.indexOf('{{andere talen|') != -1 ) {
      t_Template = 'andere talen';
      t_Sprache = 'nl';
   } else
   if ( t_Inhalt.indexOf('{{Other languages|') != -1 ) {
      t_Template = 'Other languages';
      t_Sprache = 'en';
   } else
   if ( t_Inhalt.indexOf('{{other languages|') != -1 ) {
      t_Template = 'other languages';
      t_Sprache = 'en';
   } else
   if ( t_Inhalt.indexOf('{{Andere Sprachen|') != -1 ) {
      t_Template = 'Andere Sprachen';
      t_Sprache = '';
   } else {
      alert( 'Vorlage nicht gefunden!' );
      return;
   }

   if ( ( t_PositionStart = t_Inhalt.indexOf( '{{'+t_Template+'|' ) ) != -1 ) {
      t_PositionEnd = t_Inhalt.indexOf('}}', t_PositionStart );
      var t_Andere_Sprachen = t_Inhalt.slice( t_PositionStart, t_PositionEnd + 2 );

      // alert( 't_Andere_Sprachen' + t_Andere_Sprachen );

      t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen + '\r\n', '' );
      t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen + '\r', '' );
      t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen + '\n', '' );
      t_Inhalt = t_Inhalt.replace( t_Andere_Sprachen, '' );

      t_Andere_Sprachen = t_Andere_Sprachen.replace( '}}', '' );
      var t_Interwikis = t_Andere_Sprachen.split("|[[");
      var t_InterwikiAusgabe = '';

      for ( var i = 1; i < t_Interwikis.length; i++ ) {
          t_Interwikis[i] = t_Interwikis[i].replace( ']]', '' );
          var t_Interwiki = t_Interwikis[i].split("|");
          if ( t_Interwiki[1] && ( t_Interwiki[1] != t_Sprache || t_Interwiki[0] != wgTitle ) ) {
             t_InterwikiAusgabe += '[[' + t_Interwiki[1] + ':' + t_Interwiki[0] + ']]\r\n';
          }
      }
      t_Inhalt += t_InterwikiAusgabe;
  
      // alert( 'Go' + t_InterwikiAusgabe );

      document.getElementById( 'wpTextbox1' ).value = t_Inhalt;

      document.editform.wpSummary.value = 'Vorlage '+t_Template+' in Interwikis getauscht';
      document.editform.wpMinoredit.checked = true;
      document.editform.submit();
   }
}