User:HW~zhwiki/friendly2.js

维基百科,自由的百科全书

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。

//<nowiki>
if (( wgAction == 'view' && skin == 'vector' )) {
  // Script depends on jQuery dialog widget
  mw.loader.using( 'jquery.ui', function() {
    // Construct object (to prevent namespace conflicts)
    friendly2 = {
 
      displayProgress: function( form, message ) {
        $('#'+form+' div').hide(); // remove everything else from the dialog box
        $('#'+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(); // remove everything else from the dialog box
        $('#'+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];
              friendly2.editToken = data.query.pages[pageid].edittoken;
            }
          }
        });
      },
 
      editPage: function( form, summary, template ) {
        $.ajax({
          url: wgScriptPath + '/api.php?',
          data: 'action=edit&title='+encodeURIComponent(mw.config.get('wgPageName'))+'&summary='+encodeURIComponent(summary)+'&text='+encodeURIComponent(template)+'&format=json&token='+encodeURIComponent(friendly2.editToken),
          dataType: 'json',
          type: 'POST',
          success: function( data ) {
            if ( data.edit.result == "Success" ) {
              window.location.reload();
            } else {
              friendly2.displayError( form, 'API錯誤' );
            }
          },
          error: function( xhr ) {
            friendly2.displayError( form, '編輯錯誤' );
            //console.debug( xhr.responseText );
          }
        });
      },
 

        // Open the dialog box
        interface.dialog('open');
        // Retrieve the edit token so it will be available when the form is submitted
        friendly2.getEditToken();
      },
 
      initialize: function() {
 
        // Function to make a list of images selectable
        $.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');
              })
            });
          });
        };
 
        // List of all available copyvios
 
        // Define copyvio interface
        $wlcopyvio = $('<div id="copyvioForm" style="position:relative;"></div>')
          .append( $('<div style="margin-top:0.4em;"></div>').html( '輸入侵權來源<br/>' ).append( $('<textarea name="message" id="copyvioMessage" style="width:99%" rows="4" cols="60"></textarea>') ) )
          .dialog({
            width: 500,
            autoOpen: false,
            title: '提交侵權',
            modal: true,
            buttons: { "提交侵權": function() { 
              $(this).dialog({buttons:{}});
              if ( typeof friendly2.editToken !== 'undefined' ) {
                // Perform edit to page
                friendly2.displayProgress( 'copyvioForm', '侵權提報中,請稍等' );
                var template = '{{copyvio|url='+$('#copyvioMessage').val() +' }}[[User:Waihorace|HW]] ([[User talk:Waihorace|討論]] - [[Special:用户贡献/Waihorace|貢獻]]) <small>[[User:HW/help|我非機械人]] - [[WP:DC8|DC8]]</small> 2011年4月10日 (日) 10:06 (UTC)';
                friendly2.editPage( 'copyvioForm', '侵權', template );
              } else {
                friendly2.displayError( 'copyvioForm', '無法完成編輯' );
              }
            }}
          });
 
        // Populate copyvio select list
        $.each( $copyvioList, function(index, value) { $('#copyvioSelect').append( $('<option></option>').val(value).html(value) ); });
 
        // Insert new tab into page
        var menuCopyvio = '<li id="wl-copyvio"><span><a onclick="friendly2.launchDialog( $wlcopyvio, true ); return false;" href="#">侵權</a></span></li>';
        var friendly2Menu = '<div class="vectorMenu" id="p-friendly2"><h5><span>Friendly2</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/b/bd/Silk_heart_icon.png);background-repeat:no-repeat;">&nbsp;</span></a></h5><div class="menu"><ul>'+menuCopyvio+'</ul></div></div>';
        $('#p-cactions').after(friendly2Menu);
 
      } // close initialize function
 
    } // close friendly2 object
    friendly2.initialize();
  }) // close mw.loader
} // close if
//</nowiki>