diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 07:56:49 +0000 |
commit | a415c29efee45520ae252d2aa28f1083a521cd7b (patch) | |
tree | f4ade4b6668ecc0765de7e1424f7c1427ad433ff /wp-content/plugins/akismet/_inc | |
parent | Initial commit. (diff) | |
download | wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.tar.xz wordpress-a415c29efee45520ae252d2aa28f1083a521cd7b.zip |
Adding upstream version 6.4.3+dfsg1.upstream/6.4.3+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-content/plugins/akismet/_inc')
-rw-r--r-- | wp-content/plugins/akismet/_inc/akismet-admin.css | 378 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/akismet-admin.js | 7 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/akismet-frontend.js | 376 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/akismet.css | 648 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/akismet.js | 421 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/fonts/inter.css | 67 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/img/akismet-refresh-logo.svg | 1 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/img/akismet-refresh-logo@2x.png | bin | 0 -> 2783 bytes | |||
-rw-r--r-- | wp-content/plugins/akismet/_inc/img/arrow-left.svg | 1 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/img/icon-external.svg | 1 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/img/logo-a-2x.png | bin | 0 -> 904 bytes | |||
-rw-r--r-- | wp-content/plugins/akismet/_inc/img/logo-full-2x.png | bin | 0 -> 5052 bytes | |||
-rw-r--r-- | wp-content/plugins/akismet/_inc/rtl/akismet-admin-rtl.css | 380 | ||||
-rw-r--r-- | wp-content/plugins/akismet/_inc/rtl/akismet-rtl.css | 649 |
14 files changed, 2929 insertions, 0 deletions
diff --git a/wp-content/plugins/akismet/_inc/akismet-admin.css b/wp-content/plugins/akismet/_inc/akismet-admin.css new file mode 100644 index 0000000..27d2f89 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/akismet-admin.css @@ -0,0 +1,378 @@ +#akismet-plugin-container { + background-color: var(--akismet-color-light-grey); + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; + --akismet-color-charcoal: #272635; + --akismet-color-light-grey: #f6f7f7; + --akismet-color-mid-grey: #a7aaad; + --akismet-color-dark-grey: #646970; + --akismet-color-grey-80: #2c3338; + --akismet-color-grey-100: #101517; + --akismet-color-white: #fff; + --akismet-color-mid-green: #357b49; + --akismet-color-mid-red: #e82c3f; + --akismet-color-light-blue: #256eff; + --akismet-color-notice-light-green: #dbf0e1; + --akismet-color-notice-dark-green: #69bf82; + --akismet-color-notice-light-red: #ffdbde; + --akismet-color-notice-dark-red: #ff6676; +} + +#akismet-plugin-container a { + color: var(--akismet-color-mid-green); +} + +#akismet-plugin-container button:focus-visible, +#akismet-plugin-container input:focus-visible { + border: 0; + box-shadow: none; + outline: 2px solid var(--akismet-color-light-blue); +} + +.akismet-masthead { + box-shadow: none; +} + +.akismet-masthead__logo { + margin: 20px 0; +} + +.akismet-section-header { + box-shadow: none; + margin-bottom: 0; +} + +.akismet-section-header__label { + color: var(--akismet-color-charcoal); + font-weight: 600; +} + +.akismet-button, .akismet-button:hover { + background-color: var(--akismet-color-mid-green); + border: 0; + color: #fff; +} + +/* Need this specificity to override the existing header rule */ +.akismet-new-snapshot h3.akismet-new-snapshot__header { + background: none; + font-size: 13px; + color: var(--akismet-color-charcoal); + text-align: left; + text-transform: none; +} + +.akismet-new-snapshot .akismet-new-snapshot__number { + color: var(--akismet-color-charcoal); + letter-spacing: -1px; + text-align: left; +} + +.akismet-new-snapshot li.akismet-new-snapshot__item { + color: var(--akismet-color-dark-grey); + font-size: 13px; + text-align: left; + text-transform: none; +} + +.akismet-masthead__logo-link { + min-height: 50px; +} + +.akismet-masthead__back-link-container { + margin-top: 16px; + margin-bottom: 2px; +} + +/* Need this specificity to override the existing link rule */ +#akismet-plugin-container a.akismet-masthead__back-link { + background-image: url(img/arrow-left.svg); + background-position: left; + background-repeat: no-repeat; + background-size: 16px; + color: var(--akismet-color-charcoal); + font-weight: 400; + padding-left: 20px; + text-decoration: none; +} + +#akismet-plugin-container a.akismet-masthead__back-link:hover { + text-decoration: underline; +} + +.akismet-new-snapshot__item { + border-top: 1px solid var(--akismet-color-light-grey); + border-left: 1px solid var(--akismet-color-light-grey); + padding: 1em; +} + +.akismet-new-snapshot li:first-child { + border-left: none; +} + +.akismet-new-snapshot__list { + display: flex; + margin-bottom: 0; +} + +.akismet-new-snapshot__item { + flex: 1 0 33.33%; + margin-bottom: 0; + padding-left: 1.5em; + padding-right: 1.5em; +} + +.akismet-new-snapshot__chart { + padding: 1em; +} + +.akismet-box { + border: 0; +} + +.akismet-box, +.akismet-card { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 0 2px rgba(0, 0, 0, 0.16); + border-radius: 8px; + overflow: hidden; +} + +.akismet-card { + margin: 32px auto 0 auto; +} + +.akismet-lower { + padding-top: 0; +} + +.akismet-lower .inside { + padding: 0; +} + +.akismet-section-header__label { + margin: 0; +} + +.akismet-settings__row { + border-bottom: 1px solid var(--akismet-color-light-grey); + display: block; + padding: 1em 1.5em; +} + +.akismet-settings__row-input { + margin-left: auto; +} + +.akismet-settings__row-title { + font-weight: 500; + font-size: 1em; + margin: 0; + margin-bottom: 1em; +} + +.akismet-settings__row-description { + margin-top: 0.5em; +} + +.akismet-card-actions { + display: flex; + justify-content: flex-end; + padding: 1em; +} + +.akismet-card-actions__secondary-action { + align-self: center; + margin-right: auto; +} + +.akismet-card-actions__secondary-action a[target="_blank"]::after { + background: url('img/icon-external.svg') no-repeat; + background-size: contain; + content: ""; + display: inline-block; + height: 16px; + margin-left: 5px; + vertical-align: middle; + width: 16px; +} + +.akismet-settings__row label { + padding-bottom: 1em; +} + +.akismet-settings__row-note { + font-size: 0.9em; + margin-top: 0.4em; +} + +.akismet-settings__row input[type="checkbox"], +.akismet-settings__row input[type="radio"] { + accent-color: var(--akismet-color-mid-green); + box-shadow: none; + flex-shrink: 0; + margin: 2px 0 0 0; +} + +.akismet-settings__row input[type="checkbox"] { + margin-top: 1px; + vertical-align: top; + -webkit-appearance: checkbox; +} + +.akismet-settings__row input[type="radio"] { + -webkit-appearance: radio; +} + +/* Fix up misbehaving wp-admin styles in Chrome (from forms and colors stylesheets) */ +.akismet-settings__row input[type="checkbox"]:checked:before { + content: ''; +} + +.akismet-settings__row input[type="radio"]:checked:before { + background: none; +} + +.akismet-settings__row input[type="checkbox"]:checked:hover, +.akismet-settings__row input[type="radio"]:checked:hover { + accent-color: var(--akismet-color-mid-green); +} + +.akismet-button:disabled { + background-color: var(--akismet-color-mid-grey); + color: var(--akismet-color-white); + cursor: arrow; +} + +.akismet-awaiting-stats, +.akismet-account { + padding: 0 1rem 1rem 1rem; + margin: 0; +} + +.akismet-account { + padding-bottom: 0; +} + +.akismet-account th { + font-weight: 500; + padding-right: 1em; +} + +.akismet-account th, .akismet-account td { + padding-bottom: 1em; +} + +.akismet-settings__row-input-label { + align-items: center; + display: flex; +} + +.akismet-settings__row-label-text { + padding-left: 0.5em; + margin-top: 2px; +} + +.akismet-alert { + border-left: 8px solid; + border-radius: 8px; + margin: 20px 0; + padding: 0.2em 1em; +} + +.akismet-alert__heading { + font-size: 1em; +} + +.akismet-alert.is-good { + background-color: var(--akismet-color-notice-light-green); + border-left-color: var(--akismet-color-notice-dark-green); +} + +.akismet-alert.is-neutral { + background-color: var(--akismet-color-white); + border-left-color: var(--akismet-color-dark-grey); +} + +.akismet-alert.is-bad { + background-color: var(--akismet-color-notice-light-red); + border-left-color: var(--akismet-color-notice-dark-red); +} + +#akismet-plugin-container .akismet-alert.is-good a, +#akismet-plugin-container .akismet-alert.is-bad a { + /* For better contrast - green isn't great */ + color: var(--akismet-color-grey-80); +} + +/* Setup - API key input */ +.akismet-enter-api-key-box { + margin: 1.5rem 0; +} + +.akismet-enter-api-key-box__reveal { + background: none; + border: 0; + color: var(--akismet-color-mid-green); + cursor: pointer; + text-decoration: underline; +} + +.akismet-enter-api-key-box__form-wrapper { + display: none; + margin-top: 1.5rem; +} + +.akismet-enter-api-key-box__input-wrapper { + box-sizing: border-box; + display: flex; + flex-wrap: nowrap; + padding: 0 1.5rem; + width: 100%; +} + +.akismet-enter-api-key-box__key-input { + flex-grow: 1; + margin-right: 1rem; +} + +h3.akismet-enter-api-key-box__header { + padding-top: 0; + padding-bottom: 1em; + text-align: left; +} + +@media screen and (max-width: 782px) { + .akismet-new-snapshot__list { + display: block; + } + + .akismet-new-snapshot__number { + float: right; + font-size: 20px; + font-weight: 500; + margin-top: -16px; + } + + .akismet-new-snapshot__header { + font-size: 14px; + font-weight: 500; + } + + .akismet-new-snapshot__text { + font-size: 12px; + } + + .akismet-settings__row input[type="checkbox"], + .akismet-settings__row input[type="radio"] { + height: 24px; + width: 24px; + } + + .akismet-settings__row-label-text { + padding-left: 0.8em; + } + + .akismet-settings__row input[type="checkbox"], + .akismet-settings__row input[type="radio"] { + margin-top: 0; + } +}
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/akismet-admin.js b/wp-content/plugins/akismet/_inc/akismet-admin.js new file mode 100644 index 0000000..4a3f9fc --- /dev/null +++ b/wp-content/plugins/akismet/_inc/akismet-admin.js @@ -0,0 +1,7 @@ +document.addEventListener( 'DOMContentLoaded', function() { + // Prevent aggressive iframe caching in Firefox + var statsIframe = document.getElementById( 'stats-iframe' ); + if ( statsIframe ) { + statsIframe.contentWindow.location.href = statsIframe.src; + } +} );
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/akismet-frontend.js b/wp-content/plugins/akismet/_inc/akismet-frontend.js new file mode 100644 index 0000000..40ebfe6 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/akismet-frontend.js @@ -0,0 +1,376 @@ +/** + * Observe how the user enters content into the comment form in order to determine whether it's a bot or not. + * + * Note that no actual input is being saved here, only counts and timings between events. + */ + +( function() { + // Passive event listeners are guaranteed to never call e.preventDefault(), + // but they're not supported in all browsers. Use this feature detection + // to determine whether they're available for use. + var supportsPassive = false; + + try { + var opts = Object.defineProperty( {}, 'passive', { + get : function() { + supportsPassive = true; + } + } ); + + window.addEventListener( 'testPassive', null, opts ); + window.removeEventListener( 'testPassive', null, opts ); + } catch ( e ) {} + + function init() { + var input_begin = ''; + + var keydowns = {}; + var lastKeyup = null; + var lastKeydown = null; + var keypresses = []; + + var modifierKeys = []; + var correctionKeys = []; + + var lastMouseup = null; + var lastMousedown = null; + var mouseclicks = []; + + var mousemoveTimer = null; + var lastMousemoveX = null; + var lastMousemoveY = null; + var mousemoveStart = null; + var mousemoves = []; + + var touchmoveCountTimer = null; + var touchmoveCount = 0; + + var lastTouchEnd = null; + var lastTouchStart = null; + var touchEvents = []; + + var scrollCountTimer = null; + var scrollCount = 0; + + var correctionKeyCodes = [ 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown' ]; + var modifierKeyCodes = [ 'Shift', 'CapsLock' ]; + + var forms = document.querySelectorAll( 'form[method=post]' ); + + for ( var i = 0; i < forms.length; i++ ) { + var form = forms[i]; + + var formAction = form.getAttribute( 'action' ); + + // Ignore forms that POST directly to other domains; these could be things like payment forms. + if ( formAction ) { + // Check that the form is posting to an external URL, not a path. + if ( formAction.indexOf( 'http://' ) == 0 || formAction.indexOf( 'https://' ) == 0 ) { + if ( formAction.indexOf( 'http://' + window.location.hostname + '/' ) != 0 && formAction.indexOf( 'https://' + window.location.hostname + '/' ) != 0 ) { + continue; + } + } + } + + form.addEventListener( 'submit', function () { + var ak_bkp = prepare_timestamp_array_for_request( keypresses ); + var ak_bmc = prepare_timestamp_array_for_request( mouseclicks ); + var ak_bte = prepare_timestamp_array_for_request( touchEvents ); + var ak_bmm = prepare_timestamp_array_for_request( mousemoves ); + + var input_fields = { + // When did the user begin entering any input? + 'bib': input_begin, + + // When was the form submitted? + 'bfs': Date.now(), + + // How many keypresses did they make? + 'bkpc': keypresses.length, + + // How quickly did they press a sample of keys, and how long between them? + 'bkp': ak_bkp, + + // How quickly did they click the mouse, and how long between clicks? + 'bmc': ak_bmc, + + // How many mouseclicks did they make? + 'bmcc': mouseclicks.length, + + // When did they press modifier keys (like Shift or Capslock)? + 'bmk': modifierKeys.join( ';' ), + + // When did they correct themselves? e.g., press Backspace, or use the arrow keys to move the cursor back + 'bck': correctionKeys.join( ';' ), + + // How many times did they move the mouse? + 'bmmc': mousemoves.length, + + // How many times did they move around using a touchscreen? + 'btmc': touchmoveCount, + + // How many times did they scroll? + 'bsc': scrollCount, + + // How quickly did they perform touch events, and how long between them? + 'bte': ak_bte, + + // How many touch events were there? + 'btec' : touchEvents.length, + + // How quickly did they move the mouse, and how long between moves? + 'bmm' : ak_bmm + }; + + var akismet_field_prefix = 'ak_'; + + if ( this.getElementsByClassName ) { + // Check to see if we've used an alternate field name prefix. We store this as an attribute of the container around some of the Akismet fields. + var possible_akismet_containers = this.getElementsByClassName( 'akismet-fields-container' ); + + for ( var containerIndex = 0; containerIndex < possible_akismet_containers.length; containerIndex++ ) { + var container = possible_akismet_containers.item( containerIndex ); + + if ( container.getAttribute( 'data-prefix' ) ) { + akismet_field_prefix = container.getAttribute( 'data-prefix' ); + break; + } + } + } + + for ( var field_name in input_fields ) { + var field = document.createElement( 'input' ); + field.setAttribute( 'type', 'hidden' ); + field.setAttribute( 'name', akismet_field_prefix + field_name ); + field.setAttribute( 'value', input_fields[ field_name ] ); + this.appendChild( field ); + } + }, supportsPassive ? { passive: true } : false ); + + form.addEventListener( 'keydown', function ( e ) { + // If you hold a key down, some browsers send multiple keydown events in a row. + // Ignore any keydown events for a key that hasn't come back up yet. + if ( e.key in keydowns ) { + return; + } + + var keydownTime = ( new Date() ).getTime(); + keydowns[ e.key ] = [ keydownTime ]; + + if ( ! input_begin ) { + input_begin = keydownTime; + } + + // In some situations, we don't want to record an interval since the last keypress -- for example, + // on the first keypress, or on a keypress after focus has changed to another element. Normally, + // we want to record the time between the last keyup and this keydown. But if they press a + // key while already pressing a key, we want to record the time between the two keydowns. + + var lastKeyEvent = Math.max( lastKeydown, lastKeyup ); + + if ( lastKeyEvent ) { + keydowns[ e.key ].push( keydownTime - lastKeyEvent ); + } + + lastKeydown = keydownTime; + }, supportsPassive ? { passive: true } : false ); + + form.addEventListener( 'keyup', function ( e ) { + if ( ! ( e.key in keydowns ) ) { + // This key was pressed before this script was loaded, or a mouseclick happened during the keypress, or... + return; + } + + var keyupTime = ( new Date() ).getTime(); + + if ( 'TEXTAREA' === e.target.nodeName || 'INPUT' === e.target.nodeName ) { + if ( -1 !== modifierKeyCodes.indexOf( e.key ) ) { + modifierKeys.push( keypresses.length - 1 ); + } else if ( -1 !== correctionKeyCodes.indexOf( e.key ) ) { + correctionKeys.push( keypresses.length - 1 ); + } else { + // ^ Don't record timings for keys like Shift or backspace, since they + // typically get held down for longer than regular typing. + + var keydownTime = keydowns[ e.key ][0]; + + var keypress = []; + + // Keypress duration. + keypress.push( keyupTime - keydownTime ); + + // Amount of time between this keypress and the previous keypress. + if ( keydowns[ e.key ].length > 1 ) { + keypress.push( keydowns[ e.key ][1] ); + } + + keypresses.push( keypress ); + } + } + + delete keydowns[ e.key ]; + + lastKeyup = keyupTime; + }, supportsPassive ? { passive: true } : false ); + + form.addEventListener( "focusin", function ( e ) { + lastKeydown = null; + lastKeyup = null; + keydowns = {}; + }, supportsPassive ? { passive: true } : false ); + + form.addEventListener( "focusout", function ( e ) { + lastKeydown = null; + lastKeyup = null; + keydowns = {}; + }, supportsPassive ? { passive: true } : false ); + } + + document.addEventListener( 'mousedown', function ( e ) { + lastMousedown = ( new Date() ).getTime(); + }, supportsPassive ? { passive: true } : false ); + + document.addEventListener( 'mouseup', function ( e ) { + if ( ! lastMousedown ) { + // If the mousedown happened before this script was loaded, but the mouseup happened after... + return; + } + + var now = ( new Date() ).getTime(); + + var mouseclick = []; + mouseclick.push( now - lastMousedown ); + + if ( lastMouseup ) { + mouseclick.push( lastMousedown - lastMouseup ); + } + + mouseclicks.push( mouseclick ); + + lastMouseup = now; + + // If the mouse has been clicked, don't record this time as an interval between keypresses. + lastKeydown = null; + lastKeyup = null; + keydowns = {}; + }, supportsPassive ? { passive: true } : false ); + + document.addEventListener( 'mousemove', function ( e ) { + if ( mousemoveTimer ) { + clearTimeout( mousemoveTimer ); + mousemoveTimer = null; + } + else { + mousemoveStart = ( new Date() ).getTime(); + lastMousemoveX = e.offsetX; + lastMousemoveY = e.offsetY; + } + + mousemoveTimer = setTimeout( function ( theEvent, originalMousemoveStart ) { + var now = ( new Date() ).getTime() - 500; // To account for the timer delay. + + var mousemove = []; + mousemove.push( now - originalMousemoveStart ); + mousemove.push( + Math.round( + Math.sqrt( + Math.pow( theEvent.offsetX - lastMousemoveX, 2 ) + + Math.pow( theEvent.offsetY - lastMousemoveY, 2 ) + ) + ) + ); + + if ( mousemove[1] > 0 ) { + // If there was no measurable distance, then it wasn't really a move. + mousemoves.push( mousemove ); + } + + mousemoveStart = null; + mousemoveTimer = null; + }, 500, e, mousemoveStart ); + }, supportsPassive ? { passive: true } : false ); + + document.addEventListener( 'touchmove', function ( e ) { + if ( touchmoveCountTimer ) { + clearTimeout( touchmoveCountTimer ); + } + + touchmoveCountTimer = setTimeout( function () { + touchmoveCount++; + }, 500 ); + }, supportsPassive ? { passive: true } : false ); + + document.addEventListener( 'touchstart', function ( e ) { + lastTouchStart = ( new Date() ).getTime(); + }, supportsPassive ? { passive: true } : false ); + + document.addEventListener( 'touchend', function ( e ) { + if ( ! lastTouchStart ) { + // If the touchstart happened before this script was loaded, but the touchend happened after... + return; + } + + var now = ( new Date() ).getTime(); + + var touchEvent = []; + touchEvent.push( now - lastTouchStart ); + + if ( lastTouchEnd ) { + touchEvent.push( lastTouchStart - lastTouchEnd ); + } + + touchEvents.push( touchEvent ); + + lastTouchEnd = now; + + // Don't record this time as an interval between keypresses. + lastKeydown = null; + lastKeyup = null; + keydowns = {}; + }, supportsPassive ? { passive: true } : false ); + + document.addEventListener( 'scroll', function ( e ) { + if ( scrollCountTimer ) { + clearTimeout( scrollCountTimer ); + } + + scrollCountTimer = setTimeout( function () { + scrollCount++; + }, 500 ); + }, supportsPassive ? { passive: true } : false ); + } + + /** + * For the timestamp data that is collected, don't send more than `limit` data points in the request. + * Choose a random slice and send those. + */ + function prepare_timestamp_array_for_request( a, limit ) { + if ( ! limit ) { + limit = 100; + } + + var rv = ''; + + if ( a.length > 0 ) { + var random_starting_point = Math.max( 0, Math.floor( Math.random() * a.length - limit ) ); + + for ( var i = 0; i < limit && i < a.length; i++ ) { + rv += a[ random_starting_point + i ][0]; + + if ( a[ random_starting_point + i ].length >= 2 ) { + rv += "," + a[ random_starting_point + i ][1]; + } + + rv += ";"; + } + } + + return rv; + } + + if ( document.readyState !== 'loading' ) { + init(); + } else { + document.addEventListener( 'DOMContentLoaded', init ); + } +})();
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/akismet.css b/wp-content/plugins/akismet/_inc/akismet.css new file mode 100644 index 0000000..dbede8f --- /dev/null +++ b/wp-content/plugins/akismet/_inc/akismet.css @@ -0,0 +1,648 @@ +.wp-admin.jetpack_page_akismet-key-config, .wp-admin.settings_page_akismet-key-config { + background-color:#f3f6f8; +} + +#submitted-on { + position: relative; +} +#the-comment-list .author .akismet-user-comment-count { + display: inline; +} +#the-comment-list .author a span { + text-decoration: none; + color: #999; +} +#the-comment-list .author a span.akismet-span-link { + text-decoration: inherit; + color: inherit; +} +#the-comment-list .akismet_remove_url { + margin-left: 3px; + color: #999; + padding: 2px 3px 2px 0; +} +#the-comment-list .akismet_remove_url:hover { + color: #A7301F; + font-weight: bold; + padding: 2px 2px 2px 0; +} +#dashboard_recent_comments .akismet-status { + display: none; +} +.akismet-status { + float: right; +} +.akismet-status a { + color: #AAA; + font-style: italic; +} +table.comments td.comment p a { + text-decoration: underline; +} +table.comments td.comment p a:after { + content: attr(href); + color: #aaa; + display: inline-block; /* Show the URL without the link's underline extending under it. */ + padding: 0 1ex; /* Because it's inline block, we can't just use spaces in the content: attribute to separate it from the link text. */ +} +.mshot-arrow { + width: 0; + height: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + border-right: 10px solid #5C5C5C; + position: absolute; + left: -6px; + top: 91px; +} +.mshot-container { + background: #5C5C5C; + position: absolute; + top: -94px; + padding: 7px; + width: 450px; + height: 338px; + z-index: 20000; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-border-radius: 6px; +} +.akismet-mshot { + position: absolute; + z-index: 100; +} +.akismet-mshot .mshot-image { + margin: 0; + height: 338px; + width: 450px; +} +.checkforspam { + display: inline-block !important; +} + +.checkforspam-spinner { + display: inline-block; + margin-top: 7px; +} + +.akismet-right { + float: right; +} + +.akismet-card .akismet-right { + margin: 1em 0; +} + +.akismet-alert-text { + color: #dd3d36; + font-weight: bold; + font-size: 120%; + margin-top: .5rem; +} + +.akismet-new-snapshot { + margin-top: 1em; + text-align: center; + background: #fff; +} + +.akismet-new-snapshot h3 { + background: #f5f5f5; + color: #888; + font-size: 11px; + margin: 0; +} + +.akismet-new-snapshot ul li { + color: #999; + font-size: 11px; + text-transform: uppercase; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; +} + +.akismet-new-snapshot__number { + display: block; + font-size: 32px; + font-weight: lighter; + line-height: 1.5em; +} + +.akismet-settings th:first-child { + vertical-align: top; + padding-top: 15px; +} + +.akismet-settings th.akismet-api-key { + vertical-align: middle; + padding-top: 0; +} + +.akismet-settings span.akismet-note{ + float: left; + padding-left: 23px; + font-size: 75%; + margin-top: -10px; +} + +/** + * For the activation notice on the plugins page. + */ + +#akismet_setup_prompt { + background: none; + border: none; + margin: 0; + padding: 0; + width: 100%; +} + +.akismet_activate { + border: 1px solid #4F800D; + padding: 5px; + margin: 15px 0; + background: #83AF24; + background-image: -webkit-gradient(linear, 0% 0, 80% 100%, from(#83AF24), to(#4F800D)); + background-image: -moz-linear-gradient(80% 100% 120deg, #4F800D, #83AF24); + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-border-radius: 3px; + position: relative; + overflow: hidden; +} + +.akismet_activate .aa_a { + position: absolute; + top: -5px; + right: 10px; + font-size: 140px; + color: #769F33; + font-family: Georgia, "Times New Roman", Times, serif; +} + +.akismet_activate .aa_button { + font-weight: bold; + border: 1px solid #029DD6; + border-top: 1px solid #06B9FD; + font-size: 15px; + text-align: center; + padding: 9px 0 8px 0; + color: #FFF; + background: #029DD6; + background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#029DD6), to(#0079B1)); + background-image: -moz-linear-gradient(0% 100% 90deg, #0079B1, #029DD6); + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; + width: 100%; + cursor: pointer; + margin: 0; +} + +.akismet_activate .aa_button:hover { + text-decoration: none !important; + border: 1px solid #029DD6; + border-bottom: 1px solid #00A8EF; + font-size: 15px; + text-align: center; + padding: 9px 0 8px 0; + color: #F0F8FB; + background: #0079B1; + background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#0079B1), to(#0092BF)); + background-image: -moz-linear-gradient(0% 100% 90deg, #0092BF, #0079B1); + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; +} + +.akismet_activate .aa_button_border { + border: 1px solid #006699; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; + background: #029DD6; + background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#029DD6), to(#0079B1)); + background-image: -moz-linear-gradient(0% 100% 90deg, #0079B1, #029DD6); +} + +.akismet_activate .aa_button_container { + box-sizing: border-box; + display: inline-block; + background: #DEF1B8; + padding: 5px; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; + width: 266px; +} + +.akismet_activate .aa_description { + position: absolute; + top: 22px; + left: 285px; + margin-left: 25px; + color: #E5F2B1; + font-size: 15px; +} + +.akismet_activate .aa_description strong { + color: #FFF; + font-weight: normal; +} + +@media (max-width: 550px) { + .akismet_activate .aa_a { + display: none; + } + + .akismet_activate .aa_button_container { + width: 100%; + } +} + +@media (max-width: 782px) { + .akismet_activate { + min-width: 0; + } +} + +@media (max-width: 850px) { + #akismet_setup_prompt .aa_description { + display: none; + } + + .akismet_activate { + min-width: 0; + } +} + +.jetpack_page_akismet-key-config #wpcontent, .settings_page_akismet-key-config #wpcontent { + padding-left: 0; +} + +.akismet-masthead { + background-color:#fff; + text-align:center; + box-shadow:0 1px 0 rgba(200,215,225,0.5),0 1px 2px #e9eff3 +} +@media (max-width: 45rem) { + .akismet-masthead { + padding:0 1.25rem + } +} + +.akismet-masthead__inside-container { + padding:.375rem 0; + margin:0 auto; + width:100%; + max-width:45rem; + text-align: left; +} +.akismet-masthead__logo-container { + padding:.3125rem 0 0 +} +.akismet-masthead__logo-link { + display:inline-block; + outline:none; + vertical-align:middle +} +.akismet-masthead__logo-link:focus { + line-height:0; + box-shadow:0 0 0 2px #78dcfa +} +.akismet-masthead__logo-link+code { + margin:0 10px; + padding:5px 9px; + border-radius:2px; + background:#e6ecf1; + color:#647a88 +} +.akismet-masthead__links { + display:-ms-flexbox; + display:flex; + -ms-flex-flow:row wrap; + flex-flow:row wrap; + -ms-flex:2 50%; + flex:2 50%; + -ms-flex-pack:end; + justify-content:flex-end; + margin:0 +} +@media (max-width: 480px) { + .akismet-masthead__links { + padding-right:.625rem + } +} +.akismet-masthead__link-li { + margin:0; + padding:0 +} +.akismet-masthead__link { + font-style:normal; + color:#0087be; + padding:.625rem; + display:inline-block +} +.akismet-masthead__link:visited { + color:#0087be +} +.akismet-masthead__link:active,.akismet-masthead__link:hover { + color:#00aadc +} +.akismet-masthead__link:hover { + text-decoration:underline +} +.akismet-masthead__link .dashicons { + display:none +} +@media (max-width: 480px) { + .akismet-masthead__link:hover,.akismet-masthead__link:active { + text-decoration:none + } + .akismet-masthead__link .dashicons { + display:block; + font-size:1.75rem + } + .akismet-masthead__link span+span { + display:none + } +} +.akismet-masthead__link-li:last-of-type .akismet-masthead__link { + padding-right:0 +} + +.akismet-lower { + margin: 0 auto; + text-align: left; + max-width: 45rem; + padding: 1.5rem; +} + +.akismet-lower .notice { + margin-bottom: 2rem; +} + +.akismet-card { + margin-top: 1rem; + margin-bottom: 0; + position: relative; + box-sizing: border-box; + background: white; +} + +.akismet-card:after, .akismet-card .inside:after, .akismet-masthead__logo-container:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.akismet-card .inside { + padding: 1.5rem; + padding-top: 1rem; +} + +.akismet-card .akismet-card-actions { + margin-top: 1rem; +} + +.jetpack_page_akismet-key-config .update-nag, .settings_page_akismet-key-config .update-nag { + display: none; +} + +.akismet-masthead .akismet-right { + line-height: 2.125rem; + font-size: 0.9rem; +} + +.akismet-box { + box-sizing: border-box; + background: white; + border: 1px solid rgba(200, 215, 225, 0.5); +} + +.akismet-box h2, .akismet-box h3 { + padding: 1.5rem 1.5rem .5rem 1.5rem; + margin: 0; +} + +.akismet-box p { + padding: 0 1.5rem 1.5rem 1.5rem; + margin: 0; +} + +.akismet-jetpack-email { + font-style: oblique; +} + +.akismet-jetpack-gravatar { + padding: 0 0 0 1.5rem; + float: left; + margin-right: 1rem; + width: 54px; + height: 54px; +} + +.akismet-box p:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.akismet-box .akismet-right { + padding-right: 1.5rem; +} + +.akismet-boxes .akismet-box { + margin-bottom: 0; + padding: 0; + margin-top: -1px; +} + +.akismet-boxes .akismet-box:last-child { + margin-bottom: 1.5rem; +} + +.akismet-boxes .akismet-box:first-child { + margin-top: 1.5rem; +} + +.akismet-box-header { + max-width: 700px; + margin: 0 auto 40px auto; + line-height: 1.5; +} + +.akismet-box-header h2 { + margin: 1.5rem 10% 0; + font-size: 1.375rem; + font-weight: 700; + color: #000; +} + +.akismet-box .centered { + text-align: center; +} + +.akismet-box .akismet-toggles { + margin: 3rem 0; +} + +.akismet-box .akismet-ak-connect, .akismet-box .toggle-jp-connect { + display: none; +} + +.akismet-button, .akismet-button:hover, .akismet-button:visited { + background: white; + border-color: #c8d7e1; + border-style: solid; + border-width: 1px 1px 2px; + color: #2e4453; + cursor: pointer; + display: inline-block; + margin: 0; + outline: 0; + overflow: hidden; + font-size: 14px; + font-weight: 500; + text-overflow: ellipsis; + text-decoration: none; + vertical-align: top; + box-sizing: border-box; + font-size: 14px; + line-height: 21px; + border-radius: 4px; + padding: 7px 14px 9px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.akismet-button:hover { + border-color: #a8bece; +} + +.akismet-button:active { + border-width: 2px 1px 1px; +} + +.akismet-is-primary, .akismet-is-primary:hover, .akismet-is-primary:visited { + background: #00aadc; + border-color: #0087be; + color: white; +} + +.akismet-is-primary:hover, .akismet-is-primary:focus { + border-color: #005082; +} + +.akismet-is-primary:hover { + border-color: #005082; +} + +.akismet-section-header { + position: relative; + margin: 0 auto 0.625rem auto; + padding: 1rem; + box-sizing: border-box; + box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3; + background: #ffffff; + width: 100%; + padding-top: 0.6875rem; + padding-bottom: 0.6875rem; + display: flex; +} + +.akismet-section-header__label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-positive: 1; + flex-grow: 1; + line-height: 1.75rem; + position: relative; + font-size: 0.875rem; + color: #4f748e; +} + +.akismet-section-header__actions { + line-height: 1.75rem; +} + +.akismet-setup-instructions { + text-align: center; +} + +.akismet-setup-instructions form { + padding-bottom: 1.5rem; +} + +div.error.akismet-usage-limit-alert { + padding: 25px 45px 25px 15px; + display: flex; + align-items: center; +} + +#akismet-plugin-container .akismet-usage-limit-alert { + margin: 0 auto 0.625rem auto; + box-sizing: border-box; + box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3; + border: none; + border-left: 4px solid #d63638; +} + +.akismet-usage-limit-alert .akismet-usage-limit-logo { + width: 38px; + min-width: 38px; + height: 38px; + border-radius: 20px; + margin-right: 18px; + background: black; + position: relative; +} + +.akismet-usage-limit-alert .akismet-usage-limit-logo img { + position: absolute; + width: 22px; + left: 8px; + top: 10px; +} + +.akismet-usage-limit-alert .akismet-usage-limit-text { + flex-grow: 1; + margin-right: 18px; +} + +.akismet-usage-limit-alert h3 { + margin: 0; +} + +.akismet-usage-limit-alert .akismet-usage-limit-cta { + border-color: none; + text-align: right; +} + +#akismet-plugin-container .akismet-usage-limit-cta a { + color: #d63638; +} + +@media (max-width: 550px) { + div.error.akismet-usage-limit-alert { + display: block; + } + + .akismet-usage-limit-alert .akismet-usage-limit-logo, + .akismet-usage-limit-alert .akismet-usage-limit-text { + margin-bottom: 15px; + } + + .akismet-usage-limit-alert .akismet-usage-limit-cta { + text-align: left; + } +}
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/akismet.js b/wp-content/plugins/akismet/_inc/akismet.js new file mode 100644 index 0000000..2f9aa73 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/akismet.js @@ -0,0 +1,421 @@ +jQuery( function ( $ ) { + var mshotRemovalTimer = null; + var mshotRetryTimer = null; + var mshotTries = 0; + var mshotRetryInterval = 1000; + var mshotEnabledLinkSelector = 'a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type, td.comment p a'; + + var preloadedMshotURLs = []; + + $('.akismet-status').each(function () { + var thisId = $(this).attr('commentid'); + $(this).prependTo('#comment-' + thisId + ' .column-comment'); + }); + $('.akismet-user-comment-count').each(function () { + var thisId = $(this).attr('commentid'); + $(this).insertAfter('#comment-' + thisId + ' .author strong:first').show(); + }); + + akismet_enable_comment_author_url_removal(); + + $( '#the-comment-list' ).on( 'click', '.akismet_remove_url', function () { + var thisId = $(this).attr('commentid'); + var data = { + action: 'comment_author_deurl', + _wpnonce: WPAkismet.comment_author_url_nonce, + id: thisId + }; + $.ajax({ + url: ajaxurl, + type: 'POST', + data: data, + beforeSend: function () { + // Removes "x" link + $("a[commentid='"+ thisId +"']").hide(); + // Show temp status + $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Removing...'] ) ); + }, + success: function (response) { + if (response) { + // Show status/undo link + $("#author_comment_url_"+ thisId) + .attr('cid', thisId) + .addClass('akismet_undo_link_removal') + .html( + $( '<span/>' ).text( WPAkismet.strings['URL removed'] ) + ) + .append( ' ' ) + .append( + $( '<span/>' ) + .text( WPAkismet.strings['(undo)'] ) + .addClass( 'akismet-span-link' ) + ); + } + } + }); + + return false; + }).on( 'click', '.akismet_undo_link_removal', function () { + var thisId = $(this).attr('cid'); + var thisUrl = $(this).attr('href'); + var data = { + action: 'comment_author_reurl', + _wpnonce: WPAkismet.comment_author_url_nonce, + id: thisId, + url: thisUrl + }; + $.ajax({ + url: ajaxurl, + type: 'POST', + data: data, + beforeSend: function () { + // Show temp status + $("#author_comment_url_"+ thisId).html( $( '<span/>' ).text( WPAkismet.strings['Re-adding...'] ) ); + }, + success: function (response) { + if (response) { + // Add "x" link + $("a[commentid='"+ thisId +"']").show(); + // Show link. Core strips leading http://, so let's do that too. + $("#author_comment_url_"+ thisId).removeClass('akismet_undo_link_removal').text( thisUrl.replace( /^http:\/\/(www\.)?/ig, '' ) ); + } + } + }); + + return false; + }); + + // Show a preview image of the hovered URL. Applies to author URLs and URLs inside the comments. + if ( "enable_mshots" in WPAkismet && WPAkismet.enable_mshots ) { + $( '#the-comment-list' ).on( 'mouseover', mshotEnabledLinkSelector, function () { + clearTimeout( mshotRemovalTimer ); + + if ( $( '.akismet-mshot' ).length > 0 ) { + if ( $( '.akismet-mshot:first' ).data( 'link' ) == this ) { + // The preview is already showing for this link. + return; + } + else { + // A new link is being hovered, so remove the old preview. + $( '.akismet-mshot' ).remove(); + } + } + + clearTimeout( mshotRetryTimer ); + + var linkUrl = $( this ).attr( 'href' ); + + if ( preloadedMshotURLs.indexOf( linkUrl ) !== -1 ) { + // This preview image was already preloaded, so begin with a retry URL so the user doesn't see the placeholder image for the first second. + mshotTries = 2; + } + else { + mshotTries = 1; + } + + var mShot = $( '<div class="akismet-mshot mshot-container"><div class="mshot-arrow"></div><img src="' + akismet_mshot_url( linkUrl, mshotTries ) + '" width="450" height="338" class="mshot-image" /></div>' ); + mShot.data( 'link', this ); + mShot.data( 'url', linkUrl ); + + mShot.find( 'img' ).on( 'load', function () { + $( '.akismet-mshot' ).data( 'pending-request', false ); + } ); + + var offset = $( this ).offset(); + + mShot.offset( { + left : Math.min( $( window ).width() - 475, offset.left + $( this ).width() + 10 ), // Keep it on the screen if the link is near the edge of the window. + top: offset.top + ( $( this ).height() / 2 ) - 101 // 101 = top offset of the arrow plus the top border thickness + } ); + + $( 'body' ).append( mShot ); + + mshotRetryTimer = setTimeout( retryMshotUntilLoaded, mshotRetryInterval ); + } ).on( 'mouseout', 'a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type, td.comment p a', function () { + mshotRemovalTimer = setTimeout( function () { + clearTimeout( mshotRetryTimer ); + + $( '.akismet-mshot' ).remove(); + }, 200 ); + } ); + + var preloadDelayTimer = null; + + $( window ).on( 'scroll resize', function () { + clearTimeout( preloadDelayTimer ); + + preloadDelayTimer = setTimeout( preloadMshotsInViewport, 500 ); + } ); + + preloadMshotsInViewport(); + } + + /** + * The way mShots works is if there was no screenshot already recently generated for the URL, + * it returns a "loading..." image for the first request. Then, some subsequent request will + * receive the actual screenshot, but it's unknown how long it will take. So, what we do here + * is continually re-request the mShot, waiting a second after every response until we get the + * actual screenshot. + */ + function retryMshotUntilLoaded() { + clearTimeout( mshotRetryTimer ); + + var imageWidth = $( '.akismet-mshot img' ).get(0).naturalWidth; + + if ( imageWidth == 0 ) { + // It hasn't finished loading yet the first time. Check again shortly. + setTimeout( retryMshotUntilLoaded, mshotRetryInterval ); + } + else if ( imageWidth == 400 ) { + // It loaded the preview image. + + if ( mshotTries == 20 ) { + // Give up if we've requested the mShot 20 times already. + return; + } + + if ( ! $( '.akismet-mshot' ).data( 'pending-request' ) ) { + $( '.akismet-mshot' ).data( 'pending-request', true ); + + mshotTries++; + + $( '.akismet-mshot .mshot-image' ).attr( 'src', akismet_mshot_url( $( '.akismet-mshot' ).data( 'url' ), mshotTries ) ); + } + + mshotRetryTimer = setTimeout( retryMshotUntilLoaded, mshotRetryInterval ); + } + else { + // All done. + } + } + + function preloadMshotsInViewport() { + var windowWidth = $( window ).width(); + var windowHeight = $( window ).height(); + + $( '#the-comment-list' ).find( mshotEnabledLinkSelector ).each( function ( index, element ) { + var linkUrl = $( this ).attr( 'href' ); + + // Don't attempt to preload an mshot for a single link twice. + if ( preloadedMshotURLs.indexOf( linkUrl ) !== -1 ) { + // The URL is already preloaded. + return true; + } + + if ( typeof element.getBoundingClientRect !== 'function' ) { + // The browser is too old. Return false to stop this preloading entirely. + return false; + } + + var rect = element.getBoundingClientRect(); + + if ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= windowHeight && rect.right <= windowWidth ) { + akismet_preload_mshot( linkUrl ); + $( this ).data( 'akismet-mshot-preloaded', true ); + } + } ); + } + + $( '.checkforspam.enable-on-load' ).on( 'click', function( e ) { + if ( $( this ).hasClass( 'ajax-disabled' ) ) { + // Akismet hasn't been configured yet. Allow the user to proceed to the button's link. + return; + } + + e.preventDefault(); + + if ( $( this ).hasClass( 'button-disabled' ) ) { + window.location.href = $( this ).data( 'success-url' ).replace( '__recheck_count__', 0 ).replace( '__spam_count__', 0 ); + return; + } + + $('.checkforspam').addClass('button-disabled').addClass( 'checking' ); + $('.checkforspam-spinner').addClass( 'spinner' ).addClass( 'is-active' ); + + akismet_check_for_spam(0, 100); + }).removeClass( 'button-disabled' ); + + var spam_count = 0; + var recheck_count = 0; + + function akismet_check_for_spam(offset, limit) { + var check_for_spam_buttons = $( '.checkforspam' ); + + var nonce = check_for_spam_buttons.data( 'nonce' ); + + // We show the percentage complete down to one decimal point so even queues with 100k + // pending comments will show some progress pretty quickly. + var percentage_complete = Math.round( ( recheck_count / check_for_spam_buttons.data( 'pending-comment-count' ) ) * 1000 ) / 10; + + // Update the progress counter on the "Check for Spam" button. + $( '.checkforspam' ).text( check_for_spam_buttons.data( 'progress-label' ).replace( '%1$s', percentage_complete ) ); + + $.post( + ajaxurl, + { + 'action': 'akismet_recheck_queue', + 'offset': offset, + 'limit': limit, + 'nonce': nonce + }, + function(result) { + if ( 'error' in result ) { + // An error is only returned in the case of a missing nonce, so we don't need the actual error message. + window.location.href = check_for_spam_buttons.data( 'failure-url' ); + return; + } + + recheck_count += result.counts.processed; + spam_count += result.counts.spam; + + if (result.counts.processed < limit) { + window.location.href = check_for_spam_buttons.data( 'success-url' ).replace( '__recheck_count__', recheck_count ).replace( '__spam_count__', spam_count ); + } + else { + // Account for comments that were caught as spam and moved out of the queue. + akismet_check_for_spam(offset + limit - result.counts.spam, limit); + } + } + ); + } + + if ( "start_recheck" in WPAkismet && WPAkismet.start_recheck ) { + $( '.checkforspam' ).click(); + } + + if ( typeof MutationObserver !== 'undefined' ) { + // Dynamically add the "X" next the the author URL links when a comment is quick-edited. + var comment_list_container = document.getElementById( 'the-comment-list' ); + + if ( comment_list_container ) { + var observer = new MutationObserver( function ( mutations ) { + for ( var i = 0, _len = mutations.length; i < _len; i++ ) { + if ( mutations[i].addedNodes.length > 0 ) { + akismet_enable_comment_author_url_removal(); + + // Once we know that we'll have to check for new author links, skip the rest of the mutations. + break; + } + } + } ); + + observer.observe( comment_list_container, { attributes: true, childList: true, characterData: true } ); + } + } + + function akismet_enable_comment_author_url_removal() { + $( '#the-comment-list' ) + .find( 'tr.comment, tr[id ^= "comment-"]' ) + .find( '.column-author a[href^="http"]:first' ) // Ignore mailto: links, which would be the comment author's email. + .each(function () { + if ( $( this ).parent().find( '.akismet_remove_url' ).length > 0 ) { + return; + } + + var linkHref = $(this).attr( 'href' ); + + // Ignore any links to the current domain, which are diagnostic tools, like the IP address link + // or any other links another plugin might add. + var currentHostParts = document.location.href.split( '/' ); + var currentHost = currentHostParts[0] + '//' + currentHostParts[2] + '/'; + + if ( linkHref.indexOf( currentHost ) != 0 ) { + var thisCommentId = $(this).parents('tr:first').attr('id').split("-"); + + $(this) + .attr("id", "author_comment_url_"+ thisCommentId[1]) + .after( + $( '<a href="#" class="akismet_remove_url">x</a>' ) + .attr( 'commentid', thisCommentId[1] ) + .attr( 'title', WPAkismet.strings['Remove this URL'] ) + ); + } + }); + } + + /** + * Generate an mShot URL if given a link URL. + * + * @param string linkUrl + * @param int retry If retrying a request, the number of the retry. + * @return string The mShot URL; + */ + function akismet_mshot_url( linkUrl, retry ) { + var mshotUrl = '//s0.wp.com/mshots/v1/' + encodeURIComponent( linkUrl ) + '?w=900'; + + if ( retry > 1 ) { + mshotUrl += '&r=' + encodeURIComponent( retry ); + } + + mshotUrl += '&source=akismet'; + + return mshotUrl; + } + + /** + * Begin loading an mShot preview of a link. + * + * @param string linkUrl + */ + function akismet_preload_mshot( linkUrl ) { + var img = new Image(); + img.src = akismet_mshot_url( linkUrl ); + + preloadedMshotURLs.push( linkUrl ); + } + + $( '.akismet-could-be-primary' ).each( function () { + var form = $( this ).closest( 'form' ); + + form.data( 'initial-state', form.serialize() ); + + form.on( 'change keyup', function () { + var self = $( this ); + var submit_button = self.find( '.akismet-could-be-primary' ); + + if ( self.serialize() != self.data( 'initial-state' ) ) { + submit_button.addClass( 'akismet-is-primary' ); + } + else { + submit_button.removeClass( 'akismet-is-primary' ); + } + } ); + } ); + + /** + * Shows the Enter API key form + */ + $( '.akismet-enter-api-key-box__reveal' ).on( 'click', function ( e ) { + e.preventDefault(); + + var div = $( '.akismet-enter-api-key-box__form-wrapper' ); + div.show( 500 ); + div.find( 'input[name=key]' ).focus(); + + $( this ).hide(); + } ); + + /** + * Hides the Connect with Jetpack form | Shows the Activate Akismet Account form + */ + $( 'a.toggle-ak-connect' ).on( 'click', function ( e ) { + e.preventDefault(); + + $( '.akismet-ak-connect' ).slideToggle('slow'); + $( 'a.toggle-ak-connect' ).hide(); + $( '.akismet-jp-connect' ).hide(); + $( 'a.toggle-jp-connect' ).show(); + } ); + + /** + * Shows the Connect with Jetpack form | Hides the Activate Akismet Account form + */ + $( 'a.toggle-jp-connect' ).on( 'click', function ( e ) { + e.preventDefault(); + + $( '.akismet-jp-connect' ).slideToggle('slow'); + $( 'a.toggle-jp-connect' ).hide(); + $( '.akismet-ak-connect' ).hide(); + $( 'a.toggle-ak-connect' ).show(); + } ); +}); diff --git a/wp-content/plugins/akismet/_inc/fonts/inter.css b/wp-content/plugins/akismet/_inc/fonts/inter.css new file mode 100644 index 0000000..d28b612 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/fonts/inter.css @@ -0,0 +1,67 @@ +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-Regular.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-Regular.woff?v=3.19") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-Italic.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-Italic.woff?v=3.19") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-Medium.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-Medium.woff?v=3.19") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-MediumItalic.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-MediumItalic.woff?v=3.19") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-SemiBold.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-SemiBold.woff?v=3.19") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-SemiBoldItalic.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-SemiBoldItalic.woff?v=3.19") format("woff"); +} + +@font-face { + font-family: 'Inter'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-Bold.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-Bold.woff?v=3.19") format("woff"); +} +@font-face { + font-family: 'Inter'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("https://s0.wp.com/i/fonts/inter/Inter-BoldItalic.woff2?v=3.19") format("woff2"), + url("https://s0.wp.com/i/fonts/inter/Inter-BoldItalic.woff?v=3.19") format("woff"); +} diff --git a/wp-content/plugins/akismet/_inc/img/akismet-refresh-logo.svg b/wp-content/plugins/akismet/_inc/img/akismet-refresh-logo.svg new file mode 100644 index 0000000..f5b5d2c --- /dev/null +++ b/wp-content/plugins/akismet/_inc/img/akismet-refresh-logo.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="203" height="44" fill="none"><rect width="44" height="44" fill="#357B49" rx="6"/><path fill="#fff" fill-rule="evenodd" d="m29.746 28.31-6.392-16.797c-.152-.397-.305-.672-.789-.675-.673 0-1.408.611-1.746 1.316l-7.378 16.154c-.072.16-.143.311-.214.454-.5.995-1.045 1.546-2.357 1.626a.399.399 0 0 0-.16.033l-.01.004a.399.399 0 0 0-.23.392v.01c0 .054.01.106.03.155l.004.01a.416.416 0 0 0 .394.252h6.212a.417.417 0 0 0 .307-.12.416.416 0 0 0 .124-.305.398.398 0 0 0-.105-.302.399.399 0 0 0-.294-.127c-.757 0-2.197-.062-2.197-1.164.02-.318.103-.63.245-.916l1.399-3.152c.52-1.163 1.654-1.163 2.572-1.163h5.843c.023 0 .044 0 .062.003.13.014.16.081.214.242l1.534 4.07a2.857 2.857 0 0 1 .216 1.04c0 .054-.003.104-.01.153-.09.726-.831.887-1.49.887a.4.4 0 0 0-.294.127l-.007.008-.007.008a.401.401 0 0 0-.092.286v.01c0 .054.01.106.03.155l.005.01a.42.42 0 0 0 .395.252h7.011a.413.413 0 0 0 .279-.13.412.412 0 0 0 .11-.297.387.387 0 0 0-.09-.294.388.388 0 0 0-.277-.135c-1.448-.122-2.295-.643-2.847-2.08Zm-11.985-5.844 2.847-6.304c.361-.728.659-1.486.889-2.265 0-.06.03-.092.06-.092s.061.032.061.091c.02.122.045.247.073.374.197.888.584 1.878.914 2.723l.176.453 1.684 4.529a.927.927 0 0 1 .092.4.473.473 0 0 1-.009.094c-.041.202-.228.272-.602.272h-6.063c-.122 0-.184-.03-.184-.092a.36.36 0 0 1 .062-.183Zm17.107-.721c0 .786-.446 1.231-1.25 1.231-.806 0-1.125-.409-1.125-1.034 0-.786.465-1.231 1.25-1.231.785 0 1.125.427 1.125 1.034ZM9.629 23.002c.803 0 1.25-.447 1.25-1.231 0-.607-.343-1.036-1.128-1.036-.785 0-1.25.447-1.25 1.231 0 .625.325 1.036 1.128 1.036Z" clip-rule="evenodd"/><path fill="#000" fill-rule="evenodd" d="M94.37 14.539c0-1.24-1.166-1.633-2.95-1.633a1.225 1.225 0 0 1-.103-.424.674.674 0 0 1 .186-.432.738.738 0 0 1 .432-.22 9.943 9.943 0 0 0 2.984-1.209c.085-.056.166-.114.244-.17.332-.237.63-.45 1.133-.45a.857.857 0 0 1 .436.095c.133.069.243.172.319.297l-.514 14.527c0 .065 0 .098.034.098.02 0 .028-.011.045-.033a.51.51 0 0 1 .058-.065l4.796-4.037.033-.028c.593-.502.824-.698.824-1.082 0-.457-.309-.882-1.509-.882a.456.456 0 0 1-.329-.134.416.416 0 0 1-.117-.323c0-.293.172-.424.48-.424h7.271a.465.465 0 0 1 .34.11.42.42 0 0 1 .141.314.41.41 0 0 1-.017.167.419.419 0 0 1-.225.249.45.45 0 0 1-.17.041c-1.715.229-3.43 1.176-4.664 2.155l-4.574 3.722 4.151 4.08c.162.162.326.329.493.498.641.653 1.317 1.341 2.079 1.885a4.931 4.931 0 0 0 2.915 1.045c.234 0 .423-.02.587-.04.125-.013.235-.025.339-.025.24 0 .24.196.24.294a.56.56 0 0 1-.171.424 3.94 3.94 0 0 1-.755.588c-.7.32-1.469.484-2.246.478a4.728 4.728 0 0 1-2.778-.848 12.042 12.042 0 0 1-2.093-2.024l-5.047-5.583a.515.515 0 0 1-.058-.065c-.017-.022-.025-.033-.045-.033-.034 0-.034.033-.034.098l-.172 4.8c0 1.436.995 2.176 2.504 2.415a.528.528 0 0 1 .319.166c.082.09.127.205.127.324a.406.406 0 0 1-.142.313.45.45 0 0 1-.338.11h-7.677a.477.477 0 0 1-.335-.115.438.438 0 0 1-.145-.308.454.454 0 0 1 .119-.33.5.5 0 0 1 .326-.16c1.715-.229 2.676-.751 2.71-2.22l.543-15.996Zm-19.929-1.894 7.168 17.923c.618 1.534 1.578 2.09 3.19 2.22a.452.452 0 0 1 .31.144.408.408 0 0 1 .102.313.421.421 0 0 1-.123.317.461.461 0 0 1-.323.14H76.91a.489.489 0 0 1-.343-.13.444.444 0 0 1-.138-.327.403.403 0 0 1 .113-.319.442.442 0 0 1 .322-.138c.789 0 1.68-.196 1.68-1.11a2.933 2.933 0 0 0-.24-1.11l-1.714-4.353c-.069-.196-.103-.272-.31-.272h-6.539c-1.029 0-2.286 0-2.88 1.24l-1.578 3.385a2.49 2.49 0 0 0-.286.98c0 1.174 1.612 1.24 2.47 1.24a.462.462 0 0 1 .328.134.417.417 0 0 1 .117.323.426.426 0 0 1-.137.326.47.47 0 0 1-.343.13h-6.951a.489.489 0 0 1-.343-.13.445.445 0 0 1-.137-.326.4.4 0 0 1 .116-.323.442.442 0 0 1 .33-.134c1.68-.098 2.23-.85 2.88-2.22l8.266-17.237c.378-.75 1.2-1.404 1.956-1.404.548 0 .72.294.891.718Zm-6.288 11.698c-.068.131-.068.164-.068.196 0 .033.068.098.206.098h6.802c.48 0 .686-.098.686-.392a.967.967 0 0 0-.103-.424L73.79 18.98l-.21-.514c-.42-1.024-.918-2.244-1.094-3.273 0-.066-.034-.098-.068-.098-.035 0-.069.033-.069.098a14.374 14.374 0 0 1-.995 2.426l-3.2 6.725Zm43.783-3.863c1.784 0 2.675.425 2.675 1.665l-.274 7.215c-.069 1.991-.377 3.101-2.778 3.395a.471.471 0 0 0-.312.164.428.428 0 0 0-.1.326.405.405 0 0 0 .273.396.45.45 0 0 0 .173.028h7.683a.463.463 0 0 0 .347-.112.42.42 0 0 0 .139-.323.453.453 0 0 0-.12-.33.5.5 0 0 0-.326-.16c-2.229-.326-2.435-1.632-2.435-3.428l.406-11.284a.697.697 0 0 0-.301-.335.745.745 0 0 0-.454-.09c-.47 0-.784.227-1.103.457a8.534 8.534 0 0 1-2.978 1.372.73.73 0 0 0-.434.22.667.667 0 0 0-.184.433.753.753 0 0 0 .103.391Zm3.842-6.692c1.269 0 2.023-.686 2.023-1.86 0-.98-.549-1.6-1.84-1.6-1.247 0-2.001.652-2.001 1.86 0 .98.549 1.6 1.818 1.6Zm17.939 6.431c0 .324-.04.887-.07 1.314-.018.262-.033.473-.033.547a.335.335 0 0 1-.105.197.366.366 0 0 1-.437.042.34.34 0 0 1-.144-.174c-.412-2.09-2.229-3.068-3.979-3.068-1.749 0-3.144.816-3.144 2.448 0 1.443 1.824 2.198 3.219 2.774.182.076.357.148.52.218.229.105.459.207.686.309 1.614.716 3.133 1.391 3.704 2.793.17.435.251.896.24 1.36a4.153 4.153 0 0 1-.309 1.6c-.926 2.252-3.715 3.395-6.379 3.395-3.944 0-4.63-1.175-4.63-3.787v-.827a.256.256 0 0 1 .093-.23.298.298 0 0 1 .25-.064c.286 0 .343.13.343.163.754 2.024 2.949 3.265 5.007 3.265 1.646 0 3.121-.816 3.121-2.35 0-1.744-1.337-2.306-2.797-2.918-.289-.121-.583-.245-.873-.38a50.215 50.215 0 0 0-.817-.369c-1.347-.598-2.654-1.178-3.367-2.21a3.501 3.501 0 0 1-.492-1.752 3.778 3.778 0 0 1 .378-1.6c.897-1.838 3.292-3.297 6.276-3.297s3.739.904 3.739 2.601Zm25.716 1.894c0-.947-.137-2.057-.823-2.971-.681-.882-1.778-1.524-3.527-1.524-2.916 0-5.111 1.85-6.174 4.527-.034.066-.069.098-.103.098-.034 0-.069-.032-.069-.13l.343-3.95a.78.78 0 0 0-.326-.328.84.84 0 0 0-.462-.097c-.488 0-.783.228-1.127.494l-.211.159c-.921.543-1.929.94-2.984 1.175a.77.77 0 0 0-.435.24.705.705 0 0 0-.182.446.93.93 0 0 0 .103.392c1.817 0 2.984.391 2.984 1.665l-.241 7.05c-.068 1.992-.377 3.102-2.743 3.396a.482.482 0 0 0-.36.139.432.432 0 0 0-.121.35.443.443 0 0 0 .162.318.473.473 0 0 0 .353.107h7.648a.447.447 0 0 0 .345-.105.4.4 0 0 0 .136-.32.448.448 0 0 0-.263-.445.5.5 0 0 0-.183-.044c-2.23-.326-2.47-1.6-2.47-3.395l.137-3.428c.115-2.775 1.441-6.007 4.974-6.007 2.812 0 3.258 2.318 3.258 4.538l-.172 4.897c-.068 1.959-.377 3.101-2.778 3.395a.461.461 0 0 0-.319.158.415.415 0 0 0-.092.332.396.396 0 0 0 .126.304.436.436 0 0 0 .32.12h7.682a.463.463 0 0 0 .335-.107.423.423 0 0 0 .145-.306.433.433 0 0 0-.113-.336.487.487 0 0 0-.332-.154c-2.184-.327-2.47-1.567-2.47-3.395l.137-3.559c.115-2.774 1.475-5.876 4.974-5.876 2.812 0 3.224 2.318 3.224 4.538l-.172 4.897c-.069 1.959-.343 3.101-2.744 3.395a.475.475 0 0 0-.34.148.414.414 0 0 0-.106.341.405.405 0 0 0 .141.315.446.446 0 0 0 .339.11h7.649a.473.473 0 0 0 .358-.102.44.44 0 0 0 .114-.145.407.407 0 0 0 .042-.177.466.466 0 0 0-.133-.34.498.498 0 0 0-.347-.15c-2.183-.327-2.469-1.567-2.469-3.395l.24-6.464c0-2.383-.72-5.289-4.527-5.289-2.984 0-5.248 1.948-6.18 4.527-.034.066-.068.098-.103.098-.034 0-.068-.032-.068-.13Zm29.023-.196c0 .587-.138 1.665-.789 2.024-2.092 1.11-6.763 1.567-10.049 1.567-.138 0-.172.065-.172.163.005.8.144 1.593.412 2.35.857 2.318 2.858 3.537 5.247 3.537a6.696 6.696 0 0 0 2.829-.63 6.369 6.369 0 0 0 2.247-1.753.491.491 0 0 1 .168-.188.53.53 0 0 1 .244-.084.453.453 0 0 1 .328.098.4.4 0 0 1 .152.294.449.449 0 0 1-.069.196c-1.406 3.036-4.253 4.505-6.956 4.505-4.573-.033-6.757-3.69-6.757-7.215 0-4.08 2.858-9.173 8.197-9.173 2.875.01 4.968 1.991 4.968 4.309Zm-10.701 1.088c-.07.226-.127.454-.172.686a5.136 5.136 0 0 0-.108.674.147.147 0 0 0 .057.099.164.164 0 0 0 .114.032c2.675 0 8.163-.914 8.163-1.763a3.297 3.297 0 0 0-1.061-2.3 3.638 3.638 0 0 0-2.437-.965c-2.361 0-3.939 1.665-4.551 3.526l-.005.011Zm16.011-2.981c.24 0 .309.065.309.228l-.315 9.5c0 1.143.143 2.35 1.029 3.2.374.352.822.628 1.314.808.492.18 1.018.26 1.544.236 2.47 0 4.39-1.306 5.214-3.102a.94.94 0 0 0 .137-.359.297.297 0 0 0-.093-.238.329.329 0 0 0-.25-.088.312.312 0 0 0-.24.098c-1.166 1.11-2.287 1.567-3.43 1.567a2.779 2.779 0 0 1-1.088-.19 2.664 2.664 0 0 1-.913-.594c-.651-.652-.651-1.6-.651-2.415l.314-8.662 5.316-.49a.682.682 0 0 0 .368-.227.63.63 0 0 0 .147-.393.645.645 0 0 0-.117-.35.687.687 0 0 0-.295-.238h-5.145c-.205 0-.24-.098-.24-.228l.137-3.809c0-.327-.274-.457-.651-.457a.688.688 0 0 0-.413.086.634.634 0 0 0-.273.306c-.686 2.71-1.818 4.113-4.047 4.864a.469.469 0 0 0-.225.166.434.434 0 0 0-.084.258.47.47 0 0 0 .062.31.51.51 0 0 0 .247.213h2.332ZM87.553 23.565c0 .838-.5 1.314-1.4 1.314-.9 0-1.26-.438-1.26-1.104 0-.838.52-1.314 1.4-1.314.88 0 1.26.457 1.26 1.104Zm51.386 1.314c.901 0 1.401-.476 1.401-1.314 0-.647-.38-1.104-1.261-1.104-.88 0-1.4.476-1.4 1.314 0 .666.36 1.104 1.26 1.104Z" clip-rule="evenodd"/></svg>
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/img/akismet-refresh-logo@2x.png b/wp-content/plugins/akismet/_inc/img/akismet-refresh-logo@2x.png Binary files differnew file mode 100644 index 0000000..15c3db3 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/img/akismet-refresh-logo@2x.png diff --git a/wp-content/plugins/akismet/_inc/img/arrow-left.svg b/wp-content/plugins/akismet/_inc/img/arrow-left.svg new file mode 100644 index 0000000..823da27 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/img/arrow-left.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path d="M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z"></path></svg>
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/img/icon-external.svg b/wp-content/plugins/akismet/_inc/img/icon-external.svg new file mode 100644 index 0000000..b7efe45 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/img/icon-external.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" focusable="false"><path fill="#357b49" d="M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z"></path></svg>
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/img/logo-a-2x.png b/wp-content/plugins/akismet/_inc/img/logo-a-2x.png Binary files differnew file mode 100644 index 0000000..087144a --- /dev/null +++ b/wp-content/plugins/akismet/_inc/img/logo-a-2x.png diff --git a/wp-content/plugins/akismet/_inc/img/logo-full-2x.png b/wp-content/plugins/akismet/_inc/img/logo-full-2x.png Binary files differnew file mode 100644 index 0000000..7954585 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/img/logo-full-2x.png diff --git a/wp-content/plugins/akismet/_inc/rtl/akismet-admin-rtl.css b/wp-content/plugins/akismet/_inc/rtl/akismet-admin-rtl.css new file mode 100644 index 0000000..1960f93 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/rtl/akismet-admin-rtl.css @@ -0,0 +1,380 @@ +/* This file was automatically generated on Nov 20 2023 03:10:42 */ + +#akismet-plugin-container { + background-color: var(--akismet-color-light-grey); + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen-Sans', 'Ubuntu', 'Cantarell', 'Helvetica Neue', sans-serif; + --akismet-color-charcoal: #272635; + --akismet-color-light-grey: #f6f7f7; + --akismet-color-mid-grey: #a7aaad; + --akismet-color-dark-grey: #646970; + --akismet-color-grey-80: #2c3338; + --akismet-color-grey-100: #101517; + --akismet-color-white: #fff; + --akismet-color-mid-green: #357b49; + --akismet-color-mid-red: #e82c3f; + --akismet-color-light-blue: #256eff; + --akismet-color-notice-light-green: #dbf0e1; + --akismet-color-notice-dark-green: #69bf82; + --akismet-color-notice-light-red: #ffdbde; + --akismet-color-notice-dark-red: #ff6676; +} + +#akismet-plugin-container a { + color: var(--akismet-color-mid-green); +} + +#akismet-plugin-container button:focus-visible, +#akismet-plugin-container input:focus-visible { + border: 0; + box-shadow: none; + outline: 2px solid var(--akismet-color-light-blue); +} + +.akismet-masthead { + box-shadow: none; +} + +.akismet-masthead__logo { + margin: 20px 0; +} + +.akismet-section-header { + box-shadow: none; + margin-bottom: 0; +} + +.akismet-section-header__label { + color: var(--akismet-color-charcoal); + font-weight: 600; +} + +.akismet-button, .akismet-button:hover { + background-color: var(--akismet-color-mid-green); + border: 0; + color: #fff; +} + +/* Need this specificity to override the existing header rule */ +.akismet-new-snapshot h3.akismet-new-snapshot__header { + background: none; + font-size: 13px; + color: var(--akismet-color-charcoal); + text-align: right; + text-transform: none; +} + +.akismet-new-snapshot .akismet-new-snapshot__number { + color: var(--akismet-color-charcoal); + letter-spacing: -1px; + text-align: right; +} + +.akismet-new-snapshot li.akismet-new-snapshot__item { + color: var(--akismet-color-dark-grey); + font-size: 13px; + text-align: right; + text-transform: none; +} + +.akismet-masthead__logo-link { + min-height: 50px; +} + +.akismet-masthead__back-link-container { + margin-top: 16px; + margin-bottom: 2px; +} + +/* Need this specificity to override the existing link rule */ +#akismet-plugin-container a.akismet-masthead__back-link { + background-image: url(../img/arrow-left.svg); + background-position: right; + background-repeat: no-repeat; + background-size: 16px; + color: var(--akismet-color-charcoal); + font-weight: 400; + padding-right: 20px; + text-decoration: none; +} + +#akismet-plugin-container a.akismet-masthead__back-link:hover { + text-decoration: underline; +} + +.akismet-new-snapshot__item { + border-top: 1px solid var(--akismet-color-light-grey); + border-right: 1px solid var(--akismet-color-light-grey); + padding: 1em; +} + +.akismet-new-snapshot li:first-child { + border-right: none; +} + +.akismet-new-snapshot__list { + display: flex; + margin-bottom: 0; +} + +.akismet-new-snapshot__item { + flex: 1 0 33.33%; + margin-bottom: 0; + padding-right: 1.5em; + padding-left: 1.5em; +} + +.akismet-new-snapshot__chart { + padding: 1em; +} + +.akismet-box { + border: 0; +} + +.akismet-box, +.akismet-card { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06), 0 0 2px rgba(0, 0, 0, 0.16); + border-radius: 8px; + overflow: hidden; +} + +.akismet-card { + margin: 32px auto 0 auto; +} + +.akismet-lower { + padding-top: 0; +} + +.akismet-lower .inside { + padding: 0; +} + +.akismet-section-header__label { + margin: 0; +} + +.akismet-settings__row { + border-bottom: 1px solid var(--akismet-color-light-grey); + display: block; + padding: 1em 1.5em; +} + +.akismet-settings__row-input { + margin-right: auto; +} + +.akismet-settings__row-title { + font-weight: 500; + font-size: 1em; + margin: 0; + margin-bottom: 1em; +} + +.akismet-settings__row-description { + margin-top: 0.5em; +} + +.akismet-card-actions { + display: flex; + justify-content: flex-end; + padding: 1em; +} + +.akismet-card-actions__secondary-action { + align-self: center; + margin-left: auto; +} + +.akismet-card-actions__secondary-action a[target="_blank"]::after { + background: url('../img/icon-external.svg') no-repeat; + background-size: contain; + content: ""; + display: inline-block; + height: 16px; + margin-right: 5px; + vertical-align: middle; + width: 16px; +} + +.akismet-settings__row label { + padding-bottom: 1em; +} + +.akismet-settings__row-note { + font-size: 0.9em; + margin-top: 0.4em; +} + +.akismet-settings__row input[type="checkbox"], +.akismet-settings__row input[type="radio"] { + accent-color: var(--akismet-color-mid-green); + box-shadow: none; + flex-shrink: 0; + margin: 2px 0 0 0; +} + +.akismet-settings__row input[type="checkbox"] { + margin-top: 1px; + vertical-align: top; + -webkit-appearance: checkbox; +} + +.akismet-settings__row input[type="radio"] { + -webkit-appearance: radio; +} + +/* Fix up misbehaving wp-admin styles in Chrome (from forms and colors stylesheets) */ +.akismet-settings__row input[type="checkbox"]:checked:before { + content: ''; +} + +.akismet-settings__row input[type="radio"]:checked:before { + background: none; +} + +.akismet-settings__row input[type="checkbox"]:checked:hover, +.akismet-settings__row input[type="radio"]:checked:hover { + accent-color: var(--akismet-color-mid-green); +} + +.akismet-button:disabled { + background-color: var(--akismet-color-mid-grey); + color: var(--akismet-color-white); + cursor: arrow; +} + +.akismet-awaiting-stats, +.akismet-account { + padding: 0 1rem 1rem 1rem; + margin: 0; +} + +.akismet-account { + padding-bottom: 0; +} + +.akismet-account th { + font-weight: 500; + padding-left: 1em; +} + +.akismet-account th, .akismet-account td { + padding-bottom: 1em; +} + +.akismet-settings__row-input-label { + align-items: center; + display: flex; +} + +.akismet-settings__row-label-text { + padding-right: 0.5em; + margin-top: 2px; +} + +.akismet-alert { + border-right: 8px solid; + border-radius: 8px; + margin: 20px 0; + padding: 0.2em 1em; +} + +.akismet-alert__heading { + font-size: 1em; +} + +.akismet-alert.is-good { + background-color: var(--akismet-color-notice-light-green); + border-right-color: var(--akismet-color-notice-dark-green); +} + +.akismet-alert.is-neutral { + background-color: var(--akismet-color-white); + border-right-color: var(--akismet-color-dark-grey); +} + +.akismet-alert.is-bad { + background-color: var(--akismet-color-notice-light-red); + border-right-color: var(--akismet-color-notice-dark-red); +} + +#akismet-plugin-container .akismet-alert.is-good a, +#akismet-plugin-container .akismet-alert.is-bad a { + /* For better contrast - green isn't great */ + color: var(--akismet-color-grey-80); +} + +/* Setup - API key input */ +.akismet-enter-api-key-box { + margin: 1.5rem 0; +} + +.akismet-enter-api-key-box__reveal { + background: none; + border: 0; + color: var(--akismet-color-mid-green); + cursor: pointer; + text-decoration: underline; +} + +.akismet-enter-api-key-box__form-wrapper { + display: none; + margin-top: 1.5rem; +} + +.akismet-enter-api-key-box__input-wrapper { + box-sizing: border-box; + display: flex; + flex-wrap: nowrap; + padding: 0 1.5rem; + width: 100%; +} + +.akismet-enter-api-key-box__key-input { + flex-grow: 1; + margin-left: 1rem; +} + +h3.akismet-enter-api-key-box__header { + padding-top: 0; + padding-bottom: 1em; + text-align: right; +} + +@media screen and (max-width: 782px) { + .akismet-new-snapshot__list { + display: block; + } + + .akismet-new-snapshot__number { + float: left; + font-size: 20px; + font-weight: 500; + margin-top: -16px; + } + + .akismet-new-snapshot__header { + font-size: 14px; + font-weight: 500; + } + + .akismet-new-snapshot__text { + font-size: 12px; + } + + .akismet-settings__row input[type="checkbox"], + .akismet-settings__row input[type="radio"] { + height: 24px; + width: 24px; + } + + .akismet-settings__row-label-text { + padding-right: 0.8em; + } + + .akismet-settings__row input[type="checkbox"], + .akismet-settings__row input[type="radio"] { + margin-top: 0; + } +}
\ No newline at end of file diff --git a/wp-content/plugins/akismet/_inc/rtl/akismet-rtl.css b/wp-content/plugins/akismet/_inc/rtl/akismet-rtl.css new file mode 100644 index 0000000..8a00368 --- /dev/null +++ b/wp-content/plugins/akismet/_inc/rtl/akismet-rtl.css @@ -0,0 +1,649 @@ +/* This file was automatically generated on Aug 25 2023 03:41:43 */ + +.wp-admin.jetpack_page_akismet-key-config, .wp-admin.settings_page_akismet-key-config { + background-color:#f3f6f8; +} + +#submitted-on { + position: relative; +} +#the-comment-list .author .akismet-user-comment-count { + display: inline; +} +#the-comment-list .author a span { + text-decoration: none; + color: #999; +} +#the-comment-list .author a span.akismet-span-link { + text-decoration: inherit; + color: inherit; +} +#the-comment-list .akismet_remove_url { + margin-right: 3px; + color: #999; + padding: 2px 0 2px 3px; +} +#the-comment-list .akismet_remove_url:hover { + color: #A7301F; + font-weight: bold; + padding: 2px 0 2px 2px; +} +#dashboard_recent_comments .akismet-status { + display: none; +} +.akismet-status { + float: left; +} +.akismet-status a { + color: #AAA; + font-style: italic; +} +table.comments td.comment p a { + text-decoration: underline; +} +table.comments td.comment p a:after { + content: attr(href); + color: #aaa; + display: inline-block; /* Show the URL without the link's underline extending under it. */ + padding: 0 1ex; /* Because it's inline block, we can't just use spaces in the content: attribute to separate it from the link text. */ +} +.mshot-arrow { + width: 0; + height: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + border-left: 10px solid #5C5C5C; + position: absolute; + right: -6px; + top: 91px; +} +.mshot-container { + background: #5C5C5C; + position: absolute; + top: -94px; + padding: 7px; + width: 450px; + height: 338px; + z-index: 20000; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-border-radius: 6px; +} +.akismet-mshot { + position: absolute; + z-index: 100; +} +.akismet-mshot .mshot-image { + margin: 0; + height: 338px; + width: 450px; +} +.checkforspam { + display: inline-block !important; +} + +.checkforspam-spinner { + display: inline-block; + margin-top: 7px; +} + +.akismet-right { + float: left; +} + +.akismet-card .akismet-right { + margin: 1em 0; +} + +.akismet-alert-text { + color: #dd3d36; + font-weight: bold; + font-size: 120%; + margin-top: .5rem; +} + +.akismet-new-snapshot { + margin-top: 1em; + text-align: center; + background: #fff; +} + +.akismet-new-snapshot h3 { + background: #f5f5f5; + color: #888; + font-size: 11px; + margin: 0; +} + +.akismet-new-snapshot ul li { + color: #999; + font-size: 11px; + text-transform: uppercase; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -ms-box-sizing: border-box; +} + +.akismet-new-snapshot__number { + display: block; + font-size: 32px; + font-weight: lighter; + line-height: 1.5em; +} + +.akismet-settings th:first-child { + vertical-align: top; + padding-top: 15px; +} + +.akismet-settings th.akismet-api-key { + vertical-align: middle; + padding-top: 0; +} + +.akismet-settings span.akismet-note{ + float: right; + padding-right: 23px; + font-size: 75%; + margin-top: -10px; +} + +/** + * For the activation notice on the plugins page. + */ + +#akismet_setup_prompt { + background: none; + border: none; + margin: 0; + padding: 0; + width: 100%; +} + +.akismet_activate { + border: 1px solid #4F800D; + padding: 5px; + margin: 15px 0; + background: #83AF24; + background-image: -webkit-gradient(linear, 0% 0, 80% 100%, from(#83AF24), to(#4F800D)); + background-image: -moz-linear-gradient(-80% 100% 120deg, #4F800D, #83AF24); + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-border-radius: 3px; + position: relative; + overflow: hidden; +} + +.akismet_activate .aa_a { + position: absolute; + top: -5px; + left: 10px; + font-size: 140px; + color: #769F33; + font-family: Georgia, "Times New Roman", Times, serif; +} + +.akismet_activate .aa_button { + font-weight: bold; + border: 1px solid #029DD6; + border-top: 1px solid #06B9FD; + font-size: 15px; + text-align: center; + padding: 9px 0 8px 0; + color: #FFF; + background: #029DD6; + background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#029DD6), to(#0079B1)); + background-image: -moz-linear-gradient(0% 100% 90deg, #0079B1, #029DD6); + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; + width: 100%; + cursor: pointer; + margin: 0; +} + +.akismet_activate .aa_button:hover { + text-decoration: none !important; + border: 1px solid #029DD6; + border-bottom: 1px solid #00A8EF; + font-size: 15px; + text-align: center; + padding: 9px 0 8px 0; + color: #F0F8FB; + background: #0079B1; + background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#0079B1), to(#0092BF)); + background-image: -moz-linear-gradient(0% 100% 90deg, #0092BF, #0079B1); + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; +} + +.akismet_activate .aa_button_border { + border: 1px solid #006699; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; + background: #029DD6; + background-image: -webkit-gradient(linear, 0% 0, 0% 100%, from(#029DD6), to(#0079B1)); + background-image: -moz-linear-gradient(0% 100% 90deg, #0079B1, #029DD6); +} + +.akismet_activate .aa_button_container { + box-sizing: border-box; + display: inline-block; + background: #DEF1B8; + padding: 5px; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-border-radius: 2px; + width: 266px; +} + +.akismet_activate .aa_description { + position: absolute; + top: 22px; + right: 285px; + margin-right: 25px; + color: #E5F2B1; + font-size: 15px; +} + +.akismet_activate .aa_description strong { + color: #FFF; + font-weight: normal; +} + +@media (max-width: 550px) { + .akismet_activate .aa_a { + display: none; + } + + .akismet_activate .aa_button_container { + width: 100%; + } +} + +@media (max-width: 782px) { + .akismet_activate { + min-width: 0; + } +} + +@media (max-width: 850px) { + #akismet_setup_prompt .aa_description { + display: none; + } + + .akismet_activate { + min-width: 0; + } +} + +.jetpack_page_akismet-key-config #wpcontent, .settings_page_akismet-key-config #wpcontent { + padding-right: 0; +} + +.akismet-masthead { + background-color:#fff; + text-align:center; + box-shadow:0 1px 0 rgba(200,215,225,0.5),0 1px 2px #e9eff3 +} +@media (max-width: 45rem) { + .akismet-masthead { + padding:0 1.25rem + } +} + +.akismet-masthead__inside-container { + padding:.375rem 0; + margin:0 auto; + width:100%; + max-width:45rem; + text-align: right; +} +.akismet-masthead__logo-container { + padding:.3125rem 0 0 +} +.akismet-masthead__logo-link { + display:inline-block; + outline:none; + vertical-align:middle +} +.akismet-masthead__logo-link:focus { + line-height:0; + box-shadow:0 0 0 2px #78dcfa +} +.akismet-masthead__logo-link+code { + margin:0 10px; + padding:5px 9px; + border-radius:2px; + background:#e6ecf1; + color:#647a88 +} +.akismet-masthead__links { + display:-ms-flexbox; + display:flex; + -ms-flex-flow:row wrap; + flex-flow:row wrap; + -ms-flex:2 50%; + flex:2 50%; + -ms-flex-pack:end; + justify-content:flex-end; + margin:0 +} +@media (max-width: 480px) { + .akismet-masthead__links { + padding-left:.625rem + } +} +.akismet-masthead__link-li { + margin:0; + padding:0 +} +.akismet-masthead__link { + font-style:normal; + color:#0087be; + padding:.625rem; + display:inline-block +} +.akismet-masthead__link:visited { + color:#0087be +} +.akismet-masthead__link:active,.akismet-masthead__link:hover { + color:#00aadc +} +.akismet-masthead__link:hover { + text-decoration:underline +} +.akismet-masthead__link .dashicons { + display:none +} +@media (max-width: 480px) { + .akismet-masthead__link:hover,.akismet-masthead__link:active { + text-decoration:none + } + .akismet-masthead__link .dashicons { + display:block; + font-size:1.75rem + } + .akismet-masthead__link span+span { + display:none + } +} +.akismet-masthead__link-li:last-of-type .akismet-masthead__link { + padding-left:0 +} + +.akismet-lower { + margin: 0 auto; + text-align: right; + max-width: 45rem; + padding: 1.5rem; +} + +.akismet-lower .notice { + margin-bottom: 2rem; +} + +.akismet-card { + margin-top: 1rem; + margin-bottom: 0; + position: relative; + box-sizing: border-box; + background: white; +} + +.akismet-card:after, .akismet-card .inside:after, .akismet-masthead__logo-container:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.akismet-card .inside { + padding: 1.5rem; + padding-top: 1rem; +} + +.akismet-card .akismet-card-actions { + margin-top: 1rem; +} + +.jetpack_page_akismet-key-config .update-nag, .settings_page_akismet-key-config .update-nag { + display: none; +} + +.akismet-masthead .akismet-right { + line-height: 2.125rem; + font-size: 0.9rem; +} + +.akismet-box { + box-sizing: border-box; + background: white; + border: 1px solid rgba(200, 215, 225, 0.5); +} + +.akismet-box h2, .akismet-box h3 { + padding: 1.5rem 1.5rem .5rem 1.5rem; + margin: 0; +} + +.akismet-box p { + padding: 0 1.5rem 1.5rem 1.5rem; + margin: 0; +} + +.akismet-jetpack-email { + font-style: oblique; +} + +.akismet-jetpack-gravatar { + padding: 0 1.5rem 0 0; + float: right; + margin-left: 1rem; + width: 54px; + height: 54px; +} + +.akismet-box p:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.akismet-box .akismet-right { + padding-left: 1.5rem; +} + +.akismet-boxes .akismet-box { + margin-bottom: 0; + padding: 0; + margin-top: -1px; +} + +.akismet-boxes .akismet-box:last-child { + margin-bottom: 1.5rem; +} + +.akismet-boxes .akismet-box:first-child { + margin-top: 1.5rem; +} + +.akismet-box-header { + max-width: 700px; + margin: 0 auto 40px auto; + line-height: 1.5; +} + +.akismet-box-header h2 { + margin: 1.5rem 10% 0; + font-size: 1.375rem; + font-weight: 700; + color: #000; +} + +.akismet-box .centered { + text-align: center; +} + +.akismet-box .akismet-toggles { + margin: 3rem 0; +} + +.akismet-box .akismet-ak-connect, .akismet-box .toggle-jp-connect { + display: none; +} + +.akismet-button, .akismet-button:hover, .akismet-button:visited { + background: white; + border-color: #c8d7e1; + border-style: solid; + border-width: 1px 1px 2px; + color: #2e4453; + cursor: pointer; + display: inline-block; + margin: 0; + outline: 0; + overflow: hidden; + font-size: 14px; + font-weight: 500; + text-overflow: ellipsis; + text-decoration: none; + vertical-align: top; + box-sizing: border-box; + font-size: 14px; + line-height: 21px; + border-radius: 4px; + padding: 7px 14px 9px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.akismet-button:hover { + border-color: #a8bece; +} + +.akismet-button:active { + border-width: 2px 1px 1px; +} + +.akismet-is-primary, .akismet-is-primary:hover, .akismet-is-primary:visited { + background: #00aadc; + border-color: #0087be; + color: white; +} + +.akismet-is-primary:hover, .akismet-is-primary:focus { + border-color: #005082; +} + +.akismet-is-primary:hover { + border-color: #005082; +} + +.akismet-section-header { + position: relative; + margin: 0 auto 0.625rem auto; + padding: 1rem; + box-sizing: border-box; + box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3; + background: #ffffff; + width: 100%; + padding-top: 0.6875rem; + padding-bottom: 0.6875rem; + display: flex; +} + +.akismet-section-header__label { + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + align-items: center; + -ms-flex-positive: 1; + flex-grow: 1; + line-height: 1.75rem; + position: relative; + font-size: 0.875rem; + color: #4f748e; +} + +.akismet-section-header__actions { + line-height: 1.75rem; +} + +.akismet-setup-instructions { + text-align: center; +} + +.akismet-setup-instructions form { + padding-bottom: 1.5rem; +} + +div.error.akismet-usage-limit-alert { + padding: 25px 15px 25px 45px; + display: flex; + align-items: center; +} + +#akismet-plugin-container .akismet-usage-limit-alert { + margin: 0 auto 0.625rem auto; + box-sizing: border-box; + box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3; + border: none; + border-right: 4px solid #d63638; +} + +.akismet-usage-limit-alert .akismet-usage-limit-logo { + width: 38px; + min-width: 38px; + height: 38px; + border-radius: 20px; + margin-left: 18px; + background: black; + position: relative; +} + +.akismet-usage-limit-alert .akismet-usage-limit-logo img { + position: absolute; + width: 22px; + right: 8px; + top: 10px; +} + +.akismet-usage-limit-alert .akismet-usage-limit-text { + flex-grow: 1; + margin-left: 18px; +} + +.akismet-usage-limit-alert h3 { + margin: 0; +} + +.akismet-usage-limit-alert .akismet-usage-limit-cta { + text-align: left; +} + +#akismet-plugin-container .akismet-usage-limit-cta a { + color: #d63638; +} + +@media (max-width: 550px) { + div.error.akismet-usage-limit-alert { + display: block; + } + + .akismet-usage-limit-alert .akismet-usage-limit-logo, + .akismet-usage-limit-alert .akismet-usage-limit-text { + margin-bottom: 15px; + } + + .akismet-usage-limit-alert .akismet-usage-limit-cta { + text-align: right; + } +}
\ No newline at end of file |