Widget:Helferleinaktivierer: Unterschied zwischen den Versionen

Aus Stupidedia, der sinnfreien Enzyklopädie!
Wechseln zu: Navigation, Suche
K (Für IPs ausblenden)
K (i.A.)
 
Zeile 25: Zeile 25:
 
<onlyinclude>
 
<onlyinclude>
 
<syntaxhighlight lang="html5">
 
<syntaxhighlight lang="html5">
<input type=button class="activate" value="<!--{$name|escape:'html'|default:'Helferlein'}-->" />
+
<input type=button class="activate" name="<!--{$name|escape:'html'|default:'Helferlein'}-->" helferlein="<!--{$helferlein|escape:'html'}-->" onclick="act($(this).attr('name'),$(this).attr('helferlein'));"  />
 
</syntaxhighlight>
 
</syntaxhighlight>
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
<script type="text/javascript">
 
<script type="text/javascript">
if( !mw.config.get('wgUserName') ){
+
if( !mw.config.get('wgUserName') )
  $('input.activate').hide();
+
  $( 'input.activate' ).hide();
}
+
act = function( n, h ){
var options = gPlb.options;
+
  var deactivated = ( mw.user.options.get( h ) !== '1' && mw.user.options.get( h ) !== 1 );
var helferlein = '<!--{$helferlein|escape:'javascript'}-->';
+
  var name = ( n !== 'Helferlein' ) ? n : 'Das ' + n;
if (mw.user.options.get(helferlein) !== '1' && mw.user.options.get(helferlein) !== 1) {
+
  var action = ( deactivated ) ? 'aktiviert!' : 'deaktiviert!';
    $('input.activate').val( $('input.activate').val() + ' aktivieren' );
+
  api.request({
    $('input.activate').click(function() {
 
        $.get('/api.php?action=tokens&type=options', function (optoken) {
 
        var opi = $( $( optoken ).text() ).find('tokens').attr('optionstoken');
 
        api.request({
 
 
               action: 'options',
 
               action: 'options',
               change: helferlein + '=1',
+
               optionname: h,
               token: opi
+
               optionvalue: ( deactivated ) ? '1' : '0',
        }, function (data){
+
               token: global.editToken
        if (data.error) {
 
          alert('Fehler. Code: ' + data.error.code + ', Info: ' + data.error.info + '.');
 
        }else{
 
          alert('Das Helferlein wurde aktiviert!');
 
          window.open(window.location.href, '_self');
 
        }
 
        });
 
        });
 
    });
 
  }else{
 
    $('input.activate').val( $('input.activate').val() + ' deaktivieren' );
 
    $('input.activate').click(function() {
 
        $.get('/api.php?action=tokens&type=options', function (optoken) {
 
        var opi = $( $( optoken ).text() ).find('tokens').attr('optionstoken');
 
        api.request({
 
              action: 'options',
 
              change: helferlein + '=0',
 
               token: opi
 
 
         }, function (data){
 
         }, function (data){
 
         if (data.error) {
 
         if (data.error) {
 
           alert('Fehler. Code: ' + data.error.code + ', Info: ' + data.error.info + '.');
 
           alert('Fehler. Code: ' + data.error.code + ', Info: ' + data.error.info + '.');
 
         }else{
 
         }else{
           alert("Das Helferlein wurde deaktiviert!");
+
           alert( name + ' wurde ' + action );
           window.open(window.location.href, '_self');
+
           window.location.href = window.location.href;
 
         }
 
         }
        });
+
  });
        });
+
};
    });
+
if( !done )
   }
+
  $( 'input.activate' ).each( function( i, button ){
 +
    var a = ( mw.user.options.get( button.getAttribute('helferlein') ) !== '1' && mw.user.options.get( button.getAttribute('helferlein') ) !== 1 ) ? ' aktivieren' : ' deaktivieren';
 +
    button.setAttribute( 'value', button.getAttribute('name') + a );
 +
   });
 +
var done = true;
 
</script>
 
</script>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</onlyinclude>
 
</onlyinclude>

Aktuelle Version vom 21. November 2014, 15:26 Uhr

Dieses Widget erzeugt einen Button, der auf Knopfdruck das angegebene Helferlein aktiviert/deaktiviert. Eingebunden wird es so: {{#Widget:Helferleinaktivierer|helferlein=Vordefiniert (siehe Liste)|name=Name des Helferleins (optional)}}


<input type=button class="activate" name="<!--{$name|escape:'html'|default:'Helferlein'}-->" helferlein="<!--{$helferlein|escape:'html'}-->" onclick="act($(this).attr('name'),$(this).attr('helferlein'));"  />
<script type="text/javascript">
if( !mw.config.get('wgUserName') )
   $( 'input.activate' ).hide();
act = function( n, h ){
   var deactivated = ( mw.user.options.get( h ) !== '1' && mw.user.options.get( h ) !== 1 );
   var name = ( n !== 'Helferlein' ) ? n : 'Das ' + n;
   var action = ( deactivated ) ? 'aktiviert!' : 'deaktiviert!';
   api.request({
              action: 'options',
              optionname: h,
              optionvalue: ( deactivated ) ? '1' : '0',
              token: global.editToken
        }, function (data){
        if (data.error) {
           alert('Fehler. Code: ' + data.error.code + ', Info: ' + data.error.info + '.');
        }else{
           alert( name + ' wurde ' + action );
           window.location.href = window.location.href;
        }
   });
};
if( !done )
  $( 'input.activate' ).each( function( i, button ){
     var a = ( mw.user.options.get( button.getAttribute('helferlein') ) !== '1' && mw.user.options.get( button.getAttribute('helferlein') ) !== 1 ) ? ' aktivieren' : ' deaktivieren';
     button.setAttribute( 'value', button.getAttribute('name') + a );
  });
var done = true;
</script>

Linktipps: Faditiva und 3DPresso