Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/wpforms-.../src/Frontend
File: Frontend.php
*
[1500] Fix | Delete
* @param string $type Error type.
[1501] Fix | Delete
* @param string $error Error text.
[1502] Fix | Delete
* @param array $form_data Form data. Defaults to null.
[1503] Fix | Delete
* Added to pass the form data in the case of
[1504] Fix | Delete
* the method is called inside the ajax callback.
[1505] Fix | Delete
*/
[1506] Fix | Delete
public function form_error( string $type, $error, $form_data = null ): void {
[1507] Fix | Delete
[1508] Fix | Delete
if ( ! empty( $form_data ) ) {
[1509] Fix | Delete
$this->render_obj->form_data = $form_data;
[1510] Fix | Delete
}
[1511] Fix | Delete
[1512] Fix | Delete
$this->render_obj->form_error( $type, $error );
[1513] Fix | Delete
}
[1514] Fix | Delete
[1515] Fix | Delete
/**
[1516] Fix | Delete
* Determine if we should load assets globally.
[1517] Fix | Delete
* If false, assets will load conditionally (default).
[1518] Fix | Delete
*
[1519] Fix | Delete
* @since 1.2.4
[1520] Fix | Delete
*
[1521] Fix | Delete
* @return bool
[1522] Fix | Delete
*/
[1523] Fix | Delete
public function assets_global(): bool {
[1524] Fix | Delete
// phpcs:ignore WPForms.Formatting.EmptyLineBeforeReturn.RemoveEmptyLineBeforeReturnStatement
[1525] Fix | Delete
/**
[1526] Fix | Delete
* Filters global assets.
[1527] Fix | Delete
*
[1528] Fix | Delete
* @since 1.2.4
[1529] Fix | Delete
*
[1530] Fix | Delete
* @param bool $are_assets_global Global assets.
[1531] Fix | Delete
*/
[1532] Fix | Delete
return (bool) apply_filters( 'wpforms_global_assets', wpforms_setting( 'global-assets' ) ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
[1533] Fix | Delete
}
[1534] Fix | Delete
[1535] Fix | Delete
/**
[1536] Fix | Delete
* Load the necessary assets for single pages/posts earlier if possible.
[1537] Fix | Delete
*
[1538] Fix | Delete
* If we are viewing a singular page, then we can check the content early
[1539] Fix | Delete
* to see if the shortcode was used. If not, we fall back and load the assets
[1540] Fix | Delete
* later on during the page (widgets, archives, etc.).
[1541] Fix | Delete
*
[1542] Fix | Delete
* @since 1.0.0
[1543] Fix | Delete
* @since 1.9.0 Added load JS assets.
[1544] Fix | Delete
*/
[1545] Fix | Delete
public function assets_header(): void {
[1546] Fix | Delete
[1547] Fix | Delete
// Force loading JS assets in the header.
[1548] Fix | Delete
if ( ! $this->load_script_in_footer() ) {
[1549] Fix | Delete
$this->assets_js();
[1550] Fix | Delete
}
[1551] Fix | Delete
[1552] Fix | Delete
/**
[1553] Fix | Delete
* Allow loading assets in the header on various pages.
[1554] Fix | Delete
*
[1555] Fix | Delete
* By default, assets are loaded only on singular pages if WPForms shortcode or editor block is present.
[1556] Fix | Delete
* However, if a form is added as a sidebar widget, in a template or somewhere else outside the Loop,
[1557] Fix | Delete
* we will discover that too late for assets to be included in the header.
[1558] Fix | Delete
* In this case, we will include all required assets in the footer instead.
[1559] Fix | Delete
* This may lead to a brief FOUC (Flash Of Unstyled Content).
[1560] Fix | Delete
*
[1561] Fix | Delete
* Returning `true` from this filter on a particular page that matches your criteria is useful
[1562] Fix | Delete
* if you need to load assets in the header on archive pages or any other pages that you know have a form.
[1563] Fix | Delete
* It may be as a sidebar widget, dynamically inserted on form preview page, on category pages, etc.
[1564] Fix | Delete
*
[1565] Fix | Delete
* @since 1.8.1
[1566] Fix | Delete
*
[1567] Fix | Delete
* @param bool $force_load Force loading assets in the header, default `false`.
[1568] Fix | Delete
*/
[1569] Fix | Delete
$force_load_css = (bool) apply_filters( 'wpforms_frontend_assets_header_force_load', false );
[1570] Fix | Delete
[1571] Fix | Delete
if ( $force_load_css ) {
[1572] Fix | Delete
$this->assets_css();
[1573] Fix | Delete
[1574] Fix | Delete
return;
[1575] Fix | Delete
}
[1576] Fix | Delete
[1577] Fix | Delete
if ( ! is_singular() ) {
[1578] Fix | Delete
return;
[1579] Fix | Delete
}
[1580] Fix | Delete
[1581] Fix | Delete
global $post;
[1582] Fix | Delete
[1583] Fix | Delete
if (
[1584] Fix | Delete
has_shortcode( $post->post_content, 'wpforms' ) ||
[1585] Fix | Delete
( function_exists( 'has_block' ) && has_block( 'wpforms/form-selector' ) )
[1586] Fix | Delete
) {
[1587] Fix | Delete
$this->assets_css();
[1588] Fix | Delete
}
[1589] Fix | Delete
}
[1590] Fix | Delete
[1591] Fix | Delete
/**
[1592] Fix | Delete
* Load the CSS assets for frontend output.
[1593] Fix | Delete
*
[1594] Fix | Delete
* @since 1.0.0
[1595] Fix | Delete
*/
[1596] Fix | Delete
public function assets_css() {
[1597] Fix | Delete
[1598] Fix | Delete
/**
[1599] Fix | Delete
* Fires before enqueueing frontend CSS.
[1600] Fix | Delete
*
[1601] Fix | Delete
* @since 1.0.0
[1602] Fix | Delete
*
[1603] Fix | Delete
* @param array $forms Array of forms on the page.
[1604] Fix | Delete
*/
[1605] Fix | Delete
do_action( 'wpforms_frontend_css', $this->forms ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
[1606] Fix | Delete
[1607] Fix | Delete
$min = wpforms_get_min_suffix();
[1608] Fix | Delete
$disable_css = (int) wpforms_setting( 'disable-css', '1' );
[1609] Fix | Delete
[1610] Fix | Delete
if ( $disable_css === 3 ) {
[1611] Fix | Delete
return;
[1612] Fix | Delete
}
[1613] Fix | Delete
[1614] Fix | Delete
$style_name = $disable_css === 1 ? 'full' : 'base';
[1615] Fix | Delete
$handle = "wpforms-{$this->render_engine}-{$style_name}";
[1616] Fix | Delete
[1617] Fix | Delete
wp_enqueue_style(
[1618] Fix | Delete
$handle,
[1619] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/css/frontend/{$this->render_engine}/wpforms-{$style_name}{$min}.css",
[1620] Fix | Delete
[],
[1621] Fix | Delete
WPFORMS_VERSION
[1622] Fix | Delete
);
[1623] Fix | Delete
[1624] Fix | Delete
// Add CSS variables for the Modern Markup mode for full styles.
[1625] Fix | Delete
if ( empty( $this->css_vars_obj ) || $this->render_engine !== 'modern' || $style_name !== 'full' ) {
[1626] Fix | Delete
return;
[1627] Fix | Delete
}
[1628] Fix | Delete
[1629] Fix | Delete
wp_add_inline_style( $handle, $this->css_vars_obj->get_root_vars_css() );
[1630] Fix | Delete
}
[1631] Fix | Delete
[1632] Fix | Delete
/**
[1633] Fix | Delete
* Load the JS assets for frontend output.
[1634] Fix | Delete
*
[1635] Fix | Delete
* @since 1.0.0
[1636] Fix | Delete
*/
[1637] Fix | Delete
public function assets_js() {
[1638] Fix | Delete
[1639] Fix | Delete
if ( $this->amp_obj->is_amp() ) {
[1640] Fix | Delete
return;
[1641] Fix | Delete
}
[1642] Fix | Delete
[1643] Fix | Delete
/**
[1644] Fix | Delete
* Fire before frontend JS assets are loaded.
[1645] Fix | Delete
*
[1646] Fix | Delete
* @since 1.0.0
[1647] Fix | Delete
*
[1648] Fix | Delete
* @param array $forms Forms on the current page.
[1649] Fix | Delete
*/
[1650] Fix | Delete
do_action( 'wpforms_frontend_js', $this->forms );
[1651] Fix | Delete
[1652] Fix | Delete
$min = wpforms_get_min_suffix();
[1653] Fix | Delete
$in_footer = $this->load_script_in_footer();
[1654] Fix | Delete
[1655] Fix | Delete
// Load the jQuery validation library - https://jqueryvalidation.org/.
[1656] Fix | Delete
wp_enqueue_script(
[1657] Fix | Delete
'wpforms-validation',
[1658] Fix | Delete
WPFORMS_PLUGIN_URL . 'assets/lib/jquery.validate.min.js',
[1659] Fix | Delete
[ 'jquery' ],
[1660] Fix | Delete
'1.21.0',
[1661] Fix | Delete
$in_footer
[1662] Fix | Delete
);
[1663] Fix | Delete
[1664] Fix | Delete
// Load jQuery input mask library - https://github.com/RobinHerbots/jquery.inputmask.
[1665] Fix | Delete
if (
[1666] Fix | Delete
$this->assets_global() ||
[1667] Fix | Delete
wpforms_has_field_type( [ 'phone', 'address' ], $this->forms, true ) ||
[1668] Fix | Delete
wpforms_has_field_setting( 'input_mask', $this->forms, true )
[1669] Fix | Delete
) {
[1670] Fix | Delete
wp_enqueue_script(
[1671] Fix | Delete
'wpforms-maskedinput',
[1672] Fix | Delete
WPFORMS_PLUGIN_URL . 'assets/lib/jquery.inputmask.min.js',
[1673] Fix | Delete
[ 'jquery' ],
[1674] Fix | Delete
'5.0.9',
[1675] Fix | Delete
$in_footer
[1676] Fix | Delete
);
[1677] Fix | Delete
}
[1678] Fix | Delete
[1679] Fix | Delete
// Load mailcheck <https://github.com/mailcheck/mailcheck> and punycode libraries.
[1680] Fix | Delete
if (
[1681] Fix | Delete
$this->assets_global() ||
[1682] Fix | Delete
wpforms_has_field_type( [ 'email' ], $this->forms, true )
[1683] Fix | Delete
) {
[1684] Fix | Delete
wp_enqueue_script(
[1685] Fix | Delete
'wpforms-mailcheck',
[1686] Fix | Delete
WPFORMS_PLUGIN_URL . 'assets/lib/mailcheck.min.js',
[1687] Fix | Delete
[],
[1688] Fix | Delete
'1.1.2',
[1689] Fix | Delete
$in_footer
[1690] Fix | Delete
);
[1691] Fix | Delete
[1692] Fix | Delete
wp_enqueue_script(
[1693] Fix | Delete
'wpforms-punycode',
[1694] Fix | Delete
WPFORMS_PLUGIN_URL . 'assets/lib/punycode.min.js',
[1695] Fix | Delete
[],
[1696] Fix | Delete
'1.0.0',
[1697] Fix | Delete
$in_footer
[1698] Fix | Delete
);
[1699] Fix | Delete
}
[1700] Fix | Delete
[1701] Fix | Delete
wp_enqueue_script(
[1702] Fix | Delete
'wpforms-generic-utils',
[1703] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/js/share/utils{$min}.js",
[1704] Fix | Delete
[ 'jquery' ],
[1705] Fix | Delete
WPFORMS_VERSION,
[1706] Fix | Delete
$in_footer
[1707] Fix | Delete
);
[1708] Fix | Delete
[1709] Fix | Delete
// Load base JS.
[1710] Fix | Delete
wp_enqueue_script(
[1711] Fix | Delete
'wpforms',
[1712] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/js/frontend/wpforms{$min}.js",
[1713] Fix | Delete
[ 'jquery' ],
[1714] Fix | Delete
WPFORMS_VERSION,
[1715] Fix | Delete
$in_footer
[1716] Fix | Delete
);
[1717] Fix | Delete
[1718] Fix | Delete
// Load JS additions needed in the Modern Markup mode.
[1719] Fix | Delete
if ( $this->render_engine === 'modern' ) {
[1720] Fix | Delete
wp_enqueue_script(
[1721] Fix | Delete
'wpforms-modern',
[1722] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/js/frontend/wpforms-modern{$min}.js",
[1723] Fix | Delete
[ 'wpforms' ],
[1724] Fix | Delete
WPFORMS_VERSION,
[1725] Fix | Delete
$in_footer
[1726] Fix | Delete
);
[1727] Fix | Delete
}
[1728] Fix | Delete
}
[1729] Fix | Delete
[1730] Fix | Delete
/**
[1731] Fix | Delete
* Cloudflare Turnstile captcha requires defer attribute.
[1732] Fix | Delete
*
[1733] Fix | Delete
* @since 1.8.0
[1734] Fix | Delete
*
[1735] Fix | Delete
* @param string $tag HTML for the script tag.
[1736] Fix | Delete
* @param string $handle Handle of a script.
[1737] Fix | Delete
* @param string $src Src of a script.
[1738] Fix | Delete
*
[1739] Fix | Delete
* @return string
[1740] Fix | Delete
* @noinspection PhpMissingParamTypeInspection
[1741] Fix | Delete
* @noinspection PhpUnusedParameterInspection
[1742] Fix | Delete
*/
[1743] Fix | Delete
public function set_defer_attribute( $tag, $handle, $src ): string { // phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
[1744] Fix | Delete
[1745] Fix | Delete
$captcha_settings = wpforms_get_captcha_settings();
[1746] Fix | Delete
[1747] Fix | Delete
if ( $captcha_settings['provider'] !== 'turnstile' ) {
[1748] Fix | Delete
return $tag;
[1749] Fix | Delete
}
[1750] Fix | Delete
[1751] Fix | Delete
if ( $handle !== 'wpforms-recaptcha' ) {
[1752] Fix | Delete
return $tag;
[1753] Fix | Delete
}
[1754] Fix | Delete
[1755] Fix | Delete
return str_replace( ' src', ' defer src', $tag );
[1756] Fix | Delete
}
[1757] Fix | Delete
[1758] Fix | Delete
/**
[1759] Fix | Delete
* Load the necessary assets for the confirmation message.
[1760] Fix | Delete
*
[1761] Fix | Delete
* @since 1.1.2
[1762] Fix | Delete
* @since 1.7.9 Added $form_data argument.
[1763] Fix | Delete
*
[1764] Fix | Delete
* @param array $form_data Form data and settings.
[1765] Fix | Delete
*/
[1766] Fix | Delete
public function assets_confirmation( $form_data = [] ): void {
[1767] Fix | Delete
[1768] Fix | Delete
$form_data = (array) $form_data;
[1769] Fix | Delete
$min = wpforms_get_min_suffix();
[1770] Fix | Delete
$in_footer = $this->load_script_in_footer();
[1771] Fix | Delete
[1772] Fix | Delete
// Base CSS only.
[1773] Fix | Delete
if ( (int) wpforms_setting( 'disable-css', '1' ) === 1 ) {
[1774] Fix | Delete
wp_enqueue_style(
[1775] Fix | Delete
'wpforms-full',
[1776] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/css/frontend/{$this->render_engine}/wpforms-full{$min}.css",
[1777] Fix | Delete
[],
[1778] Fix | Delete
WPFORMS_VERSION
[1779] Fix | Delete
);
[1780] Fix | Delete
}
[1781] Fix | Delete
[1782] Fix | Delete
// Special confirmation JS.
[1783] Fix | Delete
if ( ! $this->amp_obj->is_amp() ) {
[1784] Fix | Delete
wp_enqueue_script(
[1785] Fix | Delete
'wpforms-confirmation',
[1786] Fix | Delete
WPFORMS_PLUGIN_URL . "assets/js/frontend/wpforms-confirmation{$min}.js",
[1787] Fix | Delete
[ 'jquery' ],
[1788] Fix | Delete
WPFORMS_VERSION,
[1789] Fix | Delete
$in_footer
[1790] Fix | Delete
);
[1791] Fix | Delete
}
[1792] Fix | Delete
[1793] Fix | Delete
/**
[1794] Fix | Delete
* Fires after enqueueing assets on the confirmation page have been enqueued.
[1795] Fix | Delete
*
[1796] Fix | Delete
* @since 1.1.2
[1797] Fix | Delete
* @since 1.7.9 Added $form_data argument.
[1798] Fix | Delete
*
[1799] Fix | Delete
* @param array $form_data Form data and settings.
[1800] Fix | Delete
*/
[1801] Fix | Delete
do_action( 'wpforms_frontend_confirmation', $form_data );
[1802] Fix | Delete
}
[1803] Fix | Delete
[1804] Fix | Delete
/**
[1805] Fix | Delete
* Load the assets in the footer if needed (archives, widgets, etc.).
[1806] Fix | Delete
*
[1807] Fix | Delete
* @since 1.0.0
[1808] Fix | Delete
*/
[1809] Fix | Delete
public function assets_footer(): void {
[1810] Fix | Delete
[1811] Fix | Delete
if ( empty( $this->forms ) && ! $this->assets_global() ) {
[1812] Fix | Delete
return;
[1813] Fix | Delete
}
[1814] Fix | Delete
[1815] Fix | Delete
$this->assets_css();
[1816] Fix | Delete
$this->assets_js();
[1817] Fix | Delete
[1818] Fix | Delete
/**
[1819] Fix | Delete
* Fires after enqueueing footer assets.
[1820] Fix | Delete
*
[1821] Fix | Delete
* @since 1.0.0
[1822] Fix | Delete
*
[1823] Fix | Delete
* @param array $forms Forms being shown.
[1824] Fix | Delete
*/
[1825] Fix | Delete
do_action( 'wpforms_wp_footer', $this->forms ); // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
[1826] Fix | Delete
}
[1827] Fix | Delete
[1828] Fix | Delete
/**
[1829] Fix | Delete
* Get strings to localize.
[1830] Fix | Delete
*
[1831] Fix | Delete
* @since 1.6.0
[1832] Fix | Delete
*
[1833] Fix | Delete
* @return array Array of strings to localize.
[1834] Fix | Delete
*/
[1835] Fix | Delete
public function get_strings(): array {
[1836] Fix | Delete
[1837] Fix | Delete
// Define base strings.
[1838] Fix | Delete
$strings = [
[1839] Fix | Delete
'val_required' => wpforms_setting( 'validation-required', esc_html__( 'This field is required.', 'wpforms-lite' ) ),
[1840] Fix | Delete
'val_email' => wpforms_setting( 'validation-email', esc_html__( 'Please enter a valid email address.', 'wpforms-lite' ) ),
[1841] Fix | Delete
'val_email_suggestion' => wpforms_setting(
[1842] Fix | Delete
'validation-email-suggestion',
[1843] Fix | Delete
sprintf( /* translators: %s - suggested email address. */
[1844] Fix | Delete
esc_html__( 'Did you mean %s?', 'wpforms-lite' ),
[1845] Fix | Delete
'{suggestion}'
[1846] Fix | Delete
)
[1847] Fix | Delete
),
[1848] Fix | Delete
'val_email_suggestion_title' => esc_attr__( 'Click to accept this suggestion.', 'wpforms-lite' ),
[1849] Fix | Delete
'val_email_restricted' => wpforms_setting( 'validation-email-restricted', esc_html__( 'This email address is not allowed.', 'wpforms-lite' ) ),
[1850] Fix | Delete
'val_number' => wpforms_setting( 'validation-number', esc_html__( 'Please enter a valid number.', 'wpforms-lite' ) ),
[1851] Fix | Delete
'val_number_positive' => wpforms_setting( 'validation-number-positive', esc_html__( 'Please enter a valid positive number.', 'wpforms-lite' ) ),
[1852] Fix | Delete
'val_minimum_price' => wpforms_setting( 'validation-minimum-price', esc_html__( 'Amount entered is less than the required minimum.', 'wpforms-lite' ) ),
[1853] Fix | Delete
'val_confirm' => wpforms_setting( 'validation-confirm', esc_html__( 'Field values do not match.', 'wpforms-lite' ) ),
[1854] Fix | Delete
'val_checklimit' => wpforms_setting( 'validation-check-limit', esc_html__( 'You have exceeded the number of allowed selections: {#}.', 'wpforms-lite' ) ),
[1855] Fix | Delete
'val_limit_characters' => wpforms_setting(
[1856] Fix | Delete
'validation-character-limit',
[1857] Fix | Delete
sprintf( /* translators: %1$s - character count, %2$s - character limit. */
[1858] Fix | Delete
esc_html__( '%1$s of %2$s max characters.', 'wpforms-lite' ),
[1859] Fix | Delete
'{count}',
[1860] Fix | Delete
'{limit}'
[1861] Fix | Delete
)
[1862] Fix | Delete
),
[1863] Fix | Delete
'val_limit_words' => wpforms_setting(
[1864] Fix | Delete
'validation-word-limit',
[1865] Fix | Delete
sprintf( /* translators: %1$s - word count, %2$s - word limit. */
[1866] Fix | Delete
esc_html__( '%1$s of %2$s max words.', 'wpforms-lite' ),
[1867] Fix | Delete
'{count}',
[1868] Fix | Delete
'{limit}'
[1869] Fix | Delete
)
[1870] Fix | Delete
),
[1871] Fix | Delete
'val_min' => wpforms_setting( 'validation-min', esc_html__( 'Please enter a value greater than or equal to {0}.', 'wpforms-lite' ) ),
[1872] Fix | Delete
'val_max' => wpforms_setting( 'validation-max', esc_html__( 'Please enter a value less than or equal to {0}.', 'wpforms-lite' ) ),
[1873] Fix | Delete
'val_recaptcha_fail_msg' => wpforms_setting( 'recaptcha-fail-msg', esc_html__( 'Google reCAPTCHA verification failed, please try again later.', 'wpforms-lite' ) ),
[1874] Fix | Delete
'val_turnstile_fail_msg' => wpforms_setting( 'turnstile-fail-msg', esc_html__( 'Cloudflare Turnstile verification failed, please try again later.', 'wpforms-lite' ) ),
[1875] Fix | Delete
'val_inputmask_incomplete' => wpforms_setting( 'validation-inputmask-incomplete', esc_html__( 'Please fill out the field in required format.', 'wpforms-lite' ) ),
[1876] Fix | Delete
'uuid_cookie' => false,
[1877] Fix | Delete
'locale' => wpforms_get_language_code(),
[1878] Fix | Delete
[1879] Fix | Delete
/**
[1880] Fix | Delete
* Filters the user's country code.
[1881] Fix | Delete
*
[1882] Fix | Delete
* Leave empty for most cases, it will be auto-detected.
[1883] Fix | Delete
* If set, it will make country recognition in wpforms.js frontend skipped.
[1884] Fix | Delete
* Allows testing Phone Smart field with different countries.
[1885] Fix | Delete
*
[1886] Fix | Delete
* @since 1.9.0
[1887] Fix | Delete
*
[1888] Fix | Delete
* @param string|false $country Country code.
[1889] Fix | Delete
*/
[1890] Fix | Delete
'country' => apply_filters( 'wpforms_frontend_get_user_country_code', false ),
[1891] Fix | Delete
'country_list_label' => esc_html__( 'Country list', 'wpforms-lite' ),
[1892] Fix | Delete
'wpforms_plugin_url' => WPFORMS_PLUGIN_URL,
[1893] Fix | Delete
'gdpr' => wpforms_setting( 'gdpr' ),
[1894] Fix | Delete
'ajaxurl' => admin_url( 'admin-ajax.php' ),
[1895] Fix | Delete
[1896] Fix | Delete
/**
[1897] Fix | Delete
* Filters mail check enabled flag.
[1898] Fix | Delete
*
[1899] Fix | Delete
* @since 1.5.4.2
[1900] Fix | Delete
*
[1901] Fix | Delete
* @param bool $flag Enabled flag.
[1902] Fix | Delete
*/
[1903] Fix | Delete
'mailcheck_enabled' => (bool) apply_filters( 'wpforms_mailcheck_enabled', true ), // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
[1904] Fix | Delete
[1905] Fix | Delete
/**
[1906] Fix | Delete
* Filters mail check domains.
[1907] Fix | Delete
*
[1908] Fix | Delete
* @since 1.5.4.2
[1909] Fix | Delete
*
[1910] Fix | Delete
* @param array $domains Domains to check.
[1911] Fix | Delete
*/
[1912] Fix | Delete
'mailcheck_domains' => array_map( 'sanitize_text_field', (array) apply_filters( 'wpforms_mailcheck_domains', [] ) ), // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
[1913] Fix | Delete
[1914] Fix | Delete
/**
[1915] Fix | Delete
* Filters toplevel domains for mail check.
[1916] Fix | Delete
*
[1917] Fix | Delete
* @since 1.5.4.2
[1918] Fix | Delete
*
[1919] Fix | Delete
* @param array $toplevel_domains Toplevel domains to check.
[1920] Fix | Delete
*/
[1921] Fix | Delete
'mailcheck_toplevel_domains' => array_map( 'sanitize_text_field', (array) apply_filters( 'wpforms_mailcheck_toplevel_domains', [ 'dev' ] ) ), // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
[1922] Fix | Delete
'is_ssl' => is_ssl(),
[1923] Fix | Delete
];
[1924] Fix | Delete
[1925] Fix | Delete
// Include payment-related strings if needed.
[1926] Fix | Delete
$strings = $this->get_payment_strings( $strings );
[1927] Fix | Delete
[1928] Fix | Delete
// Include CSS variables list.
[1929] Fix | Delete
$strings = $this->get_css_vars_strings( $strings );
[1930] Fix | Delete
[1931] Fix | Delete
/**
[1932] Fix | Delete
* Filters frontend strings.
[1933] Fix | Delete
*
[1934] Fix | Delete
* @since 1.3.7.3
[1935] Fix | Delete
*
[1936] Fix | Delete
* @param array $strings Frontend strings.
[1937] Fix | Delete
*/
[1938] Fix | Delete
$strings = (array) apply_filters( 'wpforms_frontend_strings', $strings );
[1939] Fix | Delete
[1940] Fix | Delete
foreach ( $strings as $key => $value ) {
[1941] Fix | Delete
[1942] Fix | Delete
if ( ! is_scalar( $value ) ) {
[1943] Fix | Delete
continue;
[1944] Fix | Delete
}
[1945] Fix | Delete
[1946] Fix | Delete
$strings[ $key ] = esc_html( html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' ) );
[1947] Fix | Delete
[1948] Fix | Delete
}
[1949] Fix | Delete
[1950] Fix | Delete
return $strings;
[1951] Fix | Delete
}
[1952] Fix | Delete
[1953] Fix | Delete
/**
[1954] Fix | Delete
* Get payment strings.
[1955] Fix | Delete
*
[1956] Fix | Delete
* @since 1.8.1
[1957] Fix | Delete
*
[1958] Fix | Delete
* @param array $strings Strings.
[1959] Fix | Delete
*
[1960] Fix | Delete
* @return array
[1961] Fix | Delete
*/
[1962] Fix | Delete
private function get_payment_strings( array $strings ): array {
[1963] Fix | Delete
[1964] Fix | Delete
if ( function_exists( 'wpforms_get_currencies' ) ) {
[1965] Fix | Delete
$currency = wpforms_get_currency();
[1966] Fix | Delete
$currencies = wpforms_get_currencies();
[1967] Fix | Delete
$strings['currency_code'] = $currency;
[1968] Fix | Delete
$strings['currency_thousands'] = $currencies[ $currency ]['thousands_separator'] ?? ',';
[1969] Fix | Delete
$strings['currency_decimals'] = wpforms_get_currency_decimals( $currencies[ $currency ] );
[1970] Fix | Delete
$strings['currency_decimal'] = $currencies[ $currency ]['decimal_separator'] ?? '.';
[1971] Fix | Delete
$strings['currency_symbol'] = $currencies[ $currency ]['symbol'] ?? '$';
[1972] Fix | Delete
$strings['currency_symbol_pos'] = $currencies[ $currency ]['symbol_pos'] ?? 'left';
[1973] Fix | Delete
}
[1974] Fix | Delete
[1975] Fix | Delete
$strings['val_requiredpayment'] = wpforms_setting( 'validation-requiredpayment', esc_html__( 'Payment is required.', 'wpforms-lite' ) );
[1976] Fix | Delete
$strings['val_creditcard'] = wpforms_setting( 'validation-creditcard', esc_html__( 'Please enter a valid credit card number.', 'wpforms-lite' ) );
[1977] Fix | Delete
[1978] Fix | Delete
return $strings;
[1979] Fix | Delete
}
[1980] Fix | Delete
[1981] Fix | Delete
/**
[1982] Fix | Delete
* Get CSS variables data.
[1983] Fix | Delete
*
[1984] Fix | Delete
* @since 1.8.1
[1985] Fix | Delete
*
[1986] Fix | Delete
* @param array $strings Strings.
[1987] Fix | Delete
*
[1988] Fix | Delete
* @return array
[1989] Fix | Delete
*/
[1990] Fix | Delete
private function get_css_vars_strings( array $strings ): array {
[1991] Fix | Delete
[1992] Fix | Delete
if ( wpforms_get_render_engine() !== 'modern' ) {
[1993] Fix | Delete
return $strings;
[1994] Fix | Delete
}
[1995] Fix | Delete
[1996] Fix | Delete
if ( empty( $this->css_vars_obj ) ) {
[1997] Fix | Delete
return $strings;
[1998] Fix | Delete
}
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function