பயனர்:Shameermbm/wikilove.js

விக்கிநூல்கள் இலிருந்து

குறிப்பு - சேமித்த பின்னர், நீங்கள் செய்த மாற்றங்களைக் காண்பதற்கு உங்கள் உலவியின் இடைமாற்று அகற்றப்பட வேண்டும்.

  • மொஸில்லா பயர்பாக்ஸ் / சபாரி: Shift+Reload, அல்லது Ctrl-F5 அல்லது Ctrl-R (⌘-R Mac ல்)
  • கூகிள் குரோம் Ctrl-Shift-R அழுத்தவும். (⌘-Shift-R Mac ல்) ;
  • இண்டர்நெட் எக்ஸ்ப்ளோரர்: Ctrl-Refresh அல்லது Ctrl-F5 ஐ அழுத்தவும்.
  • ஒபேரா: Tools → Preferences இல் இடைமாற்றை அகற்றவும்;
//<nowiki>
if (( wgCanonicalNamespace == 'User_talk' && wgAction == 'view' && skin == 'vector' )) {
  // இந்த நிரல்வரி jQuery உரையாடல் பெட்டியைச் சார்ந்து உள்ளது
  mw.loader.using( 'jquery.ui', function() {
    // பெயர்வெளி வழுக்களைத் தடுக்க ஒரு பொருள் (Object) ஆக்கப்படுகிறது.
    wikiLove = {
 
      displayProgress: function( form, message ) {
        $('#'+form+' div').hide(); // உரையாடல் பெட்டியில் இருந்து பிற அனைத்தையும் நீக்கல்
        $('#'+form).append ( $('<div style="text-align:center;margin:3em 0;"></div>').html( message+'<br/><img src="http://upload.wikimedia.org/wikipedia/commons/4/42/Loading.gif" />' ) );
      },
 
      displayError: function( form, error ) {
        $('#'+form+' div').hide(); // உரையாடல் பெட்டியில் இருந்து பிற அனைத்தையும் நீக்கல்
        $('#'+form).append ( $('<div style="color:#990000;margin-top:0.4em;"></div>').html( 'Error: '+error ) );
      },
 
      getEditToken: function() {
        $.ajax({
          url: wgScriptPath + '/api.php?',
          data: 'action=query&prop=info&intoken=edit&titles=Main%20Page&indexpageids&format=json',
          dataType: 'json',
          success: function( data ) {
            if ( data.query.pages && data.query.pageids ) {
              var pageid = data.query.pageids[0];
              wikiLove.editToken = data.query.pages[pageid].edittoken;
            }
          }
        });
      },
 
      getEmailable: function() {
        // 'இப்பயனருக்கு மின்னஞ்சல் செய்' என்ற இணைப்பு உள்ளதா என்று சோதித்தல்
        wikiLove.emailable = $('#t-emailuser').length ? true : false;
      },
 
      editPage: function( form, summary, template ) {
        $.ajax({
          url: wgScriptPath + '/api.php?',
          data: 'action=edit&title='+encodeURIComponent(mw.config.get('wgPageName'))+'&section=new&summary='+encodeURIComponent(summary)+'&text='+encodeURIComponent(template)+'&format=json&token='+encodeURIComponent(wikiLove.editToken),
          dataType: 'json',
          type: 'POST',
          success: function( data ) {
            if ( data.edit.result == "Success" ) {
              window.location.reload();
            } else {
              wikiLove.displayError( form, 'Unknown result from API.' );
            }
          },
          error: function( xhr ) {
            wikiLove.displayError( form, 'தொகுத்தல் தோல்வியடைந்தது.' );
            //console.debug( xhr.responseText );
          }
        });
      },
 
      sendEmail: function( form, subject, text ) {
        $.ajax({
          url: wgScriptPath + '/api.php?',
          data: 'action=emailuser&target='+encodeURIComponent(wgTitle)+'&subject='+encodeURIComponent(subject)+'&text='+encodeURIComponent(text)+'&format=json&token='+encodeURIComponent(wikiLove.editToken),
          dataType: 'json',
          type: 'POST'
        });
      },
 
      launchDialog: function( interface, emailOption ) {
        // பயனர் மின்னஞ்சல் மூலம் அணுகத்தக்கவர் எனில், மின்னஞ்சல் சோதனைப் பெட்டியைக் காட்டுதல்.
        if ( emailOption && typeof wikiLove.emailable !== 'undefined' && wikiLove.emailable ) {
          if ( typeof interface.data('emailCheckboxAppended') == 'undefined' ) {
            interface.append( $('<div style="margin-top:0.4em;"></div>').html('<input type="checkbox" name="notify"/> பயனருக்கு மின்னஞ்சல் மூலம் தெரியப்படுத்தவும்') );
            interface.data('emailCheckboxAppended', true);
          }
        }
        // உரையாடல் பெட்டியைத் திறத்தல்
        interface.dialog('open');
        // படிவம் சமர்ப்பிக்கப்பட்டவுடன் தொகுத்தல் என்ற வில்லை கிடைக்ககூடியதாக இருக்க வேண்டி அது மீட்டெடுக்கப்படுகிறது. (Retrieve)
        wikiLove.getEditToken();
      },
 
      initialize: function() {
 
        // ஒரு பட்டியல் படிமங்களிலிருந்து தேர்ந்தெடுப்பதற்கானச் செயற்கூறு (Function)
        $.fn.selectItem = function() {
          return this.each(function() {
            var containerId = this.id;
            var customId = 0;
            $('#'+containerId+' img').css('border', '8px solid transparent');
            $('#'+containerId+' img').each(function() {
              if (this.id == '') {
                this.id = 'select_img_' + customId;
                customId++;
              }
              $('#'+this.id).click(function() {
                  $('#'+containerId+'Selected').val(this.title);
                  $('#'+containerId+' img').css('border', '8px solid transparent');
                  $('#'+this.id).css('border', '8px solid #AED0EA');
              })
            });
          });
        };
 
        // கிடைக்கக்கூடிய பதக்கங்கள்
        var $barnstarList = [
          'விக்கிப்புயல் பதக்கம்',
          'சிறந்த உழைப்பாளர் பதக்கம்',
          'விடாமுயற்சியாளர் பதக்கம்',
          'களைப்படையாப் பங்களிப்பாளர் பதக்கம்',         
          'விக்கிப்பதக்கத் தக்கவைப்பாளர் பதக்கம்',      
          'சிறப்புப் பதக்கம்',         
          'சிறந்த கூட்டுமுயற்சிப் பதக்கம்',         
          'மரியாதை மிக்கவர் பதக்கம்',        
          'அசத்தும் புதிய பயனர் பதக்கம்',     
          'முதற்பக்கக் கட்டுரைப் பங்களிப்புப் பதக்கம்', 
          'சிறந்த வழிகாட்டிப் பதக்கம்',
          'ஊக்குவிப்பாளர் பதக்கம்',
          'பயனர் பக்கப்பதக்கம்',
          'வார்ப்புரு ஆக்குனர் பதக்கம்',        
        ];
 
        // பதக்க இடைமுகப்பை வரையறுத்தல்
        $wlBarnstars = $('<div id="barnstarForm" style="position:relative;"></div>')
          .append( $('<div style="margin-top:0.4em;"></div>').html( 'பதக்கத்தைத் தெரிவு செய்யவும்: ' ).append( $('<select id="barnstarSelect" style="padding:1px;vertical-align:baseline;"></select>') ) )
          .append( $('<div style="margin-top:0.4em;"></div>').html( 'ஒரு செய்தியை உள்ளிடவும் (கையொப்பமின்றி):<br/>' ).append( $('<textarea name="message" id="barnstarMessage" style="width:99%" rows="4" cols="60"></textarea>') ) )
          .dialog({
            width: 500,
            autoOpen: false,
            title: 'ஒரு பதக்கத்தைத் தரவும்',
            modal: true,
            buttons: { "பதக்கத்தை அளிக்கவும்": function() { 
              $(this).dialog({buttons:{}});
              if ( typeof wikiLove.editToken !== 'undefined' ) {
                if ( $('#barnstarForm input[name="notify"]').attr('checked') ) {
                  // மின்னஞ்சல் அனுப்பவும்
                  wikiLove.sendEmail( 'barnstarForm', 'உங்களுக்கு ஒரு பதக்கம் தரப்பட்டுள்ளது!', 'வணக்கம் '+wgTitle+'!\n\nநான் உங்களுக்கு '+$('#barnstarSelect').val()+' என்ற பதக்கத்தைத் தங்களது தமிழ் விக்கிநூல்கள் பேச்சுப் பக்கத்தில் தந்துள்ளேன்! வாழ்த்துகள்.' );
                }
                // பக்கத்தில் தொகுத்தலை மேற்கொள்ளல்
                wikiLove.displayProgress( 'barnstarForm', 'பதக்கம் சேர்க்கப்பட்டுக் கொண்டிருக்கிறது...' );
                var template = '{{subst:'+$('#barnstarSelect').val()+'|'+$('#barnstarMessage').val() +' ~~~~}}';
                wikiLove.editPage( 'barnstarForm', 'பதக்கம்', template );
              } else {
                wikiLove.displayError( 'barnstarForm', 'தொகுத்தலைத் திரும்பப் பெற முடியவில்லை.' );
              }
            }}
          });
 
        // பதக்கத் தெரிவுப் பட்டியலைப் பரப்பவும்
        $.each( $barnstarList, function(index, value) { $('#barnstarSelect').append( $('<option></option>').val(value).html(value) ); });
 
 // List of all available foods
        var $foodList = [
          'brownie',
          'cookie',
          'cupcake',
          'pie',
          'plate of sausages'
        ];
 
        // Define food interface
        $wlFood = $('<div id="foodForm" style="position:relative;"></div>')
          .append( $('<div style="margin-top:0.4em;"></div>').html( 'Select food: ' ).append( $('<select id="foodSelect" style="padding:1px;vertical-align:baseline;"></select>') ) )
          .append( $('<div style="margin-top:0.4em;"></div>').html( 'Enter a personalized message (optional):<br/>' ).append( $('<textarea name="message" id="foodMessage" style="width:99%" rows="4" cols="60"></textarea>') ) )
          .dialog({
            width: 500,
            autoOpen: false,
            title: 'Give some food',
            modal: true,
            buttons: { "Give food": function() { 
              $(this).dialog({buttons:{}});
              if ( typeof wikiLove.editToken !== 'undefined' ) {
                $selectedFood = $('#foodSelect').val();
                // Perform edit to page
                wikiLove.displayProgress( 'foodForm', 'Adding '+$selectedFood+' to page...' );
                if ( $('#foodMessage').val() != '' ) {
                  var template = '{{subst:WikiLove-'+$selectedFood+'|'+$('#foodMessage').val()+'}}';
                } else {
                  var template = '{{subst:WikiLove-'+$selectedFood+'}}';
                }
                wikiLove.editPage( 'foodForm', 'A '+$selectedFood+' for you!', template );
              } else {
                wikiLove.displayError( 'foodForm', 'Could not retrieve edit token.' );
              }
            }}
          });
 
        // Populate food select list
        $.each( $foodList, function(index, value) { $('#foodSelect').append( $('<option></option>').val(value).html(value) ); });
 
        // Define kitten interface
        $wlKittens = $('<div id="kittenForm" style="position:relative;"></div>')
          .html( '<input type="hidden" id="kittenSelected" name="kittenSelected" value="Kitten-stare.jpg"/>' )
          .append( $('<div style="margin-top:0.4em;"></div>').html( 'Select which kitten you want to give:' ) )
          .append( $('<div style="margin-top:1em;text-align:center;" id="kitten"></div>')
            .html( '<img width="80" height="60" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/cc/Kitten-stare.jpg/80px-Kitten-stare.jpg" title="Kitten-stare.jpg" alt="Staring kitten"/><img width="80" height="60" src="http://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Cucciolo_gatto_Bibo.jpg/80px-Cucciolo_gatto_Bibo.jpg" title="Cucciolo_gatto_Bibo.jpg" alt="Kitten sticking tongue out"/><img width="80" height="60" src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Kitten_%2806%29_by_Ron.jpg/80px-Kitten_%2806%29_by_Ron.jpg" title="Kitten_(06)_by_Ron.jpg" alt="Attack kitten"/>' )
          )
          .dialog({
            width: 400,
            autoOpen: false,
            title: 'Give a kitten',
            modal: true,
            buttons: { "Give kitten": function() {
              $(this).dialog({buttons:{}});
              if ( typeof wikiLove.editToken !== 'undefined' ) {
                if ( $('#kittenForm input[name="notify"]').attr('checked') ) {
                  // Send email
                  wikiLove.sendEmail( 'kittenForm', 'You\'ve been given a kitten!', 'Hello '+wgTitle+'!\n\nI just left a kitten for you on your English Wikipedia talk page.' );
                }
                // Perform edit to page
                wikiLove.displayProgress( 'kittenForm', 'Adding kitten to page...' );
                var template = '{{subst:Kitten|image='+$('#kittenSelected').val()+'}}';
                wikiLove.editPage( 'kittenForm', 'A kitten for you!', template );
              } else {
                wikiLove.displayError( 'kittenForm', 'Could not retrieve edit token.' );
              }
            }}
          });
 
        // Apply special image selection interface for choosing kittens
        $('#kitten').selectItem();
 
 
 
        // பக்கத்தினும் புதிய தத்தலைச் செருகவும்
        var menuBarnstar = '<li id="wl-barnstar"><span><a onclick="wikiLove.launchDialog( $wlBarnstars, true ); return false;" href="#">பதக்கம்</a></span></li>';
        var menuFood = '<li id="wl-food"><span><a onclick="wikiLove.launchDialog( $wlFood, false ); return false;" href="#">Food</a></span></li>';
        var menuKitten = '<li id="wl-kitten"><span><a onclick="wikiLove.launchDialog( $wlKittens, false ); return false;" href="#">Kitten</a></span></li>';
        var wikiLoveMenu = '<div class="vectorMenu" id="p-wikilove"><h5><span>WikiLove</span><a href="#" style="padding:0 0.4em;width:auto;"><span style="display:inline-block;height:2.5em;width:16px;margin-right:14px;background-position:0 60%;background-image:url(http://upload.wikimedia.org/wikipedia/commons/d/d9/Heart.png);background-repeat:no-repeat;">&nbsp;</span></a></h5><div class="menu"><ul>'+menuBarnstar+menuFood+menuKitten+'</ul></div></div>';
        $('#p-cactions').after(wikiLoveMenu);
 
      } // தொடக்கமதிப்பளிப்புச் செயற்கூறை முடித்தல்
 
    } // விக்கியன்பு பொருளை முடித்தல்
    wikiLove.initialize();
    wikiLove.getEmailable();
  }) // mw.ஏற்றியை மூடல்
} // ifஐ மூடல்
//</nowiki>
"https://ta.wikibooks.org/w/index.php?title=பயனர்:Shameermbm/wikilove.js&oldid=17050" இலிருந்து மீள்விக்கப்பட்டது