This commit is contained in:
Karin Allarpsdotter 2025-06-09 09:58:01 +02:00
parent 1471fcbc60
commit 61f6ceb973
2021 changed files with 26802 additions and 243575 deletions

View File

@ -23,7 +23,7 @@
</FilesMatch>
# Akismet images
<FilesMatch "^(logo-a-2x\.png|akismet-refresh-logo\.svg|akismet-refresh-logo@2x\.png|arrow-left\.svg|icon-external\.svg|akismet-activation-banner-elements\.png)$">
<FilesMatch "^(logo-a-2x\.png|akismet-refresh-logo\.svg|akismet-refresh-logo@2x\.png|arrow-left\.svg|akismet-activation-banner-elements\.png)$">
<IfModule !mod_authz_core.c>
Allow from all
</IfModule>

View File

@ -7,6 +7,7 @@ body {
--akismet-color-grey-100: #101517;
--akismet-color-white: #fff;
--akismet-color-mid-green: #357b49;
--akismet-color-light-green: #4eb26a;
--akismet-color-mid-red: #e82c3f;
--akismet-color-light-blue: #256eff;
--akismet-color-notice-light-green: #dbf0e1;
@ -16,6 +17,17 @@ body {
--akismet-color-notice-yellow: #e5c133;
}
/* UI components */
.akismet-new-feature {
background-color: var(--akismet-color-light-green);
border-radius: 4px;
color: var(--akismet-color-white);
font-size: 10px;
padding: 4px 6px;
text-transform: uppercase;
vertical-align: top;
}
#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;
@ -54,6 +66,7 @@ body {
.akismet-section-header__label {
color: var(--akismet-color-charcoal);
font-weight: 600;
padding-left: 0.2em;
}
.akismet-button, .akismet-button:hover {
@ -194,17 +207,6 @@ body {
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;
}
@ -403,7 +405,7 @@ h3.akismet-enter-api-key-box__header {
}
.akismet-activate__button,
.akismet-activate__button:hover,
.akismet-activate__button:hover,
.akismet-activate__button:visited {
margin: 0 1em;
}
@ -418,6 +420,95 @@ h3.akismet-enter-api-key-box__header {
text-wrap: pretty;
}
/* Compatible plugins section */
.akismet-compatible-plugins__content {
padding: 0 1.5em 1.5em 1.5em;
}
.akismet-compatible-plugins__intro {
margin: 0;
}
.akismet-compatible-plugins__section-header-label {
display: block;
}
.akismet-compatible-plugins__section-header-label-text {
padding-right: 0.5em;
}
.akismet-compatible-plugins__list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
gap: 20px;
margin: 1.5em 0 1em 0;
padding: 0;
}
.akismet-compatible-plugins__card {
border: 1px solid var(--akismet-color-light-grey);
border-radius: 4px;
flex: 1 1 calc(50% - 5px);
padding: 1em;
display: flex;
}
.akismet-compatible-plugins__card-logo {
padding: 0 1.5em 0 0;
object-fit: contain;
}
.akismet-compatible-plugins__card-title {
font-size: 1.2em;
margin-top: 0;
}
.akismet-compatible-plugins__docs {
margin-top: 1em;
}
.akismet-settings__external-link::after {
content: "↗";
display: inline-block;
padding-left: 2px;
text-decoration: none;
vertical-align: text-top;
}
.akismet-compatible-plugins__external-link::after {
content: "↗";
display: inline-block;
padding-left: 2px;
text-decoration: none;
vertical-align: text-top;
}
.akismet-compatible-plugins__show-more {
all: unset;
cursor: pointer;
display: flex;
justify-content: space-between;
position: relative;
width: 100%;
}
/* Generates the show/hide chevron */
.akismet-compatible-plugins__show-more::after {
align-self: center;
border-bottom: 2px solid black;
border-right: 2px solid black;
content: "";
height: 8px;
transform: rotate(45deg);
transition: transform 0.2s ease;
width: 8px;
}
.akismet-compatible-plugins__list.is-expanded + .akismet-compatible-plugins__show-more::after {
align-self: end;
transform: rotate(225deg);
}
/* Gutenberg medium breakpoint */
@media screen and (max-width: 782px) {
.akismet-new-snapshot__list {
@ -472,6 +563,10 @@ h3.akismet-enter-api-key-box__header {
/* Gutenberg small breakpoint */
@media screen and (max-width: 600px) {
.akismet-compatible-plugins__list {
gap: 10px;
}
.akismet-activate__button,
.akismet-activate__button:hover {
font-size: 13px;

View File

@ -4,4 +4,34 @@ document.addEventListener( 'DOMContentLoaded', function() {
if ( statsIframe ) {
statsIframe.contentWindow.location.href = statsIframe.src;
}
} );
initCompatiblePluginsShowMoreToggle();
} );
function initCompatiblePluginsShowMoreToggle() {
const section = document.querySelector( '.akismet-compatible-plugins' );
const list = document.querySelector( '.akismet-compatible-plugins__list' );
const button = document.querySelector( '.akismet-compatible-plugins__show-more' );
if ( ! section || ! list || ! button ) {
return;
}
function isElementInViewport( element ) {
const rect = element.getBoundingClientRect();
return rect.top >= 0 && rect.bottom <= window.innerHeight;
}
function toggleCards() {
list.classList.toggle( 'is-expanded' );
const isExpanded = list.classList.contains( 'is-expanded' );
button.textContent = isExpanded ? button.dataset.labelOpen : button.dataset.labelClosed;
button.setAttribute( 'aria-expanded', isExpanded.toString() );
if ( ! isExpanded && ! isElementInViewport( section ) ) {
section.scrollIntoView( { block: 'start' } );
}
}
button.addEventListener( 'click', toggleCards );
}

View File

@ -63,9 +63,7 @@ table.comments td.comment p a:after {
width: 450px;
height: 338px;
z-index: 20000;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-border-radius: 6px;
}
.akismet-mshot {
position: absolute;
@ -118,9 +116,6 @@ table.comments td.comment p a:after {
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 {
@ -190,13 +185,9 @@ table.comments td.comment p a:after {
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
}
@ -384,7 +375,6 @@ table.comments td.comment p a:after {
text-decoration: none;
vertical-align: top;
box-sizing: border-box;
font-size: 14px;
line-height: 21px;
border-radius: 4px;
padding: 7px 14px 9px;
@ -429,11 +419,8 @@ table.comments td.comment p a:after {
}
.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;

View File

@ -280,7 +280,7 @@ jQuery( function ( $ ) {
}
if ( "start_recheck" in WPAkismet && WPAkismet.start_recheck ) {
$( '.checkforspam' ).click();
$( '.checkforspam:first' ).click();
}
if ( typeof MutationObserver !== 'undefined' ) {

View File

@ -1 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 350 B

View File

@ -1,4 +1,4 @@
/* This file was automatically generated on Nov 05 2024 03:06:40 */
/* This file was automatically generated on Mar 24 2025 16:58:29 */
body {
--akismet-color-charcoal: #272635;
@ -9,6 +9,7 @@ body {
--akismet-color-grey-100: #101517;
--akismet-color-white: #fff;
--akismet-color-mid-green: #357b49;
--akismet-color-light-green: #4eb26a;
--akismet-color-mid-red: #e82c3f;
--akismet-color-light-blue: #256eff;
--akismet-color-notice-light-green: #dbf0e1;
@ -18,6 +19,17 @@ body {
--akismet-color-notice-yellow: #e5c133;
}
/* UI components */
.akismet-new-feature {
background-color: var(--akismet-color-light-green);
border-radius: 4px;
color: var(--akismet-color-white);
font-size: 10px;
padding: 4px 6px;
text-transform: uppercase;
vertical-align: top;
}
#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;
@ -56,6 +68,7 @@ body {
.akismet-section-header__label {
color: var(--akismet-color-charcoal);
font-weight: 600;
padding-right: 0.2em;
}
.akismet-button, .akismet-button:hover {
@ -196,17 +209,6 @@ body {
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;
}
@ -405,7 +407,7 @@ h3.akismet-enter-api-key-box__header {
}
.akismet-activate__button,
.akismet-activate__button:hover,
.akismet-activate__button:hover,
.akismet-activate__button:visited {
margin: 0 1em;
}
@ -420,6 +422,95 @@ h3.akismet-enter-api-key-box__header {
text-wrap: pretty;
}
/* Compatible plugins section */
.akismet-compatible-plugins__content {
padding: 0 1.5em 1.5em 1.5em;
}
.akismet-compatible-plugins__intro {
margin: 0;
}
.akismet-compatible-plugins__section-header-label {
display: block;
}
.akismet-compatible-plugins__section-header-label-text {
padding-left: 0.5em;
}
.akismet-compatible-plugins__list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
gap: 20px;
margin: 1.5em 0 1em 0;
padding: 0;
}
.akismet-compatible-plugins__card {
border: 1px solid var(--akismet-color-light-grey);
border-radius: 4px;
flex: 1 1 calc(50% - 5px);
padding: 1em;
display: flex;
}
.akismet-compatible-plugins__card-logo {
padding: 0 0 0 1.5em;
object-fit: contain;
}
.akismet-compatible-plugins__card-title {
font-size: 1.2em;
margin-top: 0;
}
.akismet-compatible-plugins__docs {
margin-top: 1em;
}
.akismet-settings__external-link::after {
content: "↗";
display: inline-block;
padding-right: 2px;
text-decoration: none;
vertical-align: text-top;
}
.akismet-compatible-plugins__external-link::after {
content: "↗";
display: inline-block;
padding-right: 2px;
text-decoration: none;
vertical-align: text-top;
}
.akismet-compatible-plugins__show-more {
all: unset;
cursor: pointer;
display: flex;
justify-content: space-between;
position: relative;
width: 100%;
}
/* Generates the show/hide chevron */
.akismet-compatible-plugins__show-more::after {
align-self: center;
border-bottom: 2px solid black;
border-left: 2px solid black;
content: "";
height: 8px;
transform: rotate(-45deg);
transition: transform 0.2s ease;
width: 8px;
}
.akismet-compatible-plugins__list.is-expanded + .akismet-compatible-plugins__show-more::after {
align-self: end;
transform: rotate(-225deg);
}
/* Gutenberg medium breakpoint */
@media screen and (max-width: 782px) {
.akismet-new-snapshot__list {
@ -474,6 +565,10 @@ h3.akismet-enter-api-key-box__header {
/* Gutenberg small breakpoint */
@media screen and (max-width: 600px) {
.akismet-compatible-plugins__list {
gap: 10px;
}
.akismet-activate__button,
.akismet-activate__button:hover {
font-size: 13px;

View File

@ -1,4 +1,4 @@
/* This file was automatically generated on Jul 03 2024 02:40:33 */
/* This file was automatically generated on Feb 01 2025 01:02:26 */
.wp-admin.jetpack_page_akismet-key-config, .wp-admin.settings_page_akismet-key-config {
background-color:#f3f6f8;
@ -65,9 +65,7 @@ table.comments td.comment p a:after {
width: 450px;
height: 338px;
z-index: 20000;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-border-radius: 6px;
}
.akismet-mshot {
position: absolute;
@ -120,9 +118,6 @@ table.comments td.comment p a:after {
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 {
@ -192,13 +187,9 @@ table.comments td.comment p a:after {
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
}
@ -386,7 +377,6 @@ table.comments td.comment p a:after {
text-decoration: none;
vertical-align: top;
box-sizing: border-box;
font-size: 14px;
line-height: 21px;
border-radius: 4px;
padding: 7px 14px 9px;
@ -431,11 +421,8 @@ table.comments td.comment p a:after {
}
.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;

View File

@ -6,9 +6,9 @@
Plugin Name: Akismet Anti-spam: Spam Protection
Plugin URI: https://akismet.com/
Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. Akismet Anti-spam keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.
Version: 5.3.7
Version: 5.4
Requires at least: 5.8
Requires PHP: 5.6.20
Requires PHP: 7.2
Author: Automattic - Anti-spam Team
Author URI: https://automattic.com/wordpress-plugins/
License: GPLv2 or later
@ -30,7 +30,7 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Copyright 2005-2023 Automattic, Inc.
Copyright 2005-2025 Automattic, Inc.
*/
// Make sure we don't expose any info if called directly
@ -39,7 +39,7 @@ if ( ! function_exists( 'add_action' ) ) {
exit;
}
define( 'AKISMET_VERSION', '5.3.7' );
define( 'AKISMET_VERSION', '5.4' );
define( 'AKISMET__MINIMUM_WP_VERSION', '5.8' );
define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'AKISMET_DELETE_LIMIT', 10000 );
@ -50,11 +50,14 @@ register_deactivation_hook( __FILE__, array( 'Akismet', 'plugin_deactivation' )
require_once AKISMET__PLUGIN_DIR . 'class.akismet.php';
require_once AKISMET__PLUGIN_DIR . 'class.akismet-widget.php';
require_once AKISMET__PLUGIN_DIR . 'class.akismet-rest-api.php';
require_once AKISMET__PLUGIN_DIR . 'class-akismet-compatible-plugins.php';
add_action( 'init', array( 'Akismet', 'init' ) );
add_action( 'rest_api_init', array( 'Akismet_REST_API', 'init' ) );
add_action( 'init', array( 'Akismet_Compatible_Plugins', 'init' ) );
if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
require_once AKISMET__PLUGIN_DIR . 'class.akismet-admin.php';
add_action( 'init', array( 'Akismet_Admin', 'init' ) );

View File

@ -5,6 +5,47 @@
This file contains older changelog entries, so we can keep the size of the standard WordPress readme.txt file reasonable.
For the latest changes, please see the "Changelog" section of the [readme.txt file](https://plugins.svn.wordpress.org/akismet/trunk/readme.txt).
= 4.2.5 =
*Release Date - 11 July 2022*
* Fixed a bug that added unnecessary comment history entries after comment rechecks.
* Added a notice that displays when WP-Cron is disabled and might be affecting comment rechecks.
= 4.2.4 =
*Release Date - 20 May 2022*
* Improved translator instructions for comment history.
* Bumped the "Tested up to" tag to WP 6.0.
= 4.2.3 =
*Release Date - 25 April 2022*
* Improved compatibility with Fluent Forms
* Fixed missing translation domains
* Updated stats URL.
* Improved accessibility of elements on the config page.
= 4.2.2 =
*Release Date - 24 January 2022*
* Improved compatibility with Formidable Forms
* Fixed a bug that could cause issues when multiple contact forms appear on one page.
* Updated delete_comment and deleted_comment actions to pass two arguments to match WordPress core since 4.9.0.
* Added a filter that allows comment types to be excluded when counting users' approved comments.
= 4.2.1 =
*Release Date - 1 October 2021*
* Fixed a bug causing AMP validation to fail on certain pages with forms.
= 4.2 =
*Release Date - 30 September 2021*
* Added links to additional information on API usage notifications.
* Reduced the number of network requests required for a comment page when running Akismet.
* Improved compatibility with the most popular contact form plugins.
* Improved API usage buttons for clarity on what upgrade is needed.
= 4.1.12 =
*Release Date - 3 September 2021*

View File

@ -0,0 +1,316 @@
<?php
/**
* Handles compatibility checks for Akismet with other plugins.
*
* @package Akismet
* @since 5.4.0
*/
declare( strict_types = 1 );
// Following existing Akismet convention for file naming.
// phpcs:ignore WordPress.Files.FileName.NotHyphenatedLowercase
/**
* Class for managing compatibility checks for Akismet with other plugins.
*
* This class includes methods for determining whether specific plugins are
* installed and active relative to the ability to work with Akismet.
*/
class Akismet_Compatible_Plugins {
/**
* The endpoint for the compatible plugins API.
*
* @var string
*/
protected const COMPATIBLE_PLUGIN_ENDPOINT = 'https://rest.akismet.com/1.2/compatible-plugins';
/**
* The error key for the compatible plugins API error.
*
* @var string
*/
protected const COMPATIBLE_PLUGIN_API_ERROR = 'akismet_compatible_plugins_api_error';
/**
* The valid fields for a compatible plugin object.
*
* @var array
*/
protected const COMPATIBLE_PLUGIN_FIELDS = array(
'slug',
'name',
'logo',
'help_url',
'path',
);
/**
* The cache key for the compatible plugins.
*
* @var string
*/
protected const CACHE_KEY = 'akismet_compatible_plugin_list';
/**
* The cache group for things cached in this class.
*
* @var string
*/
protected const CACHE_GROUP = 'akismet_compatible_plugins';
/**
* How many plugins should be visible by default?
*
* @var int
*/
public const DEFAULT_VISIBLE_PLUGIN_COUNT = 2;
/**
* Get the list of active, installed compatible plugins.
*
* @return WP_Error|array {
* Array of active, installed compatible plugins with their metadata.
* @type string $name The display name of the plugin
* @type string $help_url URL to the plugin's help documentation
* @type string $logo URL or path to the plugin's logo
* }
*/
public static function get_installed_compatible_plugins() {
// Retrieve and validate the full compatible plugins list.
$compatible_plugins = static::get_compatible_plugins();
if ( empty( $compatible_plugins ) ) {
return new WP_Error(
self::COMPATIBLE_PLUGIN_API_ERROR,
__( 'Error getting compatible plugins.', 'akismet' )
);
}
// Retrieve all installed plugins once.
$all_plugins = get_plugins();
// Build list of compatible plugins that are both installed and active.
$active_compatible_plugins = array();
foreach ( $compatible_plugins as $slug => $data ) {
$path = $data['path'];
// Skip if not installed.
if ( ! isset( $all_plugins[ $path ] ) ) {
continue;
}
// Check activation: per-site or network-wide (multisite).
$site_active = is_plugin_active( $path );
$network_active = is_multisite() && is_plugin_active_for_network( $path );
if ( $site_active || $network_active ) {
$active_compatible_plugins[ $slug ] = $data;
}
}
return $active_compatible_plugins;
}
/**
* Initializes action hooks for the class.
*
* @return void
*/
public static function init(): void {
add_action( 'activated_plugin', array( static::class, 'handle_plugin_change' ), true );
add_action( 'deactivated_plugin', array( static::class, 'handle_plugin_change' ), true );
}
/**
* Handles plugin activation and deactivation events.
*
* @param string $plugin The path to the main plugin file from plugins directory.
* @return void
*/
public static function handle_plugin_change( string $plugin ): void {
$cached_plugins = static::get_cached_plugins();
/**
* Terminate if nothing's cached.
*/
if ( false === $cached_plugins ) {
return;
}
$plugin_change_should_invalidate_cache = in_array( $plugin, array_column( $cached_plugins, 'path' ) );
/**
* Purge the cache if the plugin is activated or deactivated.
*/
if ( $plugin_change_should_invalidate_cache ) {
static::purge_cache();
}
}
/**
* Gets plugins that are compatible with Akismet from the Akismet API.
*
* @return array
*/
private static function get_compatible_plugins(): array {
// Return cached result if present (false => cache miss; empty array is valid).
$cached_plugins = static::get_cached_plugins();
if ( $cached_plugins ) {
return $cached_plugins;
}
$response = wp_remote_get(
self::COMPATIBLE_PLUGIN_ENDPOINT
);
$sanitized = static::validate_compatible_plugin_response( $response );
if ( false === $sanitized ) {
return array();
}
/**
* Sets local static associative array of plugin data keyed by plugin slug.
*/
$compatible_plugins = array();
foreach ( $sanitized as $plugin ) {
$compatible_plugins[ $plugin['slug'] ] = $plugin;
}
static::set_cached_plugins( $compatible_plugins );
return $compatible_plugins;
}
/**
* Validates a response object from the Compatible Plugins API.
*
* @param array|WP_Error $response
* @return array|false
*/
private static function validate_compatible_plugin_response( $response ) {
/**
* Terminates the function if the response is a WP_Error object.
*/
if ( is_wp_error( $response ) ) {
return false;
}
/**
* The response returned is an array of header + body string data.
* This pops off the body string for processing.
*/
$response_body = wp_remote_retrieve_body( $response );
if ( empty( $response_body ) ) {
return false;
}
$plugins = json_decode( $response_body, true );
if ( false === is_array( $plugins ) ) {
return false;
}
foreach ( $plugins as $plugin ) {
if ( ! is_array( $plugin ) ) {
/**
* Skips to the next iteration if for some reason the plugin is not an array.
*/
continue;
}
// Ensure that the plugin config read in from the API has all the required fields.
$plugin_key_count = count(
array_intersect_key( $plugin, array_flip( static::COMPATIBLE_PLUGIN_FIELDS ) )
);
$does_not_have_all_required_fields = ! (
$plugin_key_count === count( static::COMPATIBLE_PLUGIN_FIELDS )
);
if ( $does_not_have_all_required_fields ) {
return false;
}
if ( false === static::has_valid_plugin_path( $plugin['path'] ) ) {
return false;
}
}
return static::sanitize_compatible_plugin_response( $plugins );
}
/**
* Validates a plugin path format.
*
* The path should be in the format of 'plugin-name/plugin-name.php'.
* Allows alphanumeric characters, dashes, underscores, and optional dots in folder names.
*
* @param string $path
* @return bool
*/
private static function has_valid_plugin_path( string $path ): bool {
return preg_match( '/^[a-zA-Z0-9._-]+\/[a-zA-Z0-9_-]+\.php$/', $path ) === 1;
}
/**
* Sanitizes a response object from the Compatible Plugins API.
*
* @param array $plugins
* @return array
*/
private static function sanitize_compatible_plugin_response( array $plugins = array() ): array {
foreach ( $plugins as $key => $plugin ) {
$plugins[ $key ] = array_map( 'sanitize_text_field', $plugin );
$plugins[ $key ]['help_url'] = sanitize_url( $plugins[ $key ]['help_url'] );
$plugins[ $key ]['logo'] = sanitize_url( $plugins[ $key ]['logo'] );
}
return $plugins;
}
/**
* @param array $plugins
* @return bool
*/
private static function set_cached_plugins( array $plugins ): bool {
$_blog_id = (int) get_current_blog_id();
return wp_cache_set(
static::CACHE_KEY . "_$_blog_id",
$plugins,
static::CACHE_GROUP . "_$_blog_id",
DAY_IN_SECONDS
);
}
/**
* Attempts to get cached compatible plugins.
*
* @return mixed|false
*/
private static function get_cached_plugins() {
$_blog_id = (int) get_current_blog_id();
return wp_cache_get(
static::CACHE_KEY . "_$_blog_id",
static::CACHE_GROUP . "_$_blog_id"
);
}
/**
* Purges the cache for the compatible plugins.
*
* @return bool
*/
private static function purge_cache(): bool {
$_blog_id = (int) get_current_blog_id();
return wp_cache_delete(
static::CACHE_KEY . "_$_blog_id",
static::CACHE_GROUP . "_$_blog_id"
);
}
}

View File

@ -8,8 +8,11 @@
// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
class Akismet_Admin {
const NONCE = 'akismet-update-key';
const NOTICE_EXISTING_KEY_INVALID = 'existing-key-invalid';
private static $initiated = false;
private static $notices = array();
private static $allowed = array(
@ -97,7 +100,6 @@ class Akismet_Admin {
}
}
load_plugin_textdomain( 'akismet' );
add_meta_box( 'akismet-status', __( 'Comment History', 'akismet' ), array( 'Akismet_Admin', 'comment_status_meta_box' ), 'comment', 'normal' );
if ( function_exists( 'wp_add_privacy_policy_content' ) ) {
@ -170,18 +172,7 @@ class Akismet_Admin {
wp_register_style( 'akismet-admin', plugin_dir_url( __FILE__ ) . $akismet_admin_css_path, array(), self::get_asset_file_version( $akismet_admin_css_path ) );
wp_enqueue_style( 'akismet-admin' );
// Enqueue the Akismet activation banner background separately so we can
// include the right path to the image. Shown on edit-comments.php and plugins.php.
if ( in_array( $hook_suffix, self::$activation_banner_pages, true ) ) {
$activation_banner_url = esc_url(
plugin_dir_url( __FILE__ ) . '_inc/img/akismet-activation-banner-elements.png'
);
$inline_css = '.akismet-activate {' . PHP_EOL .
'background-image: url(' . $activation_banner_url . ');' . PHP_EOL .
'}';
wp_add_inline_style( 'akismet-admin', $inline_css );
}
wp_add_inline_style( 'akismet-admin', self::get_inline_css() );
wp_register_script( 'akismet.js', plugin_dir_url( __FILE__ ) . '_inc/akismet.js', array( 'jquery' ), self::get_asset_file_version( '_inc/akismet.js' ) );
wp_enqueue_script( 'akismet.js' );
@ -255,8 +246,8 @@ class Akismet_Admin {
'<p><strong>' . esc_html__( 'Akismet Setup', 'akismet' ) . '</strong></p>' .
'<p>' . esc_html__( 'If you already have an API key', 'akismet' ) . '</p>' .
'<ol>' .
'<li>' . esc_html__( 'Copy and paste the API key into the text field.', 'akismet' ) . '</li>' .
'<li>' . esc_html__( 'Click the Use this Key button.', 'akismet' ) . '</li>' .
'<li>' . esc_html__( 'Copy and paste the API key into the text field.', 'akismet' ) . '</li>' .
'<li>' . esc_html__( 'Click the Use this Key button.', 'akismet' ) . '</li>' .
'</ol>',
)
);
@ -415,7 +406,7 @@ class Akismet_Admin {
public static function rightnow_stats() {
if ( $count = get_option( 'akismet_spam_count' ) ) {
$intro = sprintf(
/* translators: 1: Akismet website URL, 2: Number of spam comments. */
/* translators: 1: Akismet website URL, 2: Number of spam comments. */
_n(
'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comment already. ',
'<a href="%1$s">Akismet</a> has protected your site from %2$s spam comments already. ',
@ -434,7 +425,7 @@ class Akismet_Admin {
if ( $queue_count = self::get_spam_count() ) {
$queue_text = sprintf(
/* translators: 1: Number of comments, 2: Comments page URL. */
/* translators: 1: Number of comments, 2: Comments page URL. */
_n(
'There&#8217;s <a href="%2$s">%1$s comment</a> in your spam queue right now.',
'There are <a href="%2$s">%1$s comments</a> in your spam queue right now.',
@ -485,21 +476,21 @@ class Akismet_Admin {
echo '<a
class="' . esc_attr( implode( ' ', $classes ) ) . '"' .
( ! empty( $link ) ? ' href="' . esc_url( $link ) . '"' : '' ) .
/* translators: The placeholder is for showing how much of the process has completed, as a percent. e.g., "Checking for Spam (40%)" */
' data-progress-label="' . esc_attr( __( 'Checking for Spam (%1$s%)', 'akismet' ) ) . '"
( ! empty( $link ) ? ' href="' . esc_url( $link ) . '"' : '' ) .
/* translators: The placeholder is for showing how much of the process has completed, as a percent. e.g., "Checking for Spam (40%)" */
' data-progress-label="' . esc_attr( __( 'Checking for Spam (%1$s%)', 'akismet' ) ) . '"
data-success-url="' . esc_attr(
remove_query_arg(
array( 'akismet_recheck', 'akismet_recheck_error' ),
add_query_arg(
array(
'akismet_recheck_complete' => 1,
'recheck_count' => urlencode( '__recheck_count__' ),
'spam_count' => urlencode( '__spam_count__' ),
)
remove_query_arg(
array( 'akismet_recheck', 'akismet_recheck_error' ),
add_query_arg(
array(
'akismet_recheck_complete' => 1,
'recheck_count' => urlencode( '__recheck_count__' ),
'spam_count' => urlencode( '__spam_count__' ),
)
)
) . '"
)
) . '"
data-failure-url="' . esc_attr( remove_query_arg( array( 'akismet_recheck', 'akismet_recheck_complete' ), add_query_arg( array( 'akismet_recheck_error' => 1 ) ) ) ) . '"
data-pending-comment-count="' . esc_attr( $comments_count->moderated ) . '"
data-nonce="' . esc_attr( wp_create_nonce( 'akismet_check_for_spam' ) ) . '"
@ -708,7 +699,7 @@ class Akismet_Admin {
case 'wp-blacklisted':
case 'wp-disallowed':
$message = sprintf(
/* translators: The placeholder is a WordPress PHP function name. */
/* translators: The placeholder is a WordPress PHP function name. */
esc_html( __( 'Comment was caught by %s.', 'akismet' ) ),
function_exists( 'wp_check_comment_disallowed_list' ) ? '<code>wp_check_comment_disallowed_list</code>' : '<code>wp_blacklist_check</code>'
);
@ -798,15 +789,15 @@ class Akismet_Admin {
$time_html = '<span style="color: #999;" alt="' . esc_attr( $time ) . '" title="' . esc_attr( $time ) . '">' . sprintf( esc_html__( '%s ago', 'akismet' ), human_time_diff( $row['time'] ) ) . '</span>';
printf(
/* translators: %1$s is a human-readable time difference, like "3 hours ago", and %2$s is an already-translated phrase describing how a comment's status changed, like "This comment was reported as spam." */
/* translators: %1$s is a human-readable time difference, like "3 hours ago", and %2$s is an already-translated phrase describing how a comment's status changed, like "This comment was reported as spam." */
esc_html( __( '%1$s - %2$s', 'akismet' ) ),
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
$time_html,
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
$message
); // esc_html() is done above so that we can use HTML in $message.
} else {
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
echo $message; // esc_html() is done above so that we can use HTML in $message.
}
@ -1129,7 +1120,12 @@ class Akismet_Admin {
}
}
if ( $api_key = Akismet::get_api_key() && ( empty( self::$notices['status'] ) || 'existing-key-invalid' != self::$notices['status'] ) ) {
$api_key = Akismet::get_api_key();
$existing_key_is_valid = ! (
self::get_notice_by_key( 'status' ) === self::NOTICE_EXISTING_KEY_INVALID
);
if ( $api_key && $existing_key_is_valid ) {
self::display_configuration_page();
return;
}
@ -1142,8 +1138,14 @@ class Akismet_Admin {
if ( isset( $_GET['token'] ) && preg_match( '/^(\d+)-[0-9a-f]{20}$/', $_GET['token'] ) ) {
$akismet_user = self::verify_wpcom_key( '', '', array( 'token' => $_GET['token'] ) );
} elseif ( $jetpack_user = self::get_jetpack_user() ) {
$akismet_user = self::verify_wpcom_key( $jetpack_user['api_key'], $jetpack_user['user_id'] );
}
if ( false === $akismet_user ) {
$jetpack_user = self::get_jetpack_user();
if ( is_array( $jetpack_user ) ) {
$akismet_user = self::verify_wpcom_key( $jetpack_user['api_key'], $jetpack_user['user_id'] );
}
}
if ( isset( $_GET['action'] ) ) {
@ -1182,7 +1184,7 @@ class Akismet_Admin {
if ( ! $akismet_user ) {
// This could happen if the user's key became invalid after it was previously valid and successfully set up.
self::$notices['status'] = 'existing-key-invalid';
self::$notices['status'] = self::NOTICE_EXISTING_KEY_INVALID;
self::display_start_page();
return;
}
@ -1362,6 +1364,21 @@ class Akismet_Admin {
}
}
/**
* Gets a specific notice by key.
*
* @param $key
* @return mixed
*/
private static function get_notice_by_key( $key ) {
return self::$notices[ $key ] ?? null;
}
/**
* Gets a Jetpack user.
*
* @return array|false
*/
private static function get_jetpack_user() {
if ( ! class_exists( 'Jetpack' ) ) {
return false;
@ -1527,4 +1544,37 @@ class Akismet_Admin {
// Otherwise, use the AKISMET_VERSION.
return AKISMET_VERSION;
}
/**
* Return inline CSS for Akismet admin.
*
* @return string
*/
protected static function get_inline_css(): string {
global $hook_suffix;
// Hide excess compatible plugins when there are lots.
$inline_css = '
.akismet-compatible-plugins__card:nth-child(n+' . esc_attr( Akismet_Compatible_Plugins::DEFAULT_VISIBLE_PLUGIN_COUNT + 1 ) . ') {
display: none;
}
.akismet-compatible-plugins__list.is-expanded .akismet-compatible-plugins__card:nth-child(n+' . esc_attr( Akismet_Compatible_Plugins::DEFAULT_VISIBLE_PLUGIN_COUNT + 1 ) . ') {
display: flex;
}
';
// Enqueue the Akismet activation banner background separately so we can
// include the right path to the image. Shown on edit-comments.php and plugins.php.
if ( in_array( $hook_suffix, self::$activation_banner_pages, true ) ) {
$activation_banner_url = esc_url(
plugin_dir_url( __FILE__ ) . '_inc/img/akismet-activation-banner-elements.png'
);
$inline_css .= '.akismet-activate {' . PHP_EOL .
'background-image: url(' . $activation_banner_url . ');' . PHP_EOL .
'}';
}
return $inline_css;
}
}

View File

@ -9,8 +9,6 @@
class Akismet_Widget extends WP_Widget {
function __construct() {
load_plugin_textdomain( 'akismet' );
add_action( 'wp_enqueue_scripts', array( $this, 'akismet_widget_enqueue_styles' ) );
parent::__construct(

View File

@ -496,8 +496,6 @@ class Akismet {
// as was checked by auto_check_comment
if ( is_object( $comment ) && ! empty( self::$last_comment ) && is_array( self::$last_comment ) ) {
if ( self::matches_last_comment_by_id( $id ) ) {
load_plugin_textdomain( 'akismet' );
// normal result: true or false
if ( isset( self::$last_comment['akismet_result'] ) && self::$last_comment['akismet_result'] == 'true' ) {
self::update_comment_history( $comment->comment_ID, '', 'check-spam' );
@ -1113,8 +1111,6 @@ class Akismet {
$comment_errors = $wpdb->get_col( "SELECT comment_id FROM {$wpdb->commentmeta} WHERE meta_key = 'akismet_error' LIMIT 100" );
load_plugin_textdomain( 'akismet' );
foreach ( (array) $comment_errors as $comment_id ) {
// if the comment no longer exists, or is too old, remove the meta entry from the queue to avoid getting stuck
$comment = get_comment( $comment_id );
@ -1715,8 +1711,6 @@ p {
$$key = $val;
}
load_plugin_textdomain( 'akismet' );
$file = AKISMET__PLUGIN_DIR . 'views/' . basename( $name ) . '.php';
if ( file_exists( $file ) ) {
@ -1731,8 +1725,6 @@ p {
*/
public static function plugin_activation() {
if ( version_compare( $GLOBALS['wp_version'], AKISMET__MINIMUM_WP_VERSION, '<' ) ) {
load_plugin_textdomain( 'akismet' );
$message = '<strong>' .
/* translators: 1: Current Akismet version number, 2: Minimum WordPress version number required. */
sprintf( esc_html__( 'Akismet %1$s requires WordPress %2$s or higher.', 'akismet' ), AKISMET_VERSION, AKISMET__MINIMUM_WP_VERSION ) . '</strong> ' .

View File

@ -1,2 +1,4 @@
<?php
# Silence is golden.
declare( strict_types = 1 );
// Silence is golden.

View File

@ -1,9 +1,9 @@
=== Akismet Anti-spam: Spam Protection ===
Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic, jgs, procifer, stephdau, kbrownkd, bluefuton, akismetantispam
Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic, jgs, procifer, stephdau, kbrownkd, bluefuton, derekspringer, lschuyler, andyperdomo, akismetantispam
Tags: comments, spam, antispam, anti-spam, contact form
Requires at least: 5.8
Tested up to: 6.7.2
Stable tag: 5.3.7
Tested up to: 6.8.1
Stable tag: 5.4
License: GPLv2 or later
The best anti-spam protection to block spam comments and spam in a contact form. The most trusted antispam solution for WordPress and WooCommerce.
@ -32,6 +32,13 @@ Upload the Akismet plugin to your blog, activate it, and then enter your Akismet
== Changelog ==
= 5.4 =
*Release Date - 7 May 2025*
* The stats pages now use the user's locale instead of the site's locale if they're different.
* Adds a 'Compatible plugins' section that will show installed and active plugins that are compatible with Akismet.
* Akismet now requires PHP version 7.2 or above.
= 5.3.7 =
*Release Date - 14 February 2025*
@ -123,45 +130,4 @@ Upload the Akismet plugin to your blog, activate it, and then enter your Akismet
* Added a new feature to catch spammers by observing how they interact with the page.
= 4.2.5 =
*Release Date - 11 July 2022*
* Fixed a bug that added unnecessary comment history entries after comment rechecks.
* Added a notice that displays when WP-Cron is disabled and might be affecting comment rechecks.
= 4.2.4 =
*Release Date - 20 May 2022*
* Improved translator instructions for comment history.
* Bumped the "Tested up to" tag to WP 6.0.
= 4.2.3 =
*Release Date - 25 April 2022*
* Improved compatibility with Fluent Forms
* Fixed missing translation domains
* Updated stats URL.
* Improved accessibility of elements on the config page.
= 4.2.2 =
*Release Date - 24 January 2022*
* Improved compatibility with Formidable Forms
* Fixed a bug that could cause issues when multiple contact forms appear on one page.
* Updated delete_comment and deleted_comment actions to pass two arguments to match WordPress core since 4.9.0.
* Added a filter that allows comment types to be excluded when counting users' approved comments.
= 4.2.1 =
*Release Date - 1 October 2021*
* Fixed a bug causing AMP validation to fail on certain pages with forms.
= 4.2 =
*Release Date - 30 September 2021*
* Added links to additional information on API usage notifications.
* Reduced the number of network requests required for a comment page when running Akismet.
* Improved compatibility with the most popular contact form plugins.
* Improved API usage buttons for clarity on what upgrade is needed.
For older changelog entries, please see the [additional changelog.txt file](https://plugins.svn.wordpress.org/akismet/trunk/changelog.txt) delivered with the plugin.

View File

@ -0,0 +1,125 @@
<?php
/** @var array|WP_Error $compatible_plugins */
$compatible_plugins = Akismet_Compatible_Plugins::get_installed_compatible_plugins();
if ( is_array( $compatible_plugins ) ) :
$compatible_plugin_count = count( $compatible_plugins );
?>
<div class="akismet-card akismet-compatible-plugins">
<div class="akismet-section-header">
<h2 class="akismet-section-header__label akismet-compatible-plugins__section-header-label" aria-label="<?php esc_attr_e( 'Compatible plugins (new feature)', 'akismet' ); ?>">
<span class="akismet-compatible-plugins__section-header-label-text"><?php esc_html_e( 'Compatible plugins', 'akismet' ); ?></span>
<span class="akismet-new-feature"><?php esc_html_e( 'New', 'akismet' ); ?></span>
</h2>
</div>
<div class="akismet-compatible-plugins__content">
<?php
echo '<p>';
echo esc_html( __( 'Akismet works with other plugins to keep spam away.', 'akismet' ) );
echo '</p>';
echo '<p>';
if ( 0 === $compatible_plugin_count ) {
echo '<a class="akismet-settings__external-link" href="https://akismet.com/developers/plugins-and-libraries/">';
echo esc_html( __( 'See supported integrations', 'akismet' ) );
echo '</a>';
} else {
echo esc_html(
_n(
"The plugin you've installed is compatible. Follow the documentation link to get started.",
"The plugins you've installed are compatible. Follow the documentation links to get started.",
$compatible_plugin_count,
'akismet'
)
);
}
echo '</p>';
?>
<?php if ( ! empty( $compatible_plugins ) ) : ?>
<ul class="akismet-compatible-plugins__list" id="akismet-compatible-plugins__list">
<?php
foreach ( $compatible_plugins as $compatible_plugin ) :
if ( empty( $compatible_plugin['help_url'] ) ) {
continue;
}
?>
<li class="akismet-compatible-plugins__card">
<?php if ( strlen( $compatible_plugin['logo'] ) > 0 ) : ?>
<?php
$logo_alt = sprintf(
/* translators: The placeholder is the name of a plugin, like "Jetpack" . */
__( '%s logo', 'akismet' ),
$compatible_plugin['name']
);
?>
<img
src="<?php echo esc_url( $compatible_plugin['logo'] ); ?>"
alt="<?php echo esc_attr( $logo_alt ); ?>"
class="akismet-compatible-plugins__card-logo"
width="55"
height="55"
/>
<?php endif ?>
<div class="akismet-compatible-plugins__card-detail">
<h3 class="akismet-compatible-plugins__card-title"><?php echo esc_html( $compatible_plugin['name'] ); ?></h3>
<div class="akismet-compatible-plugins__docs">
<a
class="akismet-settings__external-link"
href="<?php echo esc_url( $compatible_plugin['help_url'] ); ?>"
aria-label="
<?php
echo esc_attr(
sprintf(
/* translators: The placeholder is the name of a plugin, like "Jetpack" . */
__( 'Documentation for %s', 'akismet' ),
$compatible_plugin['name']
)
);
?>
"><?php esc_html_e( 'View documentation', 'akismet' ); ?></a>
</div>
</div>
</li>
<?php endforeach; ?>
</ul>
<?php if ( $compatible_plugin_count > Akismet_Compatible_Plugins::DEFAULT_VISIBLE_PLUGIN_COUNT ) : ?>
<button class="akismet-compatible-plugins__show-more"
aria-expanded="false"
aria-controls="akismet-compatible-plugins__list"
data-label-closed="
<?php
/* translators: %d: number of compatible plugins, which is guaranteed to be more than 1. */
echo esc_attr( sprintf( __( 'Show all %d plugins', 'akismet' ), $compatible_plugin_count ) );
?>
"
data-label-open="<?php echo esc_attr( __( 'Show less', 'akismet' ) ); ?>">
<?php
/* translators: %d: number of compatible plugins, which is guaranteed to be more than 1. */
echo esc_html( sprintf( __( 'Show all %d plugins', 'akismet' ), $compatible_plugin_count ) );
?>
</button>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
<?php
endif;

View File

@ -41,7 +41,7 @@ $kses_allow_link_href = array(
<div class="akismet-new-snapshot">
<?php /* name attribute on iframe is used as a cache-buster here to force Firefox to load the new style charts: https://bugzilla.mozilla.org/show_bug.cgi?id=356558 */ ?>
<div class="akismet-new-snapshot__chart">
<iframe id="stats-iframe" allowtransparency="true" scrolling="no" frameborder="0" style="width: 100%; height: 220px; overflow: hidden;" src="<?php echo esc_url( sprintf( 'https://tools.akismet.com/1.0/snapshot.php?blog=%s&token=%s&height=200&locale=%s&is_redecorated=1', rawurlencode( get_option( 'home' ) ), rawurlencode( Akismet::get_access_token() ), get_locale() ) ); ?>" name="<?php echo esc_attr( 'snapshot-' . filemtime( __FILE__ ) ); ?>" title="<?php echo esc_attr__( 'Akismet stats', 'akismet' ); ?>"></iframe>
<iframe id="stats-iframe" allowtransparency="true" scrolling="no" frameborder="0" style="width: 100%; height: 220px; overflow: hidden;" src="<?php echo esc_url( sprintf( 'https://tools.akismet.com/1.0/snapshot.php?blog=%s&token=%s&height=200&locale=%s&is_redecorated=1', rawurlencode( get_option( 'home' ) ), rawurlencode( Akismet::get_access_token() ), get_user_locale() ) ); ?>" name="<?php echo esc_attr( 'snapshot-' . filemtime( __FILE__ ) ); ?>" title="<?php echo esc_attr__( 'Akismet stats', 'akismet' ); ?>"></iframe>
</div>
<ul class="akismet-new-snapshot__list">
@ -72,6 +72,10 @@ $kses_allow_link_href = array(
</div> <!-- close akismet-card -->
<?php endif; ?>
<?php if ( apply_filters( 'akismet_show_compatible_plugins', true ) ) : ?>
<?php Akismet::view( 'compatible-plugins' ); ?>
<?php endif; ?>
<?php if ( $akismet_user ) : ?>
<div class="akismet-card">
<div class="akismet-section-header">
@ -297,7 +301,7 @@ $kses_allow_link_href = array(
<div class="akismet-card-actions">
<?php if ( $akismet_user->status === 'active' ) : ?>
<div class="akismet-card-actions__secondary-action">
<a href="https://akismet.com/account" target="_blank" rel="noopener noreferrer" aria-label="Account overview on akismet.com (opens in a new window)"><?php esc_html_e( 'Account overview', 'akismet' ); ?></a>
<a href="https://akismet.com/account" class="akismet-settings__external-link" aria-label="Account overview on akismet.com"><?php esc_html_e( 'Account overview', 'akismet' ); ?></a>
</div>
<?php endif; ?>
<div id="publishing-action">

View File

@ -217,7 +217,7 @@ if ( ! isset( $type ) ) {
<p><?php esc_html_e( 'The key you entered is invalid. Please double-check it.', 'akismet' ); ?></p>
</div>
<?php elseif ( $type === 'existing-key-invalid' ) : ?>
<?php elseif ( $type === Akismet_Admin::NOTICE_EXISTING_KEY_INVALID ) : ?>
<div class="akismet-alert is-bad">
<h3 class="akismet-alert__heading"><?php echo esc_html( __( 'Your API key is no longer valid.', 'akismet' ) ); ?></h3>
<p>

View File

@ -8,5 +8,5 @@
</div>
</div>
<?php /* name attribute on iframe is used as a cache-buster here to force Firefox to load the new style charts: https://bugzilla.mozilla.org/show_bug.cgi?id=356558 */ ?>
<iframe id="stats-iframe" src="<?php echo esc_url( sprintf( 'https://tools.akismet.com/1.0/user-stats.php?blog=%s&token=%s&locale=%s&is_redecorated=1', urlencode( get_option( 'home' ) ), urlencode( Akismet::get_access_token() ), esc_attr( get_locale() ) ) ); ?>" name="<?php echo esc_attr( 'user-stats- ' . filemtime( __FILE__ ) ); ?>" width="100%" height="2500px" frameborder="0" title="<?php echo esc_attr__( 'Akismet detailed stats' ); ?>"></iframe>
</div>
<iframe id="stats-iframe" src="<?php echo esc_url( sprintf( 'https://tools.akismet.com/1.0/user-stats.php?blog=%s&token=%s&locale=%s&is_redecorated=1', urlencode( get_option( 'home' ) ), urlencode( Akismet::get_access_token() ), esc_attr( get_user_locale() ) ) ); ?>" name="<?php echo esc_attr( 'user-stats- ' . filemtime( __FILE__ ) ); ?>" width="100%" height="2500px" frameborder="0" title="<?php echo esc_attr__( 'Akismet detailed stats', 'akismet' ); ?>"></iframe>
</div>

File diff suppressed because it is too large Load Diff

View File

@ -1,277 +0,0 @@
/**
* Authorize Application stylesheet.
*
* Site Kit by Google, Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* Configuration Options
*/
/**
* Variables.
*
* Site Kit by Google, Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* MUI 3 Variables.
*
* Site Kit by Google, Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* Colors
* Names from http://chir.ag/projects/name-that-color/
*/
/* stylelint-disable */
/* stylelint-enable */
/*
* Custom z-Index values
*
* Important values within the WordPress dashboard are as follows:
* - Top admin bar and its child menus, at z-index 99999
* - Left most main/side admin menu wrapper, at z-index 9990
* - The left most main/side admin menu sub menus on hover, at z-index 9999
*
* It is important to note that WordPress generally employs a 10 step jump
* in values when moving between z-index layers and this should be adhered
* to where possible.
*/
/**
* Authorize Application screen styles.
*
* Site Kit by Google, Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
.authorize-application-php {
background-color: #fff;
}
.authorize-application-php .wrap {
margin: 30px 0 0;
}
.authorize-application-php .wrap h1 {
font-size: 24px;
line-height: 32px;
padding: 0;
}
.authorize-application-php .auth-app-card {
border: none;
margin: 37px 0 0;
padding: 0;
}
.authorize-application-php .auth-app-card p {
font-size: 14px;
font-weight: 500;
line-height: 20px;
margin: 19px 0 20px;
}
.authorize-application-php .title {
font-size: 18px;
font-weight: 500;
line-height: 24px;
}
.authorize-application-php strong {
font-weight: 500;
}
.authorize-application-php .form-field {
margin: 20px 0 40px;
max-width: 512px;
}
.authorize-application-php .form-field label {
color: #1f1f1f;
font-size: 12px;
font-weight: 500;
line-height: 16px;
}
.authorize-application-php .form-field input {
border: 1px solid #747775;
border-radius: 8px;
color: #1f1f1f;
font-size: 14px;
line-height: 20px;
margin: 8px 0 0;
padding: 12px 16px;
width: 100%;
}
.authorize-application-php .description {
color: #1f1f1f;
font-size: 12px;
line-height: 16px;
}
.authorize-application-php .description strong {
display: block;
margin: 9px 0 0;
max-width: 512px;
}
.authorize-application-php .description code {
background-color: #ededed;
border-radius: 4px;
color: #1f1f1f;
display: inline-block;
font-family: "Google Sans Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
line-height: 16px;
padding: 4px 9px;
}
.authorize-application-php .googlesitekit-authorize-application__footer {
display: none;
}
@media (min-width: 783px) {
.authorize-application-php .googlesitekit-authorize-application__footer {
bottom: 0;
display: block;
left: 0;
line-height: 32px;
margin-left: 36px;
padding: 0 47px;
position: absolute;
}
.authorize-application-php .googlesitekit-authorize-application__footer p {
color: #1f1f1f;
font-family: "Google Sans Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 20px;
margin: 19px 0 20px;
}
}
@media (min-width: 961px) {
.authorize-application-php .googlesitekit-authorize-application__footer {
margin-left: 160px;
}
}
html[dir=rtl] .googlesitekit-authorize-application__footer {
left: auto;
margin-right: 36px;
right: 0;
}
@media (min-width: 961px) {
html[dir=rtl] .googlesitekit-authorize-application__footer {
margin-right: 160px;
}
}
#wpbody-content {
padding-bottom: 100px;
}
@media (max-width: 782px) {
.auto-fold #wpcontent {
padding: 0 26px;
}
}
#wpcontent,
#wpfooter {
color: #1f1f1f;
font-family: "Google Sans Text", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
@media (min-width: 783px) {
#wpcontent,
#wpfooter {
padding: 0 47px;
}
}
#wpbody-content a,
#wpfooter a {
color: #1a73e8;
}
#wpfooter {
bottom: 45px;
}
#approve,
#reject {
border-radius: 100px;
font-size: 14px;
font-weight: 500;
line-height: 20px;
margin: 0 0 15px;
padding: 10px 24px;
}
#approve {
background-color: #0b57d0;
border: none;
color: #fff;
}
#approve:hover {
box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.08) inset;
}
#approve:focus {
box-shadow: 0 0 0 1000px rgba(255, 255, 255, 0.12) inset;
}
#reject {
background-color: #fff;
border: 1px solid #747775;
color: #0b57d0;
}
#reject:hover {
box-shadow: 0 0 0 1000px rgba(11, 87, 208, 0.08) inset;
}
#reject:focus {
border: 1px solid #0b57d0;
box-shadow: 0 0 0 1000px rgba(11, 87, 208, 0.12) inset;
}
#description-approve {
border-bottom: 1px solid #c4c7c5;
margin: 0 0 33px;
padding: 0 0 31px;
}
#description-reject {
margin: 0 0 8px;
}
#footer-thankyou {
font-size: 12px;
line-height: 16px;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[35],{1209:function(e,t,r){"use strict";r.r(t);var l=r(0);function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}var i=l.createElement("g",{filter:"url(#ghost-card-green_svg__filter0_d_4824_80823)"},l.createElement("rect",{width:165,height:90,rx:11,fill:"#fff"}),l.createElement("rect",{x:.5,y:.5,width:164,height:89,rx:10.5,stroke:"#EBEEF0"})),a=l.createElement("rect",{x:16,y:16,width:64,height:8,rx:4,fill:"#EBEEF0"}),o=l.createElement("path",{d:"M16 43c0-5.523 4.477-10 10-10h30c5.523 0 10 4.477 10 10s-4.477 10-10 10H26c-5.523 0-10-4.477-10-10z",fill:"#B8E6CA"}),c=l.createElement("rect",{x:16,y:68,width:133,height:8,rx:4,fill:"#EBEEF0"}),f=l.createElement("path",{d:"M25 46.667l6.593-6.594m0 0L26.392 40m5.201.073l.074 5.202",stroke:"#fff",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),h=l.createElement("rect",{x:38,y:40,width:20,height:6,rx:2,fill:"#fff"}),s=l.createElement("defs",null,l.createElement("filter",{id:"ghost-card-green_svg__filter0_d_4824_80823",x:0,y:0,width:169,height:95,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},l.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),l.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),l.createElement("feOffset",{dx:4,dy:5}),l.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),l.createElement("feColorMatrix",{values:"0 0 0 0 0.921569 0 0 0 0 0.933333 0 0 0 0 0.941176 0 0 0 1 0"}),l.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4824_80823"}),l.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4824_80823",result:"shape"})));t.default=function SvgGhostCardGreen(e){return l.createElement("svg",n({viewBox:"0 0 169 95",fill:"none"},e),i,a,o,c,f,h,s)}}}]);
(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[35],{1235:function(e,t,r){"use strict";r.r(t);var l=r(1);function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}var i=l.createElement("g",{filter:"url(#ghost-card-green_svg__filter0_d_4824_80823)"},l.createElement("rect",{width:165,height:90,rx:11,fill:"#fff"}),l.createElement("rect",{x:.5,y:.5,width:164,height:89,rx:10.5,stroke:"#EBEEF0"})),a=l.createElement("rect",{x:16,y:16,width:64,height:8,rx:4,fill:"#EBEEF0"}),o=l.createElement("path",{d:"M16 43c0-5.523 4.477-10 10-10h30c5.523 0 10 4.477 10 10s-4.477 10-10 10H26c-5.523 0-10-4.477-10-10z",fill:"#B8E6CA"}),c=l.createElement("rect",{x:16,y:68,width:133,height:8,rx:4,fill:"#EBEEF0"}),f=l.createElement("path",{d:"M25 46.667l6.593-6.594m0 0L26.392 40m5.201.073l.074 5.202",stroke:"#fff",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),h=l.createElement("rect",{x:38,y:40,width:20,height:6,rx:2,fill:"#fff"}),s=l.createElement("defs",null,l.createElement("filter",{id:"ghost-card-green_svg__filter0_d_4824_80823",x:0,y:0,width:169,height:95,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},l.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),l.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),l.createElement("feOffset",{dx:4,dy:5}),l.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),l.createElement("feColorMatrix",{values:"0 0 0 0 0.921569 0 0 0 0 0.933333 0 0 0 0 0.941176 0 0 0 1 0"}),l.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4824_80823"}),l.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4824_80823",result:"shape"})));t.default=function SvgGhostCardGreen(e){return l.createElement("svg",n({viewBox:"0 0 169 95",fill:"none"},e),i,a,o,c,f,h,s)}}}]);

View File

@ -1 +1 @@
(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[36],{1210:function(e,t,r){"use strict";r.r(t);var l=r(0);function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}var n=l.createElement("g",{filter:"url(#ghost-card-red_svg__filter0_d_4824_80809)"},l.createElement("rect",{width:165,height:90,rx:11,fill:"#fff"}),l.createElement("rect",{x:.5,y:.5,width:164,height:89,rx:10.5,stroke:"#EBEEF0"})),a=l.createElement("rect",{x:16,y:16,width:25,height:8,rx:4,fill:"#EBEEF0"}),o=l.createElement("rect",{x:16,y:33,width:50,height:20,rx:10,fill:"#FFDED3"}),c=l.createElement("rect",{x:16,y:68,width:133,height:8,rx:4,fill:"#EBEEF0"}),f=l.createElement("path",{d:"M24.997 40l6.594 6.593m0 0l.073-5.201m-.073 5.201l-5.202.074",stroke:"#fff",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),h=l.createElement("rect",{x:38,y:40,width:20,height:6,rx:2,fill:"#fff"}),d=l.createElement("defs",null,l.createElement("filter",{id:"ghost-card-red_svg__filter0_d_4824_80809",x:0,y:0,width:169,height:95,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},l.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),l.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),l.createElement("feOffset",{dx:4,dy:5}),l.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),l.createElement("feColorMatrix",{values:"0 0 0 0 0.921569 0 0 0 0 0.933333 0 0 0 0 0.941176 0 0 0 1 0"}),l.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4824_80809"}),l.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4824_80809",result:"shape"})));t.default=function SvgGhostCardRed(e){return l.createElement("svg",i({viewBox:"0 0 169 95",fill:"none"},e),n,a,o,c,f,h,d)}}}]);
(window.__googlesitekit_webpackJsonp=window.__googlesitekit_webpackJsonp||[]).push([[36],{1236:function(e,t,r){"use strict";r.r(t);var l=r(1);function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var l in r)Object.prototype.hasOwnProperty.call(r,l)&&(e[l]=r[l])}return e}).apply(this,arguments)}var n=l.createElement("g",{filter:"url(#ghost-card-red_svg__filter0_d_4824_80809)"},l.createElement("rect",{width:165,height:90,rx:11,fill:"#fff"}),l.createElement("rect",{x:.5,y:.5,width:164,height:89,rx:10.5,stroke:"#EBEEF0"})),a=l.createElement("rect",{x:16,y:16,width:25,height:8,rx:4,fill:"#EBEEF0"}),o=l.createElement("rect",{x:16,y:33,width:50,height:20,rx:10,fill:"#FFDED3"}),c=l.createElement("rect",{x:16,y:68,width:133,height:8,rx:4,fill:"#EBEEF0"}),f=l.createElement("path",{d:"M24.997 40l6.594 6.593m0 0l.073-5.201m-.073 5.201l-5.202.074",stroke:"#fff",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),h=l.createElement("rect",{x:38,y:40,width:20,height:6,rx:2,fill:"#fff"}),d=l.createElement("defs",null,l.createElement("filter",{id:"ghost-card-red_svg__filter0_d_4824_80809",x:0,y:0,width:169,height:95,filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},l.createElement("feFlood",{floodOpacity:0,result:"BackgroundImageFix"}),l.createElement("feColorMatrix",{in:"SourceAlpha",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),l.createElement("feOffset",{dx:4,dy:5}),l.createElement("feComposite",{in2:"hardAlpha",operator:"out"}),l.createElement("feColorMatrix",{values:"0 0 0 0 0.921569 0 0 0 0 0.933333 0 0 0 0 0.941176 0 0 0 1 0"}),l.createElement("feBlend",{in2:"BackgroundImageFix",result:"effect1_dropShadow_4824_80809"}),l.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow_4824_80809",result:"shape"})));t.default=function SvgGhostCardRed(e){return l.createElement("svg",i({viewBox:"0 0 169 95",fill:"none"},e),n,a,o,c,f,h,d)}}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 2,
"name": "google-site-kit/rrm-contribute-with-google",
"version": "1.152.1",
"version": "1.154.0",
"title": "Contribute with Google",
"category": "widgets",
"icon": "google",

View File

@ -2,7 +2,7 @@
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 2,
"name": "google-site-kit/rrm-subscribe-with-google",
"version": "1.152.1",
"version": "1.154.0",
"title": "Subscribe with Google",
"category": "widgets",
"icon": "google",

View File

@ -2,7 +2,7 @@
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 2,
"name": "google-site-kit/sign-in-with-google",
"version": "1.152.1",
"version": "1.154.0",
"title": "Sign in with Google",
"category": "widgets",
"icon": "google",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,113 +0,0 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./js/event-providers/contact-form-7.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "../node_modules/webpack/buildin/global.js":
/*!*************************************************!*\
!*** ../node_modules/webpack/buildin/global.js ***!
\*************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanM/YTQyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../node_modules/webpack/buildin/global.js\n");
/***/ }),
/***/ "./js/event-providers/contact-form-7.js":
/*!**********************************************!*\
!*** ./js/event-providers/contact-form-7.js ***!
\**********************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Site Kit by Google, Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nglobal.document.addEventListener('wpcf7mailsent', event => {\n var _global$_googlesiteki, _global$_googlesiteki2;\n (_global$_googlesiteki = global._googlesitekit) === null || _global$_googlesiteki === void 0 ? void 0 : (_global$_googlesiteki2 = _global$_googlesiteki.gtagEvent) === null || _global$_googlesiteki2 === void 0 ? void 0 : _global$_googlesiteki2.call(_global$_googlesiteki, 'contact', {\n // eslint-disable-next-line sitekit/acronym-case\n event_category: event.detail.contactFormId,\n event_label: event.detail.unitTag\n });\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ \"../node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9qcy9ldmVudC1wcm92aWRlcnMvY29udGFjdC1mb3JtLTcuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9qcy9ldmVudC1wcm92aWRlcnMvY29udGFjdC1mb3JtLTcuanM/MGQ5YyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNpdGUgS2l0IGJ5IEdvb2dsZSwgQ29weXJpZ2h0IDIwMjQgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZ2xvYmFsLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoICd3cGNmN21haWxzZW50JywgKCBldmVudCApID0+IHtcblx0Z2xvYmFsLl9nb29nbGVzaXRla2l0Py5ndGFnRXZlbnQ/LiggJ2NvbnRhY3QnLCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNpdGVraXQvYWNyb255bS1jYXNlXG5cdFx0ZXZlbnRfY2F0ZWdvcnk6IGV2ZW50LmRldGFpbC5jb250YWN0Rm9ybUlkLFxuXHRcdGV2ZW50X2xhYmVsOiBldmVudC5kZXRhaWwudW5pdFRhZyxcblx0fSApO1xufSApO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./js/event-providers/contact-form-7.js\n");
/***/ })
/******/ });

View File

@ -0,0 +1 @@
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}({0:function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},5:function(e,t,r){"use strict";r.r(t),function(e){r.d(t,"parseCartItemHTML",(function(){return n})),(t=>{if(!t)return;t("body").on("edd_cart_item_added",(function(t,r){var o,i;const{name:l,value:u}=n(r.cart_item),a=e._googlesitekit.easyDigitalDownloadsCurrency;null===(o=e._googlesitekit)||void 0===o||null===(i=o.gtagEvent)||void 0===i||i.call(o,"add_to_cart",{currency:a,value:u,items:[{item_name:l,price:u}]})}))})(e.jQuery);const n=e=>{var t,r;const n=(new DOMParser).parseFromString(e,"text/html"),o=(null===(t=n.querySelector(".edd-cart-item-title"))||void 0===t?void 0:t.textContent.trim())||"";let i=((null===(r=n.querySelector(".edd-cart-item-price"))||void 0===r?void 0:r.textContent.trim())||"").replace(/[^\d.,]/g,"").trim();const l=i.lastIndexOf(","),u=i.lastIndexOf(".");if(l>-1&&u>-1)i=l>u?i.replace(/\./g,"").replace(",","."):i.replace(/,/g,"");else if(l>-1){i=3===i.length-l?i.replace(",","."):i.replace(/,/g,"")}else if(u>-1){3!==i.length-u&&(i=i.replace(/\./g,""))}return{name:o,value:parseFloat(i)||0}}}.call(this,r(0))}});

View File

@ -1,113 +0,0 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./js/event-providers/easy-digital-downloads.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "../node_modules/webpack/buildin/global.js":
/*!*************************************************!*\
!*** ../node_modules/webpack/buildin/global.js ***!
\*************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanM/YTQyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../node_modules/webpack/buildin/global.js\n");
/***/ }),
/***/ "./js/event-providers/easy-digital-downloads.js":
/*!******************************************************!*\
!*** ./js/event-providers/easy-digital-downloads.js ***!
\******************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Site Kit by Google, Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(jQuery => {\n // eslint-disable-next-line no-undef\n if (!jQuery) {\n return;\n }\n const body = jQuery('body');\n body.on('edd_cart_item_added', function () {\n var _global$_googlesiteki, _global$_googlesiteki2;\n (_global$_googlesiteki = global._googlesitekit) === null || _global$_googlesiteki === void 0 ? void 0 : (_global$_googlesiteki2 = _global$_googlesiteki.gtagEvent) === null || _global$_googlesiteki2 === void 0 ? void 0 : _global$_googlesiteki2.call(_global$_googlesiteki, 'add_to_cart');\n });\n})(global.jQuery);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ \"../node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9qcy9ldmVudC1wcm92aWRlcnMvZWFzeS1kaWdpdGFsLWRvd25sb2Fkcy5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2pzL2V2ZW50LXByb3ZpZGVycy9lYXN5LWRpZ2l0YWwtZG93bmxvYWRzLmpzP2IwMDAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaXRlIEtpdCBieSBHb29nbGUsIENvcHlyaWdodCAyMDI0IEdvb2dsZSBMTENcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbiggKCBqUXVlcnkgKSA9PiB7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuXHRpZiAoICEgalF1ZXJ5ICkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGJvZHkgPSBqUXVlcnkoICdib2R5JyApO1xuXG5cdGJvZHkub24oICdlZGRfY2FydF9pdGVtX2FkZGVkJywgZnVuY3Rpb24gKCkge1xuXHRcdGdsb2JhbC5fZ29vZ2xlc2l0ZWtpdD8uZ3RhZ0V2ZW50Py4oICdhZGRfdG9fY2FydCcgKTtcblx0fSApO1xufSApKCBnbG9iYWwualF1ZXJ5ICk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./js/event-providers/easy-digital-downloads.js\n");
/***/ })
/******/ });

View File

@ -1,113 +0,0 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./js/event-providers/mailchimp.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "../node_modules/webpack/buildin/global.js":
/*!*************************************************!*\
!*** ../node_modules/webpack/buildin/global.js ***!
\*************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanM/YTQyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../node_modules/webpack/buildin/global.js\n");
/***/ }),
/***/ "./js/event-providers/mailchimp.js":
/*!*****************************************!*\
!*** ./js/event-providers/mailchimp.js ***!
\*****************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Site Kit by Google, Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(mc4wp => {\n if (!mc4wp) {\n return;\n }\n mc4wp.forms.on('subscribed', () => {\n var _global$_googlesiteki, _global$_googlesiteki2;\n (_global$_googlesiteki = global._googlesitekit) === null || _global$_googlesiteki === void 0 ? void 0 : (_global$_googlesiteki2 = _global$_googlesiteki.gtagEvent) === null || _global$_googlesiteki2 === void 0 ? void 0 : _global$_googlesiteki2.call(_global$_googlesiteki, 'submit_lead_form', {\n event_category: 'mailchimp'\n });\n });\n})(global.mc4wp);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ \"../node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9qcy9ldmVudC1wcm92aWRlcnMvbWFpbGNoaW1wLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vanMvZXZlbnQtcHJvdmlkZXJzL21haWxjaGltcC5qcz83YzM2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2l0ZSBLaXQgYnkgR29vZ2xlLCBDb3B5cmlnaHQgMjAyNCBHb29nbGUgTExDXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4oICggbWM0d3AgKSA9PiB7XG5cdGlmICggISBtYzR3cCApIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRtYzR3cC5mb3Jtcy5vbiggJ3N1YnNjcmliZWQnLCAoKSA9PiB7XG5cdFx0Z2xvYmFsLl9nb29nbGVzaXRla2l0Py5ndGFnRXZlbnQ/LiggJ3N1Ym1pdF9sZWFkX2Zvcm0nLCB7XG5cdFx0XHRldmVudF9jYXRlZ29yeTogJ21haWxjaGltcCcsXG5cdFx0fSApO1xuXHR9ICk7XG59ICkoIGdsb2JhbC5tYzR3cCApO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./js/event-providers/mailchimp.js\n");
/***/ })
/******/ });

View File

@ -1 +1 @@
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=5)}({0:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},5:function(t,e,n){(function(t){(e=>{if(!e)return;e("body").on("edd_cart_item_added",(function(){var e,n;null===(e=t._googlesitekit)||void 0===e||null===(n=e.gtagEvent)||void 0===n||n.call(e,"add_to_cart")}))})(t.jQuery)}).call(this,n(0))}});
!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=7)}({0:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},7:function(t,e,n){(function(t){((e,n,r)=>{if(!e||!n||!r)return;const o=n.Object.extend({initialize(){this.listenTo(r.Radio.channel("forms"),"submit:response",this.actionSubmit)},actionSubmit(){var e,n;null===(e=t._googlesitekit)||void 0===e||null===(n=e.gtagEvent)||void 0===n||n.call(e,"submit_lead_form")}});e(document).ready((function(){new o}))})(t.jQuery,t.Marionette,t.Backbone)}).call(this,n(0))}});

View File

@ -1 +0,0 @@
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=7)}({0:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},7:function(e,t,n){(function(e){(t=>{if(!t||!Marionette||!Backbone)return;const n=Marionette.Object.extend({initialize(){this.listenTo(Backbone.Radio.channel("forms"),"submit:response",this.actionSubmit)},actionSubmit(){var t,n;null===(t=e._googlesitekit)||void 0===t||null===(n=t.gtagEvent)||void 0===n||n.call(t,"submit_lead_form")}});t(document).ready((function(){new n}))})(e.jQuery)}).call(this,n(0))}});

View File

@ -1,113 +0,0 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./js/event-providers/ninja-forms.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "../node_modules/webpack/buildin/global.js":
/*!*************************************************!*\
!*** ../node_modules/webpack/buildin/global.js ***!
\*************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanM/YTQyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../node_modules/webpack/buildin/global.js\n");
/***/ }),
/***/ "./js/event-providers/ninja-forms.js":
/*!*******************************************!*\
!*** ./js/event-providers/ninja-forms.js ***!
\*******************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Site Kit by Google, Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(jQuery => {\n // eslint-disable-next-line no-undef\n if (!jQuery || !Marionette || !Backbone) {\n return;\n }\n\n // eslint-disable-next-line no-undef\n const ninjaFormEventController = Marionette.Object.extend({\n initialize() {\n this.listenTo(\n // eslint-disable-next-line no-undef\n Backbone.Radio.channel('forms'), 'submit:response', this.actionSubmit);\n },\n actionSubmit() {\n var _global$_googlesiteki, _global$_googlesiteki2;\n (_global$_googlesiteki = global._googlesitekit) === null || _global$_googlesiteki === void 0 ? void 0 : (_global$_googlesiteki2 = _global$_googlesiteki.gtagEvent) === null || _global$_googlesiteki2 === void 0 ? void 0 : _global$_googlesiteki2.call(_global$_googlesiteki, 'submit_lead_form');\n }\n });\n jQuery(document).ready(function () {\n new ninjaFormEventController();\n });\n})(global.jQuery);\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ \"../node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9qcy9ldmVudC1wcm92aWRlcnMvbmluamEtZm9ybXMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9qcy9ldmVudC1wcm92aWRlcnMvbmluamEtZm9ybXMuanM/ZjdlYSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNpdGUgS2l0IGJ5IEdvb2dsZSwgQ29weXJpZ2h0IDIwMjQgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuKCAoIGpRdWVyeSApID0+IHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5cdGlmICggISBqUXVlcnkgfHwgISBNYXJpb25ldHRlIHx8ICEgQmFja2JvbmUgKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG5cdGNvbnN0IG5pbmphRm9ybUV2ZW50Q29udHJvbGxlciA9IE1hcmlvbmV0dGUuT2JqZWN0LmV4dGVuZCgge1xuXHRcdGluaXRpYWxpemUoKSB7XG5cdFx0XHR0aGlzLmxpc3RlblRvKFxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcblx0XHRcdFx0QmFja2JvbmUuUmFkaW8uY2hhbm5lbCggJ2Zvcm1zJyApLFxuXHRcdFx0XHQnc3VibWl0OnJlc3BvbnNlJyxcblx0XHRcdFx0dGhpcy5hY3Rpb25TdWJtaXRcblx0XHRcdCk7XG5cdFx0fSxcblxuXHRcdGFjdGlvblN1Ym1pdCgpIHtcblx0XHRcdGdsb2JhbC5fZ29vZ2xlc2l0ZWtpdD8uZ3RhZ0V2ZW50Py4oICdzdWJtaXRfbGVhZF9mb3JtJyApO1xuXHRcdH0sXG5cdH0gKTtcblxuXHRqUXVlcnkoIGRvY3VtZW50ICkucmVhZHkoIGZ1bmN0aW9uICgpIHtcblx0XHRuZXcgbmluamFGb3JtRXZlbnRDb250cm9sbGVyKCk7XG5cdH0gKTtcbn0gKSggZ2xvYmFsLmpRdWVyeSApO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./js/event-providers/ninja-forms.js\n");
/***/ })
/******/ });

View File

@ -1,113 +0,0 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./js/event-providers/optin-monster.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "../node_modules/webpack/buildin/global.js":
/*!*************************************************!*\
!*** ../node_modules/webpack/buildin/global.js ***!
\*************************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports) {
eval("var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanM/YTQyYiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../node_modules/webpack/buildin/global.js\n");
/***/ }),
/***/ "./js/event-providers/optin-monster.js":
/*!*********************************************!*\
!*** ./js/event-providers/optin-monster.js ***!
\*********************************************/
/*! no static exports found */
/*! ModuleConcatenation bailout: Module is not an ECMAScript module */
/***/ (function(module, exports, __webpack_require__) {
eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Site Kit by Google, Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nglobal.document.addEventListener('om.Analytics.track', ({\n detail\n}) => {\n if ('conversion' === detail.Analytics.type) {\n var _global$_googlesiteki, _global$_googlesiteki2;\n (_global$_googlesiteki = global._googlesitekit) === null || _global$_googlesiteki === void 0 ? void 0 : (_global$_googlesiteki2 = _global$_googlesiteki.gtagEvent) === null || _global$_googlesiteki2 === void 0 ? void 0 : _global$_googlesiteki2.call(_global$_googlesiteki, 'submit_lead_form', {\n campaignID: detail.Campaign.id,\n campaignType: detail.Campaign.type\n });\n }\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/global.js */ \"../node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9qcy9ldmVudC1wcm92aWRlcnMvb3B0aW4tbW9uc3Rlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2pzL2V2ZW50LXByb3ZpZGVycy9vcHRpbi1tb25zdGVyLmpzPzgwNDkiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaXRlIEtpdCBieSBHb29nbGUsIENvcHlyaWdodCAyMDI0IEdvb2dsZSBMTENcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmdsb2JhbC5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCAnb20uQW5hbHl0aWNzLnRyYWNrJywgKCB7IGRldGFpbCB9ICkgPT4ge1xuXHRpZiAoICdjb252ZXJzaW9uJyA9PT0gZGV0YWlsLkFuYWx5dGljcy50eXBlICkge1xuXHRcdGdsb2JhbC5fZ29vZ2xlc2l0ZWtpdD8uZ3RhZ0V2ZW50Py4oICdzdWJtaXRfbGVhZF9mb3JtJywge1xuXHRcdFx0Y2FtcGFpZ25JRDogZGV0YWlsLkNhbXBhaWduLmlkLFxuXHRcdFx0Y2FtcGFpZ25UeXBlOiBkZXRhaWwuQ2FtcGFpZ24udHlwZSxcblx0XHR9ICk7XG5cdH1cbn0gKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./js/event-providers/optin-monster.js\n");
/***/ })
/******/ });

Some files were not shown because too many files have changed in this diff Show More