]> scripts.mit.edu Git - autoinstalls/wordpress.git/blob - wp-content/plugins/akismet/_inc/akismet.js
WordPress 4.3
[autoinstalls/wordpress.git] / wp-content / plugins / akismet / _inc / akismet.js
1 jQuery( function ( $ ) {
2         $( 'a.activate-option' ).click( function(){
3                 var link = $( this );
4                 if ( link.hasClass( 'clicked' ) ) {
5                         link.removeClass( 'clicked' );
6                 }
7                 else {
8                         link.addClass( 'clicked' );
9                 }
10                 $( '.toggle-have-key' ).slideToggle( 'slow', function() {});
11                 return false;
12         });
13         $('.akismet-status').each(function () {
14                 var thisId = $(this).attr('commentid');
15                 $(this).prependTo('#comment-' + thisId + ' .column-comment');
16         });
17         $('.akismet-user-comment-count').each(function () {
18                 var thisId = $(this).attr('commentid');
19                 $(this).insertAfter('#comment-' + thisId + ' .author strong:first').show();
20         });
21         $('#the-comment-list').find('tr.comment, tr[id ^= "comment-"]').find('.column-author a[title]').each(function () {
22                 // Comment author URLs are the only URL with a title attribute in the author column.
23                 var thisTitle = $(this).attr('title');
24
25                 var thisCommentId = $(this).parents('tr:first').attr('id').split("-");
26
27                 $(this).attr("id", "author_comment_url_"+ thisCommentId[1]);
28
29                 if (thisTitle) {
30                         $(this).after(
31                                 $( '<a href="#" class="remove_url">x</a>' )
32                                         .attr( 'commentid', thisCommentId[1] )
33                                         .attr( 'title', WPAkismet.strings['Remove this URL'] )
34                         );
35                 }
36         });
37         $('.remove_url').live('click', function () {
38                 var thisId = $(this).attr('commentid');
39                 var data = {
40                         action: 'comment_author_deurl',
41                         _wpnonce: WPAkismet.comment_author_url_nonce,
42                         id: thisId
43                 };
44                 $.ajax({
45                         url: ajaxurl,
46                         type: 'POST',
47                         data: data,
48                         beforeSend: function () {
49                                 // Removes "x" link
50                                 $("a[commentid='"+ thisId +"']").hide();
51                                 // Show temp status
52                                 $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Removing...'] ) );
53                         },
54                         success: function (response) {
55                                 if (response) {
56                                         // Show status/undo link
57                                         $("#author_comment_url_"+ thisId)
58                                                 .attr('cid', thisId)
59                                                 .addClass('akismet_undo_link_removal')
60                                                 .html(
61                                                         $( '<span/>' ).text( WPAkismet.strings['URL removed'] )
62                                                 )
63                                                 .append( ' ' )
64                                                 .append(
65                                                         $( '<span/>' )
66                                                                 .text( WPAkismet.strings['(undo)'] )
67                                                                 .addClass( 'akismet-span-link' )
68                                                 );
69                                 }
70                         }
71                 });
72
73                 return false;
74         });
75         $('.akismet_undo_link_removal').live('click', function () {
76                 var thisId = $(this).attr('cid');
77                 var thisUrl = $(this).attr('href');
78                 var data = {
79                         action: 'comment_author_reurl',
80                         _wpnonce: WPAkismet.comment_author_url_nonce,
81                         id: thisId,
82                         url: thisUrl
83                 };
84                 $.ajax({
85                         url: ajaxurl,
86                         type: 'POST',
87                         data: data,
88                         beforeSend: function () {
89                                 // Show temp status
90                                 $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Re-adding...'] ) );
91                         },
92                         success: function (response) {
93                                 if (response) {
94                                         // Add "x" link
95                                         $("a[commentid='"+ thisId +"']").show();
96                                         // Show link. Core strips leading http://, so let's do that too.
97                                         $("#author_comment_url_"+ thisId).removeClass('akismet_undo_link_removal').text( thisUrl.replace( /^http:\/\/(www\.)?/ig, '' ) );
98                                 }
99                         }
100                 });
101
102                 return false;
103         });
104         $('a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type').mouseover(function () {
105                 var wpcomProtocol = ( 'https:' === location.protocol ) ? 'https://' : 'http://';
106                 // Need to determine size of author column
107                 var thisParentWidth = $(this).parent().width();
108                 // It changes based on if there is a gravatar present
109                 thisParentWidth = ($(this).parent().find('.grav-hijack').length) ? thisParentWidth - 42 + 'px' : thisParentWidth + 'px';
110                 if ($(this).find('.mShot').length == 0 && !$(this).hasClass('akismet_undo_link_removal')) {
111                         var self = $( this );
112                         $('.widefat td').css('overflow', 'visible');
113                         $(this).css('position', 'relative');
114                         var thisHref = $.URLEncode( $(this).attr('href') );
115                         $(this).append('<div class="mShot mshot-container" style="left: '+thisParentWidth+'"><div class="mshot-arrow"></div><img src="//s0.wordpress.com/mshots/v1/'+thisHref+'?w=450" width="450" class="mshot-image" style="margin: 0;" /></div>');
116                         setTimeout(function () {
117                                 self.find( '.mshot-image' ).attr('src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=2');
118                         }, 6000);
119                         setTimeout(function () {
120                                 self.find( '.mshot-image' ).attr('src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=3');
121                         }, 12000);
122                 } else {
123                         $(this).find('.mShot').css('left', thisParentWidth).show();
124                 }
125         }).mouseout(function () {
126                 $(this).find('.mShot').hide();
127         });
128         $('.checkforspam:not(.button-disabled)').click( function(e) {
129                 $('.checkforspam:not(.button-disabled)').addClass('button-disabled');
130                 $('.checkforspam-spinner').addClass( 'spinner' );
131                 akismet_check_for_spam(0, 100);
132                 e.preventDefault();
133         });
134
135         function akismet_check_for_spam(offset, limit) {
136                 $.post(
137                         ajaxurl,
138                         {
139                                 'action': 'akismet_recheck_queue',
140                                 'offset': offset,
141                                 'limit': limit
142                         },
143                         function(result) {
144                                 if (result.processed < limit) {
145                                         window.location.reload();
146                                 }
147                                 else {
148                                         akismet_check_for_spam(offset + limit, limit);
149                                 }
150                         }
151                 );
152         }
153 });
154 // URL encode plugin
155 jQuery.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/;
156   while(x<c.length){var m=r.exec(c.substr(x));
157     if(m!=null && m.length>1 && m[1]!=''){o+=m[1];x+=m[1].length;
158     }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16);
159     o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;}
160 });